@akta/sdk 1.2.6 → 1.2.7
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.
- package/dist/{chunk-LAVGTLZP.mjs → chunk-EBVPBKIE.mjs} +2 -22
- package/dist/chunk-EBVPBKIE.mjs.map +1 -0
- package/dist/{chunk-3PRN7K2A.mjs → chunk-K7O5VTIA.mjs} +2 -2
- package/dist/{chunk-RPRERQJ2.js → chunk-VJISSMPE.js} +2 -22
- package/dist/chunk-VJISSMPE.js.map +1 -0
- package/dist/{chunk-YIKWX5EO.js → chunk-YNEEL36U.js} +3 -3
- package/dist/{chunk-YIKWX5EO.js.map → chunk-YNEEL36U.js.map} +1 -1
- package/dist/dao/index.js +3 -3
- package/dist/dao/index.mjs +2 -2
- package/dist/dao-deployable/index.js +5 -5
- package/dist/dao-deployable/index.mjs +2 -2
- package/dist/index.js +3 -3
- package/dist/index.mjs +2 -2
- package/dist/wallet/index.js +2 -2
- package/dist/wallet/index.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunk-LAVGTLZP.mjs.map +0 -1
- package/dist/chunk-RPRERQJ2.js.map +0 -1
- /package/dist/{chunk-3PRN7K2A.mjs.map → chunk-K7O5VTIA.mjs.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kylebreeding/akita/akita-sc/projects/akita-sdk/dist/chunk-YIKWX5EO.js","../src/generated/AkitaDAOTypesClient.ts","../src/dao/types.ts","../src/dao/constants.ts","../src/dao/index.ts"],"names":["SplitDistributionType","ProposalActionEnum","wallet"],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACA;ACdA,6EAA6E;AAC7E;AACE;AAAa,+EASR;AACP,iFAA+K;AAKxK,IAAM,SAAA,EAA0B,EAAC,MAAA,EAAO,eAAA,EAAgB,SAAA,EAAU,EAAC,uBAAA,EAAwB,CAAC,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,YAAA,EAAa,MAAA,EAAO,6CAA4C,CAAC,CAAA,EAAE,wBAAA,EAAyB,CAAC,EAAC,MAAA,EAAO,MAAA,EAAO,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,UAAS,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,gBAAA,EAAiB,MAAA,EAAO,QAAO,CAAA,EAAE,EAAC,MAAA,EAAO,WAAA,EAAY,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,UAAA,EAAW,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,SAAA,EAAU,MAAA,EAAO,qBAAoB,CAAA,EAAE,EAAC,MAAA,EAAO,WAAA,EAAY,MAAA,EAAO,OAAM,CAAA,EAAE,EAAC,MAAA,EAAO,iBAAA,EAAkB,MAAA,EAAO,OAAM,CAAA,EAAE,EAAC,MAAA,EAAO,WAAA,EAAY,MAAA,EAAO,OAAM,CAAA,EAAE,EAAC,MAAA,EAAO,iBAAA,EAAkB,MAAA,EAAO,OAAM,CAAA,EAAE,EAAC,MAAA,EAAO,KAAA,EAAM,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,OAAA,EAAQ,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,UAAA,EAAW,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,eAAA,EAAgB,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,UAAA,EAAW,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,YAAA,EAAa,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,YAAA,EAAa,MAAA,EAAO,6CAA4C,CAAC,CAAA,EAAE,mBAAA,EAAoB,CAAC,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,UAAS,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,gBAAA,EAAiB,MAAA,EAAO,QAAO,CAAA,EAAE,EAAC,MAAA,EAAO,WAAA,EAAY,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,UAAA,EAAW,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,SAAA,EAAU,MAAA,EAAO,qBAAoB,CAAA,EAAE,EAAC,MAAA,EAAO,WAAA,EAAY,MAAA,EAAO,OAAM,CAAA,EAAE,EAAC,MAAA,EAAO,iBAAA,EAAkB,MAAA,EAAO,OAAM,CAAA,EAAE,EAAC,MAAA,EAAO,WAAA,EAAY,MAAA,EAAO,OAAM,CAAA,EAAE,EAAC,MAAA,EAAO,iBAAA,EAAkB,MAAA,EAAO,OAAM,CAAA,EAAE,EAAC,MAAA,EAAO,KAAA,EAAM,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,OAAA,EAAQ,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,UAAA,EAAW,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,eAAA,EAAgB,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,UAAA,EAAW,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,YAAA,EAAa,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,YAAA,EAAa,MAAA,EAAO,6CAA4C,CAAC,CAAA,EAAE,4BAAA,EAA6B,CAAC,EAAC,MAAA,EAAO,MAAA,EAAO,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,cAAA,EAAe,MAAA,EAAO,WAAU,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,aAAY,CAAA,EAAE,EAAC,MAAA,EAAO,YAAA,EAAa,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,WAAA,EAAY,MAAA,EAAO,SAAQ,CAAC,CAAA,EAAE,uBAAA,EAAwB,CAAC,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,cAAA,EAAe,MAAA,EAAO,WAAU,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,aAAY,CAAA,EAAE,EAAC,MAAA,EAAO,YAAA,EAAa,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,WAAA,EAAY,MAAA,EAAO,SAAQ,CAAC,CAAA,EAAE,mBAAA,EAAoB,CAAC,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAC,CAAA,EAAE,0BAAA,EAA2B,CAAC,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,WAAU,CAAC,CAAA,EAAE,6BAAA,EAA8B,CAAC,EAAC,MAAA,EAAO,cAAA,EAAe,MAAA,EAAO,WAAU,CAAC,CAAA,EAAE,2BAAA,EAA4B,CAAC,EAAC,MAAA,EAAO,MAAA,EAAO,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,UAAS,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAC,CAAA,EAAE,sBAAA,EAAuB,CAAC,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,UAAS,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAC,CAAA,EAAE,0BAAA,EAA2B,CAAC,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAC,CAAA,EAAE,qBAAA,EAAsB,CAAC,EAAC,MAAA,EAAO,OAAA,EAAQ,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,OAAA,EAAQ,MAAA,EAAO,SAAQ,CAAC,CAAA,EAAE,oBAAA,EAAqB,CAAC,EAAC,MAAA,EAAO,KAAA,EAAM,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,cAAA,EAAe,MAAA,EAAO,WAAU,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,aAAY,CAAA,EAAE,EAAC,MAAA,EAAO,YAAA,EAAa,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,WAAA,EAAY,MAAA,EAAO,SAAQ,CAAC,EAAC,CAAA,EAAE,SAAA,EAAU,CAAC,EAAC,MAAA,EAAO,yBAAA,EAA0B,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,4CAAA,EAA6C,QAAA,EAAS,oBAAA,EAAqB,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,4CAAA,EAA6C,QAAA,EAAS,qBAAoB,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,wBAAA,EAAyB,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,yKAAA,EAA0K,QAAA,EAAS,mBAAA,EAAoB,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,yKAAA,EAA0K,QAAA,EAAS,oBAAmB,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,6BAAA,EAA8B,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,gLAAA,EAAiL,QAAA,EAAS,wBAAA,EAAyB,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,gLAAA,EAAiL,QAAA,EAAS,yBAAwB,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,2BAAA,EAA4B,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,yBAAA,EAA0B,QAAA,EAAS,sBAAA,EAAuB,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,yBAAA,EAA0B,QAAA,EAAS,uBAAsB,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,gCAAA,EAAiC,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,gCAAA,EAAiC,QAAA,EAAS,2BAAA,EAA4B,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,gCAAA,EAAiC,QAAA,EAAS,4BAA2B,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,4BAAA,EAA6B,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,mDAAA,EAAoD,QAAA,EAAS,uBAAA,EAAwB,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,mDAAA,EAAoD,QAAA,EAAS,wBAAuB,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,iCAAA,EAAkC,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,4CAAA,EAA6C,QAAA,EAAS,4BAAA,EAA6B,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,4CAAA,EAA6C,QAAA,EAAS,6BAA4B,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,kCAAA,EAAmC,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,YAAA,EAAa,QAAA,EAAS,6BAAA,EAA8B,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,YAAA,EAAa,QAAA,EAAS,8BAA6B,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,4BAAA,EAA6B,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,qDAAA,EAAsD,QAAA,EAAS,uBAAA,EAAwB,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,qDAAA,EAAsD,QAAA,EAAS,wBAAuB,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,+BAAA,EAAgC,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,mBAAA,EAAoB,QAAA,EAAS,0BAAA,EAA2B,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,mBAAA,EAAoB,QAAA,EAAS,2BAA0B,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,wBAAA,EAAyB,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,UAAA,EAAW,QAAA,EAAS,mBAAA,EAAoB,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,UAAA,EAAW,QAAA,EAAS,oBAAmB,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,+BAAA,EAAgC,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,UAAA,EAAW,QAAA,EAAS,0BAAA,EAA2B,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,UAAA,EAAW,QAAA,EAAS,2BAA0B,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,0BAAA,EAA2B,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,iBAAA,EAAkB,QAAA,EAAS,qBAAA,EAAsB,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,iBAAA,EAAkB,QAAA,EAAS,sBAAqB,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,EAAA,EAAG,EAAE,CAAA,EAAE,UAAA,EAAW,CAAC,CAAA,EAAE,OAAA,EAAQ,EAAC,QAAA,EAAS,EAAC,QAAA,EAAS,EAAC,MAAA,EAAO,CAAA,EAAE,OAAA,EAAQ,EAAC,CAAA,EAAE,OAAA,EAAQ,EAAC,MAAA,EAAO,CAAA,EAAE,OAAA,EAAQ,EAAC,EAAC,CAAA,EAAE,MAAA,EAAO,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,OAAA,EAAQ,CAAC,CAAA,EAAE,KAAA,EAAM,CAAC,EAAC,CAAA,EAAE,MAAA,EAAO,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,OAAA,EAAQ,CAAC,CAAA,EAAE,KAAA,EAAM,CAAC,EAAC,EAAC,CAAA,EAAE,aAAA,EAAc,EAAC,QAAA,EAAS,CAAC,MAAM,CAAA,EAAE,MAAA,EAAO,CAAC,EAAC,CAAA,EAAE,YAAA,EAAa,EAAC,UAAA,EAAW,EAAC,YAAA,EAAa,CAAC,EAAC,IAAA,EAAK,CAAC,EAAE,CAAA,EAAE,cAAA,EAAe,4BAA2B,CAAA,EAAE,EAAC,IAAA,EAAK,CAAC,GAAG,CAAA,EAAE,cAAA,EAAe,2DAA0D,CAAA,EAAE,EAAC,IAAA,EAAK,CAAC,GAAG,CAAA,EAAE,cAAA,EAAe,0CAAyC,CAAC,CAAA,EAAE,gBAAA,EAAiB,OAAM,CAAA,EAAE,OAAA,EAAQ,EAAC,YAAA,EAAa,CAAC,CAAA,EAAE,gBAAA,EAAiB,OAAM,EAAC,CAAA,EAAE,QAAA,EAAS,EAAC,UAAA,EAAW,koTAAA,EAAmoT,OAAA,EAAQ,+PAA8P,CAAA,EAAE,UAAA,EAAW,EAAC,UAAA,EAAW,sUAAA,EAAuU,OAAA,EAAQ,WAAU,CAAA,EAAE,QAAA,EAAS,CAAC,CAAA,EAAE,mBAAA,EAAoB,CAAC,EAAC,CAAA;AA8cvykB,IAAe,2BAAA,EAAf,MAA0C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO/C,OAAO,uBAAA,CAAwB,MAAA,EAA0W;AACvY,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,+GAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,sBAAA,CAAuB,MAAA,EAA41B;AACx3B,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,wWAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,2BAAA,CAA4B,MAAA,EAAk4B;AACn6B,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,2XAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,yBAAA,CAA0B,MAAA,EAAkS;AACjU,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,2EAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,8BAAA,CAA+B,MAAA,EAAwU;AAC5W,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,8FAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,0BAAA,CAA2B,MAAA,EAA4Y;AAC5a,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,gIAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,+BAAA,CAAgC,MAAA,EAA0X;AAC/Z,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,uHAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,gCAAA,CAAiC,MAAA,EAA4P;AAClS,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,wDAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,0BAAA,CAA2B,MAAA,EAAoZ;AACpb,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,oIAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,6BAAA,CAA8B,MAAA,EAAkR;AACrT,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,mEAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,sBAAA,CAAuB,MAAA,EAAgO;AAC5P,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,0CAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,6BAAA,CAA8B,MAAA,EAA8O;AACjR,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,iDAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,wBAAA,CAAyB,MAAA,EAAgQ;AAC9R,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,0DAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AACF,CAAA;AAkJO,IAAM,oBAAA,YAAN,MAAM,qBAAoB;AAAA;AAAA;AAAA;AAAA,EAIf;AAAA,EAchB,WAAA,CAAY,iBAAA,EAAkE;AAC5E,IAAA,IAAA,CAAK,UAAA,EAAY,kBAAA,WAA6B,qBAAA,EAAa,kBAAA,EAAoB,IAAI,yBAAA,CAAW;AAAA,MAC5F,GAAG,iBAAA;AAAA,MACH,OAAA,EAAS;AAAA,IACX,CAAC,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,iBAAA,CAA2E,MAAA,EAAoB,WAAA,EAAoC;AACjI,IAAA,OAAO,YAAA,IAAgB,KAAA,EAAA,EAAY,2CAAA,WAA8C,EAAa,IAAA,CAAK,SAAA,CAAU,YAAA,CAAa,MAAM,CAAA,EAAG,QAAA,CAAS,OAAO,EAAA,EAAI,KAAA,CAAA;AAAA,EACzJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAA,MAAoB,kBAAA,CAAmB,MAAA,EAAyF;AAC9H,IAAA,OAAO,IAAI,oBAAA,CAAoB,MAAM,oBAAA,CAAW,kBAAA,CAAmB,EAAC,GAAG,MAAA,EAAQ,OAAA,EAAS,SAAQ,CAAC,CAAC,CAAA;AAAA,EACpG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,OAAA,MAAa,WAAA,CACX,MAAA,EAC8B;AAC9B,IAAA,OAAO,IAAI,oBAAA,CAAoB,MAAM,oBAAA,CAAW,WAAA,CAAY,EAAC,GAAG,MAAA,EAAQ,OAAA,EAAS,SAAQ,CAAC,CAAC,CAAA;AAAA,EAC7F;AAAA;AAAA,EAGA,IAAW,KAAA,CAAA,EAAQ;AACjB,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,KAAA;AAAA,EACxB;AAAA;AAAA,EAGA,IAAW,UAAA,CAAA,EAAa;AACtB,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,UAAA;AAAA,EACxB;AAAA;AAAA,EAGA,IAAW,OAAA,CAAA,EAAU;AACnB,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,OAAA;AAAA,EACxB;AAAA;AAAA,EAGA,IAAW,OAAA,CAAA,EAAU;AACnB,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,OAAA;AAAA,EACxB;AAAA;AAAA,EAGA,IAAW,QAAA,CAAA,EAA2B;AACpC,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,QAAA;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA,iBAKS,OAAA,EAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOhB,UAAA,EAAY,CAAC,MAAA,EAAA,GAA6C;AACxD,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,UAAA,CAAW,MAAM,CAAA;AAAA,IACrD,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,uBAAA,EAAyB,CAAC,MAAA,EAAA,GAA8V;AACtX,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,uBAAA,CAAwB,MAAM,CAAC,CAAA;AAAA,IAC9F,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,sBAAA,EAAwB,CAAC,MAAA,EAAA,GAAg1B;AACv2B,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,sBAAA,CAAuB,MAAM,CAAC,CAAA;AAAA,IAC7F,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,2BAAA,EAA6B,CAAC,MAAA,EAAA,GAAs3B;AACl5B,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,2BAAA,CAA4B,MAAM,CAAC,CAAA;AAAA,IAClG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,yBAAA,EAA2B,CAAC,MAAA,EAAA,GAAsR;AAChT,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,yBAAA,CAA0B,MAAM,CAAC,CAAA;AAAA,IAChG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,8BAAA,EAAgC,CAAC,MAAA,EAAA,GAA4T;AAC3V,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,8BAAA,CAA+B,MAAM,CAAC,CAAA;AAAA,IACrG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,0BAAA,EAA4B,CAAC,MAAA,EAAA,GAAgY;AAC3Z,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,0BAAA,CAA2B,MAAM,CAAC,CAAA;AAAA,IACjG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,+BAAA,EAAiC,CAAC,MAAA,EAAA,GAA8W;AAC9Y,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,+BAAA,CAAgC,MAAM,CAAC,CAAA;AAAA,IACtG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,gCAAA,EAAkC,CAAC,MAAA,EAAA,GAAgP;AACjR,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,gCAAA,CAAiC,MAAM,CAAC,CAAA;AAAA,IACvG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,0BAAA,EAA4B,CAAC,MAAA,EAAA,GAAwY;AACna,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,0BAAA,CAA2B,MAAM,CAAC,CAAA;AAAA,IACjG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,6BAAA,EAA+B,CAAC,MAAA,EAAA,GAAsQ;AACpS,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,6BAAA,CAA8B,MAAM,CAAC,CAAA;AAAA,IACpG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,sBAAA,EAAwB,CAAC,MAAA,EAAA,GAAoN;AAC3O,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,sBAAA,CAAuB,MAAM,CAAC,CAAA;AAAA,IAC7F,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,6BAAA,EAA+B,CAAC,MAAA,EAAA,GAAkO;AAChQ,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,6BAAA,CAA8B,MAAM,CAAC,CAAA;AAAA,IACpG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,wBAAA,EAA0B,CAAC,MAAA,EAAA,GAAoP;AAC7Q,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,wBAAA,CAAyB,MAAM,CAAC,CAAA;AAAA,IAC/F;AAAA,EAEF,EAAA;AAAA;AAAA;AAAA;AAAA,kBAKS,kBAAA,EAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAO3B,UAAA,EAAY,CAAC,MAAA,EAAA,GAA6C;AACxD,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,UAAA,CAAW,MAAM,CAAA;AAAA,IAChE,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,uBAAA,EAAyB,CAAC,MAAA,EAAA,GAA8V;AACtX,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,uBAAA,CAAwB,MAAM,CAAC,CAAA;AAAA,IACzG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,sBAAA,EAAwB,CAAC,MAAA,EAAA,GAAg1B;AACv2B,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,sBAAA,CAAuB,MAAM,CAAC,CAAA;AAAA,IACxG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,2BAAA,EAA6B,CAAC,MAAA,EAAA,GAAs3B;AACl5B,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,2BAAA,CAA4B,MAAM,CAAC,CAAA;AAAA,IAC7G,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,yBAAA,EAA2B,CAAC,MAAA,EAAA,GAAsR;AAChT,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,yBAAA,CAA0B,MAAM,CAAC,CAAA;AAAA,IAC3G,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,8BAAA,EAAgC,CAAC,MAAA,EAAA,GAA4T;AAC3V,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,8BAAA,CAA+B,MAAM,CAAC,CAAA;AAAA,IAChH,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,0BAAA,EAA4B,CAAC,MAAA,EAAA,GAAgY;AAC3Z,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,0BAAA,CAA2B,MAAM,CAAC,CAAA;AAAA,IAC5G,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,+BAAA,EAAiC,CAAC,MAAA,EAAA,GAA8W;AAC9Y,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,+BAAA,CAAgC,MAAM,CAAC,CAAA;AAAA,IACjH,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,gCAAA,EAAkC,CAAC,MAAA,EAAA,GAAgP;AACjR,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,gCAAA,CAAiC,MAAM,CAAC,CAAA;AAAA,IAClH,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,0BAAA,EAA4B,CAAC,MAAA,EAAA,GAAwY;AACna,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,0BAAA,CAA2B,MAAM,CAAC,CAAA;AAAA,IAC5G,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,6BAAA,EAA+B,CAAC,MAAA,EAAA,GAAsQ;AACpS,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,6BAAA,CAA8B,MAAM,CAAC,CAAA;AAAA,IAC/G,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,sBAAA,EAAwB,CAAC,MAAA,EAAA,GAAoN;AAC3O,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,sBAAA,CAAuB,MAAM,CAAC,CAAA;AAAA,IACxG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,6BAAA,EAA+B,CAAC,MAAA,EAAA,GAAkO;AAChQ,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,6BAAA,CAA8B,MAAM,CAAC,CAAA;AAAA,IAC/G,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,wBAAA,EAA0B,CAAC,MAAA,EAAA,GAAoP;AAC7Q,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,wBAAA,CAAyB,MAAM,CAAC,CAAA;AAAA,IAC1G;AAAA,EAEF,EAAA;AAAA;AAAA;AAAA;AAAA,kBAKS,KAAA,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOd,UAAA,EAAY,CAAC,MAAA,EAAA,GAA0D;AACrE,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,UAAA,CAAW,MAAM,CAAA;AAAA,IACnD,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,uBAAA,EAAyB,MAAA,CAAO,MAAA,EAAA,GAA2W;AACzY,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,uBAAA,CAAwB,MAAM,CAAC,CAAA;AACxG,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAAwK,CAAA;AAAA,IAC5M,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,sBAAA,EAAwB,MAAA,CAAO,MAAA,EAAA,GAA61B;AAC13B,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,sBAAA,CAAuB,MAAM,CAAC,CAAA;AACvG,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAAia,CAAA;AAAA,IACrc,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,2BAAA,EAA6B,MAAA,CAAO,MAAA,EAAA,GAAm4B;AACr6B,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,2BAAA,CAA4B,MAAM,CAAC,CAAA;AAC5G,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAAob,CAAA;AAAA,IACxd,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,yBAAA,EAA2B,MAAA,CAAO,MAAA,EAAA,GAAmS;AACnU,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,yBAAA,CAA0B,MAAM,CAAC,CAAA;AAC1G,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAAoI,CAAA;AAAA,IACxK,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,8BAAA,EAAgC,MAAA,CAAO,MAAA,EAAA,GAAyU;AAC9W,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,8BAAA,CAA+B,MAAM,CAAC,CAAA;AAC/G,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAAuJ,CAAA;AAAA,IAC3L,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,0BAAA,EAA4B,MAAA,CAAO,MAAA,EAAA,GAA6Y;AAC9a,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,0BAAA,CAA2B,MAAM,CAAC,CAAA;AAC3G,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAAyL,CAAA;AAAA,IAC7N,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,+BAAA,EAAiC,MAAA,CAAO,MAAA,EAAA,GAA2X;AACja,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,+BAAA,CAAgC,MAAM,CAAC,CAAA;AAChH,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAAgL,CAAA;AAAA,IACpN,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,gCAAA,EAAkC,MAAA,CAAO,MAAA,EAAA,GAA6P;AACpS,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,gCAAA,CAAiC,MAAM,CAAC,CAAA;AACjH,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAAiH,CAAA;AAAA,IACrJ,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,0BAAA,EAA4B,MAAA,CAAO,MAAA,EAAA,GAAqZ;AACtb,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,0BAAA,CAA2B,MAAM,CAAC,CAAA;AAC3G,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAA6L,CAAA;AAAA,IACjO,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,6BAAA,EAA+B,MAAA,CAAO,MAAA,EAAA,GAAmR;AACvT,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,6BAAA,CAA8B,MAAM,CAAC,CAAA;AAC9G,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAA4H,CAAA;AAAA,IAChK,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,sBAAA,EAAwB,MAAA,CAAO,MAAA,EAAA,GAAiO;AAC9P,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,sBAAA,CAAuB,MAAM,CAAC,CAAA;AACvG,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAAmG,CAAA;AAAA,IACvI,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,6BAAA,EAA+B,MAAA,CAAO,MAAA,EAAA,GAA+O;AACnR,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,6BAAA,CAA8B,MAAM,CAAC,CAAA;AAC9G,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAA0G,CAAA;AAAA,IAC9I,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,wBAAA,EAA0B,MAAA,CAAO,MAAA,EAAA,GAAiQ;AAChS,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,wBAAA,CAAyB,MAAM,CAAC,CAAA;AACzG,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAAmH,CAAA;AAAA,IACvJ;AAAA,EAEF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,KAAA,CAAM,MAAA,EAA8B;AACzC,IAAA,OAAO,IAAI,oBAAA,CAAoB,IAAA,CAAK,SAAA,CAAU,KAAA,CAAM,MAAM,CAAC,CAAA;AAAA,EAC7D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,uBAAA,CAAwB,MAAA,EAA6S;AACzU,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,uBAAA,CAAwB,MAAM,CAAC,CAAA;AACxG,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,sBAAA,CAAuB,MAAA,EAA+xB;AAC1zB,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,sBAAA,CAAuB,MAAM,CAAC,CAAA;AACvG,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,2BAAA,CAA4B,MAAA,EAAq0B;AACr2B,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,2BAAA,CAA4B,MAAM,CAAC,CAAA;AAC5G,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,yBAAA,CAA0B,MAAA,EAAqO;AACnQ,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,yBAAA,CAA0B,MAAM,CAAC,CAAA;AAC1G,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,8BAAA,CAA+B,MAAA,EAA2Q;AAC9S,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,8BAAA,CAA+B,MAAM,CAAC,CAAA;AAC/G,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,0BAAA,CAA2B,MAAA,EAA+U;AAC9W,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,0BAAA,CAA2B,MAAM,CAAC,CAAA;AAC3G,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,+BAAA,CAAgC,MAAA,EAA6T;AACjW,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,+BAAA,CAAgC,MAAM,CAAC,CAAA;AAChH,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,gCAAA,CAAiC,MAAA,EAA+L;AACpO,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,gCAAA,CAAiC,MAAM,CAAC,CAAA;AACjH,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,0BAAA,CAA2B,MAAA,EAAuV;AACtX,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,0BAAA,CAA2B,MAAM,CAAC,CAAA;AAC3G,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,6BAAA,CAA8B,MAAA,EAAqN;AACvP,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,6BAAA,CAA8B,MAAM,CAAC,CAAA;AAC9G,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,sBAAA,CAAuB,MAAA,EAAmK;AAC9L,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,sBAAA,CAAuB,MAAM,CAAC,CAAA;AACvG,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,6BAAA,CAA8B,MAAA,EAAiL;AACnN,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,6BAAA,CAA8B,MAAM,CAAC,CAAA;AAC9G,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,wBAAA,CAAyB,MAAA,EAAmM;AAChO,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,wBAAA,CAAyB,MAAM,CAAC,CAAA;AACzG,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,kBAKA,MAAA,EAAQ,CACR,EAAA;AAAA,EAEO,QAAA,CAAA,EAAkC;AACvC,IAAA,MAAM,OAAA,EAAS,IAAA;AACf,IAAA,MAAM,SAAA,EAAW,IAAA,CAAK,QAAA,CAAS,QAAA,CAAS,CAAA;AACxC,IAAA,IAAI,aAAA,EAAgC,OAAA,CAAQ,OAAA,CAAQ,CAAA;AACpD,IAAA,MAAM,cAAA,EAAwE,CAAC,CAAA;AAC/E,IAAA,OAAO;AAAA;AAAA;AAAA;AAAA,MAIL,uBAAA,CAAwB,MAAA,EAA2V;AACjX,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,uBAAA,CAAwB,MAAM,CAAC,CAAC,CAAA;AAC/H,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,+GAAA,EAAiH,CAAC,CAAC,CAAA;AACtK,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,sBAAA,CAAuB,MAAA,EAA60B;AACl2B,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,sBAAA,CAAuB,MAAM,CAAC,CAAC,CAAA;AAC9H,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,wWAAA,EAA0W,CAAC,CAAC,CAAA;AAC/Z,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,2BAAA,CAA4B,MAAA,EAAm3B;AAC74B,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,2BAAA,CAA4B,MAAM,CAAC,CAAC,CAAA;AACnI,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,2XAAA,EAA6X,CAAC,CAAC,CAAA;AAClb,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,yBAAA,CAA0B,MAAA,EAAmR;AAC3S,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,yBAAA,CAA0B,MAAM,CAAC,CAAC,CAAA;AACjI,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,2EAAA,EAA6E,CAAC,CAAC,CAAA;AAClI,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,8BAAA,CAA+B,MAAA,EAAyT;AACtV,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,8BAAA,CAA+B,MAAM,CAAC,CAAC,CAAA;AACtI,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,8FAAA,EAAgG,CAAC,CAAC,CAAA;AACrJ,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,0BAAA,CAA2B,MAAA,EAA6X;AACtZ,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,0BAAA,CAA2B,MAAM,CAAC,CAAC,CAAA;AAClI,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,gIAAA,EAAkI,CAAC,CAAC,CAAA;AACvL,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,+BAAA,CAAgC,MAAA,EAA2W;AACzY,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,+BAAA,CAAgC,MAAM,CAAC,CAAC,CAAA;AACvI,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,uHAAA,EAAyH,CAAC,CAAC,CAAA;AAC9K,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,gCAAA,CAAiC,MAAA,EAA6O;AAC5Q,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,gCAAA,CAAiC,MAAM,CAAC,CAAC,CAAA;AACxI,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,wDAAA,EAA0D,CAAC,CAAC,CAAA;AAC/G,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,0BAAA,CAA2B,MAAA,EAAqY;AAC9Z,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,0BAAA,CAA2B,MAAM,CAAC,CAAC,CAAA;AAClI,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,oIAAA,EAAsI,CAAC,CAAC,CAAA;AAC3L,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,6BAAA,CAA8B,MAAA,EAAmQ;AAC/R,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,6BAAA,CAA8B,MAAM,CAAC,CAAC,CAAA;AACrI,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,mEAAA,EAAqE,CAAC,CAAC,CAAA;AAC1H,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,sBAAA,CAAuB,MAAA,EAAiN;AACtO,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,sBAAA,CAAuB,MAAM,CAAC,CAAC,CAAA;AAC9H,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,0CAAA,EAA4C,CAAC,CAAC,CAAA;AACjG,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,6BAAA,CAA8B,MAAA,EAA+N;AAC3P,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,6BAAA,CAA8B,MAAM,CAAC,CAAC,CAAA;AACrI,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,iDAAA,EAAmD,CAAC,CAAC,CAAA;AACxG,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,wBAAA,CAAyB,MAAA,EAAiP;AACxQ,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,wBAAA,CAAyB,MAAM,CAAC,CAAC,CAAA;AAChI,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,0DAAA,EAA4D,CAAC,CAAC,CAAA;AACjH,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,UAAA,CAAW,MAAA,EAAiC;AAC1C,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,CAAA,EAAA,GAAM,QAAA,CAAS,UAAA,CAAW,MAAA,CAAO,MAAA,CAAO,UAAA,CAAW,MAAM,CAAC,CAAC,CAAA;AAC5F,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA,MACA,cAAA,CAAe,GAAA,EAAkB,MAAA,EAA4B;AAC3D,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,CAAA,EAAA,GAAM,QAAA,CAAS,cAAA,CAAe,GAAA,EAAK,MAAM,CAAC,CAAA;AAC3E,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA,MACA,MAAM,QAAA,CAAA,EAAW;AACf,QAAA,MAAM,YAAA;AACN,QAAA,OAAO,QAAA;AAAA,MACT,CAAA;AAAA,MACA,MAAM,QAAA,CAAS,OAAA,EAA2B;AA1rDhD,QAAA,IAAA,EAAA;AA2rDQ,QAAA,MAAM,YAAA;AACN,QAAA,MAAM,OAAA,EAAS,MAAA,CAAO,CAAC,QAAA,EAAU,QAAA,CAAS,QAAA,CAAS,EAAA,EAAI,QAAA,CAAS,QAAA,CAAS,OAAO,CAAA,CAAA;AAChF,QAAA,OAAO;AAAA,UACL,GAAG,MAAA;AAAA,UACH,OAAA,EAAA,CAAS,GAAA,EAAA,MAAA,CAAO,OAAA,EAAA,GAAP,KAAA,EAAA,KAAA,EAAA,EAAA,EAAA,CAAgB,GAAA,CAAI,CAAC,GAAA,EAAK,CAAA,EAAA,GAAM,aAAA,CAAc,CAAC,EAAA,IAAM,KAAA,EAAA,EAAY,aAAA,CAAc,CAAC,CAAA,CAAG,GAAG,EAAA,EAAI,GAAA,CAAI,WAAA;AAAA,QACzG,CAAA;AAAA,MACF,CAAA;AAAA,MACA,MAAM,IAAA,CAAK,MAAA,EAAqB;AAlsDtC,QAAA,IAAA,EAAA;AAmsDQ,QAAA,MAAM,YAAA;AACN,QAAA,MAAM,OAAA,EAAS,MAAM,QAAA,CAAS,IAAA,CAAK,MAAM,CAAA;AACzC,QAAA,OAAO;AAAA,UACL,GAAG,MAAA;AAAA,UACH,OAAA,EAAA,CAAS,GAAA,EAAA,MAAA,CAAO,OAAA,EAAA,GAAP,KAAA,EAAA,KAAA,EAAA,EAAA,EAAA,CAAgB,GAAA,CAAI,CAAC,GAAA,EAAK,CAAA,EAAA,GAAM,aAAA,CAAc,CAAC,EAAA,IAAM,KAAA,EAAA,EAAY,aAAA,CAAc,CAAC,CAAA,CAAG,GAAG,EAAA,EAAI,GAAA,CAAI,WAAA;AAAA,QACzG,CAAA;AAAA,MACF;AAAA,IACF,CAAA;AAAA,EACF;AACF,UAAA;AD7qBA;AACA;AE77BO,IAAK,sBAAA,kBAAL,CAAA,CAAKA,sBAAAA,EAAAA,GAAL;AACL,EAAAA,sBAAAA,CAAAA,sBAAAA,CAAA,MAAA,EAAA,EAAO,EAAA,EAAA,EAAP,MAAA;AACA,EAAAA,sBAAAA,CAAAA,sBAAAA,CAAA,YAAA,EAAA,EAAa,EAAA,EAAA,EAAb,YAAA;AACA,EAAAA,sBAAAA,CAAAA,sBAAAA,CAAA,WAAA,EAAA,EAAY,EAAA,EAAA,EAAZ,WAAA;AAHU,EAAA,OAAAA,sBAAAA;AAAA,CAAA,CAAA,CAAA,sBAAA,GAAA,CAAA,CAAA,CAAA;AAYL,SAAS,cAAA,CAAe,MAAA,EAAkF;AAC/G,EAAA,OAAO,MAAA,CAAO,GAAA,CAAI,CAAC,KAAA,EAAA,GAAU,CAAC,CAAC,KAAA,CAAM,QAAA,CAAS,MAAA,EAAQ,KAAA,CAAM,QAAA,CAAS,MAAM,CAAA,EAAG,KAAA,CAAM,IAAA,EAAM,KAAA,CAAM,KAAK,CAAC,CAAA;AACxG;AFy7BA;AACA;AG3iCO,IAAK,mBAAA,kBAAL,CAAA,CAAKC,mBAAAA,EAAAA,GAAL;AACL,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,YAAA,EAAA,EAAa,EAAA,EAAA,EAAb,YAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,WAAA,EAAA,EAAY,EAAA,EAAA,EAAZ,WAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,gBAAA,EAAA,EAAiB,EAAA,EAAA,EAAjB,gBAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,eAAA,EAAA,EAAgB,EAAA,EAAA,EAAhB,eAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,qBAAA,EAAA,EAAsB,EAAA,EAAA,EAAtB,qBAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,cAAA,EAAA,EAAe,EAAA,EAAA,EAAf,cAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,mBAAA,EAAA,EAAoB,EAAA,EAAA,EAApB,mBAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,eAAA,EAAA,EAAgB,EAAA,EAAA,EAAhB,eAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,kBAAA,EAAA,EAAmB,EAAA,EAAA,EAAnB,kBAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,WAAA,EAAA,EAAY,EAAA,EAAA,EAAZ,WAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,kBAAA,EAAA,EAAmB,EAAA,EAAA,EAAnB,kBAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,cAAA,EAAA,EAAe,EAAA,EAAA,EAAf,cAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,cAAA,EAAA,EAAe,EAAA,EAAA,EAAf,cAAA;AAbU,EAAA,OAAAA,mBAAAA;AAAA,CAAA,CAAA,CAAA,mBAAA,GAAA,CAAA,CAAA,CAAA;AAgBL,IAAM,UAAA,EAAY,MAAA,CAAO,IAAA,CAAK,sCAAsC,CAAA;AAEpE,IAAM,oBAAA,EAA8B,MAAA;AH4iC3C;AACA;AIziCA;AACA,kCAA2D;AAE3D,iEAAkD;AAW3C,IAAM,YAAA,aAAN,MAAA,QAA0B,yBAAwB;AAAA,EAEvD;AAAA,kBACQ,QAAA,EAA4B,KAAA;AAAA,kBAC5B,mBAAA,EAAgD,KAAA;AAAA,EAChD;AAAA,EAER,WAAA,CAAY,MAAA,EAA8B;AACxC,IAAA,KAAA,CAAM,EAAE,OAAA,EAAS,gCAAA,EAAiB,GAAG,OAAO,CAAA,EAAG,8BAAA,CAAc,UAAU,4EAAA;AACvE,IAAA,IAAA,CAAK,WAAA,EAAa,IAAI,mBAAA,CAAoB,EAAE,QAAA,EAAU,IAAA,CAAK,QAAA,EAAU,KAAA,EAAO,GAAG,CAAC,CAAA;AAChF,IAAA,IAAA,CAAK,mBAAA,EAAqB,MAAA;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,SAAA,CAAA,EAAgC;AACpC,IAAA,GAAA,CAAI,IAAA,CAAK,OAAA,EAAS;AAChB,MAAA,OAAO,IAAA,CAAK,OAAA;AAAA,IACd;AAGA,IAAA,GAAA,CAAI,CAAC,IAAA,CAAK,kBAAA,EAAoB;AAC5B,MAAA,IAAA,CAAK,mBAAA,EAAqB,IAAA,CAAK,iBAAA,CAAkB,CAAA;AAAA,IACnD;AAEA,IAAA,OAAO,IAAA,CAAK,kBAAA;AAAA,EACd;AAAA,EAEA,MAAc,iBAAA,CAAA,EAAwC;AAEpD,IAAA,MAAM,YAAA,EAAc,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,MAAA,CAAO,CAAA;AAC1D,IAAA,GAAA,CAAI,CAAC,WAAA,EAAa;AAChB,MAAA,MAAM,IAAI,KAAA,CAAM,8EAA8E,CAAA;AAAA,IAChG;AAEA,IAAA,IAAA,CAAK,QAAA,EAAU,IAAI,+BAAA,CAAU;AAAA,MAC3B,GAAG,IAAA,CAAK,kBAAA;AAAA,MACR,aAAA,EAAe;AAAA,QACb,GAAG,IAAA,CAAK,kBAAA,CAAmB,aAAA;AAAA,QAC3B,KAAA,EAAO,WAAA;AAAA,QACP,aAAA,EAAe,IAAA,CAAK,UAAA,CAAW,MAAA;AAAA,QAC/B,aAAA,EAAe,IAAA,CAAK,UAAA,CAAW;AAAA,MACjC;AAAA,IACF,CAAC,CAAA;AAED,IAAA,OAAO,IAAA,CAAK,OAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,IAAI,MAAA,CAAA,EAAoB;AACtB,IAAA,GAAA,CAAI,CAAC,IAAA,CAAK,OAAA,EAAS;AACjB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR;AAAA,MAEF,CAAA;AAAA,IACF;AACA,IAAA,OAAO,IAAA,CAAK,OAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,MAAA,CAAO,MAAA,EAAmB;AAC5B,IAAA,IAAA,CAAK,QAAA,EAAU,MAAA;AACf,IAAA,IAAA,CAAK,mBAAA,EAAqB,OAAA,CAAQ,OAAA,CAAQ,MAAM,CAAA;AAAA,EAClD;AAAA,EAEA,MAAc,mBAAA,CAA+C,OAAA,EAAkD;AAE7G,IAAA,MAAM,YAAA,EAAc,OAAA,CAAQ,IAAA;AAAA,MAAK,CAAA,CAAA,EAAA,GAC/B,CAAA,CAAE,KAAA,IAAA,uBAAA,GACF,CAAA,CAAE,KAAA,IAAA,6BAAA,GACF,CAAA,CAAE,KAAA,IAAA,sBAAA,GACF,CAAA,CAAE,KAAA,IAAA;AAAA,IACJ,CAAA;AACA,IAAA,MAAM,OAAA,EAAS,YAAA,EAAc,MAAM,IAAA,CAAK,SAAA,CAAU,EAAA,EAAI,IAAA;AAGtD,IAAA,MAAM,eAAA,EAAmE,CAAC,CAAA;AAC1E,IAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,OAAA,CAAQ,MAAA,EAAQ,CAAA,EAAA,EAAK;AACvC,MAAA,MAAM,YAAA,EAAc,OAAA,CAAQ,CAAC,CAAA;AAC7B,MAAA,IAAI,SAAA;AACJ,MAAA,IAAI,WAAA,EAAqB,EAAA;AAEzB,MAAA,OAAA,CAAQ,WAAA,CAAY,IAAA,EAAM;AAAA,QACxB,KAAA,mBAAA,EAAoC;AAClC,UAAA,MAAM,EAAE,IAAA,EAAM,GAAG,OAAO,EAAA,EAAI,WAAA;AAE5B,UAAA,UAAA,EAAY,MAAA;AACZ,UAAA,WAAA,EAAa,oBAAA;AACb,UAAA,KAAA;AAAA,QACF;AAAA,QACA,KAAA,kBAAA;AAAA,QACA,KAAA,uBAAA,EAAwC;AACtC,UAAA,MAAM,EAAE,IAAA,EAAM,GAAG,OAAO,EAAA,EAAI,WAAA;AAE5B,UAAA,IAAI;AAAA,YACF,KAAA,EAAO,EAAA;AAAA,YACP,MAAA;AAAA,YACA,MAAA;AAAA,YACA,OAAA,EAAS,KAAA;AAAA,YACT,QAAA,EAAU,CAAC,CAAA;AAAA,YACX,OAAA,EAAS,EAAA;AAAA,YACT,MAAA,EAAQ,KAAA;AAAA,YACR,eAAA,EAAiB,EAAA;AAAA,YACjB,UAAA,EAAY,2BAAA;AAAA,YACZ,SAAA,EAAW,EAAA;AAAA,YACX,UAAA,EAAY,KAAA;AAAA,YACZ,gBAAA,EAAkB,KAAA;AAAA,YAClB,UAAA,EAAY,KAAA;AAAA,YACZ,gBAAA,EAAkB,KAAA;AAAA,YAClB,WAAA,EAAa,EAAA;AAAA,YACb,WAAA,EAAa,CAAC;AAAA,UAChB,EAAA,EAAI,MAAA;AAGJ,UAAA,IAAI,IAAA,EAAM,EAAA;AACV,UAAA,IAAI,MAAA,EAAQ,EAAA;AACZ,UAAA,IAAI,SAAA,EAAW,EAAA;AACf,UAAA,IAAI,cAAA,EAAgB,EAAA;AACpB,UAAA,IAAI,SAAA,EAAW,EAAA;AAGf,UAAA,GAAA,CAAI,MAAA,CAAO,eAAA,EAAiB;AAC1B,YAAA,IAAA,EAAM,MAAA,CAAO,GAAA;AACb,YAAA,MAAA,EAAQ,MAAA,CAAO,KAAA;AACf,YAAA,SAAA,EAAW,MAAA,CAAO,QAAA;AAClB,YAAA,cAAA,EAAgB,MAAA,CAAO,aAAA;AACvB,YAAA,SAAA,EAAW,MAAA,CAAO,QAAA;AAGlB,YAAA,GAAA,CAAI,SAAA,IAAa,GAAA,GAAM,cAAA,IAAkB,GAAA,GAAM,SAAA,IAAa,EAAA,EAAI;AAC9D,cAAA,MAAM,IAAI,KAAA,CAAM,wDAAwD,CAAA;AAAA,YAC1E;AAAA,UACF;AAEA,UAAA,MAAM,OAAA,EAAS,MAAA,CAAO,KAAA;AAEtB,UAAA,GAAA,CAAI,MAAA,EAAQ;AACV,YAAA,OAAA,EAAS,qCAAA;AAAA,UACX;AAEA,UAAA,IAAI,mBAAA,EAAuE,CAAC,CAAA;AAC5E,UAAA,GAAA,CAAI,OAAA,CAAQ,OAAA,EAAS,CAAA,EAAG;AACtB,YAAA,mBAAA,EAAqB,OAAA,CAAQ,MAAA;AAAA,cAC3B,CAAC,GAAA,EAAK,MAAA,EAAA,GAAW;AACf,gBAAA,GAAA,CAAI,gDAAA,MAAkB,CAAO,IAAI,CAAA,EAAG;AAClC,kBAAA,MAAM,UAAA,mBAAY,MAAA,CAAO,IAAA,CAAK,CAAA,CAAE,SAAA,UAAa,CAAC,GAAA;AAC9C,kBAAA,SAAA,CAAU,OAAA,CAAQ,CAAC,QAAA,EAAA,GAAa,GAAA,CAAI,IAAA,CAAK,CAAC,QAAA,EAAU,MAAA,CAAO,QAAQ,CAAC,CAAC,CAAA;AAAA,gBACvE,EAAA,KAAO;AACL,kBAAA,MAAA,CAAO,IAAA,CAAK,OAAA,CAAQ,CAAA,CAAA,EAAA,GAAK,GAAA,CAAI,IAAA,CAAK,CAAC,CAAA,EAAG,MAAA,CAAO,QAAQ,CAAC,CAAC,CAAA;AAAA,gBACzD;AACA,gBAAA,OAAO,GAAA;AAAA,cACT,CAAA;AAAA,cACA,CAAC;AAAA,YACH,CAAA;AAAA,UACF;AAEA,UAAA,MAAM,KAAA,EAA8B;AAAA,YAClC,MAAA;AAAA,YACA,MAAA;AAAA,YACA,MAAA;AAAA,YACA,KAAA;AAAA,YACA,cAAA;AAAA,YACA,SAAA;AAAA,YACA,QAAA;AAAA,YACA,OAAA,EAAS,kBAAA;AAAA,YACT,SAAA;AAAA,YACA,eAAA;AAAA,YACA,SAAA;AAAA,YACA,UAAA,EAAY,KAAA;AAAA,YACZ,eAAA;AAAA,YACA,GAAA;AAAA,YACA,KAAA;AAAA,YACA,QAAA;AAAA,YACA,aAAA;AAAA,YACA,QAAA;AAAA,YACA,UAAA;AAAA,YACA,UAAA,EAAY,gDAAA,UAA4B;AAAA,UAC1C,CAAA;AAEA,UAAA,GAAA,CAAI,IAAA,EAAM;AACR,YAAA,UAAA,EAAY,EAAE,IAAA,EAAM,GAAG,KAAK,CAAA;AAC5B,YAAA,WAAA,EAAa,wBAAA;AAAA,UACf,EAAA,KAAO;AACL,YAAA,UAAA,EAAY,IAAA;AACZ,YAAA,WAAA,EAAa,mBAAA;AAAA,UACf;AAEA,UAAA,KAAA;AAAA,QACF;AAAA,QACA,KAAA,sBAAA,EAAuC;AACrC,UAAA,MAAM,EAAE,IAAA,EAAM,GAAG,OAAO,EAAA,EAAI,WAAA;AAC5B,UAAA,MAAM,EAAE,MAAA,EAAQ,OAAO,EAAA,EAAI,MAAA;AAE3B,UAAA,GAAA,CAAI,CAAC,MAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,EAAE,MAAA,EAAQ,MAAA,EAAQ,qCAAA,EAA8B,OAAO,CAAC,CAAA,EAAG;AAClF,YAAA,IAAI;AACF,cAAA,MAAM,MAAA,CAAQ,cAAA,CAAe,EAAE,MAAA,EAAQ,MAAA,EAAQ,qCAAA,EAA8B,OAAO,CAAC,CAAA;AAAA,YACvF,EAAA,MAAA,CAAS,CAAA,EAAG;AACV,cAAA,MAAM,IAAI,KAAA,CAAM,CAAA,QAAA,EAAW,MAAM,CAAA,aAAA,EAAgB,MAAM,CAAA,UAAA,CAAY,CAAA;AAAA,YACrE;AAAA,UACF;AAEA,UAAA,UAAA,EAAY,MAAA;AACZ,UAAA,WAAA,EAAa,uBAAA;AACb,UAAA,KAAA;AAAA,QACF;AAAA,QACA,KAAA,4BAAA,EAA6C;AAC3C,UAAA,MAAM,EAAE,IAAA,EAAM,GAAG,OAAO,EAAA,EAAI,WAAA;AAE5B,UAAA,GAAA,CAAI,CAAC,MAAA,CAAQ,UAAA,CAAW,GAAA,CAAI,MAAA,CAAO,YAAY,CAAA,EAAG;AAChD,YAAA,IAAI;AACF,cAAA,MAAM,MAAA,CAAQ,YAAA,CAAa,MAAA,CAAO,YAAY,CAAA;AAAA,YAChD,EAAA,MAAA,CAAS,CAAA,EAAG;AACV,cAAA,MAAM,IAAI,KAAA,CAAM,CAAA,oBAAA,EAAuB,MAAA,CAAO,YAAY,CAAA,UAAA,CAAY,CAAA;AAAA,YACxE;AAAA,UACF;AAEA,UAAA,UAAA,EAAY,MAAA;AACZ,UAAA,WAAA,EAAa,6BAAA;AACb,UAAA,KAAA;AAAA,QACF;AAAA,QACA,KAAA,qBAAA,EAAsC;AACpC,UAAA,MAAM,EAAE,IAAA,EAAM,GAAG,OAAO,EAAA,EAAI,WAAA;AAC5B,UAAA,MAAM,EAAE,MAAA,EAAQ,MAAA,EAAQ,OAAO,EAAA,EAAI,MAAA;AAEnC,UAAA,GAAA,CAAI,CAAC,MAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,EAAE,MAAA,EAAQ,MAAA,EAAQ,OAAO,CAAC,CAAA,EAAG;AACpD,YAAA,IAAI;AACF,cAAA,MAAM,MAAA,CAAQ,cAAA,CAAe,EAAE,MAAA,EAAQ,MAAA,EAAQ,OAAO,CAAC,CAAA;AAAA,YACzD,EAAA,MAAA,CAAS,CAAA,EAAG;AACV,cAAA,MAAM,IAAI,KAAA,CAAM,CAAA,QAAA,EAAW,MAAM,CAAA,cAAA,EAAiB,MAAM,CAAA,aAAA,EAAgB,MAAM,CAAA,UAAA,CAAY,CAAA;AAAA,YAC5F;AAAA,UACF;AAEA,UAAA,UAAA,EAAY,MAAA;AACZ,UAAA,WAAA,EAAa,sBAAA;AACb,UAAA,KAAA;AAAA,QACF;AAAA,QACA,KAAA,0BAAA,EAA2C;AACzC,UAAA,MAAM,EAAE,IAAA,EAAM,GAAG,OAAO,EAAA,EAAI,WAAA;AAC5B,UAAA,MAAM,EAAE,KAAK,EAAA,EAAI,MAAA;AAEjB,UAAA,GAAA,CAAI,CAAC,MAAA,CAAQ,YAAA,CAAa,GAAA,CAAI,IAAI,CAAA,EAAG;AACnC,YAAA,IAAI;AACF,cAAA,MAAM,MAAA,CAAQ,eAAA,CAAgB,IAAI,CAAA;AAAA,YACpC,EAAA,MAAA,CAAS,CAAA,EAAG;AACV,cAAA,MAAM,IAAI,KAAA,CAAM,CAAA,cAAA,EAAiB,IAAI,CAAA,UAAA,CAAY,CAAA;AAAA,YACnD;AAAA,UACF;AAEA,UAAA,UAAA,EAAY,MAAA;AACZ,UAAA,WAAA,EAAa,2BAAA;AACb,UAAA,KAAA;AAAA,QACF;AAAA,QACA,KAAA,sBAAA,EAAuC;AACrC,UAAA,MAAM,EAAE,MAAA,EAAQ,WAAW,EAAA,EAAI,WAAA;AAE/B,UAAA,UAAA,EAAY,EAAE,MAAA,EAAQ,UAAA,EAAY,gDAAA,UAA4B,EAAE,CAAA;AAChE,UAAA,WAAA,EAAa,uBAAA;AACb,UAAA,KAAA;AAAA,QACF;AAAA,QACA,KAAA,yBAAA,EAA0C;AACxC,UAAA,MAAM,EAAE,IAAA,EAAM,GAAG,OAAO,EAAA,EAAI,WAAA;AAE5B,UAAA,UAAA,EAAY,MAAA;AACZ,UAAA,WAAA,EAAa,0BAAA;AACb,UAAA,KAAA;AAAA,QACF;AAAA,QACA,KAAA,kBAAA,EAAmC;AACjC,UAAA,MAAM,EAAE,IAAA,EAAM,GAAG,OAAO,EAAA,EAAI,WAAA;AAE5B,UAAA,UAAA,EAAY,MAAA;AACZ,UAAA,WAAA,EAAa,mBAAA;AACb,UAAA,KAAA;AAAA,QACF;AAAA,QACA,KAAA,yBAAA,EAA0C;AACxC,UAAA,MAAM,EAAE,IAAA,EAAM,GAAG,OAAO,EAAA,EAAI,WAAA;AAE5B,UAAA,UAAA,EAAY,MAAA;AACZ,UAAA,WAAA,EAAa,0BAAA;AACb,UAAA,KAAA;AAAA,QACF;AAAA,QACA,KAAA,qBAAA,EAAsC;AACpC,UAAA,MAAM,EAAE,IAAA,EAAM,GAAG,OAAO,EAAA,EAAI,WAAA;AAE5B,UAAA,IAAI,IAAA;AACJ,UAAA,OAAA,CAAQ,MAAA,CAAO,KAAA,EAAO;AAAA,YACpB,KAAK,gBAAA,EAAkB;AACrB,cAAA,KAAA,EAAO,MAAA,CAAO,KAAA;AACd,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,uBAAA;AAAA,YACL,KAAK,oBAAA,EAAsB;AACzB,cAAA,KAAA,EAAO,mCAAA,MAAa,CAAO,KAAK,CAAA;AAChC,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,KAAA,EAAO;AACV,cAAA,MAAM,YAAA,EAAc,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,YAAA,CAAa,CAAA;AAEhE,cAAA,MAAM;AAAA,gBACJ,QAAA,mBAAA,CAAU,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,OAAA,CAAA,UAAW,IAAA;AAAA,gBAClC,QAAA,mBAAA,CAAU,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,OAAA,CAAA,UAAW,IAAA;AAAA,gBAClC,KAAA,mBAAA,CAAO,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,IAAA,CAAA,UAAQ,IAAA;AAAA,gBAC5B,SAAA,mBAAA,CAAW,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,QAAA,CAAA,UAAY,IAAA;AAAA,gBACpC,cAAA,mBAAA,CAAgB,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,aAAA,CAAA,UAAiB,IAAA;AAAA,gBAC9C,KAAA,mBAAA,CAAO,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,IAAA,CAAA,UAAQ,IAAA;AAAA,gBAC5B,QAAA,mBAAA,CAAU,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,OAAA,CAAA,UAAW,IAAA;AAAA,gBAClC,UAAA,mBAAA,CAAY,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,SAAA,CAAA,UAAa,IAAA;AAAA,gBACtC,OAAA,mBAAA,CAAS,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,MAAA,CAAA,UAAU,IAAA;AAAA,gBAChC,YAAA,mBAAA,CAAc,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,WAAA,CAAA,UAAe,IAAA;AAAA,gBAC1C,YAAA,mBAAA,CAAc,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,WAAA,CAAA,UAAe,IAAA;AAAA,gBAC1C,MAAA,EAAAC,QAAAA,mBAAAA,CAAS,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,MAAA,CAAA,UAAU;AAAA,cAClC,EAAA,EAAI,MAAA,CAAO,KAAA;AAEX,cAAA,MAAM,QAAA,EAAU;AAAA,gBACd,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,IAAA;AAAA,gBACA,QAAA;AAAA,gBACA,aAAA;AAAA,gBACA,IAAA;AAAA,gBACA,OAAA;AAAA,gBACA,SAAA;AAAA,gBACA,MAAA;AAAA,gBACA,WAAA;AAAA,gBACA,WAAA;AAAA,gBACA,MAAA,EAAAA;AAAA,cACF,CAAA;AAEA,cAAA,KAAA,EAAO,0CAAA,OAAmB,EAAS,cAAA,EAAgB,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AACxF,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,KAAA,EAAO;AACV,cAAA,MAAM,YAAA,EAAc,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,kBAAA,CAAmB,CAAA;AAEtE,cAAA,MAAM;AAAA,gBACJ,OAAA,mBAAA,CAAS,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,MAAA,CAAA,UAAU,IAAA;AAAA,gBAChC,MAAA,mBAAA,CAAQ,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,KAAA,CAAA,UAAS,IAAA;AAAA,gBAC9B,OAAA,mBAAA,CAAS,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,MAAA,CAAA,UAAU,IAAA;AAAA,gBAChC,WAAA,mBAAA,CAAa,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,UAAA,CAAA,UAAc;AAAA,cAC1C,EAAA,EAAI,MAAA,CAAO,KAAA;AAEX,cAAA,MAAM,QAAA,EAAU;AAAA,gBACd,MAAA;AAAA,gBACA,KAAA;AAAA,gBACA,MAAA;AAAA,gBACA;AAAA,cACF,CAAA;AAEA,cAAA,KAAA,EAAO,0CAAA,OAAmB,EAAS,oBAAA,EAAsB,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AAC9F,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,KAAA,EAAO;AACV,cAAA,MAAM,YAAA,EAAc,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,aAAA,CAAc,CAAA;AAEjE,cAAA,MAAM;AAAA,gBACJ,MAAA,mBAAA,CAAQ,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,KAAA,CAAA,UAAS,IAAA;AAAA,gBAC9B,eAAA,mBAAA,CAAiB,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,cAAA,CAAA,UAAkB,IAAA;AAAA,gBAChD,OAAA,mBAAA,CAAS,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,MAAA,CAAA,UAAU;AAAA,cAClC,EAAA,EAAI,MAAA,CAAO,KAAA;AAEX,cAAA,KAAA,EAAO,0CAAA,EAAqB,KAAA,EAAO,cAAA,EAAgB,OAAO,CAAA,EAAG,eAAA,EAAiB,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AACnH,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,KAAA,EAAO;AACV,cAAA,MAAM,YAAA,EAAc,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,YAAA,CAAa,CAAA;AAEhE,cAAA,MAAM;AAAA,gBACJ,UAAA,mBAAA,CAAY,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,SAAA,CAAA,UAAa,IAAA;AAAA,gBACtC,YAAA,mBAAA,CAAc,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,WAAA,CAAA,UAAe,IAAA;AAAA,gBAC1C,WAAA,mBAAA,CAAa,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,UAAA,CAAA,UAAc,IAAA;AAAA,gBACxC,OAAA,mBAAA,CAAS,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,MAAA,CAAA,UAAU,IAAA;AAAA,gBAChC,KAAA,mBAAA,CAAO,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,IAAA,CAAA,UAAQ,IAAA;AAAA,gBAC5B,SAAA,mBAAA,CAAW,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,QAAA,CAAA,UAAY;AAAA,cACtC,EAAA,EAAI,MAAA,CAAO,KAAA;AAEX,cAAA,MAAM,QAAA,EAAU;AAAA,gBACd,SAAA;AAAA,gBACA,WAAA;AAAA,gBACA,UAAA;AAAA,gBACA,MAAA;AAAA,gBACA,IAAA;AAAA,gBACA;AAAA,cACF,CAAA;AAEA,cAAA,KAAA,EAAO,0CAAA,OAAmB,EAAS,cAAA,EAAgB,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AACxF,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,aAAA,EAAe;AAElB,cAAA,MAAM,YAAA,EAAc,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,UAAA,CAAW,CAAA;AAE9D,cAAA,MAAM;AAAA,gBACJ,UAAA,mBAAA,CAAY,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,SAAA,CAAA,UAAa;AAAA,cACxC,EAAA,EAAI,MAAA,CAAO,KAAA;AAEX,cAAA,KAAA,EAAO,0CAAA,EAAqB,UAAU,CAAA,EAAG,YAAA,EAAc,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AAC5F,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,aAAA,EAAe;AAClB,cAAA,MAAM,YAAA,EAAc,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,UAAA,CAAW,CAAA;AAE9D,cAAA,MAAM;AAAA,gBACJ,QAAA,mBAAA,CAAU,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,OAAA,CAAA,UAAW,IAAA;AAAA,gBAClC,SAAA,mBAAA,CAAW,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,QAAA,CAAA,UAAY,IAAA;AAAA,gBACpC,aAAA,mBAAA,CAAe,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,YAAA,CAAA,UAAgB,IAAA;AAAA,gBAC5C,aAAA,mBAAA,CAAe,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,YAAA,CAAA,UAAgB;AAAA,cAC9C,EAAA,EAAI,MAAA,CAAO,KAAA;AAEX,cAAA,MAAM,QAAA,EAAU;AAAA,gBACd,OAAA;AAAA,gBACA,QAAA;AAAA,gBACA,YAAA;AAAA,gBACA;AAAA,cACF,CAAA;AAEA,cAAA,KAAA,EAAO,0CAAA,OAAmB,EAAS,YAAA,EAAc,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AACtF,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,cAAA,EAAgB;AACnB,cAAA,MAAM,YAAA,EAAc,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,WAAA,CAAY,CAAA;AAE/D,cAAA,MAAM;AAAA,gBACJ,YAAA,mBAAA,CAAc,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,WAAA,CAAA,UAAe,IAAA;AAAA,gBAC1C,aAAA,mBAAA,CAAe,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,YAAA,CAAA,UAAgB,IAAA;AAAA,gBAC5C,aAAA,mBAAA,CAAe,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,YAAA,CAAA,UAAgB;AAAA,cAC9C,EAAA,EAAI,MAAA,CAAO,KAAA;AAEX,cAAA,MAAM,QAAA,EAAU;AAAA,gBACd,WAAA;AAAA,gBACA,YAAA;AAAA,gBACA;AAAA,cACF,CAAA;AAEA,cAAA,KAAA,EAAO,0CAAA,OAAmB,EAAS,aAAA,EAAe,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AACvF,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,mBAAA,EAAqB;AACxB,cAAA,MAAM,YAAA,EAAc,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,gBAAA,CAAiB,CAAA;AAEpE,cAAA,MAAM;AAAA,gBACJ,mBAAA,mBAAA,CAAqB,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,kBAAA,CAAA,UAAsB,IAAA;AAAA,gBACxD,kBAAA,mBAAA,CAAoB,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,iBAAA,CAAA,UAAqB,IAAA;AAAA,gBACtD,kBAAA,mBAAA,CAAoB,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,iBAAA,CAAA,UAAqB;AAAA,cACxD,EAAA,EAAI,MAAA,CAAO,KAAA;AAEX,cAAA,MAAM,QAAA,EAAU;AAAA,gBACd,kBAAA;AAAA,gBACA,iBAAA;AAAA,gBACA;AAAA,cACF,CAAA;AAEA,cAAA,KAAA,EAAO,0CAAA,OAAmB,EAAS,kBAAA,EAAoB,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AAC5F,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,UAAA,EAAY;AACf,cAAA,MAAM,YAAA,EAAc,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,OAAA,CAAQ,CAAA;AAE3D,cAAA,MAAM;AAAA,gBACJ,6BAAA,mBAAA,CAA+B,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,4BAAA,CAAA,UAAgC,IAAA;AAAA,gBAC5E,6BAAA,mBAAA,CAA+B,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,4BAAA,CAAA,UAAgC,IAAA;AAAA,gBAC5E,gCAAA,mBAAA,CAAkC,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,+BAAA,CAAA,UAAmC,IAAA;AAAA,gBAClF,oCAAA,mBAAA,CAAsC,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,mCAAA,CAAA,UAAuC,IAAA;AAAA,gBAC1F,sBAAA,mBAAA,CAAwB,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,qBAAA,CAAA,UAAyB,IAAA;AAAA,gBAC9D,eAAA,mBAAA,CAAiB,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,cAAA,CAAA,UAAkB,IAAA;AAAA,gBAChD,mBAAA,mBAAA,CAAqB,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,kBAAA,CAAA,UAAsB,IAAA;AAAA,gBACxD,wBAAA,mBAAA,CAA0B,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,uBAAA,CAAA,UAA2B,IAAA;AAAA,gBAClE,wBAAA,mBAAA,CAA0B,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,uBAAA,CAAA,UAA2B,IAAA;AAAA,gBAClE,4BAAA,mBAAA,CAA8B,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,2BAAA,CAAA,UAA+B,IAAA;AAAA,gBAC1E,wBAAA,mBAAA,CAA0B,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,uBAAA,CAAA,UAA2B,IAAA;AAAA,gBAClE,kBAAA,mBAAA,CAAoB,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,iBAAA,CAAA,UAAqB,IAAA;AAAA,gBACtD,uBAAA,mBAAA,CAAyB,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,sBAAA,CAAA,UAA0B,IAAA;AAAA,gBAChE,uBAAA,mBAAA,CAAyB,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,sBAAA,CAAA,UAA0B,IAAA;AAAA,gBAChE,2BAAA,mBAAA,CAA6B,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,0BAAA,CAAA,UAA8B;AAAA,cAC1E,EAAA,EAAI,MAAA,CAAO,KAAA;AAEX,cAAA,MAAM,QAAA,EAAU;AAAA,gBACd,4BAAA;AAAA,gBACA,4BAAA;AAAA,gBACA,+BAAA;AAAA,gBACA,mCAAA;AAAA,gBACA,qBAAA;AAAA,gBACA,cAAA;AAAA,gBACA,kBAAA;AAAA,gBACA,uBAAA;AAAA,gBACA,uBAAA;AAAA,gBACA,2BAAA;AAAA,gBACA,uBAAA;AAAA,gBACA,iBAAA;AAAA,gBACA,sBAAA;AAAA,gBACA,sBAAA;AAAA,gBACA;AAAA,cACF,CAAA;AAEA,cAAA,KAAA,EAAO,0CAAA,OAAmB,EAAS,SAAA,EAAW,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AACnF,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,WAAA,EAAa;AAChB,cAAA,MAAM,YAAA,EAAc,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,QAAA,CAAS,CAAA;AAE5D,cAAA,MAAM;AAAA,gBACJ,aAAA,mBAAA,CAAe,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,YAAA,CAAA,UAAgB,IAAA;AAAA,gBAC5C,aAAA,mBAAA,CAAe,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,YAAA,CAAA,UAAgB;AAAA,cAC9C,EAAA,EAAI,MAAA,CAAO,KAAA;AAEX,cAAA,MAAM,QAAA,EAAU;AAAA,gBACd,YAAA;AAAA,gBACA;AAAA,cACF,CAAA;AAEA,cAAA,KAAA,EAAO,0CAAA,OAAmB,EAAS,UAAA,EAAY,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AACpF,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,cAAA,EAAgB;AACnB,cAAA,MAAM,cAAA,EAAgB,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,WAAA,CAAY,CAAA;AAEjE,cAAA,MAAM;AAAA,gBACJ,KAAA,mBAAA,CAAO,cAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,aAAA,CAAe,IAAA,CAAA,UAAQ,IAAA;AAAA,gBAC9B,MAAA,mBAAA,CAAQ,cAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,aAAA,CAAe,KAAA,CAAA,UAAS;AAAA,cAClC,EAAA,EAAI,MAAA,CAAO,KAAA;AAEX,cAAA,KAAA,EAAO,0CAAA,EAAqB,IAAA,EAAM,MAAM,CAAA,EAAG,aAAA,EAAe,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AAC/F,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,gBAAA;AAAA,YACL,KAAK,eAAA;AAAA,YACL,KAAK,kBAAA;AAAA,YACL,KAAK,kBAAA;AAAA,YACL,KAAK,qBAAA;AAAA,YACL,KAAK,eAAA;AAAA,YACL,KAAK,kBAAA,EAAoB;AACvB,cAAA,KAAA,EAAO,0CAAA,MAAmB,CAAO,KAAA,EAAO,kBAAA,EAAoB,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AACjG,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,gBAAA,EAAkB;AACrB,cAAA,KAAA,EAAO,0CAAA,cAAmB,CAAe,MAAA,CAAO,KAAK,CAAA,EAAG,kCAAA,EAAoC,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AACjI,cAAA,KAAA;AAAA,YACF;AAAA,YACA,OAAA;AACE,cAAA,MAAM,IAAI,KAAA,CAAM,CAAA,iBAAA,CAAmB,CAAA;AAAA,UACvC;AAEA,UAAA,UAAA,EAAY,EAAE,KAAA,EAAO,MAAA,CAAO,KAAA,EAAO,KAAA,EAAO,KAAK,CAAA;AAC/C,UAAA,WAAA,EAAa,qBAAA;AACb,UAAA,KAAA;AAAA,QACF;AAAA,QACA,KAAA,qBAAA,EAAsC;AAEpC,UAAA,cAAA,CAAe,IAAA,CAAK,CAAC,WAAA,CAAY,IAAA,EAAM,IAAI,UAAA,CAAW,CAAC,CAAC,CAAA;AACxD,UAAA,QAAA;AAAA,QACF;AAAA,QACA,OAAA,EAAS;AACP,UAAA,MAAM,IAAI,KAAA,CAAM,CAAA,gCAAA,CAAkC,CAAA;AAAA,QACpD;AAAA,MACF;AAEA,MAAA,cAAA,CAAe,IAAA,CAAK;AAAA,QAClB,WAAA,CAAY,IAAA;AAAA,QACZ,0CAAA,SAAmB,EAAW,UAAA,EAAY,IAAA,CAAK,UAAA,CAAW,SAAA,CAAU,OAAA,CAAQ,OAAO;AAAA,MACrF,CAAC,CAAA;AAAA,IACH;AAEA,IAAA,OAAO,cAAA;AAAA,EACT;AAAA,EAEA,MAAM,UAAA,CAAW,MAAA,EAAgD;AAE/D,IAAA,MAAM,WAAA,EAAa,IAAA,CAAK,aAAA,CAAc,MAAM,CAAA;AAE5C,IAAA,OAAO,MAAM,IAAA,CAAK,MAAA,CAAO,IAAA,CAAK,UAAA,CAAW;AAAA,MACvC,GAAG,UAAA;AAAA,MACH,IAAA,EAAM,CAAC;AAAA,IACT,CAAC,CAAA;AAAA,EACH;AAAA,EAEA,MAAM,WAAA,CAAuC;AAAA,IAC3C,MAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAA,EAAM,SAAA;AAAA,IACN,OAAA;AAAA,IACA,gBAAA,EAAkB;AAAA,EACpB,CAAA,EAImC;AAEjC,IAAA,MAAM,WAAA,EAAa,IAAA,CAAK,qBAAA,CAAsB,EAAE,MAAA,EAAQ,OAAO,CAAC,CAAA;AAEhE,IAAA,MAAM,eAAA,EAAiB,MAAM,IAAA,CAAK,mBAAA,CAA6B,OAAO,CAAA;AAEtE,IAAA,MAAM,MAAA,EAAQ,IAAA,CAAK,MAAA,CAAO,QAAA,CAAS,CAAA;AAEnC,IAAA,MAAM,EAAE,MAAM,EAAA,EAAI,MAAM,IAAA,CAAK,MAAA,CAAO,YAAA,CAAa,EAAE,IAAA,EAAM,EAAE,OAAA,EAAS,eAAe,EAAE,CAAC,CAAA;AAEtF,IAAA,MAAM,QAAA,EAAU,IAAA,CAAK,MAAA,CAAO,QAAA,CAAS,iBAAA,CAAkB,OAAA,CAAQ;AAAA,MAC7D,GAAG,UAAA;AAAA,MACH,QAAA,EAAU,IAAA,CAAK,MAAA,CAAO,UAAA,CAAW,QAAA,CAAS,CAAA;AAAA,MAC1C,MAAA,EAAQ,qCAAA,KAAe;AAAA,IACzB,CAAC,CAAA;AAED,IAAA,KAAA,CAAM,WAAA,CAAY;AAAA,MAChB,GAAG,UAAA;AAAA,MACH,IAAA,EAAM;AAAA,QACJ,OAAA;AAAA,QACA,GAAA;AAAA,QACA,OAAA,EAAS;AAAA,MACX;AAAA,IACF,CAAC,CAAA;AAED,IAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,OAAA,CAAQ,MAAA,EAAQ,CAAA,EAAA,EAAK;AACvC,MAAA,KAAA,CAAM,IAAA,CAAK,EAAE,IAAA,EAAM,CAAC,CAAA,EAAG,IAAA,EAAM,CAAA,EAAA;AAC/B,IAAA;AAE4B,IAAA;AAEE,IAAA;AACH,IAAA;AAEX,IAAA;AACY,IAAA;AACM,MAAA;AAClC,IAAA;AAE6B,IAAA;AAC3B,MAAA;AAC4B,MAAA;AAC5B,MAAA;AACE,QAAA;AAC0B,QAAA;AAC5B,MAAA;AACA,MAAA;AACE,QAAA;AACA,QAAA;AACF,MAAA;AACF,IAAA;AAEsC,IAAA;AAEjB,IAAA;AACM,MAAA;AACP,MAAA;AACO,MAAA;AACC,QAAA;AACA,QAAA;AACzB,MAAA;AACH,IAAA;AAEmB,IAAA;AAEQ,IAAA;AAEI,IAAA;AAEJ,IAAA;AAC7B,EAAA;AAE8C,EAAA;AAC5C,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACwD,EAAA;AAEhC,IAAA;AAEK,IAAA;AAEH,IAAA;AACF,MAAA;AACK,MAAA;AAC5B,IAAA;AAEqB,IAAA;AACJ,MAAA;AAClB,IAAA;AAE4B,IAAA;AAEN,IAAA;AACJ,MAAA;AAClB,IAAA;AAEuB,IAAA;AACO,IAAA;AAER,IAAA;AAED,IAAA;AACS,MAAA;AACvB,QAAA;AACmB,QAAA;AACG,QAAA;AAC1B,MAAA;AAE6B,MAAA;AACzB,QAAA;AACG,QAAA;AACJ,UAAA;AACA,UAAA;AACA,UAAA;AACS,UAAA;AACX,QAAA;AACD,MAAA;AACI,IAAA;AACyB,MAAA;AACzB,QAAA;AACG,QAAA;AACJ,UAAA;AACA,UAAA;AACS,UAAA;AACX,QAAA;AACD,MAAA;AACH,IAAA;AACF,EAAA;AAE+B,EAAA;AAEL,IAAA;AAEM,IAAA;AACzB,MAAA;AACgB,MAAA;AACpB,IAAA;AACH,EAAA;AAEiC,EAAA;AAEP,IAAA;AAEO,IAAA;AAC1B,MAAA;AACmB,MAAA;AACJ,MAAA;AACnB,IAAA;AAE6B,IAAA;AACzB,MAAA;AACiB,MAAA;AACrB,IAAA;AACH,EAAA;AAEiC,EAAA;AAEP,IAAA;AAEM,IAAA;AACzB,MAAA;AACgB,MAAA;AACpB,IAAA;AACH,EAAA;AAEwB,EAAA;AAEE,IAAA;AAEM,IAAA;AACzB,MAAA;AACgB,MAAA;AACpB,IAAA;AACH,EAAA;AAEqD,EAAA;AACpB,IAAA;AACjC,EAAA;AAEuD,EAAA;AAE7B,IAAA;AACT,MAAA;AACL,MAAA;AACL,MAAA;AACJ,IAAA;AAE8B,IAAA;AAC1B,MAAA;AACI,MAAA;AACR,IAAA;AAEM,IAAA;AACT,EAAA;AAEwD,EAAA;AAE9B,IAAA;AACC,MAAA;AACL,MAAA;AACnB,IAAA;AAE+B,IAAA;AAC3B,MAAA;AACyB,MAAA;AAC7B,IAAA;AAEM,IAAA;AACT,EAAA;AAAA;AAAA;AAAA;AAKwD,EAAA;AAClC,IAAA;AAClB,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AAAA;AACT,MAAA;AACkB,QAAA;AACpB,IAAA;AACF,EAAA;AAAA;AAAA;AAAA;AAKiD,EAAA;AACvB,IAAA;AACQ,IAAA;AAEZ,IAAA;AACkB,MAAA;AAClB,QAAA;AACP,QAAA;AACX,MAAA;AACmC,MAAA;AACjB,QAAA;AACP,QAAA;AACX,MAAA;AACwC,MAAA;AACtB,QAAA;AACP,QAAA;AACX,MAAA;AACuC,MAAA;AACrB,QAAA;AACP,QAAA;AACX,MAAA;AACA,MAAA;AACkB,QAAA;AACP,QAAA;AACX,MAAA;AACsC,MAAA;AACpB,QAAA;AACP,QAAA;AACX,MAAA;AACA,MAAA;AACkB,QAAA;AACP,QAAA;AACX,MAAA;AACuC,MAAA;AACrB,QAAA;AACP,QAAA;AACX,MAAA;AACA,MAAA;AACkB,QAAA;AACP,QAAA;AACX,MAAA;AACmC,MAAA;AACjB,QAAA;AACP,QAAA;AACX,MAAA;AACA,MAAA;AACkB,QAAA;AACP,QAAA;AACX,MAAA;AACsC,MAAA;AACpB,QAAA;AACP,QAAA;AACX,MAAA;AACsC,MAAA;AAC3B,QAAA;AACX,MAAA;AACA,MAAA;AACkB,QAAA;AACpB,IAAA;AACF,EAAA;AAAA;AAAA;AAAA;AAKgE,EAAA;AAClC,IAAA;AAEb,IAAA;AACG,MAAA;AAClB,IAAA;AAEyD,IAAA;AAC3C,MAAA;AACb,IAAA;AAEM,IAAA;AACY,MAAA;AACH,MAAA;AACE,MAAA;AACE,MAAA;AACC,MAAA;AACD,MAAA;AACC,MAAA;AACV,MAAA;AACX,IAAA;AACF,EAAA;AACF;AJ64BoC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/Users/kylebreeding/akita/akita-sc/projects/akita-sdk/dist/chunk-YIKWX5EO.js","sourcesContent":[null,"/* eslint-disable */\n/**\n * This file was automatically generated by @algorandfoundation/algokit-client-generator.\n * DO NOT MODIFY IT BY HAND.\n * requires: @algorandfoundation/algokit-utils: ^7\n */\nimport { type AlgorandClient } from '@algorandfoundation/algokit-utils/types/algorand-client'\nimport { ABIReturn, AppReturn, SendAppTransactionResult } from '@algorandfoundation/algokit-utils/types/app'\nimport { Arc56Contract, getArc56ReturnValue, getABIStructFromABITuple } from '@algorandfoundation/algokit-utils/types/app-arc56'\nimport {\n AppClient as _AppClient,\n AppClientMethodCallParams,\n AppClientParams,\n AppClientBareCallParams,\n CallOnComplete,\n AppClientCompilationParams,\n ResolveAppClientByCreatorAndName,\n ResolveAppClientByNetwork,\n CloneAppClientParams,\n} from '@algorandfoundation/algokit-utils/types/app-client'\nimport { AppFactory as _AppFactory, AppFactoryAppClientParams, AppFactoryResolveAppClientByCreatorAndNameParams, AppFactoryDeployParams, AppFactoryParams, CreateSchema } from '@algorandfoundation/algokit-utils/types/app-factory'\nimport { TransactionComposer, AppCallMethodCall, AppMethodCallTransactionArgument, SimulateOptions, RawSimulateOptions, SkipSignaturesSimulateOptions } from '@algorandfoundation/algokit-utils/types/composer'\nimport { SendParams, SendSingleTransactionResult, SendAtomicTransactionComposerResults } from '@algorandfoundation/algokit-utils/types/transaction'\nimport { Address, encodeAddress, modelsv2, OnApplicationComplete, Transaction, TransactionSigner } from 'algosdk'\n\nexport const APP_SPEC: Arc56Contract = {\"name\":\"AkitaDAOTypes\",\"structs\":{\"ProposalAddAllowances\":[{\"name\":\"escrow\",\"type\":\"string\"},{\"name\":\"allowances\",\"type\":\"(uint64,uint8,uint64,uint64,uint64,bool)[]\"}],\"ProposalAddNamedPlugin\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"plugin\",\"type\":\"uint64\"},{\"name\":\"caller\",\"type\":\"address\"},{\"name\":\"escrow\",\"type\":\"string\"},{\"name\":\"delegationType\",\"type\":\"uint8\"},{\"name\":\"lastValid\",\"type\":\"uint64\"},{\"name\":\"cooldown\",\"type\":\"uint64\"},{\"name\":\"methods\",\"type\":\"(byte[4],uint64)[]\"},{\"name\":\"useRounds\",\"type\":\"bool\"},{\"name\":\"useExecutionKey\",\"type\":\"bool\"},{\"name\":\"coverFees\",\"type\":\"bool\"},{\"name\":\"defaultToEscrow\",\"type\":\"bool\"},{\"name\":\"fee\",\"type\":\"uint64\"},{\"name\":\"power\",\"type\":\"uint64\"},{\"name\":\"duration\",\"type\":\"uint64\"},{\"name\":\"participation\",\"type\":\"uint64\"},{\"name\":\"approval\",\"type\":\"uint64\"},{\"name\":\"sourceLink\",\"type\":\"string\"},{\"name\":\"allowances\",\"type\":\"(uint64,uint8,uint64,uint64,uint64,bool)[]\"}],\"ProposalAddPlugin\":[{\"name\":\"plugin\",\"type\":\"uint64\"},{\"name\":\"caller\",\"type\":\"address\"},{\"name\":\"escrow\",\"type\":\"string\"},{\"name\":\"delegationType\",\"type\":\"uint8\"},{\"name\":\"lastValid\",\"type\":\"uint64\"},{\"name\":\"cooldown\",\"type\":\"uint64\"},{\"name\":\"methods\",\"type\":\"(byte[4],uint64)[]\"},{\"name\":\"useRounds\",\"type\":\"bool\"},{\"name\":\"useExecutionKey\",\"type\":\"bool\"},{\"name\":\"coverFees\",\"type\":\"bool\"},{\"name\":\"defaultToEscrow\",\"type\":\"bool\"},{\"name\":\"fee\",\"type\":\"uint64\"},{\"name\":\"power\",\"type\":\"uint64\"},{\"name\":\"duration\",\"type\":\"uint64\"},{\"name\":\"participation\",\"type\":\"uint64\"},{\"name\":\"approval\",\"type\":\"uint64\"},{\"name\":\"sourceLink\",\"type\":\"string\"},{\"name\":\"allowances\",\"type\":\"(uint64,uint8,uint64,uint64,uint64,bool)[]\"}],\"ProposalExecuteNamedPlugin\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"executionKey\",\"type\":\"byte[32]\"},{\"name\":\"groups\",\"type\":\"byte[32][]\"},{\"name\":\"firstValid\",\"type\":\"uint64\"},{\"name\":\"lastValid\",\"type\":\"uint64\"}],\"ProposalExecutePlugin\":[{\"name\":\"plugin\",\"type\":\"uint64\"},{\"name\":\"escrow\",\"type\":\"string\"},{\"name\":\"executionKey\",\"type\":\"byte[32]\"},{\"name\":\"groups\",\"type\":\"byte[32][]\"},{\"name\":\"firstValid\",\"type\":\"uint64\"},{\"name\":\"lastValid\",\"type\":\"uint64\"}],\"ProposalNewEscrow\":[{\"name\":\"escrow\",\"type\":\"string\"}],\"ProposalRemoveAllowances\":[{\"name\":\"escrow\",\"type\":\"string\"},{\"name\":\"assets\",\"type\":\"uint64[]\"}],\"ProposalRemoveExecutePlugin\":[{\"name\":\"executionKey\",\"type\":\"byte[32]\"}],\"ProposalRemoveNamedPlugin\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"plugin\",\"type\":\"uint64\"},{\"name\":\"caller\",\"type\":\"address\"},{\"name\":\"escrow\",\"type\":\"string\"}],\"ProposalRemovePlugin\":[{\"name\":\"plugin\",\"type\":\"uint64\"},{\"name\":\"caller\",\"type\":\"address\"},{\"name\":\"escrow\",\"type\":\"string\"}],\"ProposalToggleEscrowLock\":[{\"name\":\"escrow\",\"type\":\"string\"}],\"ProposalUpdateField\":[{\"name\":\"field\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"byte[]\"}],\"ProposalUpgradeApp\":[{\"name\":\"app\",\"type\":\"uint64\"},{\"name\":\"executionKey\",\"type\":\"byte[32]\"},{\"name\":\"groups\",\"type\":\"byte[32][]\"},{\"name\":\"firstValid\",\"type\":\"uint64\"},{\"name\":\"lastValid\",\"type\":\"uint64\"}]},\"methods\":[{\"name\":\"proposalUpgradeAppShape\",\"args\":[{\"type\":\"(uint64,byte[32],byte[32][],uint64,uint64)\",\"struct\":\"ProposalUpgradeApp\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(uint64,byte[32],byte[32][],uint64,uint64)\",\"struct\":\"ProposalUpgradeApp\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalAddPluginShape\",\"args\":[{\"type\":\"(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])\",\"struct\":\"ProposalAddPlugin\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])\",\"struct\":\"ProposalAddPlugin\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalAddNamedPluginShape\",\"args\":[{\"type\":\"(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])\",\"struct\":\"ProposalAddNamedPlugin\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])\",\"struct\":\"ProposalAddNamedPlugin\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalRemovePluginShape\",\"args\":[{\"type\":\"(uint64,address,string)\",\"struct\":\"ProposalRemovePlugin\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(uint64,address,string)\",\"struct\":\"ProposalRemovePlugin\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalRemoveNamedPluginShape\",\"args\":[{\"type\":\"(string,uint64,address,string)\",\"struct\":\"ProposalRemoveNamedPlugin\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(string,uint64,address,string)\",\"struct\":\"ProposalRemoveNamedPlugin\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalExecutePluginShape\",\"args\":[{\"type\":\"(uint64,string,byte[32],byte[32][],uint64,uint64)\",\"struct\":\"ProposalExecutePlugin\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(uint64,string,byte[32],byte[32][],uint64,uint64)\",\"struct\":\"ProposalExecutePlugin\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalExecuteNamedPluginShape\",\"args\":[{\"type\":\"(string,byte[32],byte[32][],uint64,uint64)\",\"struct\":\"ProposalExecuteNamedPlugin\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(string,byte[32],byte[32][],uint64,uint64)\",\"struct\":\"ProposalExecuteNamedPlugin\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalRemoveExecutePluginShape\",\"args\":[{\"type\":\"(byte[32])\",\"struct\":\"ProposalRemoveExecutePlugin\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(byte[32])\",\"struct\":\"ProposalRemoveExecutePlugin\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalAddAllowancesShape\",\"args\":[{\"type\":\"(string,(uint64,uint8,uint64,uint64,uint64,bool)[])\",\"struct\":\"ProposalAddAllowances\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(string,(uint64,uint8,uint64,uint64,uint64,bool)[])\",\"struct\":\"ProposalAddAllowances\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalRemoveAllowancesShape\",\"args\":[{\"type\":\"(string,uint64[])\",\"struct\":\"ProposalRemoveAllowances\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(string,uint64[])\",\"struct\":\"ProposalRemoveAllowances\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalNewEscrowShape\",\"args\":[{\"type\":\"(string)\",\"struct\":\"ProposalNewEscrow\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(string)\",\"struct\":\"ProposalNewEscrow\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalToggleEscrowLockShape\",\"args\":[{\"type\":\"(string)\",\"struct\":\"ProposalToggleEscrowLock\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(string)\",\"struct\":\"ProposalToggleEscrowLock\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalUpdateFieldShape\",\"args\":[{\"type\":\"(string,byte[])\",\"struct\":\"ProposalUpdateField\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(string,byte[])\",\"struct\":\"ProposalUpdateField\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}}],\"arcs\":[22,28],\"networks\":{},\"state\":{\"schema\":{\"global\":{\"ints\":0,\"bytes\":0},\"local\":{\"ints\":0,\"bytes\":0}},\"keys\":{\"global\":{},\"local\":{},\"box\":{}},\"maps\":{\"global\":{},\"local\":{},\"box\":{}}},\"bareActions\":{\"create\":[\"NoOp\"],\"call\":[]},\"sourceInfo\":{\"approval\":{\"sourceInfo\":[{\"pc\":[19],\"errorMessage\":\"OnCompletion must be NoOp\"},{\"pc\":[129],\"errorMessage\":\"OnCompletion must be NoOp && can only call when creating\"},{\"pc\":[194],\"errorMessage\":\"invalid number of bytes for (uint8[32])\"}],\"pcOffsetMethod\":\"none\"},\"clear\":{\"sourceInfo\":[],\"pcOffsetMethod\":\"none\"}},\"source\":{\"approval\":\"I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYXJjNC9pbmRleC5kLnRzOjpDb250cmFjdC5hcHByb3ZhbFByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBpbnRjYmxvY2sgMQogICAgYnl0ZWNibG9jayAweDE1MWY3Yzc1CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXJjNTgvZGFvL3R5cGVzLmFsZ28udHM6NAogICAgLy8gZXhwb3J0IGNsYXNzIEFraXRhREFPVHlwZXMgZXh0ZW5kcyBDb250cmFjdCB7CiAgICB0eG4gTnVtQXBwQXJncwogICAgYnogbWFpbl9fX2FsZ290c19fLmRlZmF1bHRDcmVhdGVAMjAKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gbXVzdCBiZSBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0CiAgICBwdXNoYnl0ZXNzIDB4OTJiMzU4OTYgMHg3ZWU0YmFiNyAweDgyZDVmM2ZmIDB4ZjM5NDFhMmMgMHhmMWNmMjJjYyAweGJkNGVmNzMwIDB4ZWJhYjVlMTQgMHg2YjhhYmQyZiAweGZjYWY4NDIwIDB4NTVjZTVjYTkgMHhhNjM4YmUyMyAweDUwYWFiODFkIDB4MTQ5ZDNjY2IgLy8gbWV0aG9kICJwcm9wb3NhbFVwZ3JhZGVBcHBTaGFwZSgodWludDY0LGJ5dGVbMzJdLGJ5dGVbMzJdW10sdWludDY0LHVpbnQ2NCkpKHVpbnQ2NCxieXRlWzMyXSxieXRlWzMyXVtdLHVpbnQ2NCx1aW50NjQpIiwgbWV0aG9kICJwcm9wb3NhbEFkZFBsdWdpblNoYXBlKCh1aW50NjQsYWRkcmVzcyxzdHJpbmcsdWludDgsdWludDY0LHVpbnQ2NCwoYnl0ZVs0XSx1aW50NjQpW10sYm9vbCxib29sLGJvb2wsYm9vbCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHN0cmluZywodWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQsdWludDY0LGJvb2wpW10pKSh1aW50NjQsYWRkcmVzcyxzdHJpbmcsdWludDgsdWludDY0LHVpbnQ2NCwoYnl0ZVs0XSx1aW50NjQpW10sYm9vbCxib29sLGJvb2wsYm9vbCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHN0cmluZywodWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQsdWludDY0LGJvb2wpW10pIiwgbWV0aG9kICJwcm9wb3NhbEFkZE5hbWVkUGx1Z2luU2hhcGUoKHN0cmluZyx1aW50NjQsYWRkcmVzcyxzdHJpbmcsdWludDgsdWludDY0LHVpbnQ2NCwoYnl0ZVs0XSx1aW50NjQpW10sYm9vbCxib29sLGJvb2wsYm9vbCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHN0cmluZywodWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQsdWludDY0LGJvb2wpW10pKShzdHJpbmcsdWludDY0LGFkZHJlc3Msc3RyaW5nLHVpbnQ4LHVpbnQ2NCx1aW50NjQsKGJ5dGVbNF0sdWludDY0KVtdLGJvb2wsYm9vbCxib29sLGJvb2wsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCxzdHJpbmcsKHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0LHVpbnQ2NCxib29sKVtdKSIsIG1ldGhvZCAicHJvcG9zYWxSZW1vdmVQbHVnaW5TaGFwZSgodWludDY0LGFkZHJlc3Msc3RyaW5nKSkodWludDY0LGFkZHJlc3Msc3RyaW5nKSIsIG1ldGhvZCAicHJvcG9zYWxSZW1vdmVOYW1lZFBsdWdpblNoYXBlKChzdHJpbmcsdWludDY0LGFkZHJlc3Msc3RyaW5nKSkoc3RyaW5nLHVpbnQ2NCxhZGRyZXNzLHN0cmluZykiLCBtZXRob2QgInByb3Bvc2FsRXhlY3V0ZVBsdWdpblNoYXBlKCh1aW50NjQsc3RyaW5nLGJ5dGVbMzJdLGJ5dGVbMzJdW10sdWludDY0LHVpbnQ2NCkpKHVpbnQ2NCxzdHJpbmcsYnl0ZVszMl0sYnl0ZVszMl1bXSx1aW50NjQsdWludDY0KSIsIG1ldGhvZCAicHJvcG9zYWxFeGVjdXRlTmFtZWRQbHVnaW5TaGFwZSgoc3RyaW5nLGJ5dGVbMzJdLGJ5dGVbMzJdW10sdWludDY0LHVpbnQ2NCkpKHN0cmluZyxieXRlWzMyXSxieXRlWzMyXVtdLHVpbnQ2NCx1aW50NjQpIiwgbWV0aG9kICJwcm9wb3NhbFJlbW92ZUV4ZWN1dGVQbHVnaW5TaGFwZSgoYnl0ZVszMl0pKShieXRlWzMyXSkiLCBtZXRob2QgInByb3Bvc2FsQWRkQWxsb3dhbmNlc1NoYXBlKChzdHJpbmcsKHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0LHVpbnQ2NCxib29sKVtdKSkoc3RyaW5nLCh1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCx1aW50NjQsYm9vbClbXSkiLCBtZXRob2QgInByb3Bvc2FsUmVtb3ZlQWxsb3dhbmNlc1NoYXBlKChzdHJpbmcsdWludDY0W10pKShzdHJpbmcsdWludDY0W10pIiwgbWV0aG9kICJwcm9wb3NhbE5ld0VzY3Jvd1NoYXBlKChzdHJpbmcpKShzdHJpbmcpIiwgbWV0aG9kICJwcm9wb3NhbFRvZ2dsZUVzY3Jvd0xvY2tTaGFwZSgoc3RyaW5nKSkoc3RyaW5nKSIsIG1ldGhvZCAicHJvcG9zYWxVcGRhdGVGaWVsZFNoYXBlKChzdHJpbmcsYnl0ZVtdKSkoc3RyaW5nLGJ5dGVbXSkiCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAwCiAgICBtYXRjaCBwcm9wb3NhbFVwZ3JhZGVBcHBTaGFwZSBwcm9wb3NhbEFkZFBsdWdpblNoYXBlIHByb3Bvc2FsQWRkTmFtZWRQbHVnaW5TaGFwZSBwcm9wb3NhbFJlbW92ZVBsdWdpblNoYXBlIHByb3Bvc2FsUmVtb3ZlTmFtZWRQbHVnaW5TaGFwZSBwcm9wb3NhbEV4ZWN1dGVQbHVnaW5TaGFwZSBwcm9wb3NhbEV4ZWN1dGVOYW1lZFBsdWdpblNoYXBlIHByb3Bvc2FsUmVtb3ZlRXhlY3V0ZVBsdWdpblNoYXBlIHByb3Bvc2FsQWRkQWxsb3dhbmNlc1NoYXBlIHByb3Bvc2FsUmVtb3ZlQWxsb3dhbmNlc1NoYXBlIHByb3Bvc2FsTmV3RXNjcm93U2hhcGUgcHJvcG9zYWxUb2dnbGVFc2Nyb3dMb2NrU2hhcGUgcHJvcG9zYWxVcGRhdGVGaWVsZFNoYXBlCiAgICBlcnIKCm1haW5fX19hbGdvdHNfXy5kZWZhdWx0Q3JlYXRlQDIwOgogICAgLy8gc21hcnRfY29udHJhY3RzL2FyYzU4L2Rhby90eXBlcy5hbGdvLnRzOjQKICAgIC8vIGV4cG9ydCBjbGFzcyBBa2l0YURBT1R5cGVzIGV4dGVuZHMgQ29udHJhY3QgewogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgICEKICAgICYmCiAgICByZXR1cm4gLy8gb24gZXJyb3I6IE9uQ29tcGxldGlvbiBtdXN0IGJlIE5vT3AgJiYgY2FuIG9ubHkgY2FsbCB3aGVuIGNyZWF0aW5nCgoKLy8gc21hcnRfY29udHJhY3RzL2FyYzU4L2Rhby90eXBlcy5hbGdvLnRzOjpBa2l0YURBT1R5cGVzLnByb3Bvc2FsVXBncmFkZUFwcFNoYXBlW3JvdXRpbmddKCkgLT4gdm9pZDoKcHJvcG9zYWxVcGdyYWRlQXBwU2hhcGU6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXJjNTgvZGFvL3R5cGVzLmFsZ28udHM6NQogICAgLy8gQGFiaW1ldGhvZCh7IHJlYWRvbmx5OiB0cnVlIH0pCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgoKLy8gc21hcnRfY29udHJhY3RzL2FyYzU4L2Rhby90eXBlcy5hbGdvLnRzOjpBa2l0YURBT1R5cGVzLnByb3Bvc2FsQWRkUGx1Z2luU2hhcGVbcm91dGluZ10oKSAtPiB2b2lkOgpwcm9wb3NhbEFkZFBsdWdpblNoYXBlOgogICAgLy8gc21hcnRfY29udHJhY3RzL2FyYzU4L2Rhby90eXBlcy5hbGdvLnRzOjEwCiAgICAvLyBAYWJpbWV0aG9kKHsgcmVhZG9ubHk6IHRydWUgfSkKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCgovLyBzbWFydF9jb250cmFjdHMvYXJjNTgvZGFvL3R5cGVzLmFsZ28udHM6OkFraXRhREFPVHlwZXMucHJvcG9zYWxBZGROYW1lZFBsdWdpblNoYXBlW3JvdXRpbmddKCkgLT4gdm9pZDoKcHJvcG9zYWxBZGROYW1lZFBsdWdpblNoYXBlOgogICAgLy8gc21hcnRfY29udHJhY3RzL2FyYzU4L2Rhby90eXBlcy5hbGdvLnRzOjE1CiAgICAvLyBAYWJpbWV0aG9kKHsgcmVhZG9ubHk6IHRydWUgfSkKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCgovLyBzbWFydF9jb250cmFjdHMvYXJjNTgvZGFvL3R5cGVzLmFsZ28udHM6OkFraXRhREFPVHlwZXMucHJvcG9zYWxSZW1vdmVQbHVnaW5TaGFwZVtyb3V0aW5nXSgpIC0+IHZvaWQ6CnByb3Bvc2FsUmVtb3ZlUGx1Z2luU2hhcGU6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXJjNTgvZGFvL3R5cGVzLmFsZ28udHM6MjAKICAgIC8vIEBhYmltZXRob2QoeyByZWFkb25seTogdHJ1ZSB9KQogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy9hcmM1OC9kYW8vdHlwZXMuYWxnby50czo6QWtpdGFEQU9UeXBlcy5wcm9wb3NhbFJlbW92ZU5hbWVkUGx1Z2luU2hhcGVbcm91dGluZ10oKSAtPiB2b2lkOgpwcm9wb3NhbFJlbW92ZU5hbWVkUGx1Z2luU2hhcGU6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXJjNTgvZGFvL3R5cGVzLmFsZ28udHM6MjUKICAgIC8vIEBhYmltZXRob2QoeyByZWFkb25seTogdHJ1ZSB9KQogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy9hcmM1OC9kYW8vdHlwZXMuYWxnby50czo6QWtpdGFEQU9UeXBlcy5wcm9wb3NhbEV4ZWN1dGVQbHVnaW5TaGFwZVtyb3V0aW5nXSgpIC0+IHZvaWQ6CnByb3Bvc2FsRXhlY3V0ZVBsdWdpblNoYXBlOgogICAgLy8gc21hcnRfY29udHJhY3RzL2FyYzU4L2Rhby90eXBlcy5hbGdvLnRzOjMwCiAgICAvLyBAYWJpbWV0aG9kKHsgcmVhZG9ubHk6IHRydWUgfSkKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCgovLyBzbWFydF9jb250cmFjdHMvYXJjNTgvZGFvL3R5cGVzLmFsZ28udHM6OkFraXRhREFPVHlwZXMucHJvcG9zYWxFeGVjdXRlTmFtZWRQbHVnaW5TaGFwZVtyb3V0aW5nXSgpIC0+IHZvaWQ6CnByb3Bvc2FsRXhlY3V0ZU5hbWVkUGx1Z2luU2hhcGU6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXJjNTgvZGFvL3R5cGVzLmFsZ28udHM6MzUKICAgIC8vIEBhYmltZXRob2QoeyByZWFkb25seTogdHJ1ZSB9KQogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy9hcmM1OC9kYW8vdHlwZXMuYWxnby50czo6QWtpdGFEQU9UeXBlcy5wcm9wb3NhbFJlbW92ZUV4ZWN1dGVQbHVnaW5TaGFwZVtyb3V0aW5nXSgpIC0+IHZvaWQ6CnByb3Bvc2FsUmVtb3ZlRXhlY3V0ZVBsdWdpblNoYXBlOgogICAgLy8gc21hcnRfY29udHJhY3RzL2FyYzU4L2Rhby90eXBlcy5hbGdvLnRzOjQwCiAgICAvLyBAYWJpbWV0aG9kKHsgcmVhZG9ubHk6IHRydWUgfSkKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGR1cAogICAgbGVuCiAgICBwdXNoaW50IDMyIC8vIDMyCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciAodWludDhbMzJdKQogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy9hcmM1OC9kYW8vdHlwZXMuYWxnby50czo6QWtpdGFEQU9UeXBlcy5wcm9wb3NhbEFkZEFsbG93YW5jZXNTaGFwZVtyb3V0aW5nXSgpIC0+IHZvaWQ6CnByb3Bvc2FsQWRkQWxsb3dhbmNlc1NoYXBlOgogICAgLy8gc21hcnRfY29udHJhY3RzL2FyYzU4L2Rhby90eXBlcy5hbGdvLnRzOjQ1CiAgICAvLyBAYWJpbWV0aG9kKHsgcmVhZG9ubHk6IHRydWUgfSkKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCgovLyBzbWFydF9jb250cmFjdHMvYXJjNTgvZGFvL3R5cGVzLmFsZ28udHM6OkFraXRhREFPVHlwZXMucHJvcG9zYWxSZW1vdmVBbGxvd2FuY2VzU2hhcGVbcm91dGluZ10oKSAtPiB2b2lkOgpwcm9wb3NhbFJlbW92ZUFsbG93YW5jZXNTaGFwZToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hcmM1OC9kYW8vdHlwZXMuYWxnby50czo1MAogICAgLy8gQGFiaW1ldGhvZCh7IHJlYWRvbmx5OiB0cnVlIH0pCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgoKLy8gc21hcnRfY29udHJhY3RzL2FyYzU4L2Rhby90eXBlcy5hbGdvLnRzOjpBa2l0YURBT1R5cGVzLnByb3Bvc2FsTmV3RXNjcm93U2hhcGVbcm91dGluZ10oKSAtPiB2b2lkOgpwcm9wb3NhbE5ld0VzY3Jvd1NoYXBlOgogICAgLy8gc21hcnRfY29udHJhY3RzL2FyYzU4L2Rhby90eXBlcy5hbGdvLnRzOjU1CiAgICAvLyBAYWJpbWV0aG9kKHsgcmVhZG9ubHk6IHRydWUgfSkKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCgovLyBzbWFydF9jb250cmFjdHMvYXJjNTgvZGFvL3R5cGVzLmFsZ28udHM6OkFraXRhREFPVHlwZXMucHJvcG9zYWxUb2dnbGVFc2Nyb3dMb2NrU2hhcGVbcm91dGluZ10oKSAtPiB2b2lkOgpwcm9wb3NhbFRvZ2dsZUVzY3Jvd0xvY2tTaGFwZToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hcmM1OC9kYW8vdHlwZXMuYWxnby50czo2MAogICAgLy8gQGFiaW1ldGhvZCh7IHJlYWRvbmx5OiB0cnVlIH0pCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgoKLy8gc21hcnRfY29udHJhY3RzL2FyYzU4L2Rhby90eXBlcy5hbGdvLnRzOjpBa2l0YURBT1R5cGVzLnByb3Bvc2FsVXBkYXRlRmllbGRTaGFwZVtyb3V0aW5nXSgpIC0+IHZvaWQ6CnByb3Bvc2FsVXBkYXRlRmllbGRTaGFwZToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hcmM1OC9kYW8vdHlwZXMuYWxnby50czo2NQogICAgLy8gQGFiaW1ldGhvZCh7IHJlYWRvbmx5OiB0cnVlIH0pCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCg==\",\"clear\":\"I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYmFzZS1jb250cmFjdC5kLnRzOjpCYXNlQ29udHJhY3QuY2xlYXJTdGF0ZVByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBwdXNoaW50IDEgLy8gMQogICAgcmV0dXJuCg==\"},\"byteCode\":{\"approval\":\"CyABASYBBBUffHUxG0EAajEZFEQxGESCDQSSs1iWBH7kurcEgtXz/wTzlBosBPHPIswEvU73MATrq14UBGuKvS8E/K+EIARVzlypBKY4viMEUKq4HQQUnTzLNhoAjg0ACQARABkAIQApADEAOQBBAFAAWABgAGgAcAAxGRQxGBQQQyg2GgFQsCJDKDYaAVCwIkMoNhoBULAiQyg2GgFQsCJDKDYaAVCwIkMoNhoBULAiQyg2GgFQsCJDNhoBSRWBIBJEKExQsCJDKDYaAVCwIkMoNhoBULAiQyg2GgFQsCJDKDYaAVCwIkMoNhoBULAiQw==\",\"clear\":\"C4EBQw==\"},\"events\":[],\"templateVariables\":{}} as unknown as Arc56Contract\n\n/**\n * A state record containing binary data\n */\nexport interface BinaryState {\n /**\n * Gets the state value as a Uint8Array\n */\n asByteArray(): Uint8Array | undefined\n /**\n * Gets the state value as a string\n */\n asString(): string | undefined\n}\n\nclass BinaryStateValue implements BinaryState {\n constructor(private value: Uint8Array | undefined) {}\n\n asByteArray(): Uint8Array | undefined {\n return this.value\n }\n\n asString(): string | undefined {\n return this.value !== undefined ? Buffer.from(this.value).toString('utf-8') : undefined\n }\n}\n\n/**\n * Expands types for IntelliSense so they are more human readable\n * See https://stackoverflow.com/a/69288824\n */\nexport type Expand<T> = T extends (...args: infer A) => infer R\n ? (...args: Expand<A>) => Expand<R>\n : T extends infer O\n ? { [K in keyof O]: O[K] }\n : never\n\n\n// Type definitions for ARC-56 structs\n\nexport type ProposalAddAllowances = {\n escrow: string,\n allowances: [bigint, number, bigint, bigint, bigint, boolean][]\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalAddAllowances to the struct representation\n */\nexport function ProposalAddAllowancesFromTuple(abiTuple: [string, [bigint, number, bigint, bigint, bigint, boolean][]]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalAddAllowances, APP_SPEC.structs) as ProposalAddAllowances\n}\n\nexport type ProposalAddNamedPlugin = {\n name: string,\n plugin: bigint,\n caller: string,\n escrow: string,\n delegationType: number,\n lastValid: bigint,\n cooldown: bigint,\n methods: [Uint8Array, bigint][],\n useRounds: boolean,\n useExecutionKey: boolean,\n coverFees: boolean,\n defaultToEscrow: boolean,\n fee: bigint,\n power: bigint,\n duration: bigint,\n participation: bigint,\n approval: bigint,\n sourceLink: string,\n allowances: [bigint, number, bigint, bigint, bigint, boolean][]\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalAddNamedPlugin to the struct representation\n */\nexport function ProposalAddNamedPluginFromTuple(abiTuple: [string, bigint, string, string, number, bigint, bigint, [Uint8Array, bigint][], boolean, boolean, boolean, boolean, bigint, bigint, bigint, bigint, bigint, string, [bigint, number, bigint, bigint, bigint, boolean][]]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalAddNamedPlugin, APP_SPEC.structs) as ProposalAddNamedPlugin\n}\n\nexport type ProposalAddPlugin = {\n plugin: bigint,\n caller: string,\n escrow: string,\n delegationType: number,\n lastValid: bigint,\n cooldown: bigint,\n methods: [Uint8Array, bigint][],\n useRounds: boolean,\n useExecutionKey: boolean,\n coverFees: boolean,\n defaultToEscrow: boolean,\n fee: bigint,\n power: bigint,\n duration: bigint,\n participation: bigint,\n approval: bigint,\n sourceLink: string,\n allowances: [bigint, number, bigint, bigint, bigint, boolean][]\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalAddPlugin to the struct representation\n */\nexport function ProposalAddPluginFromTuple(abiTuple: [bigint, string, string, number, bigint, bigint, [Uint8Array, bigint][], boolean, boolean, boolean, boolean, bigint, bigint, bigint, bigint, bigint, string, [bigint, number, bigint, bigint, bigint, boolean][]]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalAddPlugin, APP_SPEC.structs) as ProposalAddPlugin\n}\n\nexport type ProposalExecuteNamedPlugin = {\n name: string,\n executionKey: Uint8Array,\n groups: Uint8Array[],\n firstValid: bigint,\n lastValid: bigint\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalExecuteNamedPlugin to the struct representation\n */\nexport function ProposalExecuteNamedPluginFromTuple(abiTuple: [string, Uint8Array, Uint8Array[], bigint, bigint]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalExecuteNamedPlugin, APP_SPEC.structs) as ProposalExecuteNamedPlugin\n}\n\nexport type ProposalExecutePlugin = {\n plugin: bigint,\n escrow: string,\n executionKey: Uint8Array,\n groups: Uint8Array[],\n firstValid: bigint,\n lastValid: bigint\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalExecutePlugin to the struct representation\n */\nexport function ProposalExecutePluginFromTuple(abiTuple: [bigint, string, Uint8Array, Uint8Array[], bigint, bigint]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalExecutePlugin, APP_SPEC.structs) as ProposalExecutePlugin\n}\n\nexport type ProposalNewEscrow = {\n escrow: string\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalNewEscrow to the struct representation\n */\nexport function ProposalNewEscrowFromTuple(abiTuple: [string]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalNewEscrow, APP_SPEC.structs) as ProposalNewEscrow\n}\n\nexport type ProposalRemoveAllowances = {\n escrow: string,\n assets: bigint[]\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalRemoveAllowances to the struct representation\n */\nexport function ProposalRemoveAllowancesFromTuple(abiTuple: [string, bigint[]]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalRemoveAllowances, APP_SPEC.structs) as ProposalRemoveAllowances\n}\n\nexport type ProposalRemoveExecutePlugin = {\n executionKey: Uint8Array\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalRemoveExecutePlugin to the struct representation\n */\nexport function ProposalRemoveExecutePluginFromTuple(abiTuple: [Uint8Array]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalRemoveExecutePlugin, APP_SPEC.structs) as ProposalRemoveExecutePlugin\n}\n\nexport type ProposalRemoveNamedPlugin = {\n name: string,\n plugin: bigint,\n caller: string,\n escrow: string\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalRemoveNamedPlugin to the struct representation\n */\nexport function ProposalRemoveNamedPluginFromTuple(abiTuple: [string, bigint, string, string]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalRemoveNamedPlugin, APP_SPEC.structs) as ProposalRemoveNamedPlugin\n}\n\nexport type ProposalRemovePlugin = {\n plugin: bigint,\n caller: string,\n escrow: string\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalRemovePlugin to the struct representation\n */\nexport function ProposalRemovePluginFromTuple(abiTuple: [bigint, string, string]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalRemovePlugin, APP_SPEC.structs) as ProposalRemovePlugin\n}\n\nexport type ProposalToggleEscrowLock = {\n escrow: string\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalToggleEscrowLock to the struct representation\n */\nexport function ProposalToggleEscrowLockFromTuple(abiTuple: [string]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalToggleEscrowLock, APP_SPEC.structs) as ProposalToggleEscrowLock\n}\n\nexport type ProposalUpdateField = {\n field: string,\n value: Uint8Array\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalUpdateField to the struct representation\n */\nexport function ProposalUpdateFieldFromTuple(abiTuple: [string, Uint8Array]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalUpdateField, APP_SPEC.structs) as ProposalUpdateField\n}\n\nexport type ProposalUpgradeApp = {\n app: bigint,\n executionKey: Uint8Array,\n groups: Uint8Array[],\n firstValid: bigint,\n lastValid: bigint\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalUpgradeApp to the struct representation\n */\nexport function ProposalUpgradeAppFromTuple(abiTuple: [bigint, Uint8Array, Uint8Array[], bigint, bigint]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalUpgradeApp, APP_SPEC.structs) as ProposalUpgradeApp\n}\n\n/**\n * The argument types for the AkitaDaoTypes contract\n */\nexport type AkitaDaoTypesArgs = {\n /**\n * The object representation of the arguments for each method\n */\n obj: {\n 'proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)': {\n shape: ProposalUpgradeApp\n }\n 'proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])': {\n shape: ProposalAddPlugin\n }\n 'proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])': {\n shape: ProposalAddNamedPlugin\n }\n 'proposalRemovePluginShape((uint64,address,string))(uint64,address,string)': {\n shape: ProposalRemovePlugin\n }\n 'proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)': {\n shape: ProposalRemoveNamedPlugin\n }\n 'proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)': {\n shape: ProposalExecutePlugin\n }\n 'proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)': {\n shape: ProposalExecuteNamedPlugin\n }\n 'proposalRemoveExecutePluginShape((byte[32]))(byte[32])': {\n shape: ProposalRemoveExecutePlugin\n }\n 'proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])': {\n shape: ProposalAddAllowances\n }\n 'proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])': {\n shape: ProposalRemoveAllowances\n }\n 'proposalNewEscrowShape((string))(string)': {\n shape: ProposalNewEscrow\n }\n 'proposalToggleEscrowLockShape((string))(string)': {\n shape: ProposalToggleEscrowLock\n }\n 'proposalUpdateFieldShape((string,byte[]))(string,byte[])': {\n shape: ProposalUpdateField\n }\n }\n /**\n * The tuple representation of the arguments for each method\n */\n tuple: {\n 'proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)': [shape: ProposalUpgradeApp]\n 'proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])': [shape: ProposalAddPlugin]\n 'proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])': [shape: ProposalAddNamedPlugin]\n 'proposalRemovePluginShape((uint64,address,string))(uint64,address,string)': [shape: ProposalRemovePlugin]\n 'proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)': [shape: ProposalRemoveNamedPlugin]\n 'proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)': [shape: ProposalExecutePlugin]\n 'proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)': [shape: ProposalExecuteNamedPlugin]\n 'proposalRemoveExecutePluginShape((byte[32]))(byte[32])': [shape: ProposalRemoveExecutePlugin]\n 'proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])': [shape: ProposalAddAllowances]\n 'proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])': [shape: ProposalRemoveAllowances]\n 'proposalNewEscrowShape((string))(string)': [shape: ProposalNewEscrow]\n 'proposalToggleEscrowLockShape((string))(string)': [shape: ProposalToggleEscrowLock]\n 'proposalUpdateFieldShape((string,byte[]))(string,byte[])': [shape: ProposalUpdateField]\n }\n}\n\n/**\n * The return type for each method\n */\nexport type AkitaDaoTypesReturns = {\n 'proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)': ProposalUpgradeApp\n 'proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])': ProposalAddPlugin\n 'proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])': ProposalAddNamedPlugin\n 'proposalRemovePluginShape((uint64,address,string))(uint64,address,string)': ProposalRemovePlugin\n 'proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)': ProposalRemoveNamedPlugin\n 'proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)': ProposalExecutePlugin\n 'proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)': ProposalExecuteNamedPlugin\n 'proposalRemoveExecutePluginShape((byte[32]))(byte[32])': ProposalRemoveExecutePlugin\n 'proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])': ProposalAddAllowances\n 'proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])': ProposalRemoveAllowances\n 'proposalNewEscrowShape((string))(string)': ProposalNewEscrow\n 'proposalToggleEscrowLockShape((string))(string)': ProposalToggleEscrowLock\n 'proposalUpdateFieldShape((string,byte[]))(string,byte[])': ProposalUpdateField\n}\n\n/**\n * Defines the types of available calls and state of the AkitaDaoTypes smart contract.\n */\nexport type AkitaDaoTypesTypes = {\n /**\n * Maps method signatures / names to their argument and return types.\n */\n methods:\n & Record<'proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)' | 'proposalUpgradeAppShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)']\n returns: AkitaDaoTypesReturns['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)']\n }>\n & Record<'proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])' | 'proposalAddPluginShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n returns: AkitaDaoTypesReturns['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n }>\n & Record<'proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])' | 'proposalAddNamedPluginShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n returns: AkitaDaoTypesReturns['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n }>\n & Record<'proposalRemovePluginShape((uint64,address,string))(uint64,address,string)' | 'proposalRemovePluginShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)']\n returns: AkitaDaoTypesReturns['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)']\n }>\n & Record<'proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)' | 'proposalRemoveNamedPluginShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)']\n returns: AkitaDaoTypesReturns['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)']\n }>\n & Record<'proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)' | 'proposalExecutePluginShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)']\n returns: AkitaDaoTypesReturns['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)']\n }>\n & Record<'proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)' | 'proposalExecuteNamedPluginShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)']\n returns: AkitaDaoTypesReturns['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)']\n }>\n & Record<'proposalRemoveExecutePluginShape((byte[32]))(byte[32])' | 'proposalRemoveExecutePluginShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])']\n returns: AkitaDaoTypesReturns['proposalRemoveExecutePluginShape((byte[32]))(byte[32])']\n }>\n & Record<'proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])' | 'proposalAddAllowancesShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n returns: AkitaDaoTypesReturns['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n }>\n & Record<'proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])' | 'proposalRemoveAllowancesShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])']\n returns: AkitaDaoTypesReturns['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])']\n }>\n & Record<'proposalNewEscrowShape((string))(string)' | 'proposalNewEscrowShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalNewEscrowShape((string))(string)']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalNewEscrowShape((string))(string)']\n returns: AkitaDaoTypesReturns['proposalNewEscrowShape((string))(string)']\n }>\n & Record<'proposalToggleEscrowLockShape((string))(string)' | 'proposalToggleEscrowLockShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalToggleEscrowLockShape((string))(string)']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalToggleEscrowLockShape((string))(string)']\n returns: AkitaDaoTypesReturns['proposalToggleEscrowLockShape((string))(string)']\n }>\n & Record<'proposalUpdateFieldShape((string,byte[]))(string,byte[])' | 'proposalUpdateFieldShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalUpdateFieldShape((string,byte[]))(string,byte[])']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalUpdateFieldShape((string,byte[]))(string,byte[])']\n returns: AkitaDaoTypesReturns['proposalUpdateFieldShape((string,byte[]))(string,byte[])']\n }>\n}\n\n/**\n * Defines the possible abi call signatures.\n */\nexport type AkitaDaoTypesSignatures = keyof AkitaDaoTypesTypes['methods']\n/**\n * Defines the possible abi call signatures for methods that return a non-void value.\n */\nexport type AkitaDaoTypesNonVoidMethodSignatures = keyof AkitaDaoTypesTypes['methods'] extends infer T ? T extends keyof AkitaDaoTypesTypes['methods'] ? MethodReturn<T> extends void ? never : T : never : never\n/**\n * Defines an object containing all relevant parameters for a single call to the contract.\n */\nexport type CallParams<TArgs> = Expand<\n Omit<AppClientMethodCallParams, 'method' | 'args' | 'onComplete'> &\n {\n /** The args for the ABI method call, either as an ordered array or an object */\n args: Expand<TArgs>\n }\n>\n/**\n * Maps a method signature from the AkitaDaoTypes smart contract to the method's arguments in either tuple or struct form\n */\nexport type MethodArgs<TSignature extends AkitaDaoTypesSignatures> = AkitaDaoTypesTypes['methods'][TSignature]['argsObj' | 'argsTuple']\n/**\n * Maps a method signature from the AkitaDaoTypes smart contract to the method's return type\n */\nexport type MethodReturn<TSignature extends AkitaDaoTypesSignatures> = AkitaDaoTypesTypes['methods'][TSignature]['returns']\n\n\n/**\n * Defines supported create method params for this smart contract\n */\nexport type AkitaDaoTypesCreateCallParams =\n | Expand<AppClientBareCallParams & {method?: never} & {onComplete?: OnApplicationComplete.NoOpOC} & CreateSchema>\n/**\n * Defines arguments required for the deploy method.\n */\nexport type AkitaDaoTypesDeployParams = Expand<Omit<AppFactoryDeployParams, 'createParams' | 'updateParams' | 'deleteParams'> & {\n /**\n * Create transaction parameters to use if a create needs to be issued as part of deployment; use `method` to define ABI call (if available) or leave out for a bare call (if available)\n */\n createParams?: AkitaDaoTypesCreateCallParams\n}>\n\n\n/**\n * Exposes methods for constructing `AppClient` params objects for ABI calls to the AkitaDaoTypes smart contract\n */\nexport abstract class AkitaDaoTypesParamsFactory {\n /**\n * Constructs a no op call for the proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalUpgradeAppShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalAddPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalAddNamedPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalRemovePluginShape((uint64,address,string))(uint64,address,string) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalRemovePluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalRemovePluginShape((uint64,address,string))(uint64,address,string)' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalRemoveNamedPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalExecutePluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalExecuteNamedPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalRemoveExecutePluginShape((byte[32]))(byte[32]) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalRemoveExecutePluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalRemoveExecutePluginShape((byte[32]))(byte[32])' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[]) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalAddAllowancesShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[]) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalRemoveAllowancesShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalNewEscrowShape((string))(string) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalNewEscrowShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalNewEscrowShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalNewEscrowShape((string))(string)']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalNewEscrowShape((string))(string)' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalToggleEscrowLockShape((string))(string) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalToggleEscrowLockShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalToggleEscrowLockShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalToggleEscrowLockShape((string))(string)']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalToggleEscrowLockShape((string))(string)' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalUpdateFieldShape((string,byte[]))(string,byte[]) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalUpdateFieldShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpdateFieldShape((string,byte[]))(string,byte[])'] | AkitaDaoTypesArgs['tuple']['proposalUpdateFieldShape((string,byte[]))(string,byte[])']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalUpdateFieldShape((string,byte[]))(string,byte[])' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n}\n\n/**\n * A factory to create and deploy one or more instance of the AkitaDAOTypes smart contract and to create one or more app clients to interact with those (or other) app instances\n */\nexport class AkitaDaoTypesFactory {\n /**\n * The underlying `AppFactory` for when you want to have more flexibility\n */\n public readonly appFactory: _AppFactory\n\n /**\n * Creates a new instance of `AkitaDaoTypesFactory`\n *\n * @param params The parameters to initialise the app factory with\n */\n constructor(params: Omit<AppFactoryParams, 'appSpec'>) {\n this.appFactory = new _AppFactory({\n ...params,\n appSpec: APP_SPEC,\n })\n }\n \n /** The name of the app (from the ARC-32 / ARC-56 app spec or override). */\n public get appName() {\n return this.appFactory.appName\n }\n \n /** The ARC-56 app spec being used */\n get appSpec() {\n return APP_SPEC\n }\n \n /** A reference to the underlying `AlgorandClient` this app factory is using. */\n public get algorand(): AlgorandClient {\n return this.appFactory.algorand\n }\n \n /**\n * Returns a new `AppClient` client for an app instance of the given ID.\n *\n * Automatically populates appName, defaultSender and source maps from the factory\n * if not specified in the params.\n * @param params The parameters to create the app client\n * @returns The `AppClient`\n */\n public getAppClientById(params: AppFactoryAppClientParams) {\n return new AkitaDaoTypesClient(this.appFactory.getAppClientById(params))\n }\n \n /**\n * Returns a new `AppClient` client, resolving the app by creator address and name\n * using AlgoKit app deployment semantics (i.e. looking for the app creation transaction note).\n *\n * Automatically populates appName, defaultSender and source maps from the factory\n * if not specified in the params.\n * @param params The parameters to create the app client\n * @returns The `AppClient`\n */\n public async getAppClientByCreatorAndName(\n params: AppFactoryResolveAppClientByCreatorAndNameParams,\n ) {\n return new AkitaDaoTypesClient(await this.appFactory.getAppClientByCreatorAndName(params))\n }\n\n /**\n * Idempotently deploys the AkitaDAOTypes smart contract.\n *\n * @param params The arguments for the contract calls and any additional parameters for the call\n * @returns The deployment result\n */\n public async deploy(params: AkitaDaoTypesDeployParams = {}) {\n const result = await this.appFactory.deploy({\n ...params,\n })\n return { result: result.result, appClient: new AkitaDaoTypesClient(result.appClient) }\n }\n\n /**\n * Get parameters to create transactions (create and deploy related calls) for the current app. A good mental model for this is that these parameters represent a deferred transaction creation.\n */\n readonly params = {\n /**\n * Gets available create methods\n */\n create: {\n /**\n * Creates a new instance of the AkitaDAOTypes smart contract using a bare call.\n *\n * @param params The params for the bare (raw) call\n * @returns The params for a create call\n */\n bare: (params?: Expand<AppClientBareCallParams & AppClientCompilationParams & CreateSchema & {onComplete?: OnApplicationComplete.NoOpOC}>) => {\n return this.appFactory.params.bare.create(params)\n },\n },\n\n }\n\n /**\n * Create transactions for the current app\n */\n readonly createTransaction = {\n /**\n * Gets available create methods\n */\n create: {\n /**\n * Creates a new instance of the AkitaDAOTypes smart contract using a bare call.\n *\n * @param params The params for the bare (raw) call\n * @returns The transaction for a create call\n */\n bare: (params?: Expand<AppClientBareCallParams & AppClientCompilationParams & CreateSchema & {onComplete?: OnApplicationComplete.NoOpOC}>) => {\n return this.appFactory.createTransaction.bare.create(params)\n },\n },\n\n }\n\n /**\n * Send calls to the current app\n */\n readonly send = {\n /**\n * Gets available create methods\n */\n create: {\n /**\n * Creates a new instance of the AkitaDAOTypes smart contract using a bare call.\n *\n * @param params The params for the bare (raw) call\n * @returns The create result\n */\n bare: async (params?: Expand<AppClientBareCallParams & AppClientCompilationParams & CreateSchema & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}>) => {\n const result = await this.appFactory.send.bare.create(params)\n return { result: result.result, appClient: new AkitaDaoTypesClient(result.appClient) }\n },\n },\n\n }\n\n}\n/**\n * A client to make calls to the AkitaDAOTypes smart contract\n */\nexport class AkitaDaoTypesClient {\n /**\n * The underlying `AppClient` for when you want to have more flexibility\n */\n public readonly appClient: _AppClient\n\n /**\n * Creates a new instance of `AkitaDaoTypesClient`\n *\n * @param appClient An `AppClient` instance which has been created with the AkitaDaoTypes app spec\n */\n constructor(appClient: _AppClient)\n /**\n * Creates a new instance of `AkitaDaoTypesClient`\n *\n * @param params The parameters to initialise the app client with\n */\n constructor(params: Omit<AppClientParams, 'appSpec'>)\n constructor(appClientOrParams: _AppClient | Omit<AppClientParams, 'appSpec'>) {\n this.appClient = appClientOrParams instanceof _AppClient ? appClientOrParams : new _AppClient({\n ...appClientOrParams,\n appSpec: APP_SPEC,\n })\n }\n\n /**\n * Checks for decode errors on the given return value and maps the return value to the return type for the given method\n * @returns The typed return value or undefined if there was no value\n */\n decodeReturnValue<TSignature extends AkitaDaoTypesNonVoidMethodSignatures>(method: TSignature, returnValue: ABIReturn | undefined) {\n return returnValue !== undefined ? getArc56ReturnValue<MethodReturn<TSignature>>(returnValue, this.appClient.getABIMethod(method), APP_SPEC.structs) : undefined\n }\n\n /**\n * Returns a new `AkitaDaoTypesClient` client, resolving the app by creator address and name\n * using AlgoKit app deployment semantics (i.e. looking for the app creation transaction note).\n * @param params The parameters to create the app client\n */\n public static async fromCreatorAndName(params: Omit<ResolveAppClientByCreatorAndName, 'appSpec'>): Promise<AkitaDaoTypesClient> {\n return new AkitaDaoTypesClient(await _AppClient.fromCreatorAndName({...params, appSpec: APP_SPEC}))\n }\n \n /**\n * Returns an `AkitaDaoTypesClient` instance for the current network based on\n * pre-determined network-specific app IDs specified in the ARC-56 app spec.\n *\n * If no IDs are in the app spec or the network isn't recognised, an error is thrown.\n * @param params The parameters to create the app client\n */\n static async fromNetwork(\n params: Omit<ResolveAppClientByNetwork, 'appSpec'>\n ): Promise<AkitaDaoTypesClient> {\n return new AkitaDaoTypesClient(await _AppClient.fromNetwork({...params, appSpec: APP_SPEC}))\n }\n \n /** The ID of the app instance this client is linked to. */\n public get appId() {\n return this.appClient.appId\n }\n \n /** The app address of the app instance this client is linked to. */\n public get appAddress() {\n return this.appClient.appAddress\n }\n \n /** The name of the app. */\n public get appName() {\n return this.appClient.appName\n }\n \n /** The ARC-56 app spec being used */\n public get appSpec() {\n return this.appClient.appSpec\n }\n \n /** A reference to the underlying `AlgorandClient` this app client is using. */\n public get algorand(): AlgorandClient {\n return this.appClient.algorand\n }\n\n /**\n * Get parameters to create transactions for the current app. A good mental model for this is that these parameters represent a deferred transaction creation.\n */\n readonly params = {\n /**\n * Makes a clear_state call to an existing instance of the AkitaDAOTypes smart contract.\n *\n * @param params The params for the bare (raw) call\n * @returns The clearState result\n */\n clearState: (params?: Expand<AppClientBareCallParams>) => {\n return this.appClient.params.bare.clearState(params)\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalUpgradeAppShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalUpgradeAppShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalAddPluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalAddPluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalAddNamedPluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalAddNamedPluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemovePluginShape((uint64,address,string))(uint64,address,string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalRemovePluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalRemovePluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalRemoveNamedPluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalRemoveNamedPluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalExecutePluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalExecutePluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalExecuteNamedPluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalExecuteNamedPluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemoveExecutePluginShape((byte[32]))(byte[32])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalRemoveExecutePluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalRemoveExecutePluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalAddAllowancesShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalAddAllowancesShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalRemoveAllowancesShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalRemoveAllowancesShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalNewEscrowShape((string))(string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalNewEscrowShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalNewEscrowShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalNewEscrowShape((string))(string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalNewEscrowShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalToggleEscrowLockShape((string))(string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalToggleEscrowLockShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalToggleEscrowLockShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalToggleEscrowLockShape((string))(string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalToggleEscrowLockShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalUpdateFieldShape((string,byte[]))(string,byte[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalUpdateFieldShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpdateFieldShape((string,byte[]))(string,byte[])'] | AkitaDaoTypesArgs['tuple']['proposalUpdateFieldShape((string,byte[]))(string,byte[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalUpdateFieldShape(params))\n },\n\n }\n\n /**\n * Create transactions for the current app\n */\n readonly createTransaction = {\n /**\n * Makes a clear_state call to an existing instance of the AkitaDAOTypes smart contract.\n *\n * @param params The params for the bare (raw) call\n * @returns The clearState result\n */\n clearState: (params?: Expand<AppClientBareCallParams>) => {\n return this.appClient.createTransaction.bare.clearState(params)\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalUpgradeAppShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalUpgradeAppShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalAddPluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalAddPluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalAddNamedPluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalAddNamedPluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemovePluginShape((uint64,address,string))(uint64,address,string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalRemovePluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalRemovePluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalRemoveNamedPluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalRemoveNamedPluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalExecutePluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalExecutePluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalExecuteNamedPluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalExecuteNamedPluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemoveExecutePluginShape((byte[32]))(byte[32])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalRemoveExecutePluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalRemoveExecutePluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalAddAllowancesShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalAddAllowancesShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalRemoveAllowancesShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalRemoveAllowancesShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalNewEscrowShape((string))(string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalNewEscrowShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalNewEscrowShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalNewEscrowShape((string))(string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalNewEscrowShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalToggleEscrowLockShape((string))(string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalToggleEscrowLockShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalToggleEscrowLockShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalToggleEscrowLockShape((string))(string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalToggleEscrowLockShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalUpdateFieldShape((string,byte[]))(string,byte[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalUpdateFieldShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpdateFieldShape((string,byte[]))(string,byte[])'] | AkitaDaoTypesArgs['tuple']['proposalUpdateFieldShape((string,byte[]))(string,byte[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalUpdateFieldShape(params))\n },\n\n }\n\n /**\n * Send calls to the current app\n */\n readonly send = {\n /**\n * Makes a clear_state call to an existing instance of the AkitaDAOTypes smart contract.\n *\n * @param params The params for the bare (raw) call\n * @returns The clearState result\n */\n clearState: (params?: Expand<AppClientBareCallParams & SendParams>) => {\n return this.appClient.send.bare.clearState(params)\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalUpgradeAppShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalUpgradeAppShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalAddPluginShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalAddPluginShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalAddNamedPluginShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalAddNamedPluginShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemovePluginShape((uint64,address,string))(uint64,address,string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalRemovePluginShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalRemovePluginShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalRemoveNamedPluginShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalRemoveNamedPluginShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalExecutePluginShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalExecutePluginShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalExecuteNamedPluginShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalExecuteNamedPluginShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemoveExecutePluginShape((byte[32]))(byte[32])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalRemoveExecutePluginShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalRemoveExecutePluginShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalRemoveExecutePluginShape((byte[32]))(byte[32])'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalAddAllowancesShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalAddAllowancesShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalRemoveAllowancesShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalRemoveAllowancesShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalNewEscrowShape((string))(string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalNewEscrowShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalNewEscrowShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalNewEscrowShape((string))(string)']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalNewEscrowShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalNewEscrowShape((string))(string)'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalToggleEscrowLockShape((string))(string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalToggleEscrowLockShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalToggleEscrowLockShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalToggleEscrowLockShape((string))(string)']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalToggleEscrowLockShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalToggleEscrowLockShape((string))(string)'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalUpdateFieldShape((string,byte[]))(string,byte[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalUpdateFieldShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpdateFieldShape((string,byte[]))(string,byte[])'] | AkitaDaoTypesArgs['tuple']['proposalUpdateFieldShape((string,byte[]))(string,byte[])']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalUpdateFieldShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalUpdateFieldShape((string,byte[]))(string,byte[])'])}\n },\n\n }\n\n /**\n * Clone this app client with different params\n *\n * @param params The params to use for the the cloned app client. Omit a param to keep the original value. Set a param to override the original value. Setting to undefined will clear the original value.\n * @returns A new app client with the altered params\n */\n public clone(params: CloneAppClientParams) {\n return new AkitaDaoTypesClient(this.appClient.clone(params))\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalUpgradeAppShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalUpgradeAppShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalAddPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalAddPluginShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalAddNamedPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalAddNamedPluginShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalRemovePluginShape((uint64,address,string))(uint64,address,string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalRemovePluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalRemovePluginShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalRemoveNamedPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalRemoveNamedPluginShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalExecutePluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalExecutePluginShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalExecuteNamedPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalExecuteNamedPluginShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalRemoveExecutePluginShape((byte[32]))(byte[32])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalRemoveExecutePluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalRemoveExecutePluginShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalRemoveExecutePluginShape((byte[32]))(byte[32])']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalAddAllowancesShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalAddAllowancesShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalRemoveAllowancesShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalRemoveAllowancesShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalNewEscrowShape((string))(string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalNewEscrowShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalNewEscrowShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalNewEscrowShape((string))(string)']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalNewEscrowShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalNewEscrowShape((string))(string)']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalToggleEscrowLockShape((string))(string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalToggleEscrowLockShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalToggleEscrowLockShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalToggleEscrowLockShape((string))(string)']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalToggleEscrowLockShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalToggleEscrowLockShape((string))(string)']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalUpdateFieldShape((string,byte[]))(string,byte[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalUpdateFieldShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpdateFieldShape((string,byte[]))(string,byte[])'] | AkitaDaoTypesArgs['tuple']['proposalUpdateFieldShape((string,byte[]))(string,byte[])']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalUpdateFieldShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalUpdateFieldShape((string,byte[]))(string,byte[])']\n }\n\n /**\n * Methods to access state for the current AkitaDAOTypes app\n */\n state = {\n }\n\n public newGroup(): AkitaDaoTypesComposer {\n const client = this\n const composer = this.algorand.newGroup()\n let promiseChain:Promise<unknown> = Promise.resolve()\n const resultMappers: Array<undefined | ((x: ABIReturn | undefined) => any)> = []\n return {\n /**\n * Add a proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64) method call against the AkitaDAOTypes contract\n */\n proposalUpgradeAppShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalUpgradeAppShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)', v))\n return this\n },\n /**\n * Add a proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]) method call against the AkitaDAOTypes contract\n */\n proposalAddPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalAddPluginShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])', v))\n return this\n },\n /**\n * Add a proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]) method call against the AkitaDAOTypes contract\n */\n proposalAddNamedPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalAddNamedPluginShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])', v))\n return this\n },\n /**\n * Add a proposalRemovePluginShape((uint64,address,string))(uint64,address,string) method call against the AkitaDAOTypes contract\n */\n proposalRemovePluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalRemovePluginShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalRemovePluginShape((uint64,address,string))(uint64,address,string)', v))\n return this\n },\n /**\n * Add a proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string) method call against the AkitaDAOTypes contract\n */\n proposalRemoveNamedPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalRemoveNamedPluginShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)', v))\n return this\n },\n /**\n * Add a proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64) method call against the AkitaDAOTypes contract\n */\n proposalExecutePluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalExecutePluginShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)', v))\n return this\n },\n /**\n * Add a proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64) method call against the AkitaDAOTypes contract\n */\n proposalExecuteNamedPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalExecuteNamedPluginShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)', v))\n return this\n },\n /**\n * Add a proposalRemoveExecutePluginShape((byte[32]))(byte[32]) method call against the AkitaDAOTypes contract\n */\n proposalRemoveExecutePluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalRemoveExecutePluginShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalRemoveExecutePluginShape((byte[32]))(byte[32])', v))\n return this\n },\n /**\n * Add a proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[]) method call against the AkitaDAOTypes contract\n */\n proposalAddAllowancesShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalAddAllowancesShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])', v))\n return this\n },\n /**\n * Add a proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[]) method call against the AkitaDAOTypes contract\n */\n proposalRemoveAllowancesShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalRemoveAllowancesShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])', v))\n return this\n },\n /**\n * Add a proposalNewEscrowShape((string))(string) method call against the AkitaDAOTypes contract\n */\n proposalNewEscrowShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalNewEscrowShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalNewEscrowShape((string))(string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalNewEscrowShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalNewEscrowShape((string))(string)', v))\n return this\n },\n /**\n * Add a proposalToggleEscrowLockShape((string))(string) method call against the AkitaDAOTypes contract\n */\n proposalToggleEscrowLockShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalToggleEscrowLockShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalToggleEscrowLockShape((string))(string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalToggleEscrowLockShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalToggleEscrowLockShape((string))(string)', v))\n return this\n },\n /**\n * Add a proposalUpdateFieldShape((string,byte[]))(string,byte[]) method call against the AkitaDAOTypes contract\n */\n proposalUpdateFieldShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpdateFieldShape((string,byte[]))(string,byte[])'] | AkitaDaoTypesArgs['tuple']['proposalUpdateFieldShape((string,byte[]))(string,byte[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalUpdateFieldShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalUpdateFieldShape((string,byte[]))(string,byte[])', v))\n return this\n },\n /**\n * Add a clear state call to the AkitaDAOTypes contract\n */\n clearState(params: AppClientBareCallParams) {\n promiseChain = promiseChain.then(() => composer.addAppCall(client.params.clearState(params)))\n return this\n },\n addTransaction(txn: Transaction, signer?: TransactionSigner) {\n promiseChain = promiseChain.then(() => composer.addTransaction(txn, signer))\n return this\n },\n async composer() {\n await promiseChain\n return composer\n },\n async simulate(options?: SimulateOptions) {\n await promiseChain\n const result = await (!options ? composer.simulate() : composer.simulate(options))\n return {\n ...result,\n returns: result.returns?.map((val, i) => resultMappers[i] !== undefined ? resultMappers[i]!(val) : val.returnValue)\n }\n },\n async send(params?: SendParams) {\n await promiseChain\n const result = await composer.send(params)\n return {\n ...result,\n returns: result.returns?.map((val, i) => resultMappers[i] !== undefined ? resultMappers[i]!(val) : val.returnValue)\n }\n }\n } as unknown as AkitaDaoTypesComposer\n }\n}\nexport type AkitaDaoTypesComposer<TReturns extends [...any[]] = []> = {\n /**\n * Calls the proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalUpgradeAppShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)'] | undefined]>\n\n /**\n * Calls the proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalAddPluginShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | undefined]>\n\n /**\n * Calls the proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalAddNamedPluginShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | undefined]>\n\n /**\n * Calls the proposalRemovePluginShape((uint64,address,string))(uint64,address,string) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalRemovePluginShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)'] | undefined]>\n\n /**\n * Calls the proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalRemoveNamedPluginShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)'] | undefined]>\n\n /**\n * Calls the proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalExecutePluginShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)'] | undefined]>\n\n /**\n * Calls the proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalExecuteNamedPluginShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)'] | undefined]>\n\n /**\n * Calls the proposalRemoveExecutePluginShape((byte[32]))(byte[32]) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalRemoveExecutePluginShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalRemoveExecutePluginShape((byte[32]))(byte[32])'] | undefined]>\n\n /**\n * Calls the proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[]) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalAddAllowancesShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | undefined]>\n\n /**\n * Calls the proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[]) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalRemoveAllowancesShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])'] | undefined]>\n\n /**\n * Calls the proposalNewEscrowShape((string))(string) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalNewEscrowShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalNewEscrowShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalNewEscrowShape((string))(string)']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalNewEscrowShape((string))(string)'] | undefined]>\n\n /**\n * Calls the proposalToggleEscrowLockShape((string))(string) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalToggleEscrowLockShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalToggleEscrowLockShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalToggleEscrowLockShape((string))(string)']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalToggleEscrowLockShape((string))(string)'] | undefined]>\n\n /**\n * Calls the proposalUpdateFieldShape((string,byte[]))(string,byte[]) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalUpdateFieldShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalUpdateFieldShape((string,byte[]))(string,byte[])'] | AkitaDaoTypesArgs['tuple']['proposalUpdateFieldShape((string,byte[]))(string,byte[])']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalUpdateFieldShape((string,byte[]))(string,byte[])'] | undefined]>\n\n /**\n * Makes a clear_state call to an existing instance of the AkitaDAOTypes smart contract.\n *\n * @param args The arguments for the bare call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n clearState(params?: AppClientBareCallParams): AkitaDaoTypesComposer<[...TReturns, undefined]>\n\n /**\n * Adds a transaction to the composer\n *\n * @param txn A transaction to add to the transaction group\n * @param signer The optional signer to use when signing this transaction.\n */\n addTransaction(txn: Transaction, signer?: TransactionSigner): AkitaDaoTypesComposer<TReturns>\n /**\n * Returns the underlying AtomicTransactionComposer instance\n */\n composer(): Promise<TransactionComposer>\n /**\n * Simulates the transaction group and returns the result\n */\n simulate(): Promise<AkitaDaoTypesComposerResults<TReturns> & { simulateResponse: modelsv2.SimulateResponse }>\n simulate(options: SkipSignaturesSimulateOptions): Promise<AkitaDaoTypesComposerResults<TReturns> & { simulateResponse: modelsv2.SimulateResponse }>\n simulate(options: RawSimulateOptions): Promise<AkitaDaoTypesComposerResults<TReturns> & { simulateResponse: modelsv2.SimulateResponse }>\n /**\n * Sends the transaction group to the network and returns the results\n */\n send(params?: SendParams): Promise<AkitaDaoTypesComposerResults<TReturns>>\n}\nexport type AkitaDaoTypesComposerResults<TReturns extends [...any[]]> = Expand<SendAtomicTransactionComposerResults & {\n returns: TReturns\n}>\n\n","import { AkitaAppList, AkitaAssets, AkitaDaoArgs, AkitaSocialAppList, GlobalKeysState, NftFees, OtherAppList, PluginAppList, ProposalSettings, ProposalVoteTotals, SocialFees, StakingFees, SubscriptionFees, SwapFees, WalletFees } from \"../generated/AkitaDAOClient\";\nimport { \n ProposalAddAllowances,\n ProposalAddNamedPlugin,\n ProposalAddPlugin,\n ProposalExecutePlugin,\n ProposalNewEscrow,\n ProposalRemoveAllowances,\n ProposalRemoveExecutePlugin,\n ProposalRemoveNamedPlugin,\n ProposalRemovePlugin,\n ProposalToggleEscrowLock,\n ProposalUpdateField,\n ProposalUpgradeApp\n} from \"../generated/AkitaDAOTypesClient\";\nimport { ProposalActionEnum } from \"./constants\";\nimport { AddAllowanceArgs, AddPluginArgs, WalletAddPluginParams } from \"../wallet\";\nimport { MaybeSigner, SDKClient } from \"../types\";\n\ntype ContractArgs = AkitaDaoArgs[\"obj\"];\n\nexport type AkitaDaoGlobalState = GlobalKeysState;\n\nexport type ProposalAction<TClient extends SDKClient> = (\n | {\n type: ProposalActionEnum.UpgradeApp\n app: bigint\n executionKey: Uint8Array\n groups: Uint8Array[]\n firstValid: bigint\n lastValid: bigint\n }\n | (\n Omit<WalletAddPluginParams<TClient>, 'sender' | 'signer' | 'useExecutionKey'>\n & {\n type: ProposalActionEnum.AddPlugin | ProposalActionEnum.AddNamedPlugin\n sourceLink: string\n }\n & (\n {\n useExecutionKey: false\n }\n | {\n useExecutionKey: true\n fee: bigint\n power: bigint\n duration: bigint\n participation: bigint\n approval: bigint\n }\n )\n )\n | {\n type: ProposalActionEnum.ExecutePlugin\n plugin: bigint\n caller: string\n escrow: string\n executionKey: Uint8Array\n groups: Uint8Array[]\n firstValid: bigint\n lastValid: bigint\n }\n | {\n type: ProposalActionEnum.RemoveExecutePlugin\n executionKey: Uint8Array\n }\n | {\n type: ProposalActionEnum.RemovePlugin\n plugin: bigint\n caller: string\n escrow: string\n }\n | {\n type: ProposalActionEnum.RemoveNamedPlugin\n name: string\n }\n | {\n type: ProposalActionEnum.AddAllowances\n escrow: string\n allowances: AddAllowanceArgs[]\n }\n | {\n type: ProposalActionEnum.RemoveAllowances\n escrow: string\n assets: bigint[]\n }\n | {\n type: ProposalActionEnum.NewEscrow | ProposalActionEnum.ToggleEscrowLock\n escrow: string\n }\n | FieldUpdate & {\n type: ProposalActionEnum.UpdateFields\n }\n | {\n type: ProposalActionEnum.UpdateWallet\n }\n)\n\n// [[bigint | number, string], bigint | number, bigint | number][]\nexport enum SplitDistributionType {\n Flat = 10,\n Percentage = 20,\n Remainder = 30,\n}\n\nexport type Split = {\n receiver: { wallet: bigint, escrow: string }\n type: SplitDistributionType\n value: bigint\n}\n\nexport function SplitsToTuples(splits: Split[]): [[bigint | number, string], bigint | number, bigint | number][] {\n return splits.map((split) => [[split.receiver.wallet, split.receiver.escrow], split.type, split.value])\n}\n\nexport type FieldUpdate = (\n | { field: 'content_policy', value: Uint8Array }\n | {\n field: 'proposal_action_limit' | 'min_rewards_impact',\n value: number\n }\n | { field: 'aal', value: Partial<AkitaAppList> }\n | { field: 'sal', value: Partial<AkitaSocialAppList> }\n | { field: 'pal', value: Partial<PluginAppList> }\n | { field: 'oal', value: Partial<OtherAppList> }\n | { field: 'wallet_fees', value: WalletFees } // only one value for now so no need for partial\n | { field: 'social_fees', value: Partial<SocialFees> }\n | { field: 'staking_fees', value: Partial<StakingFees> }\n | { field: 'subscription_fees', value: Partial<SubscriptionFees> }\n | { field: 'nft_fees', value: Partial<NftFees> }\n | { field: 'swap_fees', value: Partial<SwapFees> }\n | { field: 'akita_assets', value: Partial<AkitaAssets> }\n | {\n field: 'upgrade_app_ps' | 'add_plugin_ps' | 'remove_plugin_ps' | 'add_allowance_ps' | 'remove_allowance_ps' | 'new_escrow_ps' | 'update_fields_ps',\n value: Partial<ProposalSettings>\n }\n | { field: 'revenue_splits', value: Split[] }\n)\n\nexport type NewProposalParams<TClient extends SDKClient> = (\n {\n cid?: Uint8Array;\n actions: ProposalAction<TClient>[],\n consolidateFees?: boolean\n } & MaybeSigner\n)\n\nexport type EditProposalParams<TClient extends SDKClient> = (\n ContractArgs['editProposal(uint64,byte[36],(uint8,byte[])[])void']\n & {\n actions: ProposalAction<TClient>[]\n } & MaybeSigner\n)\n\nexport type ProposalAddPluginArgs = (\n AddPluginArgs & {\n fee?: bigint;\n power?: bigint;\n duration?: bigint;\n participation?: bigint;\n approval?: bigint;\n sourceLink: string;\n allowances: [number | bigint, number | bigint, number | bigint, number | bigint, number | bigint, boolean][];\n }\n)\n\n/**\n * Union type for all decoded proposal action types\n */\nexport type DecodedProposalAction = (\n | ({ type: ProposalActionEnum.UpgradeApp } & ProposalUpgradeApp)\n | ({ type: ProposalActionEnum.AddPlugin } & ProposalAddPlugin)\n | ({ type: ProposalActionEnum.AddNamedPlugin } & ProposalAddNamedPlugin)\n | ({ type: ProposalActionEnum.ExecutePlugin } & ProposalExecutePlugin)\n | ({ type: ProposalActionEnum.RemoveExecutePlugin } & ProposalRemoveExecutePlugin)\n | ({ type: ProposalActionEnum.RemovePlugin } & ProposalRemovePlugin)\n | ({ type: ProposalActionEnum.RemoveNamedPlugin } & ProposalRemoveNamedPlugin)\n | ({ type: ProposalActionEnum.AddAllowances } & ProposalAddAllowances)\n | ({ type: ProposalActionEnum.RemoveAllowances } & ProposalRemoveAllowances)\n | ({ type: ProposalActionEnum.NewEscrow } & ProposalNewEscrow)\n | ({ type: ProposalActionEnum.ToggleEscrowLock } & ProposalToggleEscrowLock)\n | ({ type: ProposalActionEnum.UpdateFields } & ProposalUpdateField)\n | { type: ProposalActionEnum.UpdateWallet }\n)\n\n/**\n * Decoded proposal with typed actions\n */\nexport type DecodedProposal = {\n status: number;\n cid: Uint8Array;\n votes: ProposalVoteTotals;\n creator: string;\n votingTs: bigint;\n created: bigint;\n feesPaid: bigint;\n actions: DecodedProposalAction[];\n}","export enum ProposalActionEnum {\n UpgradeApp = 10,\n AddPlugin = 20,\n AddNamedPlugin = 21,\n ExecutePlugin = 30,\n RemoveExecutePlugin = 31,\n RemovePlugin = 40,\n RemoveNamedPlugin = 41,\n AddAllowances = 50,\n RemoveAllowances = 60,\n NewEscrow = 70,\n ToggleEscrowLock = 71,\n UpdateFields = 80,\n UpdateWallet = 90\n}\n\nexport const EMPTY_CID = Buffer.from('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')\n\nexport const DAOProposalVotesMBR: bigint = 22_500n","import { AkitaDaoArgs, AkitaDaoClient, AkitaDaoFactory, ProposalCostInfo, ProposalDetails, ProposalVoteTotals } from '../generated/AkitaDAOClient'\nimport {\n AkitaDaoTypesClient,\n ProposalAddAllowances,\n ProposalAddNamedPlugin,\n ProposalAddPlugin,\n ProposalExecutePlugin,\n ProposalNewEscrow,\n ProposalRemoveAllowances,\n ProposalRemoveExecutePlugin,\n ProposalRemoveNamedPlugin,\n ProposalRemovePlugin,\n ProposalToggleEscrowLock,\n ProposalUpdateField,\n ProposalUpgradeApp\n} from '../generated/AkitaDAOTypesClient'\nimport { BaseSDK } from \"../base\";\nimport { ENV_VAR_NAMES } from \"../config\";\nimport { isPluginSDKReturn, MaybeSigner, NewContractSDKParams, SDKClient, TxnReturn } from \"../types\";\nimport { WalletSDK } from \"../wallet\";\nimport { AkitaDaoGlobalState, DecodedProposal, DecodedProposalAction, EditProposalParams, NewProposalParams, ProposalAction, ProposalAddPluginArgs, SplitsToTuples } from \"./types\";\nimport { DAOProposalVotesMBR, ProposalActionEnum } from \"./constants\";\nimport { ABIStruct, getABIDecodedValue, getABIEncodedValue } from \"@algorandfoundation/algokit-utils/types/app-arc56\";\nimport { ALGORAND_ZERO_ADDRESS_STRING, encodeUint64 } from \"algosdk\";\nimport { AppReturn } from \"@algorandfoundation/algokit-utils/types/app\";\nimport { microAlgo, prepareGroupForSending } from \"@algorandfoundation/algokit-utils\";\nimport { emptySigner, MAX_UINT64 } from \"../constants\";\nimport { EMPTY_CID } from \"./constants\"\nimport { AllowancesToTuple, forceProperties, OverWriteProperties } from '../wallet/utils';\nimport { AlgoAmount } from '@algorandfoundation/algokit-utils/types/amount';\n\nexport * from './constants';\nexport * from \"./types\";\n\ntype ContractArgs = AkitaDaoArgs[\"obj\"]\n\nexport class AkitaDaoSDK extends BaseSDK<AkitaDaoClient> {\n\n typeClient: AkitaDaoTypesClient\n private _wallet: WalletSDK | null = null;\n private _walletInitPromise: Promise<WalletSDK> | null = null;\n private _constructorParams: NewContractSDKParams;\n\n constructor(params: NewContractSDKParams) {\n super({ factory: AkitaDaoFactory, ...params }, ENV_VAR_NAMES.DAO_APP_ID);\n this.typeClient = new AkitaDaoTypesClient({ algorand: this.algorand, appId: 0n });\n this._constructorParams = params;\n }\n\n /**\n * Get the wallet SDK associated with this DAO.\n * Lazily fetches the wallet app ID from the DAO's global state on first access.\n */\n async getWallet(): Promise<WalletSDK> {\n if (this._wallet) {\n return this._wallet;\n }\n\n // Use a promise to prevent multiple concurrent initializations\n if (!this._walletInitPromise) {\n this._walletInitPromise = this._initializeWallet();\n }\n\n return this._walletInitPromise;\n }\n\n private async _initializeWallet(): Promise<WalletSDK> {\n // Fetch wallet app ID from DAO global state\n const walletAppId = await this.client.state.global.wallet();\n if (!walletAppId) {\n throw new Error('Could not read wallet app ID from DAO global state. Has the DAO been set up?');\n }\n\n this._wallet = new WalletSDK({\n ...this._constructorParams,\n factoryParams: {\n ...this._constructorParams.factoryParams,\n appId: walletAppId,\n defaultSender: this.sendParams.sender,\n defaultSigner: this.sendParams.signer\n }\n });\n\n return this._wallet;\n }\n\n /**\n * @deprecated Use getWallet() instead for proper async initialization.\n * This getter exists for backwards compatibility but will throw if the wallet\n * hasn't been initialized yet via getWallet() or setup().\n */\n get wallet(): WalletSDK {\n if (!this._wallet) {\n throw new Error(\n 'Wallet not initialized. Call \"await dao.getWallet()\" first to initialize the wallet SDK, ' +\n 'or use \"await dao.setup()\" to create a new DAO with its wallet.'\n );\n }\n return this._wallet;\n }\n\n /**\n * Allows setting the wallet directly (used by setup() and for testing)\n */\n set wallet(wallet: WalletSDK) {\n this._wallet = wallet;\n this._walletInitPromise = Promise.resolve(wallet);\n }\n\n private async prepProposalActions<TClient extends SDKClient>(actions: ProposalAction<TClient>[]): Promise<any> {\n // Only fetch wallet when needed for validation (ExecutePlugin, RemoveExecutePlugin, RemovePlugin, RemoveNamedPlugin)\n const needsWallet = actions.some(a => \n a.type === ProposalActionEnum.ExecutePlugin ||\n a.type === ProposalActionEnum.RemoveExecutePlugin ||\n a.type === ProposalActionEnum.RemovePlugin ||\n a.type === ProposalActionEnum.RemoveNamedPlugin\n );\n const wallet = needsWallet ? await this.getWallet() : null;\n \n // parse args & rebuild\n const preppedActions: [number | bigint, Uint8Array<ArrayBufferLike>][] = []\n for (let i = 0; i < actions.length; i++) {\n const typedAction = actions[i]\n let abiAction: ABIStruct\n let structType: string = ''\n\n switch (typedAction.type) {\n case ProposalActionEnum.UpgradeApp: {\n const { type, ...action } = typedAction\n\n abiAction = action\n structType = 'ProposalUpgradeApp'\n break;\n }\n case ProposalActionEnum.AddPlugin:\n case ProposalActionEnum.AddNamedPlugin: {\n const { type, ...action } = typedAction\n\n let {\n name = '',\n client,\n caller,\n global = false,\n methods = [],\n escrow = '',\n admin = false,\n delegationType = 0n,\n lastValid = MAX_UINT64,\n cooldown = 0n,\n useRounds = false,\n useExecutionKey = false,\n coverFees = false,\n defaultToEscrow = false,\n sourceLink = '',\n allowances = []\n } = action;\n\n // Default the conditional properties\n let fee = 0n;\n let power = 0n;\n let duration = 0n;\n let participation = 0n;\n let approval = 0n;\n\n // Narrow the type and extract execution key props\n if (action.useExecutionKey) {\n fee = action.fee;\n power = action.power;\n duration = action.duration;\n participation = action.participation;\n approval = action.approval;\n\n // Move the validation inside the narrowed block\n if (duration === 0n || participation === 0n || approval === 0n) {\n throw new Error('Proposal Settings must be set when using execution key');\n }\n }\n\n const plugin = client.appId;\n\n if (global) {\n caller = ALGORAND_ZERO_ADDRESS_STRING\n }\n\n let transformedMethods: [Uint8Array<ArrayBufferLike>, number | bigint][] = [];\n if (methods.length > 0) {\n transformedMethods = methods.reduce<[Uint8Array<ArrayBufferLike>, number | bigint][]>(\n (acc, method) => {\n if (isPluginSDKReturn(method.name)) {\n const selectors = method.name().selectors ?? [];\n selectors.forEach((selector) => acc.push([selector, method.cooldown]));\n } else {\n method.name.forEach(x => acc.push([x, method.cooldown]));\n }\n return acc;\n },\n []\n );\n }\n\n const args: ProposalAddPluginArgs = {\n plugin,\n caller: caller!,\n escrow,\n admin,\n delegationType,\n lastValid,\n cooldown,\n methods: transformedMethods,\n useRounds,\n useExecutionKey,\n coverFees,\n canReclaim: false,\n defaultToEscrow,\n fee,\n power,\n duration,\n participation,\n approval,\n sourceLink,\n allowances: AllowancesToTuple(allowances)\n }\n\n if (name) {\n abiAction = { name, ...args };\n structType = 'ProposalAddNamedPlugin';\n } else {\n abiAction = args;\n structType = 'ProposalAddPlugin';\n }\n\n break;\n }\n case ProposalActionEnum.ExecutePlugin: {\n const { type, ...action } = typedAction\n const { plugin, escrow } = action\n\n if (!wallet!.plugins.has({ plugin, caller: ALGORAND_ZERO_ADDRESS_STRING, escrow })) {\n try {\n await wallet!.getPluginByKey({ plugin, caller: ALGORAND_ZERO_ADDRESS_STRING, escrow })\n } catch (e) {\n throw new Error(`Plugin: ${plugin} for escrow: ${escrow} not found`);\n }\n }\n\n abiAction = action;\n structType = 'ProposalExecutePlugin';\n break;\n }\n case ProposalActionEnum.RemoveExecutePlugin: {\n const { type, ...action } = typedAction\n\n if (!wallet!.executions.has(action.executionKey)) {\n try {\n await wallet!.getExecution(action.executionKey)\n } catch (e) {\n throw new Error(`Execution with key: ${action.executionKey} not found`);\n }\n }\n\n abiAction = action;\n structType = 'ProposalRemoveExecutePlugin';\n break;\n }\n case ProposalActionEnum.RemovePlugin: {\n const { type, ...action } = typedAction\n const { plugin, caller, escrow } = action;\n\n if (!wallet!.plugins.has({ plugin, caller, escrow })) {\n try {\n await wallet!.getPluginByKey({ plugin, caller, escrow })\n } catch (e) {\n throw new Error(`Plugin: ${plugin} with caller: ${caller} for escrow: ${escrow} not found`);\n }\n }\n\n abiAction = action;\n structType = 'ProposalRemovePlugin';\n break;\n }\n case ProposalActionEnum.RemoveNamedPlugin: {\n const { type, ...action } = typedAction\n const { name } = action;\n\n if (!wallet!.namedPlugins.has(name)) {\n try {\n await wallet!.getPluginByName(name)\n } catch (e) {\n throw new Error(`Plugin named: ${name} not found`);\n }\n }\n\n abiAction = action\n structType = 'ProposalRemoveNamedPlugin';\n break;\n }\n case ProposalActionEnum.AddAllowances: {\n const { escrow, allowances } = typedAction\n\n abiAction = { escrow, allowances: AllowancesToTuple(allowances) };\n structType = 'ProposalAddAllowances';\n break;\n }\n case ProposalActionEnum.RemoveAllowances: {\n const { type, ...action } = typedAction\n\n abiAction = action;\n structType = 'ProposalRemoveAllowances';\n break;\n }\n case ProposalActionEnum.NewEscrow: {\n const { type, ...action } = typedAction\n\n abiAction = action;\n structType = 'ProposalNewEscrow';\n break;\n }\n case ProposalActionEnum.ToggleEscrowLock: {\n const { type, ...action } = typedAction\n\n abiAction = action;\n structType = 'ProposalToggleEscrowLock';\n break;\n }\n case ProposalActionEnum.UpdateFields: {\n const { type, ...action } = typedAction\n\n let data: Uint8Array<ArrayBufferLike>\n switch (action.field) {\n case 'content_policy': {\n data = action.value\n break;\n }\n case 'proposal_action_limit':\n case 'min_rewards_impact': {\n data = encodeUint64(action.value)\n break;\n }\n case 'aal': {\n const currentApps = await this.client.state.global.akitaAppList()\n\n const {\n staking = currentApps?.staking ?? 0n,\n rewards = currentApps?.rewards ?? 0n,\n pool = currentApps?.pool ?? 0n,\n prizeBox = currentApps?.prizeBox ?? 0n,\n subscriptions = currentApps?.subscriptions ?? 0n,\n gate = currentApps?.gate ?? 0n,\n auction = currentApps?.auction ?? 0n,\n hyperSwap = currentApps?.hyperSwap ?? 0n,\n raffle = currentApps?.raffle ?? 0n,\n metaMerkles = currentApps?.metaMerkles ?? 0n,\n marketplace = currentApps?.marketplace ?? 0n,\n wallet = currentApps?.wallet ?? 0n,\n } = action.value;\n\n const abiData = {\n staking,\n rewards,\n pool,\n prizeBox,\n subscriptions,\n gate,\n auction,\n hyperSwap,\n raffle,\n metaMerkles,\n marketplace,\n wallet,\n };\n\n data = getABIEncodedValue(abiData, 'AkitaAppList', this.client.appClient.appSpec.structs)\n break;\n }\n case 'sal': {\n const currentApps = await this.client.state.global.akitaSocialAppList()\n\n const {\n social = currentApps?.social ?? 0n,\n graph = currentApps?.graph ?? 0n,\n impact = currentApps?.impact ?? 0n,\n moderation = currentApps?.moderation ?? 0n\n } = action.value;\n\n const abiData = {\n social,\n graph,\n impact,\n moderation\n };\n\n data = getABIEncodedValue(abiData, 'AkitaSocialAppList', this.client.appClient.appSpec.structs)\n break;\n }\n case 'pal': {\n const currentApps = await this.client.state.global.pluginAppList()\n\n const {\n optin = currentApps?.optin ?? 0n,\n revenueManager = currentApps?.revenueManager ?? 0n,\n update = currentApps?.update ?? 0n\n } = action.value;\n\n data = getABIEncodedValue({ optin, revenueManager, update }, 'PluginAppList', this.client.appClient.appSpec.structs)\n break;\n }\n case 'oal': {\n const currentApps = await this.client.state.global.otherAppList()\n\n const {\n vrfBeacon = currentApps?.vrfBeacon ?? 0n,\n nfdRegistry = currentApps?.nfdRegistry ?? 0n,\n assetInbox = currentApps?.assetInbox ?? 0n,\n escrow = currentApps?.escrow ?? 0n,\n poll = currentApps?.poll ?? 0n,\n akitaNfd = currentApps?.akitaNfd ?? 0n\n } = action.value;\n\n const abiData = {\n vrfBeacon,\n nfdRegistry,\n assetInbox,\n escrow,\n poll,\n akitaNfd\n };\n\n data = getABIEncodedValue(abiData, 'OtherAppList', this.client.appClient.appSpec.structs)\n break;\n }\n case 'wallet_fees': {\n\n const currentFees = await this.client.state.global.walletFees()\n\n const {\n createFee = currentFees?.createFee ?? 0n,\n } = action.value;\n\n data = getABIEncodedValue({ createFee }, 'WalletFees', this.client.appClient.appSpec.structs)\n break;\n }\n case 'social_fees': {\n const currentFees = await this.client.state.global.socialFees()\n\n const {\n postFee = currentFees?.postFee ?? 0n,\n reactFee = currentFees?.reactFee ?? 0n,\n impactTaxMin = currentFees?.impactTaxMin ?? 0n,\n impactTaxMax = currentFees?.impactTaxMax ?? 0n\n } = action.value;\n\n const abiData = {\n postFee,\n reactFee,\n impactTaxMin,\n impactTaxMax\n };\n\n data = getABIEncodedValue(abiData, 'SocialFees', this.client.appClient.appSpec.structs)\n break;\n }\n case 'staking_fees': {\n const currentFees = await this.client.state.global.stakingFees()\n\n const {\n creationFee = currentFees?.creationFee ?? 0n,\n impactTaxMin = currentFees?.impactTaxMin ?? 0n,\n impactTaxMax = currentFees?.impactTaxMax ?? 0n\n } = action.value;\n\n const abiData = {\n creationFee,\n impactTaxMin,\n impactTaxMax\n };\n\n data = getABIEncodedValue(abiData, 'StakingFees', this.client.appClient.appSpec.structs)\n break;\n }\n case 'subscription_fees': {\n const currentFees = await this.client.state.global.subscriptionFees()\n\n const {\n serviceCreationFee = currentFees?.serviceCreationFee ?? 0n,\n paymentPercentage = currentFees?.paymentPercentage ?? 0n,\n triggerPercentage = currentFees?.triggerPercentage ?? 0n,\n } = action.value;\n\n const abiData = {\n serviceCreationFee,\n paymentPercentage,\n triggerPercentage\n };\n\n data = getABIEncodedValue(abiData, 'SubscriptionFees', this.client.appClient.appSpec.structs)\n break;\n }\n case 'nft_fees': {\n const currentFees = await this.client.state.global.nftFees()\n\n const {\n marketplaceSalePercentageMin = currentFees?.marketplaceSalePercentageMin ?? 0n,\n marketplaceSalePercentageMax = currentFees?.marketplaceSalePercentageMax ?? 0n,\n marketplaceComposablePercentage = currentFees?.marketplaceComposablePercentage ?? 0n,\n marketplaceRoyaltyDefaultPercentage = currentFees?.marketplaceRoyaltyDefaultPercentage ?? 0n,\n shuffleSalePercentage = currentFees?.shuffleSalePercentage ?? 0n,\n omnigemSaleFee = currentFees?.omnigemSaleFee ?? 0n,\n auctionCreationFee = currentFees?.auctionCreationFee ?? 0n,\n auctionSaleImpactTaxMin = currentFees?.auctionSaleImpactTaxMin ?? 0n,\n auctionSaleImpactTaxMax = currentFees?.auctionSaleImpactTaxMax ?? 0n,\n auctionComposablePercentage = currentFees?.auctionComposablePercentage ?? 0n,\n auctionRafflePercentage = currentFees?.auctionRafflePercentage ?? 0n,\n raffleCreationFee = currentFees?.raffleCreationFee ?? 0n,\n raffleSaleImpactTaxMin = currentFees?.raffleSaleImpactTaxMin ?? 0n,\n raffleSaleImpactTaxMax = currentFees?.raffleSaleImpactTaxMax ?? 0n,\n raffleComposablePercentage = currentFees?.raffleComposablePercentage ?? 0n,\n } = action.value;\n\n const abiData = {\n marketplaceSalePercentageMin,\n marketplaceSalePercentageMax,\n marketplaceComposablePercentage,\n marketplaceRoyaltyDefaultPercentage,\n shuffleSalePercentage,\n omnigemSaleFee,\n auctionCreationFee,\n auctionSaleImpactTaxMin,\n auctionSaleImpactTaxMax,\n auctionComposablePercentage,\n auctionRafflePercentage,\n raffleCreationFee,\n raffleSaleImpactTaxMin,\n raffleSaleImpactTaxMax,\n raffleComposablePercentage\n };\n\n data = getABIEncodedValue(abiData, 'NftFees', this.client.appClient.appSpec.structs)\n break;\n }\n case 'swap_fees': {\n const currentFees = await this.client.state.global.swapFees()\n\n const {\n impactTaxMin = currentFees?.impactTaxMin ?? 0n,\n impactTaxMax = currentFees?.impactTaxMax ?? 0n\n } = action.value;\n\n const abiData = {\n impactTaxMin,\n impactTaxMax\n };\n\n data = getABIEncodedValue(abiData, 'SwapFees', this.client.appClient.appSpec.structs)\n break;\n }\n case 'akita_assets': {\n const currentAssets = await this.client.state.global.akitaAssets()\n\n const {\n akta = currentAssets?.akta ?? 0n,\n bones = currentAssets?.bones ?? 0n\n } = action.value;\n\n data = getABIEncodedValue({ akta, bones }, 'AkitaAssets', this.client.appClient.appSpec.structs)\n break;\n }\n case 'upgrade_app_ps':\n case 'add_plugin_ps':\n case 'remove_plugin_ps':\n case 'add_allowance_ps':\n case 'remove_allowance_ps':\n case 'new_escrow_ps':\n case 'update_fields_ps': {\n data = getABIEncodedValue(action.value, \"ProposalSettings\", this.client.appClient.appSpec.structs)\n break;\n }\n case 'revenue_splits': {\n data = getABIEncodedValue(SplitsToTuples(action.value), '((uint64,string),uint8,uint64)[]', this.client.appClient.appSpec.structs)\n break;\n }\n default:\n throw new Error(`Unsupported field`);\n }\n\n abiAction = { field: action.field, value: data }\n structType = 'ProposalUpdateField';\n break;\n }\n case ProposalActionEnum.UpdateWallet: {\n // No data needed — the DAO contract calls factory.updateWallet(wallet) directly\n preppedActions.push([typedAction.type, new Uint8Array()])\n continue;\n }\n default: {\n throw new Error(`Unsupported proposal action type`);\n }\n }\n\n preppedActions.push([\n typedAction.type,\n getABIEncodedValue(abiAction, structType, this.typeClient.appClient.appSpec.structs)\n ])\n }\n\n return preppedActions;\n }\n\n async initialize(params?: MaybeSigner): Promise<TxnReturn<void>> {\n\n const sendParams = this.getSendParams(params);\n\n return await this.client.send.initialize({\n ...sendParams,\n args: {}\n })\n }\n\n async newProposal<TClient extends SDKClient>({\n sender,\n signer,\n cid = EMPTY_CID,\n actions,\n consolidateFees = true\n }: NewProposalParams<TClient>): Promise<{\n groupId: string;\n confirmedRound: bigint;\n txIDs: string[];\n } & AppReturn<bigint | undefined>> {\n\n const sendParams = this.getRequiredSendParams({ sender, signer });\n\n const preppedActions = await this.prepProposalActions<TClient>(actions)\n\n const group = this.client.newGroup()\n\n const { total } = await this.client.proposalCost({ args: { actions: preppedActions } })\n\n const payment = this.client.algorand.createTransaction.payment({\n ...sendParams,\n receiver: this.client.appAddress.toString(),\n amount: microAlgo(total),\n })\n\n group.newProposal({\n ...sendParams,\n args: {\n payment,\n cid,\n actions: preppedActions\n }\n })\n\n for (let i = 0; i < actions.length; i++) {\n group.opUp({ args: {}, note: `${i}` })\n }\n\n const length = await (await group.composer()).count()\n\n const suggestedParams = await this.client.algorand.getSuggestedParams()\n const foundation = (await (await group.composer()).build()).atc\n\n const maxFees = new Map<number, AlgoAmount>();\n for (let i = 0; i < length; i += 1) {\n maxFees.set(i, microAlgo(257_000));\n }\n\n const populatedGroup = await prepareGroupForSending(\n foundation,\n this.client.algorand.client.algod,\n {\n coverAppCallInnerTransactionFees: true,\n populateAppCallResources: true\n },\n {\n maxFees,\n suggestedParams: suggestedParams,\n },\n )\n\n let overwrite: OverWriteProperties = {}\n\n if (consolidateFees) {\n const feeConsolidation = populatedGroup.clone().buildGroup();\n const totalFees = feeConsolidation.reduce((acc, txn) => acc + txn.txn.fee, 0n);\n overwrite.fees = new Map([\n [0, microAlgo(totalFees)],\n ...Array.from({ length: length - 1 }, (_, i) => [i + 1, microAlgo(0)] as [number, AlgoAmount]),\n ])\n }\n\n const finalGroup = forceProperties(populatedGroup, overwrite)\n\n const groupId = finalGroup.buildGroup()[0].txn.group!.toString()\n\n const { methodResults, ...rest } = await finalGroup.execute(this.client.algorand.client.algod, 10)\n\n return { groupId, ...rest, return: methodResults ? methodResults[0].returnValue as bigint : undefined }\n }\n\n async editProposal<TClient extends SDKClient>({\n sender,\n signer,\n id,\n cid,\n actions\n }: EditProposalParams<TClient>): Promise<TxnReturn<void>> {\n\n const sendParams = this.getRequiredSendParams({ sender, signer });\n\n const preppedActions = await this.prepProposalActions<TClient>(actions)\n\n const req = await Promise.allSettled([\n this.client.state.box.proposals.value(id),\n this.client.proposalCost({ args: { actions: preppedActions } })\n ])\n\n if (req[0].status === 'rejected' || req[0].value === undefined) {\n throw new Error(`Proposal with id: ${id} not found`);\n }\n\n const { feesPaid } = req[0].value;\n\n if (req[1].status === 'rejected') {\n throw new Error(`Failed to calculate proposal cost: ${req[1].reason}`);\n }\n\n const results = req[1].value;\n const cost = results.total ?? 0n;\n\n let paymentRequired = feesPaid < cost;\n\n if (paymentRequired) {\n const payment = this.client.algorand.createTransaction.payment({\n ...sendParams,\n receiver: this.client.appAddress.toString(),\n amount: microAlgo(cost - feesPaid),\n })\n\n return await this.client.send.editProposalWithPayment({\n ...sendParams,\n args: {\n payment,\n id,\n cid,\n actions: preppedActions,\n }\n })\n } else {\n return await this.client.send.editProposal({\n ...sendParams,\n args: {\n id,\n cid,\n actions: preppedActions\n }\n })\n }\n }\n\n async submitProposal({ sender, signer, proposalId }: ContractArgs['submitProposal(uint64)void'] & MaybeSigner): Promise<TxnReturn<void>> {\n\n const sendParams = this.getRequiredSendParams({ sender, signer });\n\n return await this.client.send.submitProposal({\n ...sendParams,\n args: { proposalId }\n })\n }\n\n async voteProposal({ proposalId, vote, sender, signer }: ContractArgs['voteProposal(pay,uint64,uint8)void'] & MaybeSigner): Promise<TxnReturn<void>> {\n\n const sendParams = this.getRequiredSendParams({ sender, signer });\n\n const mbrPayment = this.client.algorand.createTransaction.payment({\n ...sendParams,\n receiver: this.client.appAddress.toString(),\n amount: microAlgo(DAOProposalVotesMBR),\n });\n\n return await this.client.send.voteProposal({\n ...sendParams,\n args: { mbrPayment, proposalId, vote }\n })\n }\n\n async finalizeProposal({ sender, signer, proposalId }: ContractArgs['finalizeProposal(uint64)void'] & MaybeSigner): Promise<TxnReturn<void>> {\n\n const sendParams = this.getRequiredSendParams({ sender, signer });\n\n return await this.client.send.finalizeProposal({\n ...sendParams,\n args: { proposalId }\n })\n }\n\n async executeProposal({ proposalId, sender, signer }: ContractArgs['executeProposal(uint64)void'] & MaybeSigner): Promise<TxnReturn<void>> {\n\n const sendParams = this.getRequiredSendParams({ sender, signer });\n\n return await this.client.send.executeProposal({\n ...sendParams,\n args: { proposalId }\n })\n }\n\n async getGlobalState(): Promise<AkitaDaoGlobalState> {\n return await this.client.state.global.getAll() as unknown as AkitaDaoGlobalState;\n }\n\n async setupCost(params?: MaybeSigner): Promise<bigint> {\n\n const sendParams = this.getSendParams({\n sender: this.readerAccount,\n signer: emptySigner,\n ...params\n });\n\n const cost = await this.client.setupCost({\n ...sendParams,\n args: {}\n });\n\n return cost;\n }\n\n async proposalCost<TClient extends SDKClient>({ sender, signer, actions }: { actions: ProposalAction<TClient>[] } & MaybeSigner): Promise<ProposalCostInfo> {\n\n const sendParams = this.getSendParams({\n sender: sender ?? this.readerAccount,\n signer: signer ?? emptySigner\n });\n\n const requirements = await this.client.proposalCost({\n ...sendParams,\n args: { actions: await this.prepProposalActions(actions) },\n });\n\n return requirements\n }\n\n /**\n * Maps proposal action type enum to its corresponding struct type name\n */\n private getActionStructType(actionType: number): string {\n switch (actionType) {\n case ProposalActionEnum.UpgradeApp:\n return 'ProposalUpgradeApp';\n case ProposalActionEnum.AddPlugin:\n return 'ProposalAddPlugin';\n case ProposalActionEnum.AddNamedPlugin:\n return 'ProposalAddNamedPlugin';\n case ProposalActionEnum.ExecutePlugin:\n return 'ProposalExecutePlugin';\n case ProposalActionEnum.RemoveExecutePlugin:\n return 'ProposalRemoveExecutePlugin';\n case ProposalActionEnum.RemovePlugin:\n return 'ProposalRemovePlugin';\n case ProposalActionEnum.RemoveNamedPlugin:\n return 'ProposalRemoveNamedPlugin';\n case ProposalActionEnum.AddAllowances:\n return 'ProposalAddAllowances';\n case ProposalActionEnum.RemoveAllowances:\n return 'ProposalRemoveAllowances';\n case ProposalActionEnum.NewEscrow:\n return 'ProposalNewEscrow';\n case ProposalActionEnum.ToggleEscrowLock:\n return 'ProposalToggleEscrowLock';\n case ProposalActionEnum.UpdateFields:\n return 'ProposalUpdateField';\n case ProposalActionEnum.UpdateWallet:\n return ''; // No struct — empty data\n default:\n throw new Error(`Unknown proposal action type: ${actionType}`);\n }\n }\n\n /**\n * Decodes the raw action bytes into their typed struct representation\n */\n private decodeProposalAction(actionType: number, actionData: Uint8Array): DecodedProposalAction {\n const structType = this.getActionStructType(actionType);\n const structs = this.typeClient.appClient.appSpec.structs;\n\n switch (actionType) {\n case ProposalActionEnum.UpgradeApp: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalUpgradeApp;\n return { type: ProposalActionEnum.UpgradeApp, ...decoded };\n }\n case ProposalActionEnum.AddPlugin: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalAddPlugin;\n return { type: ProposalActionEnum.AddPlugin, ...decoded };\n }\n case ProposalActionEnum.AddNamedPlugin: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalAddNamedPlugin;\n return { type: ProposalActionEnum.AddNamedPlugin, ...decoded };\n }\n case ProposalActionEnum.ExecutePlugin: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalExecutePlugin;\n return { type: ProposalActionEnum.ExecutePlugin, ...decoded };\n }\n case ProposalActionEnum.RemoveExecutePlugin: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalRemoveExecutePlugin;\n return { type: ProposalActionEnum.RemoveExecutePlugin, ...decoded };\n }\n case ProposalActionEnum.RemovePlugin: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalRemovePlugin;\n return { type: ProposalActionEnum.RemovePlugin, ...decoded };\n }\n case ProposalActionEnum.RemoveNamedPlugin: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalRemoveNamedPlugin;\n return { type: ProposalActionEnum.RemoveNamedPlugin, ...decoded };\n }\n case ProposalActionEnum.AddAllowances: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalAddAllowances;\n return { type: ProposalActionEnum.AddAllowances, ...decoded };\n }\n case ProposalActionEnum.RemoveAllowances: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalRemoveAllowances;\n return { type: ProposalActionEnum.RemoveAllowances, ...decoded };\n }\n case ProposalActionEnum.NewEscrow: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalNewEscrow;\n return { type: ProposalActionEnum.NewEscrow, ...decoded };\n }\n case ProposalActionEnum.ToggleEscrowLock: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalToggleEscrowLock;\n return { type: ProposalActionEnum.ToggleEscrowLock, ...decoded };\n }\n case ProposalActionEnum.UpdateFields: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalUpdateField;\n return { type: ProposalActionEnum.UpdateFields, ...decoded };\n }\n case ProposalActionEnum.UpdateWallet: {\n return { type: ProposalActionEnum.UpdateWallet };\n }\n default:\n throw new Error(`Unknown proposal action type: ${actionType}`);\n }\n }\n\n /**\n * Fetches a proposal by ID and decodes all action data into typed structs\n */\n async getProposal(proposalId: bigint): Promise<DecodedProposal> {\n const proposal = await this.client.getProposal({ args: { proposalId } });\n\n if (!proposal) {\n throw new Error(`Proposal with id: ${proposalId} not found`);\n }\n\n const decodedActions: DecodedProposalAction[] = proposal.actions.map(([actionType, actionData]) => {\n return this.decodeProposalAction(actionType, actionData);\n });\n\n return {\n status: proposal.status,\n cid: proposal.cid,\n votes: proposal.votes,\n creator: proposal.creator,\n votingTs: proposal.votingTs,\n created: proposal.created,\n feesPaid: proposal.feesPaid,\n actions: decodedActions\n };\n }\n}"]}
|
|
1
|
+
{"version":3,"sources":["/Users/kylebreeding/akita/akita-sc/projects/akita-sdk/dist/chunk-YNEEL36U.js","../src/generated/AkitaDAOTypesClient.ts","../src/dao/types.ts","../src/dao/constants.ts","../src/dao/index.ts"],"names":["SplitDistributionType","ProposalActionEnum","wallet"],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACA;ACdA,6EAA6E;AAC7E;AACE;AAAa,+EASR;AACP,iFAA+K;AAKxK,IAAM,SAAA,EAA0B,EAAC,MAAA,EAAO,eAAA,EAAgB,SAAA,EAAU,EAAC,uBAAA,EAAwB,CAAC,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,YAAA,EAAa,MAAA,EAAO,6CAA4C,CAAC,CAAA,EAAE,wBAAA,EAAyB,CAAC,EAAC,MAAA,EAAO,MAAA,EAAO,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,UAAS,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,gBAAA,EAAiB,MAAA,EAAO,QAAO,CAAA,EAAE,EAAC,MAAA,EAAO,WAAA,EAAY,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,UAAA,EAAW,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,SAAA,EAAU,MAAA,EAAO,qBAAoB,CAAA,EAAE,EAAC,MAAA,EAAO,WAAA,EAAY,MAAA,EAAO,OAAM,CAAA,EAAE,EAAC,MAAA,EAAO,iBAAA,EAAkB,MAAA,EAAO,OAAM,CAAA,EAAE,EAAC,MAAA,EAAO,WAAA,EAAY,MAAA,EAAO,OAAM,CAAA,EAAE,EAAC,MAAA,EAAO,iBAAA,EAAkB,MAAA,EAAO,OAAM,CAAA,EAAE,EAAC,MAAA,EAAO,KAAA,EAAM,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,OAAA,EAAQ,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,UAAA,EAAW,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,eAAA,EAAgB,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,UAAA,EAAW,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,YAAA,EAAa,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,YAAA,EAAa,MAAA,EAAO,6CAA4C,CAAC,CAAA,EAAE,mBAAA,EAAoB,CAAC,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,UAAS,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,gBAAA,EAAiB,MAAA,EAAO,QAAO,CAAA,EAAE,EAAC,MAAA,EAAO,WAAA,EAAY,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,UAAA,EAAW,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,SAAA,EAAU,MAAA,EAAO,qBAAoB,CAAA,EAAE,EAAC,MAAA,EAAO,WAAA,EAAY,MAAA,EAAO,OAAM,CAAA,EAAE,EAAC,MAAA,EAAO,iBAAA,EAAkB,MAAA,EAAO,OAAM,CAAA,EAAE,EAAC,MAAA,EAAO,WAAA,EAAY,MAAA,EAAO,OAAM,CAAA,EAAE,EAAC,MAAA,EAAO,iBAAA,EAAkB,MAAA,EAAO,OAAM,CAAA,EAAE,EAAC,MAAA,EAAO,KAAA,EAAM,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,OAAA,EAAQ,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,UAAA,EAAW,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,eAAA,EAAgB,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,UAAA,EAAW,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,YAAA,EAAa,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,YAAA,EAAa,MAAA,EAAO,6CAA4C,CAAC,CAAA,EAAE,4BAAA,EAA6B,CAAC,EAAC,MAAA,EAAO,MAAA,EAAO,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,cAAA,EAAe,MAAA,EAAO,WAAU,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,aAAY,CAAA,EAAE,EAAC,MAAA,EAAO,YAAA,EAAa,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,WAAA,EAAY,MAAA,EAAO,SAAQ,CAAC,CAAA,EAAE,uBAAA,EAAwB,CAAC,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,cAAA,EAAe,MAAA,EAAO,WAAU,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,aAAY,CAAA,EAAE,EAAC,MAAA,EAAO,YAAA,EAAa,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,WAAA,EAAY,MAAA,EAAO,SAAQ,CAAC,CAAA,EAAE,mBAAA,EAAoB,CAAC,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAC,CAAA,EAAE,0BAAA,EAA2B,CAAC,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,WAAU,CAAC,CAAA,EAAE,6BAAA,EAA8B,CAAC,EAAC,MAAA,EAAO,cAAA,EAAe,MAAA,EAAO,WAAU,CAAC,CAAA,EAAE,2BAAA,EAA4B,CAAC,EAAC,MAAA,EAAO,MAAA,EAAO,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,UAAS,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAC,CAAA,EAAE,sBAAA,EAAuB,CAAC,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,UAAS,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAC,CAAA,EAAE,0BAAA,EAA2B,CAAC,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,SAAQ,CAAC,CAAA,EAAE,qBAAA,EAAsB,CAAC,EAAC,MAAA,EAAO,OAAA,EAAQ,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,OAAA,EAAQ,MAAA,EAAO,SAAQ,CAAC,CAAA,EAAE,oBAAA,EAAqB,CAAC,EAAC,MAAA,EAAO,KAAA,EAAM,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,cAAA,EAAe,MAAA,EAAO,WAAU,CAAA,EAAE,EAAC,MAAA,EAAO,QAAA,EAAS,MAAA,EAAO,aAAY,CAAA,EAAE,EAAC,MAAA,EAAO,YAAA,EAAa,MAAA,EAAO,SAAQ,CAAA,EAAE,EAAC,MAAA,EAAO,WAAA,EAAY,MAAA,EAAO,SAAQ,CAAC,EAAC,CAAA,EAAE,SAAA,EAAU,CAAC,EAAC,MAAA,EAAO,yBAAA,EAA0B,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,4CAAA,EAA6C,QAAA,EAAS,oBAAA,EAAqB,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,4CAAA,EAA6C,QAAA,EAAS,qBAAoB,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,wBAAA,EAAyB,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,yKAAA,EAA0K,QAAA,EAAS,mBAAA,EAAoB,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,yKAAA,EAA0K,QAAA,EAAS,oBAAmB,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,6BAAA,EAA8B,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,gLAAA,EAAiL,QAAA,EAAS,wBAAA,EAAyB,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,gLAAA,EAAiL,QAAA,EAAS,yBAAwB,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,2BAAA,EAA4B,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,yBAAA,EAA0B,QAAA,EAAS,sBAAA,EAAuB,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,yBAAA,EAA0B,QAAA,EAAS,uBAAsB,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,gCAAA,EAAiC,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,gCAAA,EAAiC,QAAA,EAAS,2BAAA,EAA4B,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,gCAAA,EAAiC,QAAA,EAAS,4BAA2B,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,4BAAA,EAA6B,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,mDAAA,EAAoD,QAAA,EAAS,uBAAA,EAAwB,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,mDAAA,EAAoD,QAAA,EAAS,wBAAuB,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,iCAAA,EAAkC,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,4CAAA,EAA6C,QAAA,EAAS,4BAAA,EAA6B,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,4CAAA,EAA6C,QAAA,EAAS,6BAA4B,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,kCAAA,EAAmC,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,YAAA,EAAa,QAAA,EAAS,6BAAA,EAA8B,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,YAAA,EAAa,QAAA,EAAS,8BAA6B,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,4BAAA,EAA6B,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,qDAAA,EAAsD,QAAA,EAAS,uBAAA,EAAwB,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,qDAAA,EAAsD,QAAA,EAAS,wBAAuB,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,+BAAA,EAAgC,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,mBAAA,EAAoB,QAAA,EAAS,0BAAA,EAA2B,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,mBAAA,EAAoB,QAAA,EAAS,2BAA0B,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,wBAAA,EAAyB,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,UAAA,EAAW,QAAA,EAAS,mBAAA,EAAoB,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,UAAA,EAAW,QAAA,EAAS,oBAAmB,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,+BAAA,EAAgC,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,UAAA,EAAW,QAAA,EAAS,0BAAA,EAA2B,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,UAAA,EAAW,QAAA,EAAS,2BAA0B,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAA,EAAE,EAAC,MAAA,EAAO,0BAAA,EAA2B,MAAA,EAAO,CAAC,EAAC,MAAA,EAAO,iBAAA,EAAkB,QAAA,EAAS,qBAAA,EAAsB,MAAA,EAAO,QAAO,CAAC,CAAA,EAAE,SAAA,EAAU,EAAC,MAAA,EAAO,iBAAA,EAAkB,QAAA,EAAS,sBAAqB,CAAA,EAAE,SAAA,EAAU,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,MAAM,EAAC,CAAA,EAAE,UAAA,EAAW,IAAA,EAAK,QAAA,EAAS,CAAC,CAAA,EAAE,iBAAA,EAAkB,CAAC,EAAC,CAAC,CAAA,EAAE,MAAA,EAAO,CAAC,EAAA,EAAG,EAAE,CAAA,EAAE,UAAA,EAAW,CAAC,CAAA,EAAE,OAAA,EAAQ,EAAC,QAAA,EAAS,EAAC,QAAA,EAAS,EAAC,MAAA,EAAO,CAAA,EAAE,OAAA,EAAQ,EAAC,CAAA,EAAE,OAAA,EAAQ,EAAC,MAAA,EAAO,CAAA,EAAE,OAAA,EAAQ,EAAC,EAAC,CAAA,EAAE,MAAA,EAAO,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,OAAA,EAAQ,CAAC,CAAA,EAAE,KAAA,EAAM,CAAC,EAAC,CAAA,EAAE,MAAA,EAAO,EAAC,QAAA,EAAS,CAAC,CAAA,EAAE,OAAA,EAAQ,CAAC,CAAA,EAAE,KAAA,EAAM,CAAC,EAAC,EAAC,CAAA,EAAE,aAAA,EAAc,EAAC,QAAA,EAAS,CAAC,MAAM,CAAA,EAAE,MAAA,EAAO,CAAC,EAAC,CAAA,EAAE,YAAA,EAAa,EAAC,UAAA,EAAW,EAAC,YAAA,EAAa,CAAC,EAAC,IAAA,EAAK,CAAC,EAAE,CAAA,EAAE,cAAA,EAAe,4BAA2B,CAAA,EAAE,EAAC,IAAA,EAAK,CAAC,GAAG,CAAA,EAAE,cAAA,EAAe,2DAA0D,CAAA,EAAE,EAAC,IAAA,EAAK,CAAC,GAAG,CAAA,EAAE,cAAA,EAAe,0CAAyC,CAAC,CAAA,EAAE,gBAAA,EAAiB,OAAM,CAAA,EAAE,OAAA,EAAQ,EAAC,YAAA,EAAa,CAAC,CAAA,EAAE,gBAAA,EAAiB,OAAM,EAAC,CAAA,EAAE,QAAA,EAAS,EAAC,UAAA,EAAW,koTAAA,EAAmoT,OAAA,EAAQ,+PAA8P,CAAA,EAAE,UAAA,EAAW,EAAC,UAAA,EAAW,sUAAA,EAAuU,OAAA,EAAQ,WAAU,CAAA,EAAE,QAAA,EAAS,CAAC,CAAA,EAAE,mBAAA,EAAoB,CAAC,EAAC,CAAA;AA8cvykB,IAAe,2BAAA,EAAf,MAA0C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO/C,OAAO,uBAAA,CAAwB,MAAA,EAA0W;AACvY,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,+GAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,sBAAA,CAAuB,MAAA,EAA41B;AACx3B,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,wWAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,2BAAA,CAA4B,MAAA,EAAk4B;AACn6B,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,2XAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,yBAAA,CAA0B,MAAA,EAAkS;AACjU,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,2EAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,8BAAA,CAA+B,MAAA,EAAwU;AAC5W,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,8FAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,0BAAA,CAA2B,MAAA,EAA4Y;AAC5a,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,gIAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,+BAAA,CAAgC,MAAA,EAA0X;AAC/Z,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,uHAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,gCAAA,CAAiC,MAAA,EAA4P;AAClS,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,wDAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,0BAAA,CAA2B,MAAA,EAAoZ;AACpb,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,oIAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,6BAAA,CAA8B,MAAA,EAAkR;AACrT,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,mEAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,sBAAA,CAAuB,MAAA,EAAgO;AAC5P,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,0CAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,6BAAA,CAA8B,MAAA,EAA8O;AACjR,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,iDAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,wBAAA,CAAyB,MAAA,EAAgQ;AAC9R,IAAA,OAAO;AAAA,MACL,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,0DAAA;AAAA,MACR,IAAA,EAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK;AAAA,IACrE,CAAA;AAAA,EACF;AACF,CAAA;AAkJO,IAAM,oBAAA,YAAN,MAAM,qBAAoB;AAAA;AAAA;AAAA;AAAA,EAIf;AAAA,EAchB,WAAA,CAAY,iBAAA,EAAkE;AAC5E,IAAA,IAAA,CAAK,UAAA,EAAY,kBAAA,WAA6B,qBAAA,EAAa,kBAAA,EAAoB,IAAI,yBAAA,CAAW;AAAA,MAC5F,GAAG,iBAAA;AAAA,MACH,OAAA,EAAS;AAAA,IACX,CAAC,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,iBAAA,CAA2E,MAAA,EAAoB,WAAA,EAAoC;AACjI,IAAA,OAAO,YAAA,IAAgB,KAAA,EAAA,EAAY,2CAAA,WAA8C,EAAa,IAAA,CAAK,SAAA,CAAU,YAAA,CAAa,MAAM,CAAA,EAAG,QAAA,CAAS,OAAO,EAAA,EAAI,KAAA,CAAA;AAAA,EACzJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAA,MAAoB,kBAAA,CAAmB,MAAA,EAAyF;AAC9H,IAAA,OAAO,IAAI,oBAAA,CAAoB,MAAM,oBAAA,CAAW,kBAAA,CAAmB,EAAC,GAAG,MAAA,EAAQ,OAAA,EAAS,SAAQ,CAAC,CAAC,CAAA;AAAA,EACpG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,OAAA,MAAa,WAAA,CACX,MAAA,EAC8B;AAC9B,IAAA,OAAO,IAAI,oBAAA,CAAoB,MAAM,oBAAA,CAAW,WAAA,CAAY,EAAC,GAAG,MAAA,EAAQ,OAAA,EAAS,SAAQ,CAAC,CAAC,CAAA;AAAA,EAC7F;AAAA;AAAA,EAGA,IAAW,KAAA,CAAA,EAAQ;AACjB,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,KAAA;AAAA,EACxB;AAAA;AAAA,EAGA,IAAW,UAAA,CAAA,EAAa;AACtB,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,UAAA;AAAA,EACxB;AAAA;AAAA,EAGA,IAAW,OAAA,CAAA,EAAU;AACnB,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,OAAA;AAAA,EACxB;AAAA;AAAA,EAGA,IAAW,OAAA,CAAA,EAAU;AACnB,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,OAAA;AAAA,EACxB;AAAA;AAAA,EAGA,IAAW,QAAA,CAAA,EAA2B;AACpC,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,QAAA;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA,iBAKS,OAAA,EAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOhB,UAAA,EAAY,CAAC,MAAA,EAAA,GAA6C;AACxD,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,UAAA,CAAW,MAAM,CAAA;AAAA,IACrD,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,uBAAA,EAAyB,CAAC,MAAA,EAAA,GAA8V;AACtX,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,uBAAA,CAAwB,MAAM,CAAC,CAAA;AAAA,IAC9F,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,sBAAA,EAAwB,CAAC,MAAA,EAAA,GAAg1B;AACv2B,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,sBAAA,CAAuB,MAAM,CAAC,CAAA;AAAA,IAC7F,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,2BAAA,EAA6B,CAAC,MAAA,EAAA,GAAs3B;AACl5B,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,2BAAA,CAA4B,MAAM,CAAC,CAAA;AAAA,IAClG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,yBAAA,EAA2B,CAAC,MAAA,EAAA,GAAsR;AAChT,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,yBAAA,CAA0B,MAAM,CAAC,CAAA;AAAA,IAChG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,8BAAA,EAAgC,CAAC,MAAA,EAAA,GAA4T;AAC3V,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,8BAAA,CAA+B,MAAM,CAAC,CAAA;AAAA,IACrG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,0BAAA,EAA4B,CAAC,MAAA,EAAA,GAAgY;AAC3Z,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,0BAAA,CAA2B,MAAM,CAAC,CAAA;AAAA,IACjG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,+BAAA,EAAiC,CAAC,MAAA,EAAA,GAA8W;AAC9Y,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,+BAAA,CAAgC,MAAM,CAAC,CAAA;AAAA,IACtG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,gCAAA,EAAkC,CAAC,MAAA,EAAA,GAAgP;AACjR,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,gCAAA,CAAiC,MAAM,CAAC,CAAA;AAAA,IACvG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,0BAAA,EAA4B,CAAC,MAAA,EAAA,GAAwY;AACna,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,0BAAA,CAA2B,MAAM,CAAC,CAAA;AAAA,IACjG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,6BAAA,EAA+B,CAAC,MAAA,EAAA,GAAsQ;AACpS,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,6BAAA,CAA8B,MAAM,CAAC,CAAA;AAAA,IACpG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,sBAAA,EAAwB,CAAC,MAAA,EAAA,GAAoN;AAC3O,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,sBAAA,CAAuB,MAAM,CAAC,CAAA;AAAA,IAC7F,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,6BAAA,EAA+B,CAAC,MAAA,EAAA,GAAkO;AAChQ,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,6BAAA,CAA8B,MAAM,CAAC,CAAA;AAAA,IACpG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,wBAAA,EAA0B,CAAC,MAAA,EAAA,GAAoP;AAC7Q,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,CAAK,0BAAA,CAA2B,wBAAA,CAAyB,MAAM,CAAC,CAAA;AAAA,IAC/F;AAAA,EAEF,EAAA;AAAA;AAAA;AAAA;AAAA,kBAKS,kBAAA,EAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAO3B,UAAA,EAAY,CAAC,MAAA,EAAA,GAA6C;AACxD,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,UAAA,CAAW,MAAM,CAAA;AAAA,IAChE,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,uBAAA,EAAyB,CAAC,MAAA,EAAA,GAA8V;AACtX,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,uBAAA,CAAwB,MAAM,CAAC,CAAA;AAAA,IACzG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,sBAAA,EAAwB,CAAC,MAAA,EAAA,GAAg1B;AACv2B,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,sBAAA,CAAuB,MAAM,CAAC,CAAA;AAAA,IACxG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,2BAAA,EAA6B,CAAC,MAAA,EAAA,GAAs3B;AACl5B,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,2BAAA,CAA4B,MAAM,CAAC,CAAA;AAAA,IAC7G,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,yBAAA,EAA2B,CAAC,MAAA,EAAA,GAAsR;AAChT,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,yBAAA,CAA0B,MAAM,CAAC,CAAA;AAAA,IAC3G,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,8BAAA,EAAgC,CAAC,MAAA,EAAA,GAA4T;AAC3V,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,8BAAA,CAA+B,MAAM,CAAC,CAAA;AAAA,IAChH,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,0BAAA,EAA4B,CAAC,MAAA,EAAA,GAAgY;AAC3Z,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,0BAAA,CAA2B,MAAM,CAAC,CAAA;AAAA,IAC5G,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,+BAAA,EAAiC,CAAC,MAAA,EAAA,GAA8W;AAC9Y,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,+BAAA,CAAgC,MAAM,CAAC,CAAA;AAAA,IACjH,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,gCAAA,EAAkC,CAAC,MAAA,EAAA,GAAgP;AACjR,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,gCAAA,CAAiC,MAAM,CAAC,CAAA;AAAA,IAClH,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,0BAAA,EAA4B,CAAC,MAAA,EAAA,GAAwY;AACna,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,0BAAA,CAA2B,MAAM,CAAC,CAAA;AAAA,IAC5G,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,6BAAA,EAA+B,CAAC,MAAA,EAAA,GAAsQ;AACpS,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,6BAAA,CAA8B,MAAM,CAAC,CAAA;AAAA,IAC/G,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,sBAAA,EAAwB,CAAC,MAAA,EAAA,GAAoN;AAC3O,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,sBAAA,CAAuB,MAAM,CAAC,CAAA;AAAA,IACxG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,6BAAA,EAA+B,CAAC,MAAA,EAAA,GAAkO;AAChQ,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,6BAAA,CAA8B,MAAM,CAAC,CAAA;AAAA,IAC/G,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,wBAAA,EAA0B,CAAC,MAAA,EAAA,GAAoP;AAC7Q,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,0BAAA,CAA2B,wBAAA,CAAyB,MAAM,CAAC,CAAA;AAAA,IAC1G;AAAA,EAEF,EAAA;AAAA;AAAA;AAAA;AAAA,kBAKS,KAAA,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOd,UAAA,EAAY,CAAC,MAAA,EAAA,GAA0D;AACrE,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,UAAA,CAAW,MAAM,CAAA;AAAA,IACnD,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,uBAAA,EAAyB,MAAA,CAAO,MAAA,EAAA,GAA2W;AACzY,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,uBAAA,CAAwB,MAAM,CAAC,CAAA;AACxG,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAAwK,CAAA;AAAA,IAC5M,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,sBAAA,EAAwB,MAAA,CAAO,MAAA,EAAA,GAA61B;AAC13B,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,sBAAA,CAAuB,MAAM,CAAC,CAAA;AACvG,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAAia,CAAA;AAAA,IACrc,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,2BAAA,EAA6B,MAAA,CAAO,MAAA,EAAA,GAAm4B;AACr6B,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,2BAAA,CAA4B,MAAM,CAAC,CAAA;AAC5G,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAAob,CAAA;AAAA,IACxd,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,yBAAA,EAA2B,MAAA,CAAO,MAAA,EAAA,GAAmS;AACnU,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,yBAAA,CAA0B,MAAM,CAAC,CAAA;AAC1G,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAAoI,CAAA;AAAA,IACxK,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,8BAAA,EAAgC,MAAA,CAAO,MAAA,EAAA,GAAyU;AAC9W,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,8BAAA,CAA+B,MAAM,CAAC,CAAA;AAC/G,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAAuJ,CAAA;AAAA,IAC3L,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,0BAAA,EAA4B,MAAA,CAAO,MAAA,EAAA,GAA6Y;AAC9a,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,0BAAA,CAA2B,MAAM,CAAC,CAAA;AAC3G,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAAyL,CAAA;AAAA,IAC7N,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,+BAAA,EAAiC,MAAA,CAAO,MAAA,EAAA,GAA2X;AACja,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,+BAAA,CAAgC,MAAM,CAAC,CAAA;AAChH,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAAgL,CAAA;AAAA,IACpN,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,gCAAA,EAAkC,MAAA,CAAO,MAAA,EAAA,GAA6P;AACpS,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,gCAAA,CAAiC,MAAM,CAAC,CAAA;AACjH,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAAiH,CAAA;AAAA,IACrJ,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,0BAAA,EAA4B,MAAA,CAAO,MAAA,EAAA,GAAqZ;AACtb,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,0BAAA,CAA2B,MAAM,CAAC,CAAA;AAC3G,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAA6L,CAAA;AAAA,IACjO,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,6BAAA,EAA+B,MAAA,CAAO,MAAA,EAAA,GAAmR;AACvT,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,6BAAA,CAA8B,MAAM,CAAC,CAAA;AAC9G,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAA4H,CAAA;AAAA,IAChK,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,sBAAA,EAAwB,MAAA,CAAO,MAAA,EAAA,GAAiO;AAC9P,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,sBAAA,CAAuB,MAAM,CAAC,CAAA;AACvG,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAAmG,CAAA;AAAA,IACvI,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,6BAAA,EAA+B,MAAA,CAAO,MAAA,EAAA,GAA+O;AACnR,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,6BAAA,CAA8B,MAAM,CAAC,CAAA;AAC9G,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAA0G,CAAA;AAAA,IAC9I,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,wBAAA,EAA0B,MAAA,CAAO,MAAA,EAAA,GAAiQ;AAChS,MAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,wBAAA,CAAyB,MAAM,CAAC,CAAA;AACzG,MAAA,OAAO,EAAC,GAAG,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,OAAmH,CAAA;AAAA,IACvJ;AAAA,EAEF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,KAAA,CAAM,MAAA,EAA8B;AACzC,IAAA,OAAO,IAAI,oBAAA,CAAoB,IAAA,CAAK,SAAA,CAAU,KAAA,CAAM,MAAM,CAAC,CAAA;AAAA,EAC7D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,uBAAA,CAAwB,MAAA,EAA6S;AACzU,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,uBAAA,CAAwB,MAAM,CAAC,CAAA;AACxG,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,sBAAA,CAAuB,MAAA,EAA+xB;AAC1zB,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,sBAAA,CAAuB,MAAM,CAAC,CAAA;AACvG,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,2BAAA,CAA4B,MAAA,EAAq0B;AACr2B,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,2BAAA,CAA4B,MAAM,CAAC,CAAA;AAC5G,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,yBAAA,CAA0B,MAAA,EAAqO;AACnQ,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,yBAAA,CAA0B,MAAM,CAAC,CAAA;AAC1G,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,8BAAA,CAA+B,MAAA,EAA2Q;AAC9S,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,8BAAA,CAA+B,MAAM,CAAC,CAAA;AAC/G,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,0BAAA,CAA2B,MAAA,EAA+U;AAC9W,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,0BAAA,CAA2B,MAAM,CAAC,CAAA;AAC3G,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,+BAAA,CAAgC,MAAA,EAA6T;AACjW,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,+BAAA,CAAgC,MAAM,CAAC,CAAA;AAChH,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,gCAAA,CAAiC,MAAA,EAA+L;AACpO,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,gCAAA,CAAiC,MAAM,CAAC,CAAA;AACjH,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,0BAAA,CAA2B,MAAA,EAAuV;AACtX,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,0BAAA,CAA2B,MAAM,CAAC,CAAA;AAC3G,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,6BAAA,CAA8B,MAAA,EAAqN;AACvP,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,6BAAA,CAA8B,MAAM,CAAC,CAAA;AAC9G,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,sBAAA,CAAuB,MAAA,EAAmK;AAC9L,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,sBAAA,CAAuB,MAAM,CAAC,CAAA;AACvG,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,6BAAA,CAA8B,MAAA,EAAiL;AACnN,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,6BAAA,CAA8B,MAAM,CAAC,CAAA;AAC9G,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,wBAAA,CAAyB,MAAA,EAAmM;AAChO,IAAA,MAAM,OAAA,EAAS,MAAM,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,0BAAA,CAA2B,wBAAA,CAAyB,MAAM,CAAC,CAAA;AACzG,IAAA,OAAO,MAAA,CAAO,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,kBAKA,MAAA,EAAQ,CACR,EAAA;AAAA,EAEO,QAAA,CAAA,EAAkC;AACvC,IAAA,MAAM,OAAA,EAAS,IAAA;AACf,IAAA,MAAM,SAAA,EAAW,IAAA,CAAK,QAAA,CAAS,QAAA,CAAS,CAAA;AACxC,IAAA,IAAI,aAAA,EAAgC,OAAA,CAAQ,OAAA,CAAQ,CAAA;AACpD,IAAA,MAAM,cAAA,EAAwE,CAAC,CAAA;AAC/E,IAAA,OAAO;AAAA;AAAA;AAAA;AAAA,MAIL,uBAAA,CAAwB,MAAA,EAA2V;AACjX,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,uBAAA,CAAwB,MAAM,CAAC,CAAC,CAAA;AAC/H,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,+GAAA,EAAiH,CAAC,CAAC,CAAA;AACtK,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,sBAAA,CAAuB,MAAA,EAA60B;AACl2B,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,sBAAA,CAAuB,MAAM,CAAC,CAAC,CAAA;AAC9H,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,wWAAA,EAA0W,CAAC,CAAC,CAAA;AAC/Z,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,2BAAA,CAA4B,MAAA,EAAm3B;AAC74B,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,2BAAA,CAA4B,MAAM,CAAC,CAAC,CAAA;AACnI,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,2XAAA,EAA6X,CAAC,CAAC,CAAA;AAClb,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,yBAAA,CAA0B,MAAA,EAAmR;AAC3S,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,yBAAA,CAA0B,MAAM,CAAC,CAAC,CAAA;AACjI,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,2EAAA,EAA6E,CAAC,CAAC,CAAA;AAClI,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,8BAAA,CAA+B,MAAA,EAAyT;AACtV,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,8BAAA,CAA+B,MAAM,CAAC,CAAC,CAAA;AACtI,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,8FAAA,EAAgG,CAAC,CAAC,CAAA;AACrJ,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,0BAAA,CAA2B,MAAA,EAA6X;AACtZ,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,0BAAA,CAA2B,MAAM,CAAC,CAAC,CAAA;AAClI,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,gIAAA,EAAkI,CAAC,CAAC,CAAA;AACvL,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,+BAAA,CAAgC,MAAA,EAA2W;AACzY,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,+BAAA,CAAgC,MAAM,CAAC,CAAC,CAAA;AACvI,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,uHAAA,EAAyH,CAAC,CAAC,CAAA;AAC9K,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,gCAAA,CAAiC,MAAA,EAA6O;AAC5Q,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,gCAAA,CAAiC,MAAM,CAAC,CAAC,CAAA;AACxI,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,wDAAA,EAA0D,CAAC,CAAC,CAAA;AAC/G,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,0BAAA,CAA2B,MAAA,EAAqY;AAC9Z,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,0BAAA,CAA2B,MAAM,CAAC,CAAC,CAAA;AAClI,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,oIAAA,EAAsI,CAAC,CAAC,CAAA;AAC3L,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,6BAAA,CAA8B,MAAA,EAAmQ;AAC/R,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,6BAAA,CAA8B,MAAM,CAAC,CAAC,CAAA;AACrI,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,mEAAA,EAAqE,CAAC,CAAC,CAAA;AAC1H,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,sBAAA,CAAuB,MAAA,EAAiN;AACtO,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,sBAAA,CAAuB,MAAM,CAAC,CAAC,CAAA;AAC9H,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,0CAAA,EAA4C,CAAC,CAAC,CAAA;AACjG,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,6BAAA,CAA8B,MAAA,EAA+N;AAC3P,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,6BAAA,CAA8B,MAAM,CAAC,CAAC,CAAA;AACrI,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,iDAAA,EAAmD,CAAC,CAAC,CAAA;AACxG,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,wBAAA,CAAyB,MAAA,EAAiP;AACxQ,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,MAAA,CAAA,EAAA,GAAY,QAAA,CAAS,oBAAA,CAAqB,MAAM,MAAA,CAAO,MAAA,CAAO,wBAAA,CAAyB,MAAM,CAAC,CAAC,CAAA;AAChI,QAAA,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,MAAA,CAAO,iBAAA,CAAkB,0DAAA,EAA4D,CAAC,CAAC,CAAA;AACjH,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA;AAAA;AAAA;AAAA,MAIA,UAAA,CAAW,MAAA,EAAiC;AAC1C,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,CAAA,EAAA,GAAM,QAAA,CAAS,UAAA,CAAW,MAAA,CAAO,MAAA,CAAO,UAAA,CAAW,MAAM,CAAC,CAAC,CAAA;AAC5F,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA,MACA,cAAA,CAAe,GAAA,EAAkB,MAAA,EAA4B;AAC3D,QAAA,aAAA,EAAe,YAAA,CAAa,IAAA,CAAK,CAAA,EAAA,GAAM,QAAA,CAAS,cAAA,CAAe,GAAA,EAAK,MAAM,CAAC,CAAA;AAC3E,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA,MACA,MAAM,QAAA,CAAA,EAAW;AACf,QAAA,MAAM,YAAA;AACN,QAAA,OAAO,QAAA;AAAA,MACT,CAAA;AAAA,MACA,MAAM,QAAA,CAAS,OAAA,EAA2B;AA1rDhD,QAAA,IAAA,EAAA;AA2rDQ,QAAA,MAAM,YAAA;AACN,QAAA,MAAM,OAAA,EAAS,MAAA,CAAO,CAAC,QAAA,EAAU,QAAA,CAAS,QAAA,CAAS,EAAA,EAAI,QAAA,CAAS,QAAA,CAAS,OAAO,CAAA,CAAA;AAChF,QAAA,OAAO;AAAA,UACL,GAAG,MAAA;AAAA,UACH,OAAA,EAAA,CAAS,GAAA,EAAA,MAAA,CAAO,OAAA,EAAA,GAAP,KAAA,EAAA,KAAA,EAAA,EAAA,EAAA,CAAgB,GAAA,CAAI,CAAC,GAAA,EAAK,CAAA,EAAA,GAAM,aAAA,CAAc,CAAC,EAAA,IAAM,KAAA,EAAA,EAAY,aAAA,CAAc,CAAC,CAAA,CAAG,GAAG,EAAA,EAAI,GAAA,CAAI,WAAA;AAAA,QACzG,CAAA;AAAA,MACF,CAAA;AAAA,MACA,MAAM,IAAA,CAAK,MAAA,EAAqB;AAlsDtC,QAAA,IAAA,EAAA;AAmsDQ,QAAA,MAAM,YAAA;AACN,QAAA,MAAM,OAAA,EAAS,MAAM,QAAA,CAAS,IAAA,CAAK,MAAM,CAAA;AACzC,QAAA,OAAO;AAAA,UACL,GAAG,MAAA;AAAA,UACH,OAAA,EAAA,CAAS,GAAA,EAAA,MAAA,CAAO,OAAA,EAAA,GAAP,KAAA,EAAA,KAAA,EAAA,EAAA,EAAA,CAAgB,GAAA,CAAI,CAAC,GAAA,EAAK,CAAA,EAAA,GAAM,aAAA,CAAc,CAAC,EAAA,IAAM,KAAA,EAAA,EAAY,aAAA,CAAc,CAAC,CAAA,CAAG,GAAG,EAAA,EAAI,GAAA,CAAI,WAAA;AAAA,QACzG,CAAA;AAAA,MACF;AAAA,IACF,CAAA;AAAA,EACF;AACF,UAAA;AD7qBA;AACA;AE77BO,IAAK,sBAAA,kBAAL,CAAA,CAAKA,sBAAAA,EAAAA,GAAL;AACL,EAAAA,sBAAAA,CAAAA,sBAAAA,CAAA,MAAA,EAAA,EAAO,EAAA,EAAA,EAAP,MAAA;AACA,EAAAA,sBAAAA,CAAAA,sBAAAA,CAAA,YAAA,EAAA,EAAa,EAAA,EAAA,EAAb,YAAA;AACA,EAAAA,sBAAAA,CAAAA,sBAAAA,CAAA,WAAA,EAAA,EAAY,EAAA,EAAA,EAAZ,WAAA;AAHU,EAAA,OAAAA,sBAAAA;AAAA,CAAA,CAAA,CAAA,sBAAA,GAAA,CAAA,CAAA,CAAA;AAYL,SAAS,cAAA,CAAe,MAAA,EAAkF;AAC/G,EAAA,OAAO,MAAA,CAAO,GAAA,CAAI,CAAC,KAAA,EAAA,GAAU,CAAC,CAAC,KAAA,CAAM,QAAA,CAAS,MAAA,EAAQ,KAAA,CAAM,QAAA,CAAS,MAAM,CAAA,EAAG,KAAA,CAAM,IAAA,EAAM,KAAA,CAAM,KAAK,CAAC,CAAA;AACxG;AFy7BA;AACA;AG3iCO,IAAK,mBAAA,kBAAL,CAAA,CAAKC,mBAAAA,EAAAA,GAAL;AACL,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,YAAA,EAAA,EAAa,EAAA,EAAA,EAAb,YAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,WAAA,EAAA,EAAY,EAAA,EAAA,EAAZ,WAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,gBAAA,EAAA,EAAiB,EAAA,EAAA,EAAjB,gBAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,eAAA,EAAA,EAAgB,EAAA,EAAA,EAAhB,eAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,qBAAA,EAAA,EAAsB,EAAA,EAAA,EAAtB,qBAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,cAAA,EAAA,EAAe,EAAA,EAAA,EAAf,cAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,mBAAA,EAAA,EAAoB,EAAA,EAAA,EAApB,mBAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,eAAA,EAAA,EAAgB,EAAA,EAAA,EAAhB,eAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,kBAAA,EAAA,EAAmB,EAAA,EAAA,EAAnB,kBAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,WAAA,EAAA,EAAY,EAAA,EAAA,EAAZ,WAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,kBAAA,EAAA,EAAmB,EAAA,EAAA,EAAnB,kBAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,cAAA,EAAA,EAAe,EAAA,EAAA,EAAf,cAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,cAAA,EAAA,EAAe,EAAA,EAAA,EAAf,cAAA;AAbU,EAAA,OAAAA,mBAAAA;AAAA,CAAA,CAAA,CAAA,mBAAA,GAAA,CAAA,CAAA,CAAA;AAgBL,IAAM,UAAA,EAAY,MAAA,CAAO,IAAA,CAAK,sCAAsC,CAAA;AAEpE,IAAM,oBAAA,EAA8B,MAAA;AH4iC3C;AACA;AIziCA;AACA,kCAA2D;AAE3D,iEAAkD;AAW3C,IAAM,YAAA,aAAN,MAAA,QAA0B,yBAAwB;AAAA,EAEvD;AAAA,kBACQ,QAAA,EAA4B,KAAA;AAAA,kBAC5B,mBAAA,EAAgD,KAAA;AAAA,EAChD;AAAA,EAER,WAAA,CAAY,MAAA,EAA8B;AACxC,IAAA,KAAA,CAAM,EAAE,OAAA,EAAS,gCAAA,EAAiB,GAAG,OAAO,CAAA,EAAG,8BAAA,CAAc,UAAU,4EAAA;AACvE,IAAA,IAAA,CAAK,WAAA,EAAa,IAAI,mBAAA,CAAoB,EAAE,QAAA,EAAU,IAAA,CAAK,QAAA,EAAU,KAAA,EAAO,GAAG,CAAC,CAAA;AAChF,IAAA,IAAA,CAAK,mBAAA,EAAqB,MAAA;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,SAAA,CAAA,EAAgC;AACpC,IAAA,GAAA,CAAI,IAAA,CAAK,OAAA,EAAS;AAChB,MAAA,OAAO,IAAA,CAAK,OAAA;AAAA,IACd;AAGA,IAAA,GAAA,CAAI,CAAC,IAAA,CAAK,kBAAA,EAAoB;AAC5B,MAAA,IAAA,CAAK,mBAAA,EAAqB,IAAA,CAAK,iBAAA,CAAkB,CAAA;AAAA,IACnD;AAEA,IAAA,OAAO,IAAA,CAAK,kBAAA;AAAA,EACd;AAAA,EAEA,MAAc,iBAAA,CAAA,EAAwC;AAEpD,IAAA,MAAM,YAAA,EAAc,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,MAAA,CAAO,CAAA;AAC1D,IAAA,GAAA,CAAI,CAAC,WAAA,EAAa;AAChB,MAAA,MAAM,IAAI,KAAA,CAAM,8EAA8E,CAAA;AAAA,IAChG;AAEA,IAAA,IAAA,CAAK,QAAA,EAAU,IAAI,+BAAA,CAAU;AAAA,MAC3B,GAAG,IAAA,CAAK,kBAAA;AAAA,MACR,aAAA,EAAe;AAAA,QACb,GAAG,IAAA,CAAK,kBAAA,CAAmB,aAAA;AAAA,QAC3B,KAAA,EAAO,WAAA;AAAA,QACP,aAAA,EAAe,IAAA,CAAK,UAAA,CAAW,MAAA;AAAA,QAC/B,aAAA,EAAe,IAAA,CAAK,UAAA,CAAW;AAAA,MACjC;AAAA,IACF,CAAC,CAAA;AAED,IAAA,OAAO,IAAA,CAAK,OAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,IAAI,MAAA,CAAA,EAAoB;AACtB,IAAA,GAAA,CAAI,CAAC,IAAA,CAAK,OAAA,EAAS;AACjB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR;AAAA,MAEF,CAAA;AAAA,IACF;AACA,IAAA,OAAO,IAAA,CAAK,OAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,MAAA,CAAO,MAAA,EAAmB;AAC5B,IAAA,IAAA,CAAK,QAAA,EAAU,MAAA;AACf,IAAA,IAAA,CAAK,mBAAA,EAAqB,OAAA,CAAQ,OAAA,CAAQ,MAAM,CAAA;AAAA,EAClD;AAAA,EAEA,MAAc,mBAAA,CAA+C,OAAA,EAAkD;AAE7G,IAAA,MAAM,YAAA,EAAc,OAAA,CAAQ,IAAA;AAAA,MAAK,CAAA,CAAA,EAAA,GAC/B,CAAA,CAAE,KAAA,IAAA,uBAAA,GACF,CAAA,CAAE,KAAA,IAAA,6BAAA,GACF,CAAA,CAAE,KAAA,IAAA,sBAAA,GACF,CAAA,CAAE,KAAA,IAAA;AAAA,IACJ,CAAA;AACA,IAAA,MAAM,OAAA,EAAS,YAAA,EAAc,MAAM,IAAA,CAAK,SAAA,CAAU,EAAA,EAAI,IAAA;AAGtD,IAAA,MAAM,eAAA,EAAmE,CAAC,CAAA;AAC1E,IAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,OAAA,CAAQ,MAAA,EAAQ,CAAA,EAAA,EAAK;AACvC,MAAA,MAAM,YAAA,EAAc,OAAA,CAAQ,CAAC,CAAA;AAC7B,MAAA,IAAI,SAAA;AACJ,MAAA,IAAI,WAAA,EAAqB,EAAA;AAEzB,MAAA,OAAA,CAAQ,WAAA,CAAY,IAAA,EAAM;AAAA,QACxB,KAAA,mBAAA,EAAoC;AAClC,UAAA,MAAM,EAAE,IAAA,EAAM,GAAG,OAAO,EAAA,EAAI,WAAA;AAE5B,UAAA,UAAA,EAAY,MAAA;AACZ,UAAA,WAAA,EAAa,oBAAA;AACb,UAAA,KAAA;AAAA,QACF;AAAA,QACA,KAAA,kBAAA;AAAA,QACA,KAAA,uBAAA,EAAwC;AACtC,UAAA,MAAM,EAAE,IAAA,EAAM,GAAG,OAAO,EAAA,EAAI,WAAA;AAE5B,UAAA,IAAI;AAAA,YACF,KAAA,EAAO,EAAA;AAAA,YACP,MAAA;AAAA,YACA,MAAA;AAAA,YACA,OAAA,EAAS,KAAA;AAAA,YACT,QAAA,EAAU,CAAC,CAAA;AAAA,YACX,OAAA,EAAS,EAAA;AAAA,YACT,MAAA,EAAQ,KAAA;AAAA,YACR,eAAA,EAAiB,EAAA;AAAA,YACjB,UAAA,EAAY,2BAAA;AAAA,YACZ,SAAA,EAAW,EAAA;AAAA,YACX,UAAA,EAAY,KAAA;AAAA,YACZ,gBAAA,EAAkB,KAAA;AAAA,YAClB,UAAA,EAAY,KAAA;AAAA,YACZ,gBAAA,EAAkB,KAAA;AAAA,YAClB,WAAA,EAAa,EAAA;AAAA,YACb,WAAA,EAAa,CAAC;AAAA,UAChB,EAAA,EAAI,MAAA;AAGJ,UAAA,IAAI,IAAA,EAAM,EAAA;AACV,UAAA,IAAI,MAAA,EAAQ,EAAA;AACZ,UAAA,IAAI,SAAA,EAAW,EAAA;AACf,UAAA,IAAI,cAAA,EAAgB,EAAA;AACpB,UAAA,IAAI,SAAA,EAAW,EAAA;AAGf,UAAA,GAAA,CAAI,MAAA,CAAO,eAAA,EAAiB;AAC1B,YAAA,IAAA,EAAM,MAAA,CAAO,GAAA;AACb,YAAA,MAAA,EAAQ,MAAA,CAAO,KAAA;AACf,YAAA,SAAA,EAAW,MAAA,CAAO,QAAA;AAClB,YAAA,cAAA,EAAgB,MAAA,CAAO,aAAA;AACvB,YAAA,SAAA,EAAW,MAAA,CAAO,QAAA;AAGlB,YAAA,GAAA,CAAI,SAAA,IAAa,GAAA,GAAM,cAAA,IAAkB,GAAA,GAAM,SAAA,IAAa,EAAA,EAAI;AAC9D,cAAA,MAAM,IAAI,KAAA,CAAM,wDAAwD,CAAA;AAAA,YAC1E;AAAA,UACF;AAEA,UAAA,MAAM,OAAA,EAAS,MAAA,CAAO,KAAA;AAEtB,UAAA,GAAA,CAAI,MAAA,EAAQ;AACV,YAAA,OAAA,EAAS,qCAAA;AAAA,UACX;AAEA,UAAA,IAAI,mBAAA,EAAuE,CAAC,CAAA;AAC5E,UAAA,GAAA,CAAI,OAAA,CAAQ,OAAA,EAAS,CAAA,EAAG;AACtB,YAAA,mBAAA,EAAqB,OAAA,CAAQ,MAAA;AAAA,cAC3B,CAAC,GAAA,EAAK,MAAA,EAAA,GAAW;AACf,gBAAA,GAAA,CAAI,gDAAA,MAAkB,CAAO,IAAI,CAAA,EAAG;AAClC,kBAAA,MAAM,UAAA,mBAAY,MAAA,CAAO,IAAA,CAAK,CAAA,CAAE,SAAA,UAAa,CAAC,GAAA;AAC9C,kBAAA,SAAA,CAAU,OAAA,CAAQ,CAAC,QAAA,EAAA,GAAa,GAAA,CAAI,IAAA,CAAK,CAAC,QAAA,EAAU,MAAA,CAAO,QAAQ,CAAC,CAAC,CAAA;AAAA,gBACvE,EAAA,KAAO;AACL,kBAAA,MAAA,CAAO,IAAA,CAAK,OAAA,CAAQ,CAAA,CAAA,EAAA,GAAK,GAAA,CAAI,IAAA,CAAK,CAAC,CAAA,EAAG,MAAA,CAAO,QAAQ,CAAC,CAAC,CAAA;AAAA,gBACzD;AACA,gBAAA,OAAO,GAAA;AAAA,cACT,CAAA;AAAA,cACA,CAAC;AAAA,YACH,CAAA;AAAA,UACF;AAEA,UAAA,MAAM,KAAA,EAA8B;AAAA,YAClC,MAAA;AAAA,YACA,MAAA;AAAA,YACA,MAAA;AAAA,YACA,KAAA;AAAA,YACA,cAAA;AAAA,YACA,SAAA;AAAA,YACA,QAAA;AAAA,YACA,OAAA,EAAS,kBAAA;AAAA,YACT,SAAA;AAAA,YACA,eAAA;AAAA,YACA,SAAA;AAAA,YACA,UAAA,EAAY,KAAA;AAAA,YACZ,eAAA;AAAA,YACA,GAAA;AAAA,YACA,KAAA;AAAA,YACA,QAAA;AAAA,YACA,aAAA;AAAA,YACA,QAAA;AAAA,YACA,UAAA;AAAA,YACA,UAAA,EAAY,gDAAA,UAA4B;AAAA,UAC1C,CAAA;AAEA,UAAA,GAAA,CAAI,IAAA,EAAM;AACR,YAAA,UAAA,EAAY,EAAE,IAAA,EAAM,GAAG,KAAK,CAAA;AAC5B,YAAA,WAAA,EAAa,wBAAA;AAAA,UACf,EAAA,KAAO;AACL,YAAA,UAAA,EAAY,IAAA;AACZ,YAAA,WAAA,EAAa,mBAAA;AAAA,UACf;AAEA,UAAA,KAAA;AAAA,QACF;AAAA,QACA,KAAA,sBAAA,EAAuC;AACrC,UAAA,MAAM,EAAE,IAAA,EAAM,GAAG,OAAO,EAAA,EAAI,WAAA;AAC5B,UAAA,MAAM,EAAE,MAAA,EAAQ,OAAO,EAAA,EAAI,MAAA;AAE3B,UAAA,GAAA,CAAI,CAAC,MAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,EAAE,MAAA,EAAQ,MAAA,EAAQ,qCAAA,EAA8B,OAAO,CAAC,CAAA,EAAG;AAClF,YAAA,IAAI;AACF,cAAA,MAAM,MAAA,CAAQ,cAAA,CAAe,EAAE,MAAA,EAAQ,MAAA,EAAQ,qCAAA,EAA8B,OAAO,CAAC,CAAA;AAAA,YACvF,EAAA,MAAA,CAAS,CAAA,EAAG;AACV,cAAA,MAAM,IAAI,KAAA,CAAM,CAAA,QAAA,EAAW,MAAM,CAAA,aAAA,EAAgB,MAAM,CAAA,UAAA,CAAY,CAAA;AAAA,YACrE;AAAA,UACF;AAEA,UAAA,UAAA,EAAY,MAAA;AACZ,UAAA,WAAA,EAAa,uBAAA;AACb,UAAA,KAAA;AAAA,QACF;AAAA,QACA,KAAA,4BAAA,EAA6C;AAC3C,UAAA,MAAM,EAAE,IAAA,EAAM,GAAG,OAAO,EAAA,EAAI,WAAA;AAE5B,UAAA,GAAA,CAAI,CAAC,MAAA,CAAQ,UAAA,CAAW,GAAA,CAAI,MAAA,CAAO,YAAY,CAAA,EAAG;AAChD,YAAA,IAAI;AACF,cAAA,MAAM,MAAA,CAAQ,YAAA,CAAa,MAAA,CAAO,YAAY,CAAA;AAAA,YAChD,EAAA,MAAA,CAAS,CAAA,EAAG;AACV,cAAA,MAAM,IAAI,KAAA,CAAM,CAAA,oBAAA,EAAuB,MAAA,CAAO,YAAY,CAAA,UAAA,CAAY,CAAA;AAAA,YACxE;AAAA,UACF;AAEA,UAAA,UAAA,EAAY,MAAA;AACZ,UAAA,WAAA,EAAa,6BAAA;AACb,UAAA,KAAA;AAAA,QACF;AAAA,QACA,KAAA,qBAAA,EAAsC;AACpC,UAAA,MAAM,EAAE,IAAA,EAAM,GAAG,OAAO,EAAA,EAAI,WAAA;AAC5B,UAAA,MAAM,EAAE,MAAA,EAAQ,MAAA,EAAQ,OAAO,EAAA,EAAI,MAAA;AAEnC,UAAA,GAAA,CAAI,CAAC,MAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,EAAE,MAAA,EAAQ,MAAA,EAAQ,OAAO,CAAC,CAAA,EAAG;AACpD,YAAA,IAAI;AACF,cAAA,MAAM,MAAA,CAAQ,cAAA,CAAe,EAAE,MAAA,EAAQ,MAAA,EAAQ,OAAO,CAAC,CAAA;AAAA,YACzD,EAAA,MAAA,CAAS,CAAA,EAAG;AACV,cAAA,MAAM,IAAI,KAAA,CAAM,CAAA,QAAA,EAAW,MAAM,CAAA,cAAA,EAAiB,MAAM,CAAA,aAAA,EAAgB,MAAM,CAAA,UAAA,CAAY,CAAA;AAAA,YAC5F;AAAA,UACF;AAEA,UAAA,UAAA,EAAY,MAAA;AACZ,UAAA,WAAA,EAAa,sBAAA;AACb,UAAA,KAAA;AAAA,QACF;AAAA,QACA,KAAA,0BAAA,EAA2C;AACzC,UAAA,MAAM,EAAE,IAAA,EAAM,GAAG,OAAO,EAAA,EAAI,WAAA;AAC5B,UAAA,MAAM,EAAE,KAAK,EAAA,EAAI,MAAA;AAEjB,UAAA,GAAA,CAAI,CAAC,MAAA,CAAQ,YAAA,CAAa,GAAA,CAAI,IAAI,CAAA,EAAG;AACnC,YAAA,IAAI;AACF,cAAA,MAAM,MAAA,CAAQ,eAAA,CAAgB,IAAI,CAAA;AAAA,YACpC,EAAA,MAAA,CAAS,CAAA,EAAG;AACV,cAAA,MAAM,IAAI,KAAA,CAAM,CAAA,cAAA,EAAiB,IAAI,CAAA,UAAA,CAAY,CAAA;AAAA,YACnD;AAAA,UACF;AAEA,UAAA,UAAA,EAAY,MAAA;AACZ,UAAA,WAAA,EAAa,2BAAA;AACb,UAAA,KAAA;AAAA,QACF;AAAA,QACA,KAAA,sBAAA,EAAuC;AACrC,UAAA,MAAM,EAAE,MAAA,EAAQ,WAAW,EAAA,EAAI,WAAA;AAE/B,UAAA,UAAA,EAAY,EAAE,MAAA,EAAQ,UAAA,EAAY,gDAAA,UAA4B,EAAE,CAAA;AAChE,UAAA,WAAA,EAAa,uBAAA;AACb,UAAA,KAAA;AAAA,QACF;AAAA,QACA,KAAA,yBAAA,EAA0C;AACxC,UAAA,MAAM,EAAE,IAAA,EAAM,GAAG,OAAO,EAAA,EAAI,WAAA;AAE5B,UAAA,UAAA,EAAY,MAAA;AACZ,UAAA,WAAA,EAAa,0BAAA;AACb,UAAA,KAAA;AAAA,QACF;AAAA,QACA,KAAA,kBAAA,EAAmC;AACjC,UAAA,MAAM,EAAE,IAAA,EAAM,GAAG,OAAO,EAAA,EAAI,WAAA;AAE5B,UAAA,UAAA,EAAY,MAAA;AACZ,UAAA,WAAA,EAAa,mBAAA;AACb,UAAA,KAAA;AAAA,QACF;AAAA,QACA,KAAA,yBAAA,EAA0C;AACxC,UAAA,MAAM,EAAE,IAAA,EAAM,GAAG,OAAO,EAAA,EAAI,WAAA;AAE5B,UAAA,UAAA,EAAY,MAAA;AACZ,UAAA,WAAA,EAAa,0BAAA;AACb,UAAA,KAAA;AAAA,QACF;AAAA,QACA,KAAA,qBAAA,EAAsC;AACpC,UAAA,MAAM,EAAE,IAAA,EAAM,GAAG,OAAO,EAAA,EAAI,WAAA;AAE5B,UAAA,IAAI,IAAA;AACJ,UAAA,OAAA,CAAQ,MAAA,CAAO,KAAA,EAAO;AAAA,YACpB,KAAK,gBAAA,EAAkB;AACrB,cAAA,KAAA,EAAO,MAAA,CAAO,KAAA;AACd,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,uBAAA;AAAA,YACL,KAAK,oBAAA,EAAsB;AACzB,cAAA,KAAA,EAAO,mCAAA,MAAa,CAAO,KAAK,CAAA;AAChC,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,KAAA,EAAO;AACV,cAAA,MAAM,YAAA,EAAc,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,YAAA,CAAa,CAAA;AAEhE,cAAA,MAAM;AAAA,gBACJ,QAAA,mBAAA,CAAU,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,OAAA,CAAA,UAAW,IAAA;AAAA,gBAClC,QAAA,mBAAA,CAAU,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,OAAA,CAAA,UAAW,IAAA;AAAA,gBAClC,KAAA,mBAAA,CAAO,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,IAAA,CAAA,UAAQ,IAAA;AAAA,gBAC5B,SAAA,mBAAA,CAAW,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,QAAA,CAAA,UAAY,IAAA;AAAA,gBACpC,cAAA,mBAAA,CAAgB,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,aAAA,CAAA,UAAiB,IAAA;AAAA,gBAC9C,KAAA,mBAAA,CAAO,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,IAAA,CAAA,UAAQ,IAAA;AAAA,gBAC5B,QAAA,mBAAA,CAAU,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,OAAA,CAAA,UAAW,IAAA;AAAA,gBAClC,UAAA,mBAAA,CAAY,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,SAAA,CAAA,UAAa,IAAA;AAAA,gBACtC,OAAA,mBAAA,CAAS,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,MAAA,CAAA,UAAU,IAAA;AAAA,gBAChC,YAAA,mBAAA,CAAc,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,WAAA,CAAA,UAAe,IAAA;AAAA,gBAC1C,YAAA,mBAAA,CAAc,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,WAAA,CAAA,UAAe,IAAA;AAAA,gBAC1C,MAAA,EAAAC,QAAAA,mBAAAA,CAAS,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,MAAA,CAAA,UAAU;AAAA,cAClC,EAAA,EAAI,MAAA,CAAO,KAAA;AAEX,cAAA,MAAM,QAAA,EAAU;AAAA,gBACd,OAAA;AAAA,gBACA,OAAA;AAAA,gBACA,IAAA;AAAA,gBACA,QAAA;AAAA,gBACA,aAAA;AAAA,gBACA,IAAA;AAAA,gBACA,OAAA;AAAA,gBACA,SAAA;AAAA,gBACA,MAAA;AAAA,gBACA,WAAA;AAAA,gBACA,WAAA;AAAA,gBACA,MAAA,EAAAA;AAAA,cACF,CAAA;AAEA,cAAA,KAAA,EAAO,0CAAA,OAAmB,EAAS,cAAA,EAAgB,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AACxF,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,KAAA,EAAO;AACV,cAAA,MAAM,YAAA,EAAc,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,kBAAA,CAAmB,CAAA;AAEtE,cAAA,MAAM;AAAA,gBACJ,OAAA,mBAAA,CAAS,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,MAAA,CAAA,UAAU,IAAA;AAAA,gBAChC,MAAA,mBAAA,CAAQ,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,KAAA,CAAA,UAAS,IAAA;AAAA,gBAC9B,OAAA,mBAAA,CAAS,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,MAAA,CAAA,UAAU,IAAA;AAAA,gBAChC,WAAA,mBAAA,CAAa,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,UAAA,CAAA,UAAc;AAAA,cAC1C,EAAA,EAAI,MAAA,CAAO,KAAA;AAEX,cAAA,MAAM,QAAA,EAAU;AAAA,gBACd,MAAA;AAAA,gBACA,KAAA;AAAA,gBACA,MAAA;AAAA,gBACA;AAAA,cACF,CAAA;AAEA,cAAA,KAAA,EAAO,0CAAA,OAAmB,EAAS,oBAAA,EAAsB,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AAC9F,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,KAAA,EAAO;AACV,cAAA,MAAM,YAAA,EAAc,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,aAAA,CAAc,CAAA;AAEjE,cAAA,MAAM;AAAA,gBACJ,MAAA,mBAAA,CAAQ,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,KAAA,CAAA,UAAS,IAAA;AAAA,gBAC9B,eAAA,mBAAA,CAAiB,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,cAAA,CAAA,UAAkB,IAAA;AAAA,gBAChD,OAAA,mBAAA,CAAS,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,MAAA,CAAA,UAAU;AAAA,cAClC,EAAA,EAAI,MAAA,CAAO,KAAA;AAEX,cAAA,KAAA,EAAO,0CAAA,EAAqB,KAAA,EAAO,cAAA,EAAgB,OAAO,CAAA,EAAG,eAAA,EAAiB,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AACnH,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,KAAA,EAAO;AACV,cAAA,MAAM,YAAA,EAAc,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,YAAA,CAAa,CAAA;AAEhE,cAAA,MAAM;AAAA,gBACJ,UAAA,mBAAA,CAAY,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,SAAA,CAAA,UAAa,IAAA;AAAA,gBACtC,YAAA,mBAAA,CAAc,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,WAAA,CAAA,UAAe,IAAA;AAAA,gBAC1C,WAAA,mBAAA,CAAa,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,UAAA,CAAA,UAAc,IAAA;AAAA,gBACxC,OAAA,mBAAA,CAAS,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,MAAA,CAAA,UAAU,IAAA;AAAA,gBAChC,KAAA,mBAAA,CAAO,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,IAAA,CAAA,UAAQ,IAAA;AAAA,gBAC5B,SAAA,mBAAA,CAAW,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,QAAA,CAAA,UAAY;AAAA,cACtC,EAAA,EAAI,MAAA,CAAO,KAAA;AAEX,cAAA,MAAM,QAAA,EAAU;AAAA,gBACd,SAAA;AAAA,gBACA,WAAA;AAAA,gBACA,UAAA;AAAA,gBACA,MAAA;AAAA,gBACA,IAAA;AAAA,gBACA;AAAA,cACF,CAAA;AAEA,cAAA,KAAA,EAAO,0CAAA,OAAmB,EAAS,cAAA,EAAgB,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AACxF,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,aAAA,EAAe;AAElB,cAAA,MAAM,YAAA,EAAc,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,UAAA,CAAW,CAAA;AAE9D,cAAA,MAAM;AAAA,gBACJ,UAAA,mBAAA,CAAY,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,SAAA,CAAA,UAAa;AAAA,cACxC,EAAA,EAAI,MAAA,CAAO,KAAA;AAEX,cAAA,KAAA,EAAO,0CAAA,EAAqB,UAAU,CAAA,EAAG,YAAA,EAAc,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AAC5F,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,aAAA,EAAe;AAClB,cAAA,MAAM,YAAA,EAAc,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,UAAA,CAAW,CAAA;AAE9D,cAAA,MAAM;AAAA,gBACJ,QAAA,mBAAA,CAAU,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,OAAA,CAAA,UAAW,IAAA;AAAA,gBAClC,SAAA,mBAAA,CAAW,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,QAAA,CAAA,UAAY,IAAA;AAAA,gBACpC,aAAA,mBAAA,CAAe,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,YAAA,CAAA,UAAgB,IAAA;AAAA,gBAC5C,aAAA,mBAAA,CAAe,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,YAAA,CAAA,UAAgB;AAAA,cAC9C,EAAA,EAAI,MAAA,CAAO,KAAA;AAEX,cAAA,MAAM,QAAA,EAAU;AAAA,gBACd,OAAA;AAAA,gBACA,QAAA;AAAA,gBACA,YAAA;AAAA,gBACA;AAAA,cACF,CAAA;AAEA,cAAA,KAAA,EAAO,0CAAA,OAAmB,EAAS,YAAA,EAAc,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AACtF,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,cAAA,EAAgB;AACnB,cAAA,MAAM,YAAA,EAAc,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,WAAA,CAAY,CAAA;AAE/D,cAAA,MAAM;AAAA,gBACJ,YAAA,mBAAA,CAAc,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,WAAA,CAAA,UAAe,IAAA;AAAA,gBAC1C,aAAA,mBAAA,CAAe,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,YAAA,CAAA,UAAgB,IAAA;AAAA,gBAC5C,aAAA,mBAAA,CAAe,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,YAAA,CAAA,UAAgB;AAAA,cAC9C,EAAA,EAAI,MAAA,CAAO,KAAA;AAEX,cAAA,MAAM,QAAA,EAAU;AAAA,gBACd,WAAA;AAAA,gBACA,YAAA;AAAA,gBACA;AAAA,cACF,CAAA;AAEA,cAAA,KAAA,EAAO,0CAAA,OAAmB,EAAS,aAAA,EAAe,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AACvF,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,mBAAA,EAAqB;AACxB,cAAA,MAAM,YAAA,EAAc,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,gBAAA,CAAiB,CAAA;AAEpE,cAAA,MAAM;AAAA,gBACJ,mBAAA,mBAAA,CAAqB,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,kBAAA,CAAA,UAAsB,IAAA;AAAA,gBACxD,kBAAA,mBAAA,CAAoB,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,iBAAA,CAAA,UAAqB,IAAA;AAAA,gBACtD,kBAAA,mBAAA,CAAoB,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,iBAAA,CAAA,UAAqB;AAAA,cACxD,EAAA,EAAI,MAAA,CAAO,KAAA;AAEX,cAAA,MAAM,QAAA,EAAU;AAAA,gBACd,kBAAA;AAAA,gBACA,iBAAA;AAAA,gBACA;AAAA,cACF,CAAA;AAEA,cAAA,KAAA,EAAO,0CAAA,OAAmB,EAAS,kBAAA,EAAoB,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AAC5F,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,UAAA,EAAY;AACf,cAAA,MAAM,YAAA,EAAc,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,OAAA,CAAQ,CAAA;AAE3D,cAAA,MAAM;AAAA,gBACJ,6BAAA,mBAAA,CAA+B,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,4BAAA,CAAA,UAAgC,IAAA;AAAA,gBAC5E,6BAAA,mBAAA,CAA+B,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,4BAAA,CAAA,UAAgC,IAAA;AAAA,gBAC5E,gCAAA,mBAAA,CAAkC,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,+BAAA,CAAA,UAAmC,IAAA;AAAA,gBAClF,oCAAA,mBAAA,CAAsC,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,mCAAA,CAAA,UAAuC,IAAA;AAAA,gBAC1F,sBAAA,mBAAA,CAAwB,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,qBAAA,CAAA,UAAyB,IAAA;AAAA,gBAC9D,eAAA,mBAAA,CAAiB,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,cAAA,CAAA,UAAkB,IAAA;AAAA,gBAChD,mBAAA,mBAAA,CAAqB,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,kBAAA,CAAA,UAAsB,IAAA;AAAA,gBACxD,wBAAA,mBAAA,CAA0B,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,uBAAA,CAAA,UAA2B,IAAA;AAAA,gBAClE,wBAAA,mBAAA,CAA0B,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,uBAAA,CAAA,UAA2B,IAAA;AAAA,gBAClE,4BAAA,mBAAA,CAA8B,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,2BAAA,CAAA,UAA+B,IAAA;AAAA,gBAC1E,wBAAA,mBAAA,CAA0B,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,uBAAA,CAAA,UAA2B,IAAA;AAAA,gBAClE,kBAAA,mBAAA,CAAoB,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,iBAAA,CAAA,UAAqB,IAAA;AAAA,gBACtD,uBAAA,mBAAA,CAAyB,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,sBAAA,CAAA,UAA0B,IAAA;AAAA,gBAChE,uBAAA,mBAAA,CAAyB,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,sBAAA,CAAA,UAA0B,IAAA;AAAA,gBAChE,2BAAA,mBAAA,CAA6B,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,0BAAA,CAAA,UAA8B;AAAA,cAC1E,EAAA,EAAI,MAAA,CAAO,KAAA;AAEX,cAAA,MAAM,QAAA,EAAU;AAAA,gBACd,4BAAA;AAAA,gBACA,4BAAA;AAAA,gBACA,+BAAA;AAAA,gBACA,mCAAA;AAAA,gBACA,qBAAA;AAAA,gBACA,cAAA;AAAA,gBACA,kBAAA;AAAA,gBACA,uBAAA;AAAA,gBACA,uBAAA;AAAA,gBACA,2BAAA;AAAA,gBACA,uBAAA;AAAA,gBACA,iBAAA;AAAA,gBACA,sBAAA;AAAA,gBACA,sBAAA;AAAA,gBACA;AAAA,cACF,CAAA;AAEA,cAAA,KAAA,EAAO,0CAAA,OAAmB,EAAS,SAAA,EAAW,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AACnF,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,WAAA,EAAa;AAChB,cAAA,MAAM,YAAA,EAAc,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,QAAA,CAAS,CAAA;AAE5D,cAAA,MAAM;AAAA,gBACJ,aAAA,mBAAA,CAAe,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,YAAA,CAAA,UAAgB,IAAA;AAAA,gBAC5C,aAAA,mBAAA,CAAe,YAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,WAAA,CAAa,YAAA,CAAA,UAAgB;AAAA,cAC9C,EAAA,EAAI,MAAA,CAAO,KAAA;AAEX,cAAA,MAAM,QAAA,EAAU;AAAA,gBACd,YAAA;AAAA,gBACA;AAAA,cACF,CAAA;AAEA,cAAA,KAAA,EAAO,0CAAA,OAAmB,EAAS,UAAA,EAAY,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AACpF,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,cAAA,EAAgB;AACnB,cAAA,MAAM,cAAA,EAAgB,MAAM,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,WAAA,CAAY,CAAA;AAEjE,cAAA,MAAM;AAAA,gBACJ,KAAA,mBAAA,CAAO,cAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,aAAA,CAAe,IAAA,CAAA,UAAQ,IAAA;AAAA,gBAC9B,MAAA,mBAAA,CAAQ,cAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,aAAA,CAAe,KAAA,CAAA,UAAS;AAAA,cAClC,EAAA,EAAI,MAAA,CAAO,KAAA;AAEX,cAAA,KAAA,EAAO,0CAAA,EAAqB,IAAA,EAAM,MAAM,CAAA,EAAG,aAAA,EAAe,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AAC/F,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,gBAAA;AAAA,YACL,KAAK,eAAA;AAAA,YACL,KAAK,kBAAA;AAAA,YACL,KAAK,kBAAA;AAAA,YACL,KAAK,qBAAA;AAAA,YACL,KAAK,eAAA;AAAA,YACL,KAAK,kBAAA,EAAoB;AACvB,cAAA,KAAA,EAAO,0CAAA,MAAmB,CAAO,KAAA,EAAO,kBAAA,EAAoB,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AACjG,cAAA,KAAA;AAAA,YACF;AAAA,YACA,KAAK,gBAAA,EAAkB;AACrB,cAAA,KAAA,EAAO,0CAAA,cAAmB,CAAe,MAAA,CAAO,KAAK,CAAA,EAAG,kCAAA,EAAoC,IAAA,CAAK,MAAA,CAAO,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AACjI,cAAA,KAAA;AAAA,YACF;AAAA,YACA,OAAA;AACE,cAAA,MAAM,IAAI,KAAA,CAAM,CAAA,iBAAA,CAAmB,CAAA;AAAA,UACvC;AAEA,UAAA,UAAA,EAAY,EAAE,KAAA,EAAO,MAAA,CAAO,KAAA,EAAO,KAAA,EAAO,KAAK,CAAA;AAC/C,UAAA,WAAA,EAAa,qBAAA;AACb,UAAA,KAAA;AAAA,QACF;AAAA,QACA,KAAA,qBAAA,EAAsC;AAEpC,UAAA,cAAA,CAAe,IAAA,CAAK,CAAC,WAAA,CAAY,IAAA,EAAM,IAAI,UAAA,CAAW,CAAC,CAAC,CAAA;AACxD,UAAA,QAAA;AAAA,QACF;AAAA,QACA,OAAA,EAAS;AACP,UAAA,MAAM,IAAI,KAAA,CAAM,CAAA,gCAAA,CAAkC,CAAA;AAAA,QACpD;AAAA,MACF;AAEA,MAAA,cAAA,CAAe,IAAA,CAAK;AAAA,QAClB,WAAA,CAAY,IAAA;AAAA,QACZ,0CAAA,SAAmB,EAAW,UAAA,EAAY,IAAA,CAAK,UAAA,CAAW,SAAA,CAAU,OAAA,CAAQ,OAAO;AAAA,MACrF,CAAC,CAAA;AAAA,IACH;AAEA,IAAA,OAAO,cAAA;AAAA,EACT;AAAA,EAEA,MAAM,UAAA,CAAW,MAAA,EAAgD;AAE/D,IAAA,MAAM,WAAA,EAAa,IAAA,CAAK,aAAA,CAAc,MAAM,CAAA;AAE5C,IAAA,OAAO,MAAM,IAAA,CAAK,MAAA,CAAO,IAAA,CAAK,UAAA,CAAW;AAAA,MACvC,GAAG,UAAA;AAAA,MACH,IAAA,EAAM,CAAC;AAAA,IACT,CAAC,CAAA;AAAA,EACH;AAAA,EAEA,MAAM,WAAA,CAAuC;AAAA,IAC3C,MAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAA,EAAM,SAAA;AAAA,IACN,OAAA;AAAA,IACA,gBAAA,EAAkB;AAAA,EACpB,CAAA,EAImC;AAEjC,IAAA,MAAM,WAAA,EAAa,IAAA,CAAK,qBAAA,CAAsB,EAAE,MAAA,EAAQ,OAAO,CAAC,CAAA;AAEhE,IAAA,MAAM,eAAA,EAAiB,MAAM,IAAA,CAAK,mBAAA,CAA6B,OAAO,CAAA;AAEtE,IAAA,MAAM,MAAA,EAAQ,IAAA,CAAK,MAAA,CAAO,QAAA,CAAS,CAAA;AAEnC,IAAA,MAAM,EAAE,MAAM,EAAA,EAAI,MAAM,IAAA,CAAK,MAAA,CAAO,YAAA,CAAa,EAAE,IAAA,EAAM,EAAE,OAAA,EAAS,eAAe,EAAE,CAAC,CAAA;AAEtF,IAAA,MAAM,QAAA,EAAU,IAAA,CAAK,MAAA,CAAO,QAAA,CAAS,iBAAA,CAAkB,OAAA,CAAQ;AAAA,MAC7D,GAAG,UAAA;AAAA,MACH,QAAA,EAAU,IAAA,CAAK,MAAA,CAAO,UAAA,CAAW,QAAA,CAAS,CAAA;AAAA,MAC1C,MAAA,EAAQ,qCAAA,KAAe;AAAA,IACzB,CAAC,CAAA;AAED,IAAA,KAAA,CAAM,WAAA,CAAY;AAAA,MAChB,GAAG,UAAA;AAAA,MACH,IAAA,EAAM;AAAA,QACJ,OAAA;AAAA,QACA,GAAA;AAAA,QACA,OAAA,EAAS;AAAA,MACX;AAAA,IACF,CAAC,CAAA;AAED,IAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,OAAA,CAAQ,MAAA,EAAQ,CAAA,EAAA,EAAK;AACvC,MAAA,KAAA,CAAM,IAAA,CAAK,EAAE,IAAA,EAAM,CAAC,CAAA,EAAG,IAAA,EAAM,CAAA,EAAA;AAC/B,IAAA;AAE4B,IAAA;AAEE,IAAA;AACH,IAAA;AAEX,IAAA;AACY,IAAA;AACM,MAAA;AAClC,IAAA;AAE6B,IAAA;AAC3B,MAAA;AAC4B,MAAA;AAC5B,MAAA;AACE,QAAA;AAC0B,QAAA;AAC5B,MAAA;AACA,MAAA;AACE,QAAA;AACA,QAAA;AACF,MAAA;AACF,IAAA;AAEsC,IAAA;AAEjB,IAAA;AACM,MAAA;AACP,MAAA;AACO,MAAA;AACC,QAAA;AACA,QAAA;AACzB,MAAA;AACH,IAAA;AAEmB,IAAA;AAEQ,IAAA;AAEI,IAAA;AAEJ,IAAA;AAC7B,EAAA;AAE8C,EAAA;AAC5C,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACwD,EAAA;AAEhC,IAAA;AAEK,IAAA;AAEH,IAAA;AACF,MAAA;AACK,MAAA;AAC5B,IAAA;AAEqB,IAAA;AACJ,MAAA;AAClB,IAAA;AAE4B,IAAA;AAEN,IAAA;AACJ,MAAA;AAClB,IAAA;AAEuB,IAAA;AACO,IAAA;AAER,IAAA;AAED,IAAA;AACS,MAAA;AACvB,QAAA;AACmB,QAAA;AACG,QAAA;AAC1B,MAAA;AAE6B,MAAA;AACzB,QAAA;AACG,QAAA;AACJ,UAAA;AACA,UAAA;AACA,UAAA;AACS,UAAA;AACX,QAAA;AACD,MAAA;AACI,IAAA;AACyB,MAAA;AACzB,QAAA;AACG,QAAA;AACJ,UAAA;AACA,UAAA;AACS,UAAA;AACX,QAAA;AACD,MAAA;AACH,IAAA;AACF,EAAA;AAE+B,EAAA;AAEL,IAAA;AAEM,IAAA;AACzB,MAAA;AACgB,MAAA;AACpB,IAAA;AACH,EAAA;AAEiC,EAAA;AAEP,IAAA;AAEO,IAAA;AAC1B,MAAA;AACmB,MAAA;AACJ,MAAA;AACnB,IAAA;AAE6B,IAAA;AACzB,MAAA;AACiB,MAAA;AACrB,IAAA;AACH,EAAA;AAEiC,EAAA;AAEP,IAAA;AAEM,IAAA;AACzB,MAAA;AACgB,MAAA;AACpB,IAAA;AACH,EAAA;AAEwB,EAAA;AAEE,IAAA;AAEM,IAAA;AACzB,MAAA;AACgB,MAAA;AACpB,IAAA;AACH,EAAA;AAEqD,EAAA;AACpB,IAAA;AACjC,EAAA;AAEuD,EAAA;AAE7B,IAAA;AACT,MAAA;AACL,MAAA;AACL,MAAA;AACJ,IAAA;AAE8B,IAAA;AAC1B,MAAA;AACI,MAAA;AACR,IAAA;AAEM,IAAA;AACT,EAAA;AAEwD,EAAA;AAE9B,IAAA;AACC,MAAA;AACL,MAAA;AACnB,IAAA;AAE+B,IAAA;AAC3B,MAAA;AACyB,MAAA;AAC7B,IAAA;AAEM,IAAA;AACT,EAAA;AAAA;AAAA;AAAA;AAKwD,EAAA;AAClC,IAAA;AAClB,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AACT,MAAA;AACS,QAAA;AAAA;AACT,MAAA;AACkB,QAAA;AACpB,IAAA;AACF,EAAA;AAAA;AAAA;AAAA;AAKiD,EAAA;AACvB,IAAA;AACQ,IAAA;AAEZ,IAAA;AACkB,MAAA;AAClB,QAAA;AACP,QAAA;AACX,MAAA;AACmC,MAAA;AACjB,QAAA;AACP,QAAA;AACX,MAAA;AACwC,MAAA;AACtB,QAAA;AACP,QAAA;AACX,MAAA;AACuC,MAAA;AACrB,QAAA;AACP,QAAA;AACX,MAAA;AACA,MAAA;AACkB,QAAA;AACP,QAAA;AACX,MAAA;AACsC,MAAA;AACpB,QAAA;AACP,QAAA;AACX,MAAA;AACA,MAAA;AACkB,QAAA;AACP,QAAA;AACX,MAAA;AACuC,MAAA;AACrB,QAAA;AACP,QAAA;AACX,MAAA;AACA,MAAA;AACkB,QAAA;AACP,QAAA;AACX,MAAA;AACmC,MAAA;AACjB,QAAA;AACP,QAAA;AACX,MAAA;AACA,MAAA;AACkB,QAAA;AACP,QAAA;AACX,MAAA;AACsC,MAAA;AACpB,QAAA;AACP,QAAA;AACX,MAAA;AACsC,MAAA;AAC3B,QAAA;AACX,MAAA;AACA,MAAA;AACkB,QAAA;AACpB,IAAA;AACF,EAAA;AAAA;AAAA;AAAA;AAKgE,EAAA;AAClC,IAAA;AAEb,IAAA;AACG,MAAA;AAClB,IAAA;AAEyD,IAAA;AAC3C,MAAA;AACb,IAAA;AAEM,IAAA;AACY,MAAA;AACH,MAAA;AACE,MAAA;AACE,MAAA;AACC,MAAA;AACD,MAAA;AACC,MAAA;AACV,MAAA;AACX,IAAA;AACF,EAAA;AACF;AJ64BoC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/Users/kylebreeding/akita/akita-sc/projects/akita-sdk/dist/chunk-YNEEL36U.js","sourcesContent":[null,"/* eslint-disable */\n/**\n * This file was automatically generated by @algorandfoundation/algokit-client-generator.\n * DO NOT MODIFY IT BY HAND.\n * requires: @algorandfoundation/algokit-utils: ^7\n */\nimport { type AlgorandClient } from '@algorandfoundation/algokit-utils/types/algorand-client'\nimport { ABIReturn, AppReturn, SendAppTransactionResult } from '@algorandfoundation/algokit-utils/types/app'\nimport { Arc56Contract, getArc56ReturnValue, getABIStructFromABITuple } from '@algorandfoundation/algokit-utils/types/app-arc56'\nimport {\n AppClient as _AppClient,\n AppClientMethodCallParams,\n AppClientParams,\n AppClientBareCallParams,\n CallOnComplete,\n AppClientCompilationParams,\n ResolveAppClientByCreatorAndName,\n ResolveAppClientByNetwork,\n CloneAppClientParams,\n} from '@algorandfoundation/algokit-utils/types/app-client'\nimport { AppFactory as _AppFactory, AppFactoryAppClientParams, AppFactoryResolveAppClientByCreatorAndNameParams, AppFactoryDeployParams, AppFactoryParams, CreateSchema } from '@algorandfoundation/algokit-utils/types/app-factory'\nimport { TransactionComposer, AppCallMethodCall, AppMethodCallTransactionArgument, SimulateOptions, RawSimulateOptions, SkipSignaturesSimulateOptions } from '@algorandfoundation/algokit-utils/types/composer'\nimport { SendParams, SendSingleTransactionResult, SendAtomicTransactionComposerResults } from '@algorandfoundation/algokit-utils/types/transaction'\nimport { Address, encodeAddress, modelsv2, OnApplicationComplete, Transaction, TransactionSigner } from 'algosdk'\n\nexport const APP_SPEC: Arc56Contract = {\"name\":\"AkitaDAOTypes\",\"structs\":{\"ProposalAddAllowances\":[{\"name\":\"escrow\",\"type\":\"string\"},{\"name\":\"allowances\",\"type\":\"(uint64,uint8,uint64,uint64,uint64,bool)[]\"}],\"ProposalAddNamedPlugin\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"plugin\",\"type\":\"uint64\"},{\"name\":\"caller\",\"type\":\"address\"},{\"name\":\"escrow\",\"type\":\"string\"},{\"name\":\"delegationType\",\"type\":\"uint8\"},{\"name\":\"lastValid\",\"type\":\"uint64\"},{\"name\":\"cooldown\",\"type\":\"uint64\"},{\"name\":\"methods\",\"type\":\"(byte[4],uint64)[]\"},{\"name\":\"useRounds\",\"type\":\"bool\"},{\"name\":\"useExecutionKey\",\"type\":\"bool\"},{\"name\":\"coverFees\",\"type\":\"bool\"},{\"name\":\"defaultToEscrow\",\"type\":\"bool\"},{\"name\":\"fee\",\"type\":\"uint64\"},{\"name\":\"power\",\"type\":\"uint64\"},{\"name\":\"duration\",\"type\":\"uint64\"},{\"name\":\"participation\",\"type\":\"uint64\"},{\"name\":\"approval\",\"type\":\"uint64\"},{\"name\":\"sourceLink\",\"type\":\"string\"},{\"name\":\"allowances\",\"type\":\"(uint64,uint8,uint64,uint64,uint64,bool)[]\"}],\"ProposalAddPlugin\":[{\"name\":\"plugin\",\"type\":\"uint64\"},{\"name\":\"caller\",\"type\":\"address\"},{\"name\":\"escrow\",\"type\":\"string\"},{\"name\":\"delegationType\",\"type\":\"uint8\"},{\"name\":\"lastValid\",\"type\":\"uint64\"},{\"name\":\"cooldown\",\"type\":\"uint64\"},{\"name\":\"methods\",\"type\":\"(byte[4],uint64)[]\"},{\"name\":\"useRounds\",\"type\":\"bool\"},{\"name\":\"useExecutionKey\",\"type\":\"bool\"},{\"name\":\"coverFees\",\"type\":\"bool\"},{\"name\":\"defaultToEscrow\",\"type\":\"bool\"},{\"name\":\"fee\",\"type\":\"uint64\"},{\"name\":\"power\",\"type\":\"uint64\"},{\"name\":\"duration\",\"type\":\"uint64\"},{\"name\":\"participation\",\"type\":\"uint64\"},{\"name\":\"approval\",\"type\":\"uint64\"},{\"name\":\"sourceLink\",\"type\":\"string\"},{\"name\":\"allowances\",\"type\":\"(uint64,uint8,uint64,uint64,uint64,bool)[]\"}],\"ProposalExecuteNamedPlugin\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"executionKey\",\"type\":\"byte[32]\"},{\"name\":\"groups\",\"type\":\"byte[32][]\"},{\"name\":\"firstValid\",\"type\":\"uint64\"},{\"name\":\"lastValid\",\"type\":\"uint64\"}],\"ProposalExecutePlugin\":[{\"name\":\"plugin\",\"type\":\"uint64\"},{\"name\":\"escrow\",\"type\":\"string\"},{\"name\":\"executionKey\",\"type\":\"byte[32]\"},{\"name\":\"groups\",\"type\":\"byte[32][]\"},{\"name\":\"firstValid\",\"type\":\"uint64\"},{\"name\":\"lastValid\",\"type\":\"uint64\"}],\"ProposalNewEscrow\":[{\"name\":\"escrow\",\"type\":\"string\"}],\"ProposalRemoveAllowances\":[{\"name\":\"escrow\",\"type\":\"string\"},{\"name\":\"assets\",\"type\":\"uint64[]\"}],\"ProposalRemoveExecutePlugin\":[{\"name\":\"executionKey\",\"type\":\"byte[32]\"}],\"ProposalRemoveNamedPlugin\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"plugin\",\"type\":\"uint64\"},{\"name\":\"caller\",\"type\":\"address\"},{\"name\":\"escrow\",\"type\":\"string\"}],\"ProposalRemovePlugin\":[{\"name\":\"plugin\",\"type\":\"uint64\"},{\"name\":\"caller\",\"type\":\"address\"},{\"name\":\"escrow\",\"type\":\"string\"}],\"ProposalToggleEscrowLock\":[{\"name\":\"escrow\",\"type\":\"string\"}],\"ProposalUpdateField\":[{\"name\":\"field\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"byte[]\"}],\"ProposalUpgradeApp\":[{\"name\":\"app\",\"type\":\"uint64\"},{\"name\":\"executionKey\",\"type\":\"byte[32]\"},{\"name\":\"groups\",\"type\":\"byte[32][]\"},{\"name\":\"firstValid\",\"type\":\"uint64\"},{\"name\":\"lastValid\",\"type\":\"uint64\"}]},\"methods\":[{\"name\":\"proposalUpgradeAppShape\",\"args\":[{\"type\":\"(uint64,byte[32],byte[32][],uint64,uint64)\",\"struct\":\"ProposalUpgradeApp\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(uint64,byte[32],byte[32][],uint64,uint64)\",\"struct\":\"ProposalUpgradeApp\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalAddPluginShape\",\"args\":[{\"type\":\"(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])\",\"struct\":\"ProposalAddPlugin\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])\",\"struct\":\"ProposalAddPlugin\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalAddNamedPluginShape\",\"args\":[{\"type\":\"(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])\",\"struct\":\"ProposalAddNamedPlugin\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])\",\"struct\":\"ProposalAddNamedPlugin\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalRemovePluginShape\",\"args\":[{\"type\":\"(uint64,address,string)\",\"struct\":\"ProposalRemovePlugin\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(uint64,address,string)\",\"struct\":\"ProposalRemovePlugin\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalRemoveNamedPluginShape\",\"args\":[{\"type\":\"(string,uint64,address,string)\",\"struct\":\"ProposalRemoveNamedPlugin\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(string,uint64,address,string)\",\"struct\":\"ProposalRemoveNamedPlugin\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalExecutePluginShape\",\"args\":[{\"type\":\"(uint64,string,byte[32],byte[32][],uint64,uint64)\",\"struct\":\"ProposalExecutePlugin\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(uint64,string,byte[32],byte[32][],uint64,uint64)\",\"struct\":\"ProposalExecutePlugin\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalExecuteNamedPluginShape\",\"args\":[{\"type\":\"(string,byte[32],byte[32][],uint64,uint64)\",\"struct\":\"ProposalExecuteNamedPlugin\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(string,byte[32],byte[32][],uint64,uint64)\",\"struct\":\"ProposalExecuteNamedPlugin\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalRemoveExecutePluginShape\",\"args\":[{\"type\":\"(byte[32])\",\"struct\":\"ProposalRemoveExecutePlugin\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(byte[32])\",\"struct\":\"ProposalRemoveExecutePlugin\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalAddAllowancesShape\",\"args\":[{\"type\":\"(string,(uint64,uint8,uint64,uint64,uint64,bool)[])\",\"struct\":\"ProposalAddAllowances\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(string,(uint64,uint8,uint64,uint64,uint64,bool)[])\",\"struct\":\"ProposalAddAllowances\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalRemoveAllowancesShape\",\"args\":[{\"type\":\"(string,uint64[])\",\"struct\":\"ProposalRemoveAllowances\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(string,uint64[])\",\"struct\":\"ProposalRemoveAllowances\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalNewEscrowShape\",\"args\":[{\"type\":\"(string)\",\"struct\":\"ProposalNewEscrow\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(string)\",\"struct\":\"ProposalNewEscrow\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalToggleEscrowLockShape\",\"args\":[{\"type\":\"(string)\",\"struct\":\"ProposalToggleEscrowLock\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(string)\",\"struct\":\"ProposalToggleEscrowLock\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}},{\"name\":\"proposalUpdateFieldShape\",\"args\":[{\"type\":\"(string,byte[])\",\"struct\":\"ProposalUpdateField\",\"name\":\"shape\"}],\"returns\":{\"type\":\"(string,byte[])\",\"struct\":\"ProposalUpdateField\"},\"actions\":{\"create\":[],\"call\":[\"NoOp\"]},\"readonly\":true,\"events\":[],\"recommendations\":{}}],\"arcs\":[22,28],\"networks\":{},\"state\":{\"schema\":{\"global\":{\"ints\":0,\"bytes\":0},\"local\":{\"ints\":0,\"bytes\":0}},\"keys\":{\"global\":{},\"local\":{},\"box\":{}},\"maps\":{\"global\":{},\"local\":{},\"box\":{}}},\"bareActions\":{\"create\":[\"NoOp\"],\"call\":[]},\"sourceInfo\":{\"approval\":{\"sourceInfo\":[{\"pc\":[19],\"errorMessage\":\"OnCompletion must be NoOp\"},{\"pc\":[129],\"errorMessage\":\"OnCompletion must be NoOp && can only call when creating\"},{\"pc\":[194],\"errorMessage\":\"invalid number of bytes for (uint8[32])\"}],\"pcOffsetMethod\":\"none\"},\"clear\":{\"sourceInfo\":[],\"pcOffsetMethod\":\"none\"}},\"source\":{\"approval\":\"I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYXJjNC9pbmRleC5kLnRzOjpDb250cmFjdC5hcHByb3ZhbFByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBpbnRjYmxvY2sgMQogICAgYnl0ZWNibG9jayAweDE1MWY3Yzc1CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXJjNTgvZGFvL3R5cGVzLmFsZ28udHM6NAogICAgLy8gZXhwb3J0IGNsYXNzIEFraXRhREFPVHlwZXMgZXh0ZW5kcyBDb250cmFjdCB7CiAgICB0eG4gTnVtQXBwQXJncwogICAgYnogbWFpbl9fX2FsZ290c19fLmRlZmF1bHRDcmVhdGVAMjAKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gbXVzdCBiZSBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0CiAgICBwdXNoYnl0ZXNzIDB4OTJiMzU4OTYgMHg3ZWU0YmFiNyAweDgyZDVmM2ZmIDB4ZjM5NDFhMmMgMHhmMWNmMjJjYyAweGJkNGVmNzMwIDB4ZWJhYjVlMTQgMHg2YjhhYmQyZiAweGZjYWY4NDIwIDB4NTVjZTVjYTkgMHhhNjM4YmUyMyAweDUwYWFiODFkIDB4MTQ5ZDNjY2IgLy8gbWV0aG9kICJwcm9wb3NhbFVwZ3JhZGVBcHBTaGFwZSgodWludDY0LGJ5dGVbMzJdLGJ5dGVbMzJdW10sdWludDY0LHVpbnQ2NCkpKHVpbnQ2NCxieXRlWzMyXSxieXRlWzMyXVtdLHVpbnQ2NCx1aW50NjQpIiwgbWV0aG9kICJwcm9wb3NhbEFkZFBsdWdpblNoYXBlKCh1aW50NjQsYWRkcmVzcyxzdHJpbmcsdWludDgsdWludDY0LHVpbnQ2NCwoYnl0ZVs0XSx1aW50NjQpW10sYm9vbCxib29sLGJvb2wsYm9vbCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHN0cmluZywodWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQsdWludDY0LGJvb2wpW10pKSh1aW50NjQsYWRkcmVzcyxzdHJpbmcsdWludDgsdWludDY0LHVpbnQ2NCwoYnl0ZVs0XSx1aW50NjQpW10sYm9vbCxib29sLGJvb2wsYm9vbCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHN0cmluZywodWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQsdWludDY0LGJvb2wpW10pIiwgbWV0aG9kICJwcm9wb3NhbEFkZE5hbWVkUGx1Z2luU2hhcGUoKHN0cmluZyx1aW50NjQsYWRkcmVzcyxzdHJpbmcsdWludDgsdWludDY0LHVpbnQ2NCwoYnl0ZVs0XSx1aW50NjQpW10sYm9vbCxib29sLGJvb2wsYm9vbCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHN0cmluZywodWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQsdWludDY0LGJvb2wpW10pKShzdHJpbmcsdWludDY0LGFkZHJlc3Msc3RyaW5nLHVpbnQ4LHVpbnQ2NCx1aW50NjQsKGJ5dGVbNF0sdWludDY0KVtdLGJvb2wsYm9vbCxib29sLGJvb2wsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCxzdHJpbmcsKHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0LHVpbnQ2NCxib29sKVtdKSIsIG1ldGhvZCAicHJvcG9zYWxSZW1vdmVQbHVnaW5TaGFwZSgodWludDY0LGFkZHJlc3Msc3RyaW5nKSkodWludDY0LGFkZHJlc3Msc3RyaW5nKSIsIG1ldGhvZCAicHJvcG9zYWxSZW1vdmVOYW1lZFBsdWdpblNoYXBlKChzdHJpbmcsdWludDY0LGFkZHJlc3Msc3RyaW5nKSkoc3RyaW5nLHVpbnQ2NCxhZGRyZXNzLHN0cmluZykiLCBtZXRob2QgInByb3Bvc2FsRXhlY3V0ZVBsdWdpblNoYXBlKCh1aW50NjQsc3RyaW5nLGJ5dGVbMzJdLGJ5dGVbMzJdW10sdWludDY0LHVpbnQ2NCkpKHVpbnQ2NCxzdHJpbmcsYnl0ZVszMl0sYnl0ZVszMl1bXSx1aW50NjQsdWludDY0KSIsIG1ldGhvZCAicHJvcG9zYWxFeGVjdXRlTmFtZWRQbHVnaW5TaGFwZSgoc3RyaW5nLGJ5dGVbMzJdLGJ5dGVbMzJdW10sdWludDY0LHVpbnQ2NCkpKHN0cmluZyxieXRlWzMyXSxieXRlWzMyXVtdLHVpbnQ2NCx1aW50NjQpIiwgbWV0aG9kICJwcm9wb3NhbFJlbW92ZUV4ZWN1dGVQbHVnaW5TaGFwZSgoYnl0ZVszMl0pKShieXRlWzMyXSkiLCBtZXRob2QgInByb3Bvc2FsQWRkQWxsb3dhbmNlc1NoYXBlKChzdHJpbmcsKHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0LHVpbnQ2NCxib29sKVtdKSkoc3RyaW5nLCh1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCx1aW50NjQsYm9vbClbXSkiLCBtZXRob2QgInByb3Bvc2FsUmVtb3ZlQWxsb3dhbmNlc1NoYXBlKChzdHJpbmcsdWludDY0W10pKShzdHJpbmcsdWludDY0W10pIiwgbWV0aG9kICJwcm9wb3NhbE5ld0VzY3Jvd1NoYXBlKChzdHJpbmcpKShzdHJpbmcpIiwgbWV0aG9kICJwcm9wb3NhbFRvZ2dsZUVzY3Jvd0xvY2tTaGFwZSgoc3RyaW5nKSkoc3RyaW5nKSIsIG1ldGhvZCAicHJvcG9zYWxVcGRhdGVGaWVsZFNoYXBlKChzdHJpbmcsYnl0ZVtdKSkoc3RyaW5nLGJ5dGVbXSkiCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAwCiAgICBtYXRjaCBwcm9wb3NhbFVwZ3JhZGVBcHBTaGFwZSBwcm9wb3NhbEFkZFBsdWdpblNoYXBlIHByb3Bvc2FsQWRkTmFtZWRQbHVnaW5TaGFwZSBwcm9wb3NhbFJlbW92ZVBsdWdpblNoYXBlIHByb3Bvc2FsUmVtb3ZlTmFtZWRQbHVnaW5TaGFwZSBwcm9wb3NhbEV4ZWN1dGVQbHVnaW5TaGFwZSBwcm9wb3NhbEV4ZWN1dGVOYW1lZFBsdWdpblNoYXBlIHByb3Bvc2FsUmVtb3ZlRXhlY3V0ZVBsdWdpblNoYXBlIHByb3Bvc2FsQWRkQWxsb3dhbmNlc1NoYXBlIHByb3Bvc2FsUmVtb3ZlQWxsb3dhbmNlc1NoYXBlIHByb3Bvc2FsTmV3RXNjcm93U2hhcGUgcHJvcG9zYWxUb2dnbGVFc2Nyb3dMb2NrU2hhcGUgcHJvcG9zYWxVcGRhdGVGaWVsZFNoYXBlCiAgICBlcnIKCm1haW5fX19hbGdvdHNfXy5kZWZhdWx0Q3JlYXRlQDIwOgogICAgLy8gc21hcnRfY29udHJhY3RzL2FyYzU4L2Rhby90eXBlcy5hbGdvLnRzOjQKICAgIC8vIGV4cG9ydCBjbGFzcyBBa2l0YURBT1R5cGVzIGV4dGVuZHMgQ29udHJhY3QgewogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgICEKICAgICYmCiAgICByZXR1cm4gLy8gb24gZXJyb3I6IE9uQ29tcGxldGlvbiBtdXN0IGJlIE5vT3AgJiYgY2FuIG9ubHkgY2FsbCB3aGVuIGNyZWF0aW5nCgoKLy8gc21hcnRfY29udHJhY3RzL2FyYzU4L2Rhby90eXBlcy5hbGdvLnRzOjpBa2l0YURBT1R5cGVzLnByb3Bvc2FsVXBncmFkZUFwcFNoYXBlW3JvdXRpbmddKCkgLT4gdm9pZDoKcHJvcG9zYWxVcGdyYWRlQXBwU2hhcGU6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXJjNTgvZGFvL3R5cGVzLmFsZ28udHM6NQogICAgLy8gQGFiaW1ldGhvZCh7IHJlYWRvbmx5OiB0cnVlIH0pCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgoKLy8gc21hcnRfY29udHJhY3RzL2FyYzU4L2Rhby90eXBlcy5hbGdvLnRzOjpBa2l0YURBT1R5cGVzLnByb3Bvc2FsQWRkUGx1Z2luU2hhcGVbcm91dGluZ10oKSAtPiB2b2lkOgpwcm9wb3NhbEFkZFBsdWdpblNoYXBlOgogICAgLy8gc21hcnRfY29udHJhY3RzL2FyYzU4L2Rhby90eXBlcy5hbGdvLnRzOjEwCiAgICAvLyBAYWJpbWV0aG9kKHsgcmVhZG9ubHk6IHRydWUgfSkKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCgovLyBzbWFydF9jb250cmFjdHMvYXJjNTgvZGFvL3R5cGVzLmFsZ28udHM6OkFraXRhREFPVHlwZXMucHJvcG9zYWxBZGROYW1lZFBsdWdpblNoYXBlW3JvdXRpbmddKCkgLT4gdm9pZDoKcHJvcG9zYWxBZGROYW1lZFBsdWdpblNoYXBlOgogICAgLy8gc21hcnRfY29udHJhY3RzL2FyYzU4L2Rhby90eXBlcy5hbGdvLnRzOjE1CiAgICAvLyBAYWJpbWV0aG9kKHsgcmVhZG9ubHk6IHRydWUgfSkKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCgovLyBzbWFydF9jb250cmFjdHMvYXJjNTgvZGFvL3R5cGVzLmFsZ28udHM6OkFraXRhREFPVHlwZXMucHJvcG9zYWxSZW1vdmVQbHVnaW5TaGFwZVtyb3V0aW5nXSgpIC0+IHZvaWQ6CnByb3Bvc2FsUmVtb3ZlUGx1Z2luU2hhcGU6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXJjNTgvZGFvL3R5cGVzLmFsZ28udHM6MjAKICAgIC8vIEBhYmltZXRob2QoeyByZWFkb25seTogdHJ1ZSB9KQogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy9hcmM1OC9kYW8vdHlwZXMuYWxnby50czo6QWtpdGFEQU9UeXBlcy5wcm9wb3NhbFJlbW92ZU5hbWVkUGx1Z2luU2hhcGVbcm91dGluZ10oKSAtPiB2b2lkOgpwcm9wb3NhbFJlbW92ZU5hbWVkUGx1Z2luU2hhcGU6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXJjNTgvZGFvL3R5cGVzLmFsZ28udHM6MjUKICAgIC8vIEBhYmltZXRob2QoeyByZWFkb25seTogdHJ1ZSB9KQogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy9hcmM1OC9kYW8vdHlwZXMuYWxnby50czo6QWtpdGFEQU9UeXBlcy5wcm9wb3NhbEV4ZWN1dGVQbHVnaW5TaGFwZVtyb3V0aW5nXSgpIC0+IHZvaWQ6CnByb3Bvc2FsRXhlY3V0ZVBsdWdpblNoYXBlOgogICAgLy8gc21hcnRfY29udHJhY3RzL2FyYzU4L2Rhby90eXBlcy5hbGdvLnRzOjMwCiAgICAvLyBAYWJpbWV0aG9kKHsgcmVhZG9ubHk6IHRydWUgfSkKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCgovLyBzbWFydF9jb250cmFjdHMvYXJjNTgvZGFvL3R5cGVzLmFsZ28udHM6OkFraXRhREFPVHlwZXMucHJvcG9zYWxFeGVjdXRlTmFtZWRQbHVnaW5TaGFwZVtyb3V0aW5nXSgpIC0+IHZvaWQ6CnByb3Bvc2FsRXhlY3V0ZU5hbWVkUGx1Z2luU2hhcGU6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXJjNTgvZGFvL3R5cGVzLmFsZ28udHM6MzUKICAgIC8vIEBhYmltZXRob2QoeyByZWFkb25seTogdHJ1ZSB9KQogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy9hcmM1OC9kYW8vdHlwZXMuYWxnby50czo6QWtpdGFEQU9UeXBlcy5wcm9wb3NhbFJlbW92ZUV4ZWN1dGVQbHVnaW5TaGFwZVtyb3V0aW5nXSgpIC0+IHZvaWQ6CnByb3Bvc2FsUmVtb3ZlRXhlY3V0ZVBsdWdpblNoYXBlOgogICAgLy8gc21hcnRfY29udHJhY3RzL2FyYzU4L2Rhby90eXBlcy5hbGdvLnRzOjQwCiAgICAvLyBAYWJpbWV0aG9kKHsgcmVhZG9ubHk6IHRydWUgfSkKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGR1cAogICAgbGVuCiAgICBwdXNoaW50IDMyIC8vIDMyCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciAodWludDhbMzJdKQogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy9hcmM1OC9kYW8vdHlwZXMuYWxnby50czo6QWtpdGFEQU9UeXBlcy5wcm9wb3NhbEFkZEFsbG93YW5jZXNTaGFwZVtyb3V0aW5nXSgpIC0+IHZvaWQ6CnByb3Bvc2FsQWRkQWxsb3dhbmNlc1NoYXBlOgogICAgLy8gc21hcnRfY29udHJhY3RzL2FyYzU4L2Rhby90eXBlcy5hbGdvLnRzOjQ1CiAgICAvLyBAYWJpbWV0aG9kKHsgcmVhZG9ubHk6IHRydWUgfSkKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCgovLyBzbWFydF9jb250cmFjdHMvYXJjNTgvZGFvL3R5cGVzLmFsZ28udHM6OkFraXRhREFPVHlwZXMucHJvcG9zYWxSZW1vdmVBbGxvd2FuY2VzU2hhcGVbcm91dGluZ10oKSAtPiB2b2lkOgpwcm9wb3NhbFJlbW92ZUFsbG93YW5jZXNTaGFwZToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hcmM1OC9kYW8vdHlwZXMuYWxnby50czo1MAogICAgLy8gQGFiaW1ldGhvZCh7IHJlYWRvbmx5OiB0cnVlIH0pCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgoKLy8gc21hcnRfY29udHJhY3RzL2FyYzU4L2Rhby90eXBlcy5hbGdvLnRzOjpBa2l0YURBT1R5cGVzLnByb3Bvc2FsTmV3RXNjcm93U2hhcGVbcm91dGluZ10oKSAtPiB2b2lkOgpwcm9wb3NhbE5ld0VzY3Jvd1NoYXBlOgogICAgLy8gc21hcnRfY29udHJhY3RzL2FyYzU4L2Rhby90eXBlcy5hbGdvLnRzOjU1CiAgICAvLyBAYWJpbWV0aG9kKHsgcmVhZG9ubHk6IHRydWUgfSkKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCgovLyBzbWFydF9jb250cmFjdHMvYXJjNTgvZGFvL3R5cGVzLmFsZ28udHM6OkFraXRhREFPVHlwZXMucHJvcG9zYWxUb2dnbGVFc2Nyb3dMb2NrU2hhcGVbcm91dGluZ10oKSAtPiB2b2lkOgpwcm9wb3NhbFRvZ2dsZUVzY3Jvd0xvY2tTaGFwZToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hcmM1OC9kYW8vdHlwZXMuYWxnby50czo2MAogICAgLy8gQGFiaW1ldGhvZCh7IHJlYWRvbmx5OiB0cnVlIH0pCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgoKLy8gc21hcnRfY29udHJhY3RzL2FyYzU4L2Rhby90eXBlcy5hbGdvLnRzOjpBa2l0YURBT1R5cGVzLnByb3Bvc2FsVXBkYXRlRmllbGRTaGFwZVtyb3V0aW5nXSgpIC0+IHZvaWQ6CnByb3Bvc2FsVXBkYXRlRmllbGRTaGFwZToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hcmM1OC9kYW8vdHlwZXMuYWxnby50czo2NQogICAgLy8gQGFiaW1ldGhvZCh7IHJlYWRvbmx5OiB0cnVlIH0pCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCg==\",\"clear\":\"I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYmFzZS1jb250cmFjdC5kLnRzOjpCYXNlQ29udHJhY3QuY2xlYXJTdGF0ZVByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBwdXNoaW50IDEgLy8gMQogICAgcmV0dXJuCg==\"},\"byteCode\":{\"approval\":\"CyABASYBBBUffHUxG0EAajEZFEQxGESCDQSSs1iWBH7kurcEgtXz/wTzlBosBPHPIswEvU73MATrq14UBGuKvS8E/K+EIARVzlypBKY4viMEUKq4HQQUnTzLNhoAjg0ACQARABkAIQApADEAOQBBAFAAWABgAGgAcAAxGRQxGBQQQyg2GgFQsCJDKDYaAVCwIkMoNhoBULAiQyg2GgFQsCJDKDYaAVCwIkMoNhoBULAiQyg2GgFQsCJDNhoBSRWBIBJEKExQsCJDKDYaAVCwIkMoNhoBULAiQyg2GgFQsCJDKDYaAVCwIkMoNhoBULAiQw==\",\"clear\":\"C4EBQw==\"},\"events\":[],\"templateVariables\":{}} as unknown as Arc56Contract\n\n/**\n * A state record containing binary data\n */\nexport interface BinaryState {\n /**\n * Gets the state value as a Uint8Array\n */\n asByteArray(): Uint8Array | undefined\n /**\n * Gets the state value as a string\n */\n asString(): string | undefined\n}\n\nclass BinaryStateValue implements BinaryState {\n constructor(private value: Uint8Array | undefined) {}\n\n asByteArray(): Uint8Array | undefined {\n return this.value\n }\n\n asString(): string | undefined {\n return this.value !== undefined ? Buffer.from(this.value).toString('utf-8') : undefined\n }\n}\n\n/**\n * Expands types for IntelliSense so they are more human readable\n * See https://stackoverflow.com/a/69288824\n */\nexport type Expand<T> = T extends (...args: infer A) => infer R\n ? (...args: Expand<A>) => Expand<R>\n : T extends infer O\n ? { [K in keyof O]: O[K] }\n : never\n\n\n// Type definitions for ARC-56 structs\n\nexport type ProposalAddAllowances = {\n escrow: string,\n allowances: [bigint, number, bigint, bigint, bigint, boolean][]\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalAddAllowances to the struct representation\n */\nexport function ProposalAddAllowancesFromTuple(abiTuple: [string, [bigint, number, bigint, bigint, bigint, boolean][]]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalAddAllowances, APP_SPEC.structs) as ProposalAddAllowances\n}\n\nexport type ProposalAddNamedPlugin = {\n name: string,\n plugin: bigint,\n caller: string,\n escrow: string,\n delegationType: number,\n lastValid: bigint,\n cooldown: bigint,\n methods: [Uint8Array, bigint][],\n useRounds: boolean,\n useExecutionKey: boolean,\n coverFees: boolean,\n defaultToEscrow: boolean,\n fee: bigint,\n power: bigint,\n duration: bigint,\n participation: bigint,\n approval: bigint,\n sourceLink: string,\n allowances: [bigint, number, bigint, bigint, bigint, boolean][]\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalAddNamedPlugin to the struct representation\n */\nexport function ProposalAddNamedPluginFromTuple(abiTuple: [string, bigint, string, string, number, bigint, bigint, [Uint8Array, bigint][], boolean, boolean, boolean, boolean, bigint, bigint, bigint, bigint, bigint, string, [bigint, number, bigint, bigint, bigint, boolean][]]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalAddNamedPlugin, APP_SPEC.structs) as ProposalAddNamedPlugin\n}\n\nexport type ProposalAddPlugin = {\n plugin: bigint,\n caller: string,\n escrow: string,\n delegationType: number,\n lastValid: bigint,\n cooldown: bigint,\n methods: [Uint8Array, bigint][],\n useRounds: boolean,\n useExecutionKey: boolean,\n coverFees: boolean,\n defaultToEscrow: boolean,\n fee: bigint,\n power: bigint,\n duration: bigint,\n participation: bigint,\n approval: bigint,\n sourceLink: string,\n allowances: [bigint, number, bigint, bigint, bigint, boolean][]\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalAddPlugin to the struct representation\n */\nexport function ProposalAddPluginFromTuple(abiTuple: [bigint, string, string, number, bigint, bigint, [Uint8Array, bigint][], boolean, boolean, boolean, boolean, bigint, bigint, bigint, bigint, bigint, string, [bigint, number, bigint, bigint, bigint, boolean][]]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalAddPlugin, APP_SPEC.structs) as ProposalAddPlugin\n}\n\nexport type ProposalExecuteNamedPlugin = {\n name: string,\n executionKey: Uint8Array,\n groups: Uint8Array[],\n firstValid: bigint,\n lastValid: bigint\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalExecuteNamedPlugin to the struct representation\n */\nexport function ProposalExecuteNamedPluginFromTuple(abiTuple: [string, Uint8Array, Uint8Array[], bigint, bigint]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalExecuteNamedPlugin, APP_SPEC.structs) as ProposalExecuteNamedPlugin\n}\n\nexport type ProposalExecutePlugin = {\n plugin: bigint,\n escrow: string,\n executionKey: Uint8Array,\n groups: Uint8Array[],\n firstValid: bigint,\n lastValid: bigint\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalExecutePlugin to the struct representation\n */\nexport function ProposalExecutePluginFromTuple(abiTuple: [bigint, string, Uint8Array, Uint8Array[], bigint, bigint]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalExecutePlugin, APP_SPEC.structs) as ProposalExecutePlugin\n}\n\nexport type ProposalNewEscrow = {\n escrow: string\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalNewEscrow to the struct representation\n */\nexport function ProposalNewEscrowFromTuple(abiTuple: [string]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalNewEscrow, APP_SPEC.structs) as ProposalNewEscrow\n}\n\nexport type ProposalRemoveAllowances = {\n escrow: string,\n assets: bigint[]\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalRemoveAllowances to the struct representation\n */\nexport function ProposalRemoveAllowancesFromTuple(abiTuple: [string, bigint[]]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalRemoveAllowances, APP_SPEC.structs) as ProposalRemoveAllowances\n}\n\nexport type ProposalRemoveExecutePlugin = {\n executionKey: Uint8Array\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalRemoveExecutePlugin to the struct representation\n */\nexport function ProposalRemoveExecutePluginFromTuple(abiTuple: [Uint8Array]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalRemoveExecutePlugin, APP_SPEC.structs) as ProposalRemoveExecutePlugin\n}\n\nexport type ProposalRemoveNamedPlugin = {\n name: string,\n plugin: bigint,\n caller: string,\n escrow: string\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalRemoveNamedPlugin to the struct representation\n */\nexport function ProposalRemoveNamedPluginFromTuple(abiTuple: [string, bigint, string, string]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalRemoveNamedPlugin, APP_SPEC.structs) as ProposalRemoveNamedPlugin\n}\n\nexport type ProposalRemovePlugin = {\n plugin: bigint,\n caller: string,\n escrow: string\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalRemovePlugin to the struct representation\n */\nexport function ProposalRemovePluginFromTuple(abiTuple: [bigint, string, string]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalRemovePlugin, APP_SPEC.structs) as ProposalRemovePlugin\n}\n\nexport type ProposalToggleEscrowLock = {\n escrow: string\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalToggleEscrowLock to the struct representation\n */\nexport function ProposalToggleEscrowLockFromTuple(abiTuple: [string]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalToggleEscrowLock, APP_SPEC.structs) as ProposalToggleEscrowLock\n}\n\nexport type ProposalUpdateField = {\n field: string,\n value: Uint8Array\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalUpdateField to the struct representation\n */\nexport function ProposalUpdateFieldFromTuple(abiTuple: [string, Uint8Array]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalUpdateField, APP_SPEC.structs) as ProposalUpdateField\n}\n\nexport type ProposalUpgradeApp = {\n app: bigint,\n executionKey: Uint8Array,\n groups: Uint8Array[],\n firstValid: bigint,\n lastValid: bigint\n}\n\n\n/**\n * Converts the ABI tuple representation of a ProposalUpgradeApp to the struct representation\n */\nexport function ProposalUpgradeAppFromTuple(abiTuple: [bigint, Uint8Array, Uint8Array[], bigint, bigint]) {\n return getABIStructFromABITuple(abiTuple, APP_SPEC.structs.ProposalUpgradeApp, APP_SPEC.structs) as ProposalUpgradeApp\n}\n\n/**\n * The argument types for the AkitaDaoTypes contract\n */\nexport type AkitaDaoTypesArgs = {\n /**\n * The object representation of the arguments for each method\n */\n obj: {\n 'proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)': {\n shape: ProposalUpgradeApp\n }\n 'proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])': {\n shape: ProposalAddPlugin\n }\n 'proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])': {\n shape: ProposalAddNamedPlugin\n }\n 'proposalRemovePluginShape((uint64,address,string))(uint64,address,string)': {\n shape: ProposalRemovePlugin\n }\n 'proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)': {\n shape: ProposalRemoveNamedPlugin\n }\n 'proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)': {\n shape: ProposalExecutePlugin\n }\n 'proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)': {\n shape: ProposalExecuteNamedPlugin\n }\n 'proposalRemoveExecutePluginShape((byte[32]))(byte[32])': {\n shape: ProposalRemoveExecutePlugin\n }\n 'proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])': {\n shape: ProposalAddAllowances\n }\n 'proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])': {\n shape: ProposalRemoveAllowances\n }\n 'proposalNewEscrowShape((string))(string)': {\n shape: ProposalNewEscrow\n }\n 'proposalToggleEscrowLockShape((string))(string)': {\n shape: ProposalToggleEscrowLock\n }\n 'proposalUpdateFieldShape((string,byte[]))(string,byte[])': {\n shape: ProposalUpdateField\n }\n }\n /**\n * The tuple representation of the arguments for each method\n */\n tuple: {\n 'proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)': [shape: ProposalUpgradeApp]\n 'proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])': [shape: ProposalAddPlugin]\n 'proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])': [shape: ProposalAddNamedPlugin]\n 'proposalRemovePluginShape((uint64,address,string))(uint64,address,string)': [shape: ProposalRemovePlugin]\n 'proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)': [shape: ProposalRemoveNamedPlugin]\n 'proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)': [shape: ProposalExecutePlugin]\n 'proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)': [shape: ProposalExecuteNamedPlugin]\n 'proposalRemoveExecutePluginShape((byte[32]))(byte[32])': [shape: ProposalRemoveExecutePlugin]\n 'proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])': [shape: ProposalAddAllowances]\n 'proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])': [shape: ProposalRemoveAllowances]\n 'proposalNewEscrowShape((string))(string)': [shape: ProposalNewEscrow]\n 'proposalToggleEscrowLockShape((string))(string)': [shape: ProposalToggleEscrowLock]\n 'proposalUpdateFieldShape((string,byte[]))(string,byte[])': [shape: ProposalUpdateField]\n }\n}\n\n/**\n * The return type for each method\n */\nexport type AkitaDaoTypesReturns = {\n 'proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)': ProposalUpgradeApp\n 'proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])': ProposalAddPlugin\n 'proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])': ProposalAddNamedPlugin\n 'proposalRemovePluginShape((uint64,address,string))(uint64,address,string)': ProposalRemovePlugin\n 'proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)': ProposalRemoveNamedPlugin\n 'proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)': ProposalExecutePlugin\n 'proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)': ProposalExecuteNamedPlugin\n 'proposalRemoveExecutePluginShape((byte[32]))(byte[32])': ProposalRemoveExecutePlugin\n 'proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])': ProposalAddAllowances\n 'proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])': ProposalRemoveAllowances\n 'proposalNewEscrowShape((string))(string)': ProposalNewEscrow\n 'proposalToggleEscrowLockShape((string))(string)': ProposalToggleEscrowLock\n 'proposalUpdateFieldShape((string,byte[]))(string,byte[])': ProposalUpdateField\n}\n\n/**\n * Defines the types of available calls and state of the AkitaDaoTypes smart contract.\n */\nexport type AkitaDaoTypesTypes = {\n /**\n * Maps method signatures / names to their argument and return types.\n */\n methods:\n & Record<'proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)' | 'proposalUpgradeAppShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)']\n returns: AkitaDaoTypesReturns['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)']\n }>\n & Record<'proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])' | 'proposalAddPluginShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n returns: AkitaDaoTypesReturns['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n }>\n & Record<'proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])' | 'proposalAddNamedPluginShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n returns: AkitaDaoTypesReturns['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n }>\n & Record<'proposalRemovePluginShape((uint64,address,string))(uint64,address,string)' | 'proposalRemovePluginShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)']\n returns: AkitaDaoTypesReturns['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)']\n }>\n & Record<'proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)' | 'proposalRemoveNamedPluginShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)']\n returns: AkitaDaoTypesReturns['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)']\n }>\n & Record<'proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)' | 'proposalExecutePluginShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)']\n returns: AkitaDaoTypesReturns['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)']\n }>\n & Record<'proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)' | 'proposalExecuteNamedPluginShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)']\n returns: AkitaDaoTypesReturns['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)']\n }>\n & Record<'proposalRemoveExecutePluginShape((byte[32]))(byte[32])' | 'proposalRemoveExecutePluginShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])']\n returns: AkitaDaoTypesReturns['proposalRemoveExecutePluginShape((byte[32]))(byte[32])']\n }>\n & Record<'proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])' | 'proposalAddAllowancesShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n returns: AkitaDaoTypesReturns['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n }>\n & Record<'proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])' | 'proposalRemoveAllowancesShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])']\n returns: AkitaDaoTypesReturns['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])']\n }>\n & Record<'proposalNewEscrowShape((string))(string)' | 'proposalNewEscrowShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalNewEscrowShape((string))(string)']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalNewEscrowShape((string))(string)']\n returns: AkitaDaoTypesReturns['proposalNewEscrowShape((string))(string)']\n }>\n & Record<'proposalToggleEscrowLockShape((string))(string)' | 'proposalToggleEscrowLockShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalToggleEscrowLockShape((string))(string)']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalToggleEscrowLockShape((string))(string)']\n returns: AkitaDaoTypesReturns['proposalToggleEscrowLockShape((string))(string)']\n }>\n & Record<'proposalUpdateFieldShape((string,byte[]))(string,byte[])' | 'proposalUpdateFieldShape', {\n argsObj: AkitaDaoTypesArgs['obj']['proposalUpdateFieldShape((string,byte[]))(string,byte[])']\n argsTuple: AkitaDaoTypesArgs['tuple']['proposalUpdateFieldShape((string,byte[]))(string,byte[])']\n returns: AkitaDaoTypesReturns['proposalUpdateFieldShape((string,byte[]))(string,byte[])']\n }>\n}\n\n/**\n * Defines the possible abi call signatures.\n */\nexport type AkitaDaoTypesSignatures = keyof AkitaDaoTypesTypes['methods']\n/**\n * Defines the possible abi call signatures for methods that return a non-void value.\n */\nexport type AkitaDaoTypesNonVoidMethodSignatures = keyof AkitaDaoTypesTypes['methods'] extends infer T ? T extends keyof AkitaDaoTypesTypes['methods'] ? MethodReturn<T> extends void ? never : T : never : never\n/**\n * Defines an object containing all relevant parameters for a single call to the contract.\n */\nexport type CallParams<TArgs> = Expand<\n Omit<AppClientMethodCallParams, 'method' | 'args' | 'onComplete'> &\n {\n /** The args for the ABI method call, either as an ordered array or an object */\n args: Expand<TArgs>\n }\n>\n/**\n * Maps a method signature from the AkitaDaoTypes smart contract to the method's arguments in either tuple or struct form\n */\nexport type MethodArgs<TSignature extends AkitaDaoTypesSignatures> = AkitaDaoTypesTypes['methods'][TSignature]['argsObj' | 'argsTuple']\n/**\n * Maps a method signature from the AkitaDaoTypes smart contract to the method's return type\n */\nexport type MethodReturn<TSignature extends AkitaDaoTypesSignatures> = AkitaDaoTypesTypes['methods'][TSignature]['returns']\n\n\n/**\n * Defines supported create method params for this smart contract\n */\nexport type AkitaDaoTypesCreateCallParams =\n | Expand<AppClientBareCallParams & {method?: never} & {onComplete?: OnApplicationComplete.NoOpOC} & CreateSchema>\n/**\n * Defines arguments required for the deploy method.\n */\nexport type AkitaDaoTypesDeployParams = Expand<Omit<AppFactoryDeployParams, 'createParams' | 'updateParams' | 'deleteParams'> & {\n /**\n * Create transaction parameters to use if a create needs to be issued as part of deployment; use `method` to define ABI call (if available) or leave out for a bare call (if available)\n */\n createParams?: AkitaDaoTypesCreateCallParams\n}>\n\n\n/**\n * Exposes methods for constructing `AppClient` params objects for ABI calls to the AkitaDaoTypes smart contract\n */\nexport abstract class AkitaDaoTypesParamsFactory {\n /**\n * Constructs a no op call for the proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalUpgradeAppShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalAddPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalAddNamedPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalRemovePluginShape((uint64,address,string))(uint64,address,string) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalRemovePluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalRemovePluginShape((uint64,address,string))(uint64,address,string)' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalRemoveNamedPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalExecutePluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalExecuteNamedPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalRemoveExecutePluginShape((byte[32]))(byte[32]) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalRemoveExecutePluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalRemoveExecutePluginShape((byte[32]))(byte[32])' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[]) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalAddAllowancesShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[]) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalRemoveAllowancesShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalNewEscrowShape((string))(string) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalNewEscrowShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalNewEscrowShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalNewEscrowShape((string))(string)']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalNewEscrowShape((string))(string)' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalToggleEscrowLockShape((string))(string) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalToggleEscrowLockShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalToggleEscrowLockShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalToggleEscrowLockShape((string))(string)']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalToggleEscrowLockShape((string))(string)' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n /**\n * Constructs a no op call for the proposalUpdateFieldShape((string,byte[]))(string,byte[]) ABI method\n *\n * @param params Parameters for the call\n * @returns An `AppClientMethodCallParams` object for the call\n */\n static proposalUpdateFieldShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpdateFieldShape((string,byte[]))(string,byte[])'] | AkitaDaoTypesArgs['tuple']['proposalUpdateFieldShape((string,byte[]))(string,byte[])']> & CallOnComplete): AppClientMethodCallParams & CallOnComplete {\n return {\n ...params,\n method: 'proposalUpdateFieldShape((string,byte[]))(string,byte[])' as const,\n args: Array.isArray(params.args) ? params.args : [params.args.shape],\n }\n }\n}\n\n/**\n * A factory to create and deploy one or more instance of the AkitaDAOTypes smart contract and to create one or more app clients to interact with those (or other) app instances\n */\nexport class AkitaDaoTypesFactory {\n /**\n * The underlying `AppFactory` for when you want to have more flexibility\n */\n public readonly appFactory: _AppFactory\n\n /**\n * Creates a new instance of `AkitaDaoTypesFactory`\n *\n * @param params The parameters to initialise the app factory with\n */\n constructor(params: Omit<AppFactoryParams, 'appSpec'>) {\n this.appFactory = new _AppFactory({\n ...params,\n appSpec: APP_SPEC,\n })\n }\n \n /** The name of the app (from the ARC-32 / ARC-56 app spec or override). */\n public get appName() {\n return this.appFactory.appName\n }\n \n /** The ARC-56 app spec being used */\n get appSpec() {\n return APP_SPEC\n }\n \n /** A reference to the underlying `AlgorandClient` this app factory is using. */\n public get algorand(): AlgorandClient {\n return this.appFactory.algorand\n }\n \n /**\n * Returns a new `AppClient` client for an app instance of the given ID.\n *\n * Automatically populates appName, defaultSender and source maps from the factory\n * if not specified in the params.\n * @param params The parameters to create the app client\n * @returns The `AppClient`\n */\n public getAppClientById(params: AppFactoryAppClientParams) {\n return new AkitaDaoTypesClient(this.appFactory.getAppClientById(params))\n }\n \n /**\n * Returns a new `AppClient` client, resolving the app by creator address and name\n * using AlgoKit app deployment semantics (i.e. looking for the app creation transaction note).\n *\n * Automatically populates appName, defaultSender and source maps from the factory\n * if not specified in the params.\n * @param params The parameters to create the app client\n * @returns The `AppClient`\n */\n public async getAppClientByCreatorAndName(\n params: AppFactoryResolveAppClientByCreatorAndNameParams,\n ) {\n return new AkitaDaoTypesClient(await this.appFactory.getAppClientByCreatorAndName(params))\n }\n\n /**\n * Idempotently deploys the AkitaDAOTypes smart contract.\n *\n * @param params The arguments for the contract calls and any additional parameters for the call\n * @returns The deployment result\n */\n public async deploy(params: AkitaDaoTypesDeployParams = {}) {\n const result = await this.appFactory.deploy({\n ...params,\n })\n return { result: result.result, appClient: new AkitaDaoTypesClient(result.appClient) }\n }\n\n /**\n * Get parameters to create transactions (create and deploy related calls) for the current app. A good mental model for this is that these parameters represent a deferred transaction creation.\n */\n readonly params = {\n /**\n * Gets available create methods\n */\n create: {\n /**\n * Creates a new instance of the AkitaDAOTypes smart contract using a bare call.\n *\n * @param params The params for the bare (raw) call\n * @returns The params for a create call\n */\n bare: (params?: Expand<AppClientBareCallParams & AppClientCompilationParams & CreateSchema & {onComplete?: OnApplicationComplete.NoOpOC}>) => {\n return this.appFactory.params.bare.create(params)\n },\n },\n\n }\n\n /**\n * Create transactions for the current app\n */\n readonly createTransaction = {\n /**\n * Gets available create methods\n */\n create: {\n /**\n * Creates a new instance of the AkitaDAOTypes smart contract using a bare call.\n *\n * @param params The params for the bare (raw) call\n * @returns The transaction for a create call\n */\n bare: (params?: Expand<AppClientBareCallParams & AppClientCompilationParams & CreateSchema & {onComplete?: OnApplicationComplete.NoOpOC}>) => {\n return this.appFactory.createTransaction.bare.create(params)\n },\n },\n\n }\n\n /**\n * Send calls to the current app\n */\n readonly send = {\n /**\n * Gets available create methods\n */\n create: {\n /**\n * Creates a new instance of the AkitaDAOTypes smart contract using a bare call.\n *\n * @param params The params for the bare (raw) call\n * @returns The create result\n */\n bare: async (params?: Expand<AppClientBareCallParams & AppClientCompilationParams & CreateSchema & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}>) => {\n const result = await this.appFactory.send.bare.create(params)\n return { result: result.result, appClient: new AkitaDaoTypesClient(result.appClient) }\n },\n },\n\n }\n\n}\n/**\n * A client to make calls to the AkitaDAOTypes smart contract\n */\nexport class AkitaDaoTypesClient {\n /**\n * The underlying `AppClient` for when you want to have more flexibility\n */\n public readonly appClient: _AppClient\n\n /**\n * Creates a new instance of `AkitaDaoTypesClient`\n *\n * @param appClient An `AppClient` instance which has been created with the AkitaDaoTypes app spec\n */\n constructor(appClient: _AppClient)\n /**\n * Creates a new instance of `AkitaDaoTypesClient`\n *\n * @param params The parameters to initialise the app client with\n */\n constructor(params: Omit<AppClientParams, 'appSpec'>)\n constructor(appClientOrParams: _AppClient | Omit<AppClientParams, 'appSpec'>) {\n this.appClient = appClientOrParams instanceof _AppClient ? appClientOrParams : new _AppClient({\n ...appClientOrParams,\n appSpec: APP_SPEC,\n })\n }\n\n /**\n * Checks for decode errors on the given return value and maps the return value to the return type for the given method\n * @returns The typed return value or undefined if there was no value\n */\n decodeReturnValue<TSignature extends AkitaDaoTypesNonVoidMethodSignatures>(method: TSignature, returnValue: ABIReturn | undefined) {\n return returnValue !== undefined ? getArc56ReturnValue<MethodReturn<TSignature>>(returnValue, this.appClient.getABIMethod(method), APP_SPEC.structs) : undefined\n }\n\n /**\n * Returns a new `AkitaDaoTypesClient` client, resolving the app by creator address and name\n * using AlgoKit app deployment semantics (i.e. looking for the app creation transaction note).\n * @param params The parameters to create the app client\n */\n public static async fromCreatorAndName(params: Omit<ResolveAppClientByCreatorAndName, 'appSpec'>): Promise<AkitaDaoTypesClient> {\n return new AkitaDaoTypesClient(await _AppClient.fromCreatorAndName({...params, appSpec: APP_SPEC}))\n }\n \n /**\n * Returns an `AkitaDaoTypesClient` instance for the current network based on\n * pre-determined network-specific app IDs specified in the ARC-56 app spec.\n *\n * If no IDs are in the app spec or the network isn't recognised, an error is thrown.\n * @param params The parameters to create the app client\n */\n static async fromNetwork(\n params: Omit<ResolveAppClientByNetwork, 'appSpec'>\n ): Promise<AkitaDaoTypesClient> {\n return new AkitaDaoTypesClient(await _AppClient.fromNetwork({...params, appSpec: APP_SPEC}))\n }\n \n /** The ID of the app instance this client is linked to. */\n public get appId() {\n return this.appClient.appId\n }\n \n /** The app address of the app instance this client is linked to. */\n public get appAddress() {\n return this.appClient.appAddress\n }\n \n /** The name of the app. */\n public get appName() {\n return this.appClient.appName\n }\n \n /** The ARC-56 app spec being used */\n public get appSpec() {\n return this.appClient.appSpec\n }\n \n /** A reference to the underlying `AlgorandClient` this app client is using. */\n public get algorand(): AlgorandClient {\n return this.appClient.algorand\n }\n\n /**\n * Get parameters to create transactions for the current app. A good mental model for this is that these parameters represent a deferred transaction creation.\n */\n readonly params = {\n /**\n * Makes a clear_state call to an existing instance of the AkitaDAOTypes smart contract.\n *\n * @param params The params for the bare (raw) call\n * @returns The clearState result\n */\n clearState: (params?: Expand<AppClientBareCallParams>) => {\n return this.appClient.params.bare.clearState(params)\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalUpgradeAppShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalUpgradeAppShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalAddPluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalAddPluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalAddNamedPluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalAddNamedPluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemovePluginShape((uint64,address,string))(uint64,address,string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalRemovePluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalRemovePluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalRemoveNamedPluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalRemoveNamedPluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalExecutePluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalExecutePluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalExecuteNamedPluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalExecuteNamedPluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemoveExecutePluginShape((byte[32]))(byte[32])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalRemoveExecutePluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalRemoveExecutePluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalAddAllowancesShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalAddAllowancesShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalRemoveAllowancesShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalRemoveAllowancesShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalNewEscrowShape((string))(string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalNewEscrowShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalNewEscrowShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalNewEscrowShape((string))(string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalNewEscrowShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalToggleEscrowLockShape((string))(string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalToggleEscrowLockShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalToggleEscrowLockShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalToggleEscrowLockShape((string))(string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalToggleEscrowLockShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalUpdateFieldShape((string,byte[]))(string,byte[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call params\n */\n proposalUpdateFieldShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpdateFieldShape((string,byte[]))(string,byte[])'] | AkitaDaoTypesArgs['tuple']['proposalUpdateFieldShape((string,byte[]))(string,byte[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.params.call(AkitaDaoTypesParamsFactory.proposalUpdateFieldShape(params))\n },\n\n }\n\n /**\n * Create transactions for the current app\n */\n readonly createTransaction = {\n /**\n * Makes a clear_state call to an existing instance of the AkitaDAOTypes smart contract.\n *\n * @param params The params for the bare (raw) call\n * @returns The clearState result\n */\n clearState: (params?: Expand<AppClientBareCallParams>) => {\n return this.appClient.createTransaction.bare.clearState(params)\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalUpgradeAppShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalUpgradeAppShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalAddPluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalAddPluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalAddNamedPluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalAddNamedPluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemovePluginShape((uint64,address,string))(uint64,address,string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalRemovePluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalRemovePluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalRemoveNamedPluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalRemoveNamedPluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalExecutePluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalExecutePluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalExecuteNamedPluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalExecuteNamedPluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemoveExecutePluginShape((byte[32]))(byte[32])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalRemoveExecutePluginShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalRemoveExecutePluginShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalAddAllowancesShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalAddAllowancesShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalRemoveAllowancesShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalRemoveAllowancesShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalNewEscrowShape((string))(string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalNewEscrowShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalNewEscrowShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalNewEscrowShape((string))(string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalNewEscrowShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalToggleEscrowLockShape((string))(string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalToggleEscrowLockShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalToggleEscrowLockShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalToggleEscrowLockShape((string))(string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalToggleEscrowLockShape(params))\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalUpdateFieldShape((string,byte[]))(string,byte[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call transaction\n */\n proposalUpdateFieldShape: (params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpdateFieldShape((string,byte[]))(string,byte[])'] | AkitaDaoTypesArgs['tuple']['proposalUpdateFieldShape((string,byte[]))(string,byte[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n return this.appClient.createTransaction.call(AkitaDaoTypesParamsFactory.proposalUpdateFieldShape(params))\n },\n\n }\n\n /**\n * Send calls to the current app\n */\n readonly send = {\n /**\n * Makes a clear_state call to an existing instance of the AkitaDAOTypes smart contract.\n *\n * @param params The params for the bare (raw) call\n * @returns The clearState result\n */\n clearState: (params?: Expand<AppClientBareCallParams & SendParams>) => {\n return this.appClient.send.bare.clearState(params)\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalUpgradeAppShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalUpgradeAppShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalAddPluginShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalAddPluginShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalAddNamedPluginShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalAddNamedPluginShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemovePluginShape((uint64,address,string))(uint64,address,string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalRemovePluginShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalRemovePluginShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalRemoveNamedPluginShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalRemoveNamedPluginShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalExecutePluginShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalExecutePluginShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalExecuteNamedPluginShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalExecuteNamedPluginShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemoveExecutePluginShape((byte[32]))(byte[32])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalRemoveExecutePluginShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalRemoveExecutePluginShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalRemoveExecutePluginShape((byte[32]))(byte[32])'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalAddAllowancesShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalAddAllowancesShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalRemoveAllowancesShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalRemoveAllowancesShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalNewEscrowShape((string))(string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalNewEscrowShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalNewEscrowShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalNewEscrowShape((string))(string)']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalNewEscrowShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalNewEscrowShape((string))(string)'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalToggleEscrowLockShape((string))(string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalToggleEscrowLockShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalToggleEscrowLockShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalToggleEscrowLockShape((string))(string)']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalToggleEscrowLockShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalToggleEscrowLockShape((string))(string)'])}\n },\n\n /**\n * Makes a call to the AkitaDAOTypes smart contract using the `proposalUpdateFieldShape((string,byte[]))(string,byte[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n proposalUpdateFieldShape: async (params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpdateFieldShape((string,byte[]))(string,byte[])'] | AkitaDaoTypesArgs['tuple']['proposalUpdateFieldShape((string,byte[]))(string,byte[])']> & SendParams & {onComplete?: OnApplicationComplete.NoOpOC}) => {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalUpdateFieldShape(params))\n return {...result, return: result.return as unknown as (undefined | AkitaDaoTypesReturns['proposalUpdateFieldShape((string,byte[]))(string,byte[])'])}\n },\n\n }\n\n /**\n * Clone this app client with different params\n *\n * @param params The params to use for the the cloned app client. Omit a param to keep the original value. Set a param to override the original value. Setting to undefined will clear the original value.\n * @returns A new app client with the altered params\n */\n public clone(params: CloneAppClientParams) {\n return new AkitaDaoTypesClient(this.appClient.clone(params))\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalUpgradeAppShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalUpgradeAppShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalAddPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalAddPluginShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalAddNamedPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalAddNamedPluginShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalRemovePluginShape((uint64,address,string))(uint64,address,string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalRemovePluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalRemovePluginShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalRemoveNamedPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalRemoveNamedPluginShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalExecutePluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalExecutePluginShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalExecuteNamedPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalExecuteNamedPluginShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalRemoveExecutePluginShape((byte[32]))(byte[32])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalRemoveExecutePluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalRemoveExecutePluginShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalRemoveExecutePluginShape((byte[32]))(byte[32])']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalAddAllowancesShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalAddAllowancesShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalRemoveAllowancesShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalRemoveAllowancesShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalNewEscrowShape((string))(string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalNewEscrowShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalNewEscrowShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalNewEscrowShape((string))(string)']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalNewEscrowShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalNewEscrowShape((string))(string)']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalToggleEscrowLockShape((string))(string)` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalToggleEscrowLockShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalToggleEscrowLockShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalToggleEscrowLockShape((string))(string)']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalToggleEscrowLockShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalToggleEscrowLockShape((string))(string)']\n }\n\n /**\n * Makes a readonly (simulated) call to the AkitaDAOTypes smart contract using the `proposalUpdateFieldShape((string,byte[]))(string,byte[])` ABI method.\n * \n * This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.\n *\n * @param params The params for the smart contract call\n * @returns The call result\n */\n async proposalUpdateFieldShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpdateFieldShape((string,byte[]))(string,byte[])'] | AkitaDaoTypesArgs['tuple']['proposalUpdateFieldShape((string,byte[]))(string,byte[])']>) {\n const result = await this.appClient.send.call(AkitaDaoTypesParamsFactory.proposalUpdateFieldShape(params))\n return result.return as unknown as AkitaDaoTypesReturns['proposalUpdateFieldShape((string,byte[]))(string,byte[])']\n }\n\n /**\n * Methods to access state for the current AkitaDAOTypes app\n */\n state = {\n }\n\n public newGroup(): AkitaDaoTypesComposer {\n const client = this\n const composer = this.algorand.newGroup()\n let promiseChain:Promise<unknown> = Promise.resolve()\n const resultMappers: Array<undefined | ((x: ABIReturn | undefined) => any)> = []\n return {\n /**\n * Add a proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64) method call against the AkitaDAOTypes contract\n */\n proposalUpgradeAppShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalUpgradeAppShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)', v))\n return this\n },\n /**\n * Add a proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]) method call against the AkitaDAOTypes contract\n */\n proposalAddPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalAddPluginShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])', v))\n return this\n },\n /**\n * Add a proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]) method call against the AkitaDAOTypes contract\n */\n proposalAddNamedPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalAddNamedPluginShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])', v))\n return this\n },\n /**\n * Add a proposalRemovePluginShape((uint64,address,string))(uint64,address,string) method call against the AkitaDAOTypes contract\n */\n proposalRemovePluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalRemovePluginShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalRemovePluginShape((uint64,address,string))(uint64,address,string)', v))\n return this\n },\n /**\n * Add a proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string) method call against the AkitaDAOTypes contract\n */\n proposalRemoveNamedPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalRemoveNamedPluginShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)', v))\n return this\n },\n /**\n * Add a proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64) method call against the AkitaDAOTypes contract\n */\n proposalExecutePluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalExecutePluginShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)', v))\n return this\n },\n /**\n * Add a proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64) method call against the AkitaDAOTypes contract\n */\n proposalExecuteNamedPluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalExecuteNamedPluginShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)', v))\n return this\n },\n /**\n * Add a proposalRemoveExecutePluginShape((byte[32]))(byte[32]) method call against the AkitaDAOTypes contract\n */\n proposalRemoveExecutePluginShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalRemoveExecutePluginShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalRemoveExecutePluginShape((byte[32]))(byte[32])', v))\n return this\n },\n /**\n * Add a proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[]) method call against the AkitaDAOTypes contract\n */\n proposalAddAllowancesShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalAddAllowancesShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])', v))\n return this\n },\n /**\n * Add a proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[]) method call against the AkitaDAOTypes contract\n */\n proposalRemoveAllowancesShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalRemoveAllowancesShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])', v))\n return this\n },\n /**\n * Add a proposalNewEscrowShape((string))(string) method call against the AkitaDAOTypes contract\n */\n proposalNewEscrowShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalNewEscrowShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalNewEscrowShape((string))(string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalNewEscrowShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalNewEscrowShape((string))(string)', v))\n return this\n },\n /**\n * Add a proposalToggleEscrowLockShape((string))(string) method call against the AkitaDAOTypes contract\n */\n proposalToggleEscrowLockShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalToggleEscrowLockShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalToggleEscrowLockShape((string))(string)']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalToggleEscrowLockShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalToggleEscrowLockShape((string))(string)', v))\n return this\n },\n /**\n * Add a proposalUpdateFieldShape((string,byte[]))(string,byte[]) method call against the AkitaDAOTypes contract\n */\n proposalUpdateFieldShape(params: CallParams<AkitaDaoTypesArgs['obj']['proposalUpdateFieldShape((string,byte[]))(string,byte[])'] | AkitaDaoTypesArgs['tuple']['proposalUpdateFieldShape((string,byte[]))(string,byte[])']> & {onComplete?: OnApplicationComplete.NoOpOC}) {\n promiseChain = promiseChain.then(async () => composer.addAppCallMethodCall(await client.params.proposalUpdateFieldShape(params)))\n resultMappers.push((v) => client.decodeReturnValue('proposalUpdateFieldShape((string,byte[]))(string,byte[])', v))\n return this\n },\n /**\n * Add a clear state call to the AkitaDAOTypes contract\n */\n clearState(params: AppClientBareCallParams) {\n promiseChain = promiseChain.then(() => composer.addAppCall(client.params.clearState(params)))\n return this\n },\n addTransaction(txn: Transaction, signer?: TransactionSigner) {\n promiseChain = promiseChain.then(() => composer.addTransaction(txn, signer))\n return this\n },\n async composer() {\n await promiseChain\n return composer\n },\n async simulate(options?: SimulateOptions) {\n await promiseChain\n const result = await (!options ? composer.simulate() : composer.simulate(options))\n return {\n ...result,\n returns: result.returns?.map((val, i) => resultMappers[i] !== undefined ? resultMappers[i]!(val) : val.returnValue)\n }\n },\n async send(params?: SendParams) {\n await promiseChain\n const result = await composer.send(params)\n return {\n ...result,\n returns: result.returns?.map((val, i) => resultMappers[i] !== undefined ? resultMappers[i]!(val) : val.returnValue)\n }\n }\n } as unknown as AkitaDaoTypesComposer\n }\n}\nexport type AkitaDaoTypesComposer<TReturns extends [...any[]] = []> = {\n /**\n * Calls the proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalUpgradeAppShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalUpgradeAppShape((uint64,byte[32],byte[32][],uint64,uint64))(uint64,byte[32],byte[32][],uint64,uint64)'] | undefined]>\n\n /**\n * Calls the proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalAddPluginShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalAddPluginShape((uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | undefined]>\n\n /**\n * Calls the proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalAddNamedPluginShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalAddNamedPluginShape((string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,uint64,address,string,uint8,uint64,uint64,(byte[4],uint64)[],bool,bool,bool,bool,uint64,uint64,uint64,uint64,uint64,string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | undefined]>\n\n /**\n * Calls the proposalRemovePluginShape((uint64,address,string))(uint64,address,string) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalRemovePluginShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalRemovePluginShape((uint64,address,string))(uint64,address,string)'] | undefined]>\n\n /**\n * Calls the proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalRemoveNamedPluginShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)'] | AkitaDaoTypesArgs['tuple']['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalRemoveNamedPluginShape((string,uint64,address,string))(string,uint64,address,string)'] | undefined]>\n\n /**\n * Calls the proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalExecutePluginShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalExecutePluginShape((uint64,string,byte[32],byte[32][],uint64,uint64))(uint64,string,byte[32],byte[32][],uint64,uint64)'] | undefined]>\n\n /**\n * Calls the proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalExecuteNamedPluginShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)'] | AkitaDaoTypesArgs['tuple']['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalExecuteNamedPluginShape((string,byte[32],byte[32][],uint64,uint64))(string,byte[32],byte[32][],uint64,uint64)'] | undefined]>\n\n /**\n * Calls the proposalRemoveExecutePluginShape((byte[32]))(byte[32]) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalRemoveExecutePluginShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveExecutePluginShape((byte[32]))(byte[32])']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalRemoveExecutePluginShape((byte[32]))(byte[32])'] | undefined]>\n\n /**\n * Calls the proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[]) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalAddAllowancesShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | AkitaDaoTypesArgs['tuple']['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalAddAllowancesShape((string,(uint64,uint8,uint64,uint64,uint64,bool)[]))(string,(uint64,uint8,uint64,uint64,uint64,bool)[])'] | undefined]>\n\n /**\n * Calls the proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[]) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalRemoveAllowancesShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])'] | AkitaDaoTypesArgs['tuple']['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalRemoveAllowancesShape((string,uint64[]))(string,uint64[])'] | undefined]>\n\n /**\n * Calls the proposalNewEscrowShape((string))(string) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalNewEscrowShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalNewEscrowShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalNewEscrowShape((string))(string)']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalNewEscrowShape((string))(string)'] | undefined]>\n\n /**\n * Calls the proposalToggleEscrowLockShape((string))(string) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalToggleEscrowLockShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalToggleEscrowLockShape((string))(string)'] | AkitaDaoTypesArgs['tuple']['proposalToggleEscrowLockShape((string))(string)']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalToggleEscrowLockShape((string))(string)'] | undefined]>\n\n /**\n * Calls the proposalUpdateFieldShape((string,byte[]))(string,byte[]) ABI method.\n *\n * @param args The arguments for the contract call\n * @param params Any additional parameters for the call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n proposalUpdateFieldShape(params?: CallParams<AkitaDaoTypesArgs['obj']['proposalUpdateFieldShape((string,byte[]))(string,byte[])'] | AkitaDaoTypesArgs['tuple']['proposalUpdateFieldShape((string,byte[]))(string,byte[])']>): AkitaDaoTypesComposer<[...TReturns, AkitaDaoTypesReturns['proposalUpdateFieldShape((string,byte[]))(string,byte[])'] | undefined]>\n\n /**\n * Makes a clear_state call to an existing instance of the AkitaDAOTypes smart contract.\n *\n * @param args The arguments for the bare call\n * @returns The typed transaction composer so you can fluently chain multiple calls or call execute to execute all queued up transactions\n */\n clearState(params?: AppClientBareCallParams): AkitaDaoTypesComposer<[...TReturns, undefined]>\n\n /**\n * Adds a transaction to the composer\n *\n * @param txn A transaction to add to the transaction group\n * @param signer The optional signer to use when signing this transaction.\n */\n addTransaction(txn: Transaction, signer?: TransactionSigner): AkitaDaoTypesComposer<TReturns>\n /**\n * Returns the underlying AtomicTransactionComposer instance\n */\n composer(): Promise<TransactionComposer>\n /**\n * Simulates the transaction group and returns the result\n */\n simulate(): Promise<AkitaDaoTypesComposerResults<TReturns> & { simulateResponse: modelsv2.SimulateResponse }>\n simulate(options: SkipSignaturesSimulateOptions): Promise<AkitaDaoTypesComposerResults<TReturns> & { simulateResponse: modelsv2.SimulateResponse }>\n simulate(options: RawSimulateOptions): Promise<AkitaDaoTypesComposerResults<TReturns> & { simulateResponse: modelsv2.SimulateResponse }>\n /**\n * Sends the transaction group to the network and returns the results\n */\n send(params?: SendParams): Promise<AkitaDaoTypesComposerResults<TReturns>>\n}\nexport type AkitaDaoTypesComposerResults<TReturns extends [...any[]]> = Expand<SendAtomicTransactionComposerResults & {\n returns: TReturns\n}>\n\n","import { AkitaAppList, AkitaAssets, AkitaDaoArgs, AkitaSocialAppList, GlobalKeysState, NftFees, OtherAppList, PluginAppList, ProposalSettings, ProposalVoteTotals, SocialFees, StakingFees, SubscriptionFees, SwapFees, WalletFees } from \"../generated/AkitaDAOClient\";\nimport { \n ProposalAddAllowances,\n ProposalAddNamedPlugin,\n ProposalAddPlugin,\n ProposalExecutePlugin,\n ProposalNewEscrow,\n ProposalRemoveAllowances,\n ProposalRemoveExecutePlugin,\n ProposalRemoveNamedPlugin,\n ProposalRemovePlugin,\n ProposalToggleEscrowLock,\n ProposalUpdateField,\n ProposalUpgradeApp\n} from \"../generated/AkitaDAOTypesClient\";\nimport { ProposalActionEnum } from \"./constants\";\nimport { AddAllowanceArgs, AddPluginArgs, WalletAddPluginParams } from \"../wallet\";\nimport { MaybeSigner, SDKClient } from \"../types\";\n\ntype ContractArgs = AkitaDaoArgs[\"obj\"];\n\nexport type AkitaDaoGlobalState = GlobalKeysState;\n\nexport type ProposalAction<TClient extends SDKClient> = (\n | {\n type: ProposalActionEnum.UpgradeApp\n app: bigint\n executionKey: Uint8Array\n groups: Uint8Array[]\n firstValid: bigint\n lastValid: bigint\n }\n | (\n Omit<WalletAddPluginParams<TClient>, 'sender' | 'signer' | 'useExecutionKey'>\n & {\n type: ProposalActionEnum.AddPlugin | ProposalActionEnum.AddNamedPlugin\n sourceLink: string\n }\n & (\n {\n useExecutionKey: false\n }\n | {\n useExecutionKey: true\n fee: bigint\n power: bigint\n duration: bigint\n participation: bigint\n approval: bigint\n }\n )\n )\n | {\n type: ProposalActionEnum.ExecutePlugin\n plugin: bigint\n caller: string\n escrow: string\n executionKey: Uint8Array\n groups: Uint8Array[]\n firstValid: bigint\n lastValid: bigint\n }\n | {\n type: ProposalActionEnum.RemoveExecutePlugin\n executionKey: Uint8Array\n }\n | {\n type: ProposalActionEnum.RemovePlugin\n plugin: bigint\n caller: string\n escrow: string\n }\n | {\n type: ProposalActionEnum.RemoveNamedPlugin\n name: string\n }\n | {\n type: ProposalActionEnum.AddAllowances\n escrow: string\n allowances: AddAllowanceArgs[]\n }\n | {\n type: ProposalActionEnum.RemoveAllowances\n escrow: string\n assets: bigint[]\n }\n | {\n type: ProposalActionEnum.NewEscrow | ProposalActionEnum.ToggleEscrowLock\n escrow: string\n }\n | FieldUpdate & {\n type: ProposalActionEnum.UpdateFields\n }\n | {\n type: ProposalActionEnum.UpdateWallet\n }\n)\n\n// [[bigint | number, string], bigint | number, bigint | number][]\nexport enum SplitDistributionType {\n Flat = 10,\n Percentage = 20,\n Remainder = 30,\n}\n\nexport type Split = {\n receiver: { wallet: bigint, escrow: string }\n type: SplitDistributionType\n value: bigint\n}\n\nexport function SplitsToTuples(splits: Split[]): [[bigint | number, string], bigint | number, bigint | number][] {\n return splits.map((split) => [[split.receiver.wallet, split.receiver.escrow], split.type, split.value])\n}\n\nexport type FieldUpdate = (\n | { field: 'content_policy', value: Uint8Array }\n | {\n field: 'proposal_action_limit' | 'min_rewards_impact',\n value: number\n }\n | { field: 'aal', value: Partial<AkitaAppList> }\n | { field: 'sal', value: Partial<AkitaSocialAppList> }\n | { field: 'pal', value: Partial<PluginAppList> }\n | { field: 'oal', value: Partial<OtherAppList> }\n | { field: 'wallet_fees', value: WalletFees } // only one value for now so no need for partial\n | { field: 'social_fees', value: Partial<SocialFees> }\n | { field: 'staking_fees', value: Partial<StakingFees> }\n | { field: 'subscription_fees', value: Partial<SubscriptionFees> }\n | { field: 'nft_fees', value: Partial<NftFees> }\n | { field: 'swap_fees', value: Partial<SwapFees> }\n | { field: 'akita_assets', value: Partial<AkitaAssets> }\n | {\n field: 'upgrade_app_ps' | 'add_plugin_ps' | 'remove_plugin_ps' | 'add_allowance_ps' | 'remove_allowance_ps' | 'new_escrow_ps' | 'update_fields_ps',\n value: Partial<ProposalSettings>\n }\n | { field: 'revenue_splits', value: Split[] }\n)\n\nexport type NewProposalParams<TClient extends SDKClient> = (\n {\n cid?: Uint8Array;\n actions: ProposalAction<TClient>[],\n consolidateFees?: boolean\n } & MaybeSigner\n)\n\nexport type EditProposalParams<TClient extends SDKClient> = (\n ContractArgs['editProposal(uint64,byte[36],(uint8,byte[])[])void']\n & {\n actions: ProposalAction<TClient>[]\n } & MaybeSigner\n)\n\nexport type ProposalAddPluginArgs = (\n AddPluginArgs & {\n fee?: bigint;\n power?: bigint;\n duration?: bigint;\n participation?: bigint;\n approval?: bigint;\n sourceLink: string;\n allowances: [number | bigint, number | bigint, number | bigint, number | bigint, number | bigint, boolean][];\n }\n)\n\n/**\n * Union type for all decoded proposal action types\n */\nexport type DecodedProposalAction = (\n | ({ type: ProposalActionEnum.UpgradeApp } & ProposalUpgradeApp)\n | ({ type: ProposalActionEnum.AddPlugin } & ProposalAddPlugin)\n | ({ type: ProposalActionEnum.AddNamedPlugin } & ProposalAddNamedPlugin)\n | ({ type: ProposalActionEnum.ExecutePlugin } & ProposalExecutePlugin)\n | ({ type: ProposalActionEnum.RemoveExecutePlugin } & ProposalRemoveExecutePlugin)\n | ({ type: ProposalActionEnum.RemovePlugin } & ProposalRemovePlugin)\n | ({ type: ProposalActionEnum.RemoveNamedPlugin } & ProposalRemoveNamedPlugin)\n | ({ type: ProposalActionEnum.AddAllowances } & ProposalAddAllowances)\n | ({ type: ProposalActionEnum.RemoveAllowances } & ProposalRemoveAllowances)\n | ({ type: ProposalActionEnum.NewEscrow } & ProposalNewEscrow)\n | ({ type: ProposalActionEnum.ToggleEscrowLock } & ProposalToggleEscrowLock)\n | ({ type: ProposalActionEnum.UpdateFields } & ProposalUpdateField)\n | { type: ProposalActionEnum.UpdateWallet }\n)\n\n/**\n * Decoded proposal with typed actions\n */\nexport type DecodedProposal = {\n status: number;\n cid: Uint8Array;\n votes: ProposalVoteTotals;\n creator: string;\n votingTs: bigint;\n created: bigint;\n feesPaid: bigint;\n actions: DecodedProposalAction[];\n}","export enum ProposalActionEnum {\n UpgradeApp = 10,\n AddPlugin = 20,\n AddNamedPlugin = 21,\n ExecutePlugin = 30,\n RemoveExecutePlugin = 31,\n RemovePlugin = 40,\n RemoveNamedPlugin = 41,\n AddAllowances = 50,\n RemoveAllowances = 60,\n NewEscrow = 70,\n ToggleEscrowLock = 71,\n UpdateFields = 80,\n UpdateWallet = 90\n}\n\nexport const EMPTY_CID = Buffer.from('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')\n\nexport const DAOProposalVotesMBR: bigint = 22_500n","import { AkitaDaoArgs, AkitaDaoClient, AkitaDaoFactory, ProposalCostInfo, ProposalDetails, ProposalVoteTotals } from '../generated/AkitaDAOClient'\nimport {\n AkitaDaoTypesClient,\n ProposalAddAllowances,\n ProposalAddNamedPlugin,\n ProposalAddPlugin,\n ProposalExecutePlugin,\n ProposalNewEscrow,\n ProposalRemoveAllowances,\n ProposalRemoveExecutePlugin,\n ProposalRemoveNamedPlugin,\n ProposalRemovePlugin,\n ProposalToggleEscrowLock,\n ProposalUpdateField,\n ProposalUpgradeApp\n} from '../generated/AkitaDAOTypesClient'\nimport { BaseSDK } from \"../base\";\nimport { ENV_VAR_NAMES } from \"../config\";\nimport { isPluginSDKReturn, MaybeSigner, NewContractSDKParams, SDKClient, TxnReturn } from \"../types\";\nimport { WalletSDK } from \"../wallet\";\nimport { AkitaDaoGlobalState, DecodedProposal, DecodedProposalAction, EditProposalParams, NewProposalParams, ProposalAction, ProposalAddPluginArgs, SplitsToTuples } from \"./types\";\nimport { DAOProposalVotesMBR, ProposalActionEnum } from \"./constants\";\nimport { ABIStruct, getABIDecodedValue, getABIEncodedValue } from \"@algorandfoundation/algokit-utils/types/app-arc56\";\nimport { ALGORAND_ZERO_ADDRESS_STRING, encodeUint64 } from \"algosdk\";\nimport { AppReturn } from \"@algorandfoundation/algokit-utils/types/app\";\nimport { microAlgo, prepareGroupForSending } from \"@algorandfoundation/algokit-utils\";\nimport { emptySigner, MAX_UINT64 } from \"../constants\";\nimport { EMPTY_CID } from \"./constants\"\nimport { AllowancesToTuple, forceProperties, OverWriteProperties } from '../wallet/utils';\nimport { AlgoAmount } from '@algorandfoundation/algokit-utils/types/amount';\n\nexport * from './constants';\nexport * from \"./types\";\n\ntype ContractArgs = AkitaDaoArgs[\"obj\"]\n\nexport class AkitaDaoSDK extends BaseSDK<AkitaDaoClient> {\n\n typeClient: AkitaDaoTypesClient\n private _wallet: WalletSDK | null = null;\n private _walletInitPromise: Promise<WalletSDK> | null = null;\n private _constructorParams: NewContractSDKParams;\n\n constructor(params: NewContractSDKParams) {\n super({ factory: AkitaDaoFactory, ...params }, ENV_VAR_NAMES.DAO_APP_ID);\n this.typeClient = new AkitaDaoTypesClient({ algorand: this.algorand, appId: 0n });\n this._constructorParams = params;\n }\n\n /**\n * Get the wallet SDK associated with this DAO.\n * Lazily fetches the wallet app ID from the DAO's global state on first access.\n */\n async getWallet(): Promise<WalletSDK> {\n if (this._wallet) {\n return this._wallet;\n }\n\n // Use a promise to prevent multiple concurrent initializations\n if (!this._walletInitPromise) {\n this._walletInitPromise = this._initializeWallet();\n }\n\n return this._walletInitPromise;\n }\n\n private async _initializeWallet(): Promise<WalletSDK> {\n // Fetch wallet app ID from DAO global state\n const walletAppId = await this.client.state.global.wallet();\n if (!walletAppId) {\n throw new Error('Could not read wallet app ID from DAO global state. Has the DAO been set up?');\n }\n\n this._wallet = new WalletSDK({\n ...this._constructorParams,\n factoryParams: {\n ...this._constructorParams.factoryParams,\n appId: walletAppId,\n defaultSender: this.sendParams.sender,\n defaultSigner: this.sendParams.signer\n }\n });\n\n return this._wallet;\n }\n\n /**\n * @deprecated Use getWallet() instead for proper async initialization.\n * This getter exists for backwards compatibility but will throw if the wallet\n * hasn't been initialized yet via getWallet() or setup().\n */\n get wallet(): WalletSDK {\n if (!this._wallet) {\n throw new Error(\n 'Wallet not initialized. Call \"await dao.getWallet()\" first to initialize the wallet SDK, ' +\n 'or use \"await dao.setup()\" to create a new DAO with its wallet.'\n );\n }\n return this._wallet;\n }\n\n /**\n * Allows setting the wallet directly (used by setup() and for testing)\n */\n set wallet(wallet: WalletSDK) {\n this._wallet = wallet;\n this._walletInitPromise = Promise.resolve(wallet);\n }\n\n private async prepProposalActions<TClient extends SDKClient>(actions: ProposalAction<TClient>[]): Promise<any> {\n // Only fetch wallet when needed for validation (ExecutePlugin, RemoveExecutePlugin, RemovePlugin, RemoveNamedPlugin)\n const needsWallet = actions.some(a => \n a.type === ProposalActionEnum.ExecutePlugin ||\n a.type === ProposalActionEnum.RemoveExecutePlugin ||\n a.type === ProposalActionEnum.RemovePlugin ||\n a.type === ProposalActionEnum.RemoveNamedPlugin\n );\n const wallet = needsWallet ? await this.getWallet() : null;\n \n // parse args & rebuild\n const preppedActions: [number | bigint, Uint8Array<ArrayBufferLike>][] = []\n for (let i = 0; i < actions.length; i++) {\n const typedAction = actions[i]\n let abiAction: ABIStruct\n let structType: string = ''\n\n switch (typedAction.type) {\n case ProposalActionEnum.UpgradeApp: {\n const { type, ...action } = typedAction\n\n abiAction = action\n structType = 'ProposalUpgradeApp'\n break;\n }\n case ProposalActionEnum.AddPlugin:\n case ProposalActionEnum.AddNamedPlugin: {\n const { type, ...action } = typedAction\n\n let {\n name = '',\n client,\n caller,\n global = false,\n methods = [],\n escrow = '',\n admin = false,\n delegationType = 0n,\n lastValid = MAX_UINT64,\n cooldown = 0n,\n useRounds = false,\n useExecutionKey = false,\n coverFees = false,\n defaultToEscrow = false,\n sourceLink = '',\n allowances = []\n } = action;\n\n // Default the conditional properties\n let fee = 0n;\n let power = 0n;\n let duration = 0n;\n let participation = 0n;\n let approval = 0n;\n\n // Narrow the type and extract execution key props\n if (action.useExecutionKey) {\n fee = action.fee;\n power = action.power;\n duration = action.duration;\n participation = action.participation;\n approval = action.approval;\n\n // Move the validation inside the narrowed block\n if (duration === 0n || participation === 0n || approval === 0n) {\n throw new Error('Proposal Settings must be set when using execution key');\n }\n }\n\n const plugin = client.appId;\n\n if (global) {\n caller = ALGORAND_ZERO_ADDRESS_STRING\n }\n\n let transformedMethods: [Uint8Array<ArrayBufferLike>, number | bigint][] = [];\n if (methods.length > 0) {\n transformedMethods = methods.reduce<[Uint8Array<ArrayBufferLike>, number | bigint][]>(\n (acc, method) => {\n if (isPluginSDKReturn(method.name)) {\n const selectors = method.name().selectors ?? [];\n selectors.forEach((selector) => acc.push([selector, method.cooldown]));\n } else {\n method.name.forEach(x => acc.push([x, method.cooldown]));\n }\n return acc;\n },\n []\n );\n }\n\n const args: ProposalAddPluginArgs = {\n plugin,\n caller: caller!,\n escrow,\n admin,\n delegationType,\n lastValid,\n cooldown,\n methods: transformedMethods,\n useRounds,\n useExecutionKey,\n coverFees,\n canReclaim: false,\n defaultToEscrow,\n fee,\n power,\n duration,\n participation,\n approval,\n sourceLink,\n allowances: AllowancesToTuple(allowances)\n }\n\n if (name) {\n abiAction = { name, ...args };\n structType = 'ProposalAddNamedPlugin';\n } else {\n abiAction = args;\n structType = 'ProposalAddPlugin';\n }\n\n break;\n }\n case ProposalActionEnum.ExecutePlugin: {\n const { type, ...action } = typedAction\n const { plugin, escrow } = action\n\n if (!wallet!.plugins.has({ plugin, caller: ALGORAND_ZERO_ADDRESS_STRING, escrow })) {\n try {\n await wallet!.getPluginByKey({ plugin, caller: ALGORAND_ZERO_ADDRESS_STRING, escrow })\n } catch (e) {\n throw new Error(`Plugin: ${plugin} for escrow: ${escrow} not found`);\n }\n }\n\n abiAction = action;\n structType = 'ProposalExecutePlugin';\n break;\n }\n case ProposalActionEnum.RemoveExecutePlugin: {\n const { type, ...action } = typedAction\n\n if (!wallet!.executions.has(action.executionKey)) {\n try {\n await wallet!.getExecution(action.executionKey)\n } catch (e) {\n throw new Error(`Execution with key: ${action.executionKey} not found`);\n }\n }\n\n abiAction = action;\n structType = 'ProposalRemoveExecutePlugin';\n break;\n }\n case ProposalActionEnum.RemovePlugin: {\n const { type, ...action } = typedAction\n const { plugin, caller, escrow } = action;\n\n if (!wallet!.plugins.has({ plugin, caller, escrow })) {\n try {\n await wallet!.getPluginByKey({ plugin, caller, escrow })\n } catch (e) {\n throw new Error(`Plugin: ${plugin} with caller: ${caller} for escrow: ${escrow} not found`);\n }\n }\n\n abiAction = action;\n structType = 'ProposalRemovePlugin';\n break;\n }\n case ProposalActionEnum.RemoveNamedPlugin: {\n const { type, ...action } = typedAction\n const { name } = action;\n\n if (!wallet!.namedPlugins.has(name)) {\n try {\n await wallet!.getPluginByName(name)\n } catch (e) {\n throw new Error(`Plugin named: ${name} not found`);\n }\n }\n\n abiAction = action\n structType = 'ProposalRemoveNamedPlugin';\n break;\n }\n case ProposalActionEnum.AddAllowances: {\n const { escrow, allowances } = typedAction\n\n abiAction = { escrow, allowances: AllowancesToTuple(allowances) };\n structType = 'ProposalAddAllowances';\n break;\n }\n case ProposalActionEnum.RemoveAllowances: {\n const { type, ...action } = typedAction\n\n abiAction = action;\n structType = 'ProposalRemoveAllowances';\n break;\n }\n case ProposalActionEnum.NewEscrow: {\n const { type, ...action } = typedAction\n\n abiAction = action;\n structType = 'ProposalNewEscrow';\n break;\n }\n case ProposalActionEnum.ToggleEscrowLock: {\n const { type, ...action } = typedAction\n\n abiAction = action;\n structType = 'ProposalToggleEscrowLock';\n break;\n }\n case ProposalActionEnum.UpdateFields: {\n const { type, ...action } = typedAction\n\n let data: Uint8Array<ArrayBufferLike>\n switch (action.field) {\n case 'content_policy': {\n data = action.value\n break;\n }\n case 'proposal_action_limit':\n case 'min_rewards_impact': {\n data = encodeUint64(action.value)\n break;\n }\n case 'aal': {\n const currentApps = await this.client.state.global.akitaAppList()\n\n const {\n staking = currentApps?.staking ?? 0n,\n rewards = currentApps?.rewards ?? 0n,\n pool = currentApps?.pool ?? 0n,\n prizeBox = currentApps?.prizeBox ?? 0n,\n subscriptions = currentApps?.subscriptions ?? 0n,\n gate = currentApps?.gate ?? 0n,\n auction = currentApps?.auction ?? 0n,\n hyperSwap = currentApps?.hyperSwap ?? 0n,\n raffle = currentApps?.raffle ?? 0n,\n metaMerkles = currentApps?.metaMerkles ?? 0n,\n marketplace = currentApps?.marketplace ?? 0n,\n wallet = currentApps?.wallet ?? 0n,\n } = action.value;\n\n const abiData = {\n staking,\n rewards,\n pool,\n prizeBox,\n subscriptions,\n gate,\n auction,\n hyperSwap,\n raffle,\n metaMerkles,\n marketplace,\n wallet,\n };\n\n data = getABIEncodedValue(abiData, 'AkitaAppList', this.client.appClient.appSpec.structs)\n break;\n }\n case 'sal': {\n const currentApps = await this.client.state.global.akitaSocialAppList()\n\n const {\n social = currentApps?.social ?? 0n,\n graph = currentApps?.graph ?? 0n,\n impact = currentApps?.impact ?? 0n,\n moderation = currentApps?.moderation ?? 0n\n } = action.value;\n\n const abiData = {\n social,\n graph,\n impact,\n moderation\n };\n\n data = getABIEncodedValue(abiData, 'AkitaSocialAppList', this.client.appClient.appSpec.structs)\n break;\n }\n case 'pal': {\n const currentApps = await this.client.state.global.pluginAppList()\n\n const {\n optin = currentApps?.optin ?? 0n,\n revenueManager = currentApps?.revenueManager ?? 0n,\n update = currentApps?.update ?? 0n\n } = action.value;\n\n data = getABIEncodedValue({ optin, revenueManager, update }, 'PluginAppList', this.client.appClient.appSpec.structs)\n break;\n }\n case 'oal': {\n const currentApps = await this.client.state.global.otherAppList()\n\n const {\n vrfBeacon = currentApps?.vrfBeacon ?? 0n,\n nfdRegistry = currentApps?.nfdRegistry ?? 0n,\n assetInbox = currentApps?.assetInbox ?? 0n,\n escrow = currentApps?.escrow ?? 0n,\n poll = currentApps?.poll ?? 0n,\n akitaNfd = currentApps?.akitaNfd ?? 0n\n } = action.value;\n\n const abiData = {\n vrfBeacon,\n nfdRegistry,\n assetInbox,\n escrow,\n poll,\n akitaNfd\n };\n\n data = getABIEncodedValue(abiData, 'OtherAppList', this.client.appClient.appSpec.structs)\n break;\n }\n case 'wallet_fees': {\n\n const currentFees = await this.client.state.global.walletFees()\n\n const {\n createFee = currentFees?.createFee ?? 0n,\n } = action.value;\n\n data = getABIEncodedValue({ createFee }, 'WalletFees', this.client.appClient.appSpec.structs)\n break;\n }\n case 'social_fees': {\n const currentFees = await this.client.state.global.socialFees()\n\n const {\n postFee = currentFees?.postFee ?? 0n,\n reactFee = currentFees?.reactFee ?? 0n,\n impactTaxMin = currentFees?.impactTaxMin ?? 0n,\n impactTaxMax = currentFees?.impactTaxMax ?? 0n\n } = action.value;\n\n const abiData = {\n postFee,\n reactFee,\n impactTaxMin,\n impactTaxMax\n };\n\n data = getABIEncodedValue(abiData, 'SocialFees', this.client.appClient.appSpec.structs)\n break;\n }\n case 'staking_fees': {\n const currentFees = await this.client.state.global.stakingFees()\n\n const {\n creationFee = currentFees?.creationFee ?? 0n,\n impactTaxMin = currentFees?.impactTaxMin ?? 0n,\n impactTaxMax = currentFees?.impactTaxMax ?? 0n\n } = action.value;\n\n const abiData = {\n creationFee,\n impactTaxMin,\n impactTaxMax\n };\n\n data = getABIEncodedValue(abiData, 'StakingFees', this.client.appClient.appSpec.structs)\n break;\n }\n case 'subscription_fees': {\n const currentFees = await this.client.state.global.subscriptionFees()\n\n const {\n serviceCreationFee = currentFees?.serviceCreationFee ?? 0n,\n paymentPercentage = currentFees?.paymentPercentage ?? 0n,\n triggerPercentage = currentFees?.triggerPercentage ?? 0n,\n } = action.value;\n\n const abiData = {\n serviceCreationFee,\n paymentPercentage,\n triggerPercentage\n };\n\n data = getABIEncodedValue(abiData, 'SubscriptionFees', this.client.appClient.appSpec.structs)\n break;\n }\n case 'nft_fees': {\n const currentFees = await this.client.state.global.nftFees()\n\n const {\n marketplaceSalePercentageMin = currentFees?.marketplaceSalePercentageMin ?? 0n,\n marketplaceSalePercentageMax = currentFees?.marketplaceSalePercentageMax ?? 0n,\n marketplaceComposablePercentage = currentFees?.marketplaceComposablePercentage ?? 0n,\n marketplaceRoyaltyDefaultPercentage = currentFees?.marketplaceRoyaltyDefaultPercentage ?? 0n,\n shuffleSalePercentage = currentFees?.shuffleSalePercentage ?? 0n,\n omnigemSaleFee = currentFees?.omnigemSaleFee ?? 0n,\n auctionCreationFee = currentFees?.auctionCreationFee ?? 0n,\n auctionSaleImpactTaxMin = currentFees?.auctionSaleImpactTaxMin ?? 0n,\n auctionSaleImpactTaxMax = currentFees?.auctionSaleImpactTaxMax ?? 0n,\n auctionComposablePercentage = currentFees?.auctionComposablePercentage ?? 0n,\n auctionRafflePercentage = currentFees?.auctionRafflePercentage ?? 0n,\n raffleCreationFee = currentFees?.raffleCreationFee ?? 0n,\n raffleSaleImpactTaxMin = currentFees?.raffleSaleImpactTaxMin ?? 0n,\n raffleSaleImpactTaxMax = currentFees?.raffleSaleImpactTaxMax ?? 0n,\n raffleComposablePercentage = currentFees?.raffleComposablePercentage ?? 0n,\n } = action.value;\n\n const abiData = {\n marketplaceSalePercentageMin,\n marketplaceSalePercentageMax,\n marketplaceComposablePercentage,\n marketplaceRoyaltyDefaultPercentage,\n shuffleSalePercentage,\n omnigemSaleFee,\n auctionCreationFee,\n auctionSaleImpactTaxMin,\n auctionSaleImpactTaxMax,\n auctionComposablePercentage,\n auctionRafflePercentage,\n raffleCreationFee,\n raffleSaleImpactTaxMin,\n raffleSaleImpactTaxMax,\n raffleComposablePercentage\n };\n\n data = getABIEncodedValue(abiData, 'NftFees', this.client.appClient.appSpec.structs)\n break;\n }\n case 'swap_fees': {\n const currentFees = await this.client.state.global.swapFees()\n\n const {\n impactTaxMin = currentFees?.impactTaxMin ?? 0n,\n impactTaxMax = currentFees?.impactTaxMax ?? 0n\n } = action.value;\n\n const abiData = {\n impactTaxMin,\n impactTaxMax\n };\n\n data = getABIEncodedValue(abiData, 'SwapFees', this.client.appClient.appSpec.structs)\n break;\n }\n case 'akita_assets': {\n const currentAssets = await this.client.state.global.akitaAssets()\n\n const {\n akta = currentAssets?.akta ?? 0n,\n bones = currentAssets?.bones ?? 0n\n } = action.value;\n\n data = getABIEncodedValue({ akta, bones }, 'AkitaAssets', this.client.appClient.appSpec.structs)\n break;\n }\n case 'upgrade_app_ps':\n case 'add_plugin_ps':\n case 'remove_plugin_ps':\n case 'add_allowance_ps':\n case 'remove_allowance_ps':\n case 'new_escrow_ps':\n case 'update_fields_ps': {\n data = getABIEncodedValue(action.value, \"ProposalSettings\", this.client.appClient.appSpec.structs)\n break;\n }\n case 'revenue_splits': {\n data = getABIEncodedValue(SplitsToTuples(action.value), '((uint64,string),uint8,uint64)[]', this.client.appClient.appSpec.structs)\n break;\n }\n default:\n throw new Error(`Unsupported field`);\n }\n\n abiAction = { field: action.field, value: data }\n structType = 'ProposalUpdateField';\n break;\n }\n case ProposalActionEnum.UpdateWallet: {\n // No data needed — the DAO contract calls factory.updateWallet(wallet) directly\n preppedActions.push([typedAction.type, new Uint8Array()])\n continue;\n }\n default: {\n throw new Error(`Unsupported proposal action type`);\n }\n }\n\n preppedActions.push([\n typedAction.type,\n getABIEncodedValue(abiAction, structType, this.typeClient.appClient.appSpec.structs)\n ])\n }\n\n return preppedActions;\n }\n\n async initialize(params?: MaybeSigner): Promise<TxnReturn<void>> {\n\n const sendParams = this.getSendParams(params);\n\n return await this.client.send.initialize({\n ...sendParams,\n args: {}\n })\n }\n\n async newProposal<TClient extends SDKClient>({\n sender,\n signer,\n cid = EMPTY_CID,\n actions,\n consolidateFees = true\n }: NewProposalParams<TClient>): Promise<{\n groupId: string;\n confirmedRound: bigint;\n txIDs: string[];\n } & AppReturn<bigint | undefined>> {\n\n const sendParams = this.getRequiredSendParams({ sender, signer });\n\n const preppedActions = await this.prepProposalActions<TClient>(actions)\n\n const group = this.client.newGroup()\n\n const { total } = await this.client.proposalCost({ args: { actions: preppedActions } })\n\n const payment = this.client.algorand.createTransaction.payment({\n ...sendParams,\n receiver: this.client.appAddress.toString(),\n amount: microAlgo(total),\n })\n\n group.newProposal({\n ...sendParams,\n args: {\n payment,\n cid,\n actions: preppedActions\n }\n })\n\n for (let i = 0; i < actions.length; i++) {\n group.opUp({ args: {}, note: `${i}` })\n }\n\n const length = await (await group.composer()).count()\n\n const suggestedParams = await this.client.algorand.getSuggestedParams()\n const foundation = (await (await group.composer()).build()).atc\n\n const maxFees = new Map<number, AlgoAmount>();\n for (let i = 0; i < length; i += 1) {\n maxFees.set(i, microAlgo(257_000));\n }\n\n const populatedGroup = await prepareGroupForSending(\n foundation,\n this.client.algorand.client.algod,\n {\n coverAppCallInnerTransactionFees: true,\n populateAppCallResources: true\n },\n {\n maxFees,\n suggestedParams: suggestedParams,\n },\n )\n\n let overwrite: OverWriteProperties = {}\n\n if (consolidateFees) {\n const feeConsolidation = populatedGroup.clone().buildGroup();\n const totalFees = feeConsolidation.reduce((acc, txn) => acc + txn.txn.fee, 0n);\n overwrite.fees = new Map([\n [0, microAlgo(totalFees)],\n ...Array.from({ length: length - 1 }, (_, i) => [i + 1, microAlgo(0)] as [number, AlgoAmount]),\n ])\n }\n\n const finalGroup = forceProperties(populatedGroup, overwrite)\n\n const groupId = finalGroup.buildGroup()[0].txn.group!.toString()\n\n const { methodResults, ...rest } = await finalGroup.execute(this.client.algorand.client.algod, 10)\n\n return { groupId, ...rest, return: methodResults ? methodResults[0].returnValue as bigint : undefined }\n }\n\n async editProposal<TClient extends SDKClient>({\n sender,\n signer,\n id,\n cid,\n actions\n }: EditProposalParams<TClient>): Promise<TxnReturn<void>> {\n\n const sendParams = this.getRequiredSendParams({ sender, signer });\n\n const preppedActions = await this.prepProposalActions<TClient>(actions)\n\n const req = await Promise.allSettled([\n this.client.state.box.proposals.value(id),\n this.client.proposalCost({ args: { actions: preppedActions } })\n ])\n\n if (req[0].status === 'rejected' || req[0].value === undefined) {\n throw new Error(`Proposal with id: ${id} not found`);\n }\n\n const { feesPaid } = req[0].value;\n\n if (req[1].status === 'rejected') {\n throw new Error(`Failed to calculate proposal cost: ${req[1].reason}`);\n }\n\n const results = req[1].value;\n const cost = results.total ?? 0n;\n\n let paymentRequired = feesPaid < cost;\n\n if (paymentRequired) {\n const payment = this.client.algorand.createTransaction.payment({\n ...sendParams,\n receiver: this.client.appAddress.toString(),\n amount: microAlgo(cost - feesPaid),\n })\n\n return await this.client.send.editProposalWithPayment({\n ...sendParams,\n args: {\n payment,\n id,\n cid,\n actions: preppedActions,\n }\n })\n } else {\n return await this.client.send.editProposal({\n ...sendParams,\n args: {\n id,\n cid,\n actions: preppedActions\n }\n })\n }\n }\n\n async submitProposal({ sender, signer, proposalId }: ContractArgs['submitProposal(uint64)void'] & MaybeSigner): Promise<TxnReturn<void>> {\n\n const sendParams = this.getRequiredSendParams({ sender, signer });\n\n return await this.client.send.submitProposal({\n ...sendParams,\n args: { proposalId }\n })\n }\n\n async voteProposal({ proposalId, vote, sender, signer }: ContractArgs['voteProposal(pay,uint64,uint8)void'] & MaybeSigner): Promise<TxnReturn<void>> {\n\n const sendParams = this.getRequiredSendParams({ sender, signer });\n\n const mbrPayment = this.client.algorand.createTransaction.payment({\n ...sendParams,\n receiver: this.client.appAddress.toString(),\n amount: microAlgo(DAOProposalVotesMBR),\n });\n\n return await this.client.send.voteProposal({\n ...sendParams,\n args: { mbrPayment, proposalId, vote }\n })\n }\n\n async finalizeProposal({ sender, signer, proposalId }: ContractArgs['finalizeProposal(uint64)void'] & MaybeSigner): Promise<TxnReturn<void>> {\n\n const sendParams = this.getRequiredSendParams({ sender, signer });\n\n return await this.client.send.finalizeProposal({\n ...sendParams,\n args: { proposalId }\n })\n }\n\n async executeProposal({ proposalId, sender, signer }: ContractArgs['executeProposal(uint64)void'] & MaybeSigner): Promise<TxnReturn<void>> {\n\n const sendParams = this.getRequiredSendParams({ sender, signer });\n\n return await this.client.send.executeProposal({\n ...sendParams,\n args: { proposalId }\n })\n }\n\n async getGlobalState(): Promise<AkitaDaoGlobalState> {\n return await this.client.state.global.getAll() as unknown as AkitaDaoGlobalState;\n }\n\n async setupCost(params?: MaybeSigner): Promise<bigint> {\n\n const sendParams = this.getSendParams({\n sender: this.readerAccount,\n signer: emptySigner,\n ...params\n });\n\n const cost = await this.client.setupCost({\n ...sendParams,\n args: {}\n });\n\n return cost;\n }\n\n async proposalCost<TClient extends SDKClient>({ sender, signer, actions }: { actions: ProposalAction<TClient>[] } & MaybeSigner): Promise<ProposalCostInfo> {\n\n const sendParams = this.getSendParams({\n sender: sender ?? this.readerAccount,\n signer: signer ?? emptySigner\n });\n\n const requirements = await this.client.proposalCost({\n ...sendParams,\n args: { actions: await this.prepProposalActions(actions) },\n });\n\n return requirements\n }\n\n /**\n * Maps proposal action type enum to its corresponding struct type name\n */\n private getActionStructType(actionType: number): string {\n switch (actionType) {\n case ProposalActionEnum.UpgradeApp:\n return 'ProposalUpgradeApp';\n case ProposalActionEnum.AddPlugin:\n return 'ProposalAddPlugin';\n case ProposalActionEnum.AddNamedPlugin:\n return 'ProposalAddNamedPlugin';\n case ProposalActionEnum.ExecutePlugin:\n return 'ProposalExecutePlugin';\n case ProposalActionEnum.RemoveExecutePlugin:\n return 'ProposalRemoveExecutePlugin';\n case ProposalActionEnum.RemovePlugin:\n return 'ProposalRemovePlugin';\n case ProposalActionEnum.RemoveNamedPlugin:\n return 'ProposalRemoveNamedPlugin';\n case ProposalActionEnum.AddAllowances:\n return 'ProposalAddAllowances';\n case ProposalActionEnum.RemoveAllowances:\n return 'ProposalRemoveAllowances';\n case ProposalActionEnum.NewEscrow:\n return 'ProposalNewEscrow';\n case ProposalActionEnum.ToggleEscrowLock:\n return 'ProposalToggleEscrowLock';\n case ProposalActionEnum.UpdateFields:\n return 'ProposalUpdateField';\n case ProposalActionEnum.UpdateWallet:\n return ''; // No struct — empty data\n default:\n throw new Error(`Unknown proposal action type: ${actionType}`);\n }\n }\n\n /**\n * Decodes the raw action bytes into their typed struct representation\n */\n private decodeProposalAction(actionType: number, actionData: Uint8Array): DecodedProposalAction {\n const structType = this.getActionStructType(actionType);\n const structs = this.typeClient.appClient.appSpec.structs;\n\n switch (actionType) {\n case ProposalActionEnum.UpgradeApp: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalUpgradeApp;\n return { type: ProposalActionEnum.UpgradeApp, ...decoded };\n }\n case ProposalActionEnum.AddPlugin: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalAddPlugin;\n return { type: ProposalActionEnum.AddPlugin, ...decoded };\n }\n case ProposalActionEnum.AddNamedPlugin: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalAddNamedPlugin;\n return { type: ProposalActionEnum.AddNamedPlugin, ...decoded };\n }\n case ProposalActionEnum.ExecutePlugin: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalExecutePlugin;\n return { type: ProposalActionEnum.ExecutePlugin, ...decoded };\n }\n case ProposalActionEnum.RemoveExecutePlugin: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalRemoveExecutePlugin;\n return { type: ProposalActionEnum.RemoveExecutePlugin, ...decoded };\n }\n case ProposalActionEnum.RemovePlugin: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalRemovePlugin;\n return { type: ProposalActionEnum.RemovePlugin, ...decoded };\n }\n case ProposalActionEnum.RemoveNamedPlugin: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalRemoveNamedPlugin;\n return { type: ProposalActionEnum.RemoveNamedPlugin, ...decoded };\n }\n case ProposalActionEnum.AddAllowances: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalAddAllowances;\n return { type: ProposalActionEnum.AddAllowances, ...decoded };\n }\n case ProposalActionEnum.RemoveAllowances: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalRemoveAllowances;\n return { type: ProposalActionEnum.RemoveAllowances, ...decoded };\n }\n case ProposalActionEnum.NewEscrow: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalNewEscrow;\n return { type: ProposalActionEnum.NewEscrow, ...decoded };\n }\n case ProposalActionEnum.ToggleEscrowLock: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalToggleEscrowLock;\n return { type: ProposalActionEnum.ToggleEscrowLock, ...decoded };\n }\n case ProposalActionEnum.UpdateFields: {\n const decoded = getABIDecodedValue(actionData, structType, structs) as ProposalUpdateField;\n return { type: ProposalActionEnum.UpdateFields, ...decoded };\n }\n case ProposalActionEnum.UpdateWallet: {\n return { type: ProposalActionEnum.UpdateWallet };\n }\n default:\n throw new Error(`Unknown proposal action type: ${actionType}`);\n }\n }\n\n /**\n * Fetches a proposal by ID and decodes all action data into typed structs\n */\n async getProposal(proposalId: bigint): Promise<DecodedProposal> {\n const proposal = await this.client.getProposal({ args: { proposalId } });\n\n if (!proposal) {\n throw new Error(`Proposal with id: ${proposalId} not found`);\n }\n\n const decodedActions: DecodedProposalAction[] = proposal.actions.map(([actionType, actionData]) => {\n return this.decodeProposalAction(actionType, actionData);\n });\n\n return {\n status: proposal.status,\n cid: proposal.cid,\n votes: proposal.votes,\n creator: proposal.creator,\n votingTs: proposal.votingTs,\n created: proposal.created,\n feesPaid: proposal.feesPaid,\n actions: decodedActions\n };\n }\n}"]}
|