flexbiz-server 12.4.21 → 12.4.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1068) hide show
  1. package/package.json +2 -1
  2. package/server/app.js +1 -22
  3. package/server/auths/bearer.js +1 -3
  4. package/server/auths/facebook.js +1 -12
  5. package/server/auths/google.js +1 -13
  6. package/server/auths/local.js +1 -64
  7. package/server/cluster.js +1 -27
  8. package/server/controllers/controller.js +1 -107
  9. package/server/controllers/controllerRPT.js +1 -27
  10. package/server/controllers/controllerUtils.js +1 -76
  11. package/server/controllers/createHandler.js +1 -35
  12. package/server/controllers/createRouteHandler.js +1 -4
  13. package/server/controllers/deleteHandler.js +1 -11
  14. package/server/controllers/deleteManyHandler.js +1 -2
  15. package/server/controllers/exportHandler.js +1 -17
  16. package/server/controllers/findHandler.js +1 -53
  17. package/server/controllers/handlers.js +1 -3
  18. package/server/controllers/historyHandler.js +1 -5
  19. package/server/controllers/importFromExcelHandler.js +1 -14
  20. package/server/controllers/importFromGsHandler.js +1 -10
  21. package/server/controllers/importFromJsonHandler.js +1 -7
  22. package/server/controllers/importHandler.js +1 -21
  23. package/server/controllers/logHandler.js +1 -5
  24. package/server/controllers/rptCreateRouteHandler.js +1 -4
  25. package/server/controllers/rptExcelHandler.js +1 -32
  26. package/server/controllers/rptHandler.js +1 -13
  27. package/server/controllers/updateBookHandler.js +1 -10
  28. package/server/controllers/updateFieldHandler.js +1 -12
  29. package/server/controllers/updateHandler.js +1 -39
  30. package/server/controllers/updateKeyHandler.js +1 -14
  31. package/server/controllers/viewHandler.js +1 -13
  32. package/server/flow/FlowEngine.js +1 -64
  33. package/server/flow/WebhookManager.js +1 -26
  34. package/server/flow/handlers.js +1 -3
  35. package/server/flow/nodes/aiAnalysis.js +1 -9
  36. package/server/flow/nodes/customer.js +1 -15
  37. package/server/flow/nodes/data.js +1 -14
  38. package/server/flow/nodes/debug.js +1 -2
  39. package/server/flow/nodes/delay.js +1 -3
  40. package/server/flow/nodes/email.js +1 -9
  41. package/server/flow/nodes/event.js +1 -11
  42. package/server/flow/nodes/facebook.js +1 -3
  43. package/server/flow/nodes/facebookConversations.js +1 -5
  44. package/server/flow/nodes/facebookCreatePost.js +1 -10
  45. package/server/flow/nodes/facebookSendMessage.js +1 -12
  46. package/server/flow/nodes/forEachItem.js +1 -8
  47. package/server/flow/nodes/function.js +1 -4
  48. package/server/flow/nodes/httprequest.js +1 -7
  49. package/server/flow/nodes/inject.js +1 -12
  50. package/server/flow/nodes/pushNotification.js +1 -5
  51. package/server/flow/nodes/report.js +1 -6
  52. package/server/flow/nodes/saveData.js +1 -2
  53. package/server/flow/nodes/switch.js +1 -20
  54. package/server/flow/nodes/webhook.js +1 -1
  55. package/server/flow/nodes/zaloSendMessage.js +1 -4
  56. package/server/flow/utils.js +1 -2
  57. package/server/global.js +1 -23
  58. package/server/libs/BlockchainTransactionPool.js +1 -3
  59. package/server/libs/WorkerPool.js +1 -4
  60. package/server/libs/WorkerStaticPool.js +1 -16
  61. package/server/libs/WorkerStaticPool_v1.js +1 -5
  62. package/server/libs/assbonus.js +1 -7
  63. package/server/libs/backup.js +1 -2
  64. package/server/libs/blockchainconnect.js +1 -12
  65. package/server/libs/cdpsdiem.js +1 -5
  66. package/server/libs/cdpsdt.js +1 -7
  67. package/server/libs/cdpskh.js +1 -9
  68. package/server/libs/cdpsnphep.js +1 -6
  69. package/server/libs/cdpstk.js +1 -11
  70. package/server/libs/ckcn.js +1 -12
  71. package/server/libs/ckdiem.js +1 -5
  72. package/server/libs/ckdt.js +1 -6
  73. package/server/libs/cknphep.js +1 -6
  74. package/server/libs/cktk.js +1 -4
  75. package/server/libs/cktt.js +1 -9
  76. package/server/libs/ckvt.js +1 -12
  77. package/server/libs/ckvtcapphat.js +1 -6
  78. package/server/libs/ckvtnpp.js +1 -8
  79. package/server/libs/ckvttt.js +1 -11
  80. package/server/libs/createSocaitheongay.js +1 -9
  81. package/server/libs/ctdiem.js +1 -5
  82. package/server/libs/ctvt.js +1 -7
  83. package/server/libs/ctvtnpp.js +1 -7
  84. package/server/libs/ctvttt.js +1 -7
  85. package/server/libs/databanle.js +1 -17
  86. package/server/libs/databanlenpp.js +1 -8
  87. package/server/libs/databanletheongay.js +1 -27
  88. package/server/libs/dkcn.js +1 -10
  89. package/server/libs/dkdiem.js +1 -5
  90. package/server/libs/dkdt.js +1 -6
  91. package/server/libs/dknphep.js +1 -7
  92. package/server/libs/dktk.js +1 -4
  93. package/server/libs/dktt.js +1 -8
  94. package/server/libs/dkvt.js +1 -9
  95. package/server/libs/dkvtnpp.js +1 -7
  96. package/server/libs/dkvttt.js +1 -7
  97. package/server/libs/dncn.js +1 -6
  98. package/server/libs/dntk.js +1 -4
  99. package/server/libs/dntt.js +1 -6
  100. package/server/libs/docs.js +1 -452
  101. package/server/libs/dstkcn.js +1 -1
  102. package/server/libs/dstktt.js +1 -1
  103. package/server/libs/dtbanletheonpp.js +1 -17
  104. package/server/libs/dtbanletheosp.js +1 -15
  105. package/server/libs/dtbanletheospnpp.js +1 -15
  106. package/server/libs/email.js +1 -3
  107. package/server/libs/excel.js +1 -2
  108. package/server/libs/getGiaban.js +1 -67
  109. package/server/libs/getGiabanAsync.js +1 -1
  110. package/server/libs/getNotifies.js +1 -1
  111. package/server/libs/htmlReport.js +1 -9
  112. package/server/libs/initDatabase.js +1 -9
  113. package/server/libs/invoiceEasy.js +1 -109
  114. package/server/libs/invoiceViettel.js +1 -29
  115. package/server/libs/invoiceVnpt.js +1 -22
  116. package/server/libs/kpistatus.js +1 -32
  117. package/server/libs/load-template.js +1 -3
  118. package/server/libs/mailmanagement.js +1 -13
  119. package/server/libs/mongooseDeletePost.js +1 -6
  120. package/server/libs/mongooseLeanId.js +1 -1
  121. package/server/libs/mongoosePatch.js +1 -8
  122. package/server/libs/onepay-payment.js +1 -4
  123. package/server/libs/optimizeBookkeeping.js +1 -14
  124. package/server/libs/parse-template.js +1 -5
  125. package/server/libs/permission.js +1 -51
  126. package/server/libs/phanbokh.js +1 -3
  127. package/server/libs/post-book.js +1 -23
  128. package/server/libs/post-socai.js +1 -25
  129. package/server/libs/post-sokho.js +1 -27
  130. package/server/libs/prototypes.js +1 -29
  131. package/server/libs/psdt.js +1 -1
  132. package/server/libs/pskh.js +1 -1
  133. package/server/libs/pstk.js +1 -1
  134. package/server/libs/redis-cache.js +1 -17
  135. package/server/libs/restore.js +1 -1
  136. package/server/libs/schedule.js +1 -18
  137. package/server/libs/sessionContext.js +2 -14
  138. package/server/libs/textReport.js +1 -3
  139. package/server/libs/thnxt.js +1 -9
  140. package/server/libs/thnxtnpp.js +1 -9
  141. package/server/libs/thnxttt.js +1 -8
  142. package/server/libs/tinhGt.js +1 -7
  143. package/server/libs/tinhGtCapnhatPNK.js +1 -7
  144. package/server/libs/tinhGtPhanboHeSo.js +1 -12
  145. package/server/libs/tinhGtPhanboSltp.js +1 -10
  146. package/server/libs/tinhGtPhanboYtcp.js +1 -11
  147. package/server/libs/tinhGtSltk.js +1 -9
  148. package/server/libs/tinhGtThcppstk.js +1 -10
  149. package/server/libs/tinhGtTrucTiep.js +1 -7
  150. package/server/libs/tinhGtXoa.js +1 -3
  151. package/server/libs/tinhgiatb.js +1 -38
  152. package/server/libs/tinhgiatb1vt.js +1 -5
  153. package/server/libs/tinhhoahong.js +1 -64
  154. package/server/libs/tinhhoahongnpp.js +1 -46
  155. package/server/libs/tinhkhauhao1ts.js +1 -12
  156. package/server/libs/tinhkhauhaots.js +1 -8
  157. package/server/libs/tuoinophaithu.js +1 -10
  158. package/server/libs/tuoinophaitra.js +1 -11
  159. package/server/libs/utils.js +1 -78
  160. package/server/libs/validate.js +1 -4
  161. package/server/libs/validator-acc-cust.js +1 -1
  162. package/server/libs/validator-account.js +1 -4
  163. package/server/libs/validator-vt.js +1 -2
  164. package/server/libs/validator.js +1 -11
  165. package/server/libs/vsocai.js +1 -8
  166. package/server/models/account.js +1 -7
  167. package/server/models/afflink.js +1 -2
  168. package/server/models/app.js +1 -15
  169. package/server/models/approve.js +1 -93
  170. package/server/models/assabcihandler.js +1 -35
  171. package/server/models/assbank.js +1 -19
  172. package/server/models/assbooking.js +1 -4
  173. package/server/models/assbuy.js +1 -3
  174. package/server/models/asscashwithdraw.js +1 -4
  175. package/server/models/assfindhash.js +1 -2
  176. package/server/models/assinvestment.js +1 -13
  177. package/server/models/assissue.js +1 -2
  178. package/server/models/asskey.js +1 -15
  179. package/server/models/assneedtobuy.js +1 -6
  180. package/server/models/assperiod.js +1 -7
  181. package/server/models/assproduct.js +1 -13
  182. package/server/models/assprofitsharing.js +1 -4
  183. package/server/models/assreceiver.js +1 -2
  184. package/server/models/assrequest.js +1 -11
  185. package/server/models/asssell.js +1 -7
  186. package/server/models/asstransaction.js +1 -3
  187. package/server/models/asstransfer.js +1 -4
  188. package/server/models/assuser_identity.js +1 -4
  189. package/server/models/asswithdraw.js +1 -4
  190. package/server/models/attend.js +1 -2
  191. package/server/models/banggiaban.js +1 -8
  192. package/server/models/bangtinhluong.js +1 -6
  193. package/server/models/base.js +1 -1
  194. package/server/models/bds_area.js +1 -4
  195. package/server/models/bds_block.js +1 -3
  196. package/server/models/bds_building.js +1 -4
  197. package/server/models/bds_floor.js +1 -3
  198. package/server/models/bds_floordetail.js +1 -9
  199. package/server/models/bds_nhadat.js +1 -11
  200. package/server/models/bds_nhomnhadat.js +1 -4
  201. package/server/models/bds_phanloainhadat.js +1 -3
  202. package/server/models/bg1.js +1 -9
  203. package/server/models/bg2.js +1 -10
  204. package/server/models/cache.js +1 -3
  205. package/server/models/calllog.js +1 -4
  206. package/server/models/campaign.js +1 -6
  207. package/server/models/cart.js +1 -5
  208. package/server/models/cddiem.js +1 -2
  209. package/server/models/cddt.js +1 -3
  210. package/server/models/cdkh.js +1 -5
  211. package/server/models/cdkhtheongay.js +1 -5
  212. package/server/models/cdnphep.js +1 -2
  213. package/server/models/cdtk.js +1 -3
  214. package/server/models/cdtktheongay.js +1 -3
  215. package/server/models/cdvt.js +1 -5
  216. package/server/models/cdvtnpp.js +1 -6
  217. package/server/models/cdvttheongay.js +1 -5
  218. package/server/models/chamcong.js +1 -7
  219. package/server/models/checkin.js +1 -4
  220. package/server/models/checkinactivity.js +1 -3
  221. package/server/models/checkinkpi.js +1 -4
  222. package/server/models/checkinlocation.js +1 -2
  223. package/server/models/chitieukpi.js +1 -3
  224. package/server/models/chudethaoluan.js +1 -3
  225. package/server/models/ckgtluong.js +1 -2
  226. package/server/models/colleague.js +1 -2
  227. package/server/models/comment.js +1 -4
  228. package/server/models/congdoansx.js +1 -4
  229. package/server/models/congtacvien.js +1 -4
  230. package/server/models/congthuctinhgiaban.js +1 -8
  231. package/server/models/consultant.js +1 -4
  232. package/server/models/contract.js +1 -6
  233. package/server/models/counter.js +1 -2
  234. package/server/models/ctds.js +1 -5
  235. package/server/models/ctds2.js +1 -6
  236. package/server/models/currency.js +1 -3
  237. package/server/models/customer.js +1 -31
  238. package/server/models/databanle.js +1 -8
  239. package/server/models/datlich.js +1 -4
  240. package/server/models/department.js +1 -4
  241. package/server/models/dh2.js +1 -20
  242. package/server/models/diagram.js +1 -2
  243. package/server/models/dinhmucsx.js +1 -8
  244. package/server/models/dkhoc.js +1 -6
  245. package/server/models/dknphep.js +1 -2
  246. package/server/models/dmban.js +1 -4
  247. package/server/models/dmbp.js +1 -12
  248. package/server/models/dmca.js +1 -2
  249. package/server/models/dmchietkhau.js +1 -9
  250. package/server/models/dmchietkhauhd.js +1 -20
  251. package/server/models/dmcpmh.js +1 -2
  252. package/server/models/dmdiemthuong.js +1 -5
  253. package/server/models/dmdoi.js +1 -4
  254. package/server/models/dmdoituongdanhgia.js +1 -2
  255. package/server/models/dmdt.js +1 -8
  256. package/server/models/dmdvt.js +1 -3
  257. package/server/models/dmgiaban.js +1 -9
  258. package/server/models/dmgiamua.js +1 -5
  259. package/server/models/dmgiathitruong.js +1 -5
  260. package/server/models/dmgiathitruong_ngay.js +1 -2
  261. package/server/models/dmgiathitruong_theodoi.js +1 -2
  262. package/server/models/dmhoahonghd.js +1 -9
  263. package/server/models/dmhoahongnpp.js +1 -9
  264. package/server/models/dmkc.js +1 -3
  265. package/server/models/dmkho.js +1 -6
  266. package/server/models/dmkhuyenmai.js +1 -9
  267. package/server/models/dmkhuyenmaihd.js +1 -11
  268. package/server/models/dmletet.js +1 -2
  269. package/server/models/dmlo.js +1 -4
  270. package/server/models/dmloaicong.js +1 -4
  271. package/server/models/dmloaitask.js +1 -2
  272. package/server/models/dmloaits.js +1 -2
  273. package/server/models/dmnckkm.js +1 -4
  274. package/server/models/dmnghiepvu.js +1 -4
  275. package/server/models/dmnguonvon.js +1 -2
  276. package/server/models/dmnhnv.js +1 -4
  277. package/server/models/dmnv.js +1 -17
  278. package/server/models/dmnvt.js +1 -9
  279. package/server/models/dmphatdichvu.js +1 -5
  280. package/server/models/dmphi.js +1 -3
  281. package/server/models/dmqct.js +1 -3
  282. package/server/models/dmqddvt.js +1 -3
  283. package/server/models/dmtanggiamts.js +1 -3
  284. package/server/models/dmto.js +1 -4
  285. package/server/models/dmtt.js +1 -6
  286. package/server/models/dmvt.js +1 -17
  287. package/server/models/dmyt.js +1 -4
  288. package/server/models/dn0.js +1 -13
  289. package/server/models/dnm.js +1 -11
  290. package/server/models/dokho.js +1 -2
  291. package/server/models/domain.js +1 -2
  292. package/server/models/dvcs.js +1 -3
  293. package/server/models/ecomcategories.js +1 -3
  294. package/server/models/ecomcategories_cty.js +1 -3
  295. package/server/models/ecomproductlines.js +1 -2
  296. package/server/models/ecompromotion_flashsales.js +1 -2
  297. package/server/models/ecompromotion_freeships.js +1 -2
  298. package/server/models/email.js +1 -2
  299. package/server/models/endpoint.js +1 -1
  300. package/server/models/events.js +1 -3
  301. package/server/models/evoucher.js +1 -5
  302. package/server/models/experiencejourney.js +1 -2
  303. package/server/models/experiencejourneydata.js +1 -4
  304. package/server/models/experiencejourneypersona.js +1 -3
  305. package/server/models/experiencejourneystage.js +1 -2
  306. package/server/models/exportexceltemplate.js +1 -2
  307. package/server/models/fbconversation.js +1 -15
  308. package/server/models/fbmessage.js +1 -2
  309. package/server/models/fbpage.js +1 -2
  310. package/server/models/fbpost.js +1 -2
  311. package/server/models/fieldright.js +1 -2
  312. package/server/models/file.js +1 -4
  313. package/server/models/financialroadmap.js +1 -3
  314. package/server/models/flow.js +1 -2
  315. package/server/models/flowdata.js +1 -3
  316. package/server/models/folder.js +1 -4
  317. package/server/models/follow.js +1 -2
  318. package/server/models/form.js +1 -3
  319. package/server/models/forminfo.js +1 -5
  320. package/server/models/formvalue.js +1 -3
  321. package/server/models/giaoca.js +1 -4
  322. package/server/models/giatb.js +1 -3
  323. package/server/models/group.js +1 -11
  324. package/server/models/gt_ctgt.js +1 -4
  325. package/server/models/gt_hspb.js +1 -3
  326. package/server/models/gt_sltk.js +1 -3
  327. package/server/models/gt_thcppstk.js +1 -3
  328. package/server/models/hanmucton.js +1 -4
  329. package/server/models/hd1.js +1 -11
  330. package/server/models/hd2.js +1 -27
  331. package/server/models/hd3.js +1 -18
  332. package/server/models/hd4.js +1 -13
  333. package/server/models/hd7.js +1 -17
  334. package/server/models/hd8.js +1 -12
  335. package/server/models/hde.js +1 -11
  336. package/server/models/hlink.js +1 -2
  337. package/server/models/hlinkvalue.js +1 -2
  338. package/server/models/hmcn.js +1 -3
  339. package/server/models/hmcnct.js +1 -2
  340. package/server/models/hspbts.js +1 -4
  341. package/server/models/htl.js +1 -13
  342. package/server/models/importexceltemplate.js +1 -2
  343. package/server/models/introducebonus.js +1 -4
  344. package/server/models/introducecode.js +1 -3
  345. package/server/models/introducer.js +1 -4
  346. package/server/models/kbbtpb.js +1 -7
  347. package/server/models/kbmPttct.js +1 -4
  348. package/server/models/kbmTkgtgt.js +1 -5
  349. package/server/models/kbm_bcdkt.js +1 -4
  350. package/server/models/kbm_kqhdkd.js +1 -3
  351. package/server/models/kbm_lcttgt.js +1 -5
  352. package/server/models/kbm_lctttt.js +1 -4
  353. package/server/models/kbm_pttct.js +1 -4
  354. package/server/models/kbm_tkgtgt.js +1 -5
  355. package/server/models/kbmbcdkt.js +1 -4
  356. package/server/models/kbmbcqt.js +1 -4
  357. package/server/models/kbmkqhdkd.js +1 -3
  358. package/server/models/kbmlcttgt.js +1 -6
  359. package/server/models/kbmlctttt.js +1 -4
  360. package/server/models/kbmtmbctc.js +1 -4
  361. package/server/models/kehoachdtcp.js +1 -3
  362. package/server/models/kehoachmh.js +1 -8
  363. package/server/models/keyresult.js +1 -7
  364. package/server/models/khunghangthanhvien.js +1 -3
  365. package/server/models/label.js +1 -2
  366. package/server/models/labelinfo.js +1 -2
  367. package/server/models/lenhcapphat.js +1 -8
  368. package/server/models/lenhsx.js +1 -8
  369. package/server/models/lienhe.js +1 -4
  370. package/server/models/like_module.js +1 -2
  371. package/server/models/link.js +1 -2
  372. package/server/models/loaidiem.js +1 -2
  373. package/server/models/lock.js +1 -2
  374. package/server/models/log.js +1 -5
  375. package/server/models/mailaccount.js +1 -3
  376. package/server/models/mailgroup.js +1 -3
  377. package/server/models/mailreceived.js +1 -2
  378. package/server/models/mailschedule.js +1 -2
  379. package/server/models/mailsent.js +1 -2
  380. package/server/models/mailtemplate.js +1 -2
  381. package/server/models/maudanhgia.js +1 -2
  382. package/server/models/menuinfo.js +1 -2
  383. package/server/models/message.js +1 -8
  384. package/server/models/message2.js +1 -4
  385. package/server/models/message2setting.js +1 -3
  386. package/server/models/moduleinfo.js +1 -4
  387. package/server/models/momo.js +1 -17
  388. package/server/models/news.js +1 -3
  389. package/server/models/newsfeed.js +1 -4
  390. package/server/models/note.js +1 -2
  391. package/server/models/notification.js +1 -7
  392. package/server/models/okr.js +1 -4
  393. package/server/models/okrdiagram.js +1 -3
  394. package/server/models/onepay.js +1 -24
  395. package/server/models/opportunity.js +1 -4
  396. package/server/models/options.js +1 -2
  397. package/server/models/originimportid.js +1 -1
  398. package/server/models/otp.js +1 -1
  399. package/server/models/parameter.js +1 -2
  400. package/server/models/participant.js +1 -20
  401. package/server/models/partner.js +1 -1
  402. package/server/models/payload.js +1 -1
  403. package/server/models/pbl.js +1 -16
  404. package/server/models/pc0.js +1 -13
  405. package/server/models/pc1.js +1 -14
  406. package/server/models/pc2.js +1 -13
  407. package/server/models/pc3.js +1 -13
  408. package/server/models/pc5.js +1 -8
  409. package/server/models/pc6.js +1 -14
  410. package/server/models/pcl.js +1 -6
  411. package/server/models/pdn.js +1 -9
  412. package/server/models/pdx.js +1 -9
  413. package/server/models/pgh.js +1 -5
  414. package/server/models/phieudanhgia.js +1 -3
  415. package/server/models/pht.js +1 -8
  416. package/server/models/phucap.js +1 -4
  417. package/server/models/pkc.js +1 -6
  418. package/server/models/pkh.js +1 -6
  419. package/server/models/pkk.js +1 -10
  420. package/server/models/pkt.js +1 -12
  421. package/server/models/pn1.js +1 -17
  422. package/server/models/pn2.js +1 -11
  423. package/server/models/pn3.js +1 -13
  424. package/server/models/pn5.js +1 -14
  425. package/server/models/pn6.js +1 -14
  426. package/server/models/pn9.js +1 -17
  427. package/server/models/pnc.js +1 -10
  428. package/server/models/pnh.js +1 -12
  429. package/server/models/pnk.js +1 -10
  430. package/server/models/po1.js +1 -19
  431. package/server/models/ppb.js +1 -6
  432. package/server/models/profile.js +1 -4
  433. package/server/models/pt1.js +1 -12
  434. package/server/models/pt5.js +1 -8
  435. package/server/models/ptl.js +1 -6
  436. package/server/models/ptthanhtoan.js +1 -6
  437. package/server/models/purchase_contract.js +1 -17
  438. package/server/models/pxc.js +1 -9
  439. package/server/models/pxh.js +1 -12
  440. package/server/models/pxk.js +1 -10
  441. package/server/models/qts.js +1 -14
  442. package/server/models/qts_dieuchinh.js +1 -3
  443. package/server/models/qts_dieuchuyen.js +1 -4
  444. package/server/models/quanhuyen.js +1 -2
  445. package/server/models/reason.js +1 -2
  446. package/server/models/receivedinvoice.js +1 -2
  447. package/server/models/reportinfo.js +1 -5
  448. package/server/models/right.js +1 -4
  449. package/server/models/rpt.js +1 -2
  450. package/server/models/rptform.js +1 -5
  451. package/server/models/rptobject.js +1 -2
  452. package/server/models/sale_contract.js +1 -9
  453. package/server/models/schedule.js +1 -16
  454. package/server/models/schedule_log.js +1 -2
  455. package/server/models/service.js +1 -4
  456. package/server/models/shipbook.js +1 -12
  457. package/server/models/shortcut.js +1 -2
  458. package/server/models/smsaccount.js +1 -10
  459. package/server/models/smssend.js +1 -2
  460. package/server/models/so1.js +1 -22
  461. package/server/models/so2.js +1 -10
  462. package/server/models/so3.js +1 -9
  463. package/server/models/so5.js +1 -15
  464. package/server/models/so9.js +1 -19
  465. package/server/models/socai.js +1 -26
  466. package/server/models/socainpp.js +1 -18
  467. package/server/models/socaitc.js +1 -6
  468. package/server/models/socaitmp.js +1 -16
  469. package/server/models/socaitt.js +1 -4
  470. package/server/models/sodiemthuong.js +1 -4
  471. package/server/models/sokho.js +1 -28
  472. package/server/models/sokhocapphat.js +1 -18
  473. package/server/models/sokhokhongton.js +1 -19
  474. package/server/models/sokhonpp.js +1 -19
  475. package/server/models/sokhotc.js +1 -8
  476. package/server/models/sokhott.js +1 -18
  477. package/server/models/sophanbokh.js +1 -3
  478. package/server/models/sosanxuat.js +1 -5
  479. package/server/models/sotinhkh.js +1 -2
  480. package/server/models/spdd_ck.js +1 -3
  481. package/server/models/spdd_dk.js +1 -3
  482. package/server/models/step.js +1 -2
  483. package/server/models/strategicdiagram.js +1 -3
  484. package/server/models/strategicgoal.js +1 -4
  485. package/server/models/strategickpi.js +1 -6
  486. package/server/models/strategicobjective.js +1 -5
  487. package/server/models/strategicplan.js +1 -5
  488. package/server/models/subscribe.js +1 -2
  489. package/server/models/support.js +1 -2
  490. package/server/models/synctime.js +1 -2
  491. package/server/models/sysconfig.js +1 -2
  492. package/server/models/sysgroup.js +1 -2
  493. package/server/models/tableinfo.js +1 -3
  494. package/server/models/task.js +1 -9
  495. package/server/models/taskreg.js +1 -4
  496. package/server/models/tc.js +1 -2
  497. package/server/models/tdttco.js +1 -8
  498. package/server/models/tdttco_tt.js +1 -5
  499. package/server/models/tdttno.js +1 -8
  500. package/server/models/tdttno_tt.js +1 -5
  501. package/server/models/templaterpt.js +1 -2
  502. package/server/models/templatestore.js +1 -3
  503. package/server/models/templatevoucher.js +1 -3
  504. package/server/models/tinhthanh.js +1 -2
  505. package/server/models/tokens.js +1 -2
  506. package/server/models/tontucthoi.js +1 -9
  507. package/server/models/trangthai.js +1 -4
  508. package/server/models/trangthaiapp.js +1 -4
  509. package/server/models/transaction.js +1 -16
  510. package/server/models/trialinfo.js +1 -2
  511. package/server/models/user.js +1 -38
  512. package/server/models/usergroup.js +1 -7
  513. package/server/models/vanchuyen.js +1 -12
  514. package/server/models/vat.js +1 -3
  515. package/server/models/vatra.js +1 -6
  516. package/server/models/vatvao.js +1 -6
  517. package/server/models/versioninfo.js +1 -2
  518. package/server/models/vietqrbanks.js +1 -2
  519. package/server/models/vsocai.js +1 -6
  520. package/server/models/waitevent.js +1 -2
  521. package/server/models/wallet.js +1 -8
  522. package/server/models/warranty.js +1 -3
  523. package/server/models/warrantyclaim.js +1 -2
  524. package/server/models/warrantypolicy.js +1 -1
  525. package/server/models/xaphuong.js +1 -2
  526. package/server/models/xhd.js +1 -10
  527. package/server/models/ytdd_ck.js +1 -4
  528. package/server/models/ytdd_dk.js +1 -4
  529. package/server/models/zalo.js +1 -17
  530. package/server/modules/lists/bg-cddiem.js +1 -6
  531. package/server/modules/lists/bg-cddt.js +1 -7
  532. package/server/modules/lists/bg-cdkh.js +1 -11
  533. package/server/modules/lists/bg-cdnphep.js +1 -6
  534. package/server/modules/lists/bg-cdtk.js +1 -9
  535. package/server/modules/lists/bg-cdvt.js +1 -8
  536. package/server/modules/lists/bg-cdvtnpp.js +1 -8
  537. package/server/modules/lists/ls-account.js +1 -4
  538. package/server/modules/lists/ls-afflink.js +1 -3
  539. package/server/modules/lists/ls-approve.js +1 -4
  540. package/server/modules/lists/ls-assabcihandler.js +1 -3
  541. package/server/modules/lists/ls-assbank.js +1 -3
  542. package/server/modules/lists/ls-assbooking.js +1 -20
  543. package/server/modules/lists/ls-assbuy.js +1 -8
  544. package/server/modules/lists/ls-asscashwithdraw.js +1 -8
  545. package/server/modules/lists/ls-assinvestment.js +1 -31
  546. package/server/modules/lists/ls-assissue.js +1 -3
  547. package/server/modules/lists/ls-asskey.js +1 -41
  548. package/server/modules/lists/ls-assneedtobuy.js +1 -10
  549. package/server/modules/lists/ls-assperiod.js +1 -19
  550. package/server/modules/lists/ls-assproduct.js +1 -9
  551. package/server/modules/lists/ls-assprofitsharing.js +1 -8
  552. package/server/modules/lists/ls-assreceiver.js +1 -3
  553. package/server/modules/lists/ls-assrequest.js +1 -4
  554. package/server/modules/lists/ls-asssell.js +1 -13
  555. package/server/modules/lists/ls-asstransaction.js +1 -3
  556. package/server/modules/lists/ls-asstransfer.js +1 -3
  557. package/server/modules/lists/ls-assuser_identity.js +1 -1
  558. package/server/modules/lists/ls-asswithdraw.js +1 -12
  559. package/server/modules/lists/ls-bangtinhluong.js +1 -2
  560. package/server/modules/lists/ls-bds_area.js +1 -3
  561. package/server/modules/lists/ls-bds_block.js +1 -1
  562. package/server/modules/lists/ls-bds_building.js +1 -3
  563. package/server/modules/lists/ls-bds_dmnhbds.js +1 -6
  564. package/server/modules/lists/ls-bds_floor.js +1 -2
  565. package/server/modules/lists/ls-bds_floordetail.js +1 -19
  566. package/server/modules/lists/ls-bds_nhadat.js +1 -16
  567. package/server/modules/lists/ls-bds_nhomnhadat.js +1 -1
  568. package/server/modules/lists/ls-bds_phanloainhadat.js +1 -1
  569. package/server/modules/lists/ls-calllog.js +1 -4
  570. package/server/modules/lists/ls-campaign.js +1 -1
  571. package/server/modules/lists/ls-cart.js +1 -14
  572. package/server/modules/lists/ls-chamcong.js +1 -3
  573. package/server/modules/lists/ls-checkin.js +1 -12
  574. package/server/modules/lists/ls-checkinactivity.js +1 -8
  575. package/server/modules/lists/ls-checkinkpi.js +1 -3
  576. package/server/modules/lists/ls-checkinlocation.js +1 -1
  577. package/server/modules/lists/ls-chitieukpi.js +1 -1
  578. package/server/modules/lists/ls-chudethaoluan.js +1 -1
  579. package/server/modules/lists/ls-ckgtluong.js +1 -1
  580. package/server/modules/lists/ls-comment.js +1 -9
  581. package/server/modules/lists/ls-congdoansx.js +1 -3
  582. package/server/modules/lists/ls-congtacvien.js +1 -5
  583. package/server/modules/lists/ls-consultant.js +1 -2
  584. package/server/modules/lists/ls-contract.js +1 -7
  585. package/server/modules/lists/ls-ctds.js +1 -4
  586. package/server/modules/lists/ls-ctds2.js +1 -4
  587. package/server/modules/lists/ls-currency.js +1 -1
  588. package/server/modules/lists/ls-customer.js +1 -21
  589. package/server/modules/lists/ls-datlich.js +1 -9
  590. package/server/modules/lists/ls-dckhauhaots.js +1 -3
  591. package/server/modules/lists/ls-department.js +1 -3
  592. package/server/modules/lists/ls-diagram.js +1 -1
  593. package/server/modules/lists/ls-dkhoc.js +1 -6
  594. package/server/modules/lists/ls-dknphep.js +1 -1
  595. package/server/modules/lists/ls-dmban.js +1 -4
  596. package/server/modules/lists/ls-dmbp.js +1 -7
  597. package/server/modules/lists/ls-dmca.js +1 -1
  598. package/server/modules/lists/ls-dmchietkhau.js +1 -19
  599. package/server/modules/lists/ls-dmchietkhauhd.js +1 -4
  600. package/server/modules/lists/ls-dmchucvu.js +1 -2
  601. package/server/modules/lists/ls-dmcpmh.js +1 -1
  602. package/server/modules/lists/ls-dmdiemthuong.js +1 -4
  603. package/server/modules/lists/ls-dmdoi.js +1 -4
  604. package/server/modules/lists/ls-dmdoituongdanhgia.js +1 -1
  605. package/server/modules/lists/ls-dmdt.js +1 -11
  606. package/server/modules/lists/ls-dmdvt.js +1 -2
  607. package/server/modules/lists/ls-dmgiaban.js +1 -4
  608. package/server/modules/lists/ls-dmgiamua.js +1 -4
  609. package/server/modules/lists/ls-dmgiathitruong.js +1 -15
  610. package/server/modules/lists/ls-dmgiathitruong_ngay.js +1 -2
  611. package/server/modules/lists/ls-dmgiathitruong_theodoi.js +1 -1
  612. package/server/modules/lists/ls-dmhoahonghd.js +1 -1
  613. package/server/modules/lists/ls-dmhoahongnpp.js +1 -1
  614. package/server/modules/lists/ls-dmkc.js +1 -3
  615. package/server/modules/lists/ls-dmkho.js +1 -1
  616. package/server/modules/lists/ls-dmkhuyenmai.js +1 -5
  617. package/server/modules/lists/ls-dmkhuyenmaihd.js +1 -3
  618. package/server/modules/lists/ls-dmletet.js +1 -1
  619. package/server/modules/lists/ls-dmlo.js +1 -1
  620. package/server/modules/lists/ls-dmloaicong.js +1 -1
  621. package/server/modules/lists/ls-dmloaits.js +1 -1
  622. package/server/modules/lists/ls-dmnckkm.js +1 -7
  623. package/server/modules/lists/ls-dmnghiepvu.js +1 -1
  624. package/server/modules/lists/ls-dmnguonvon.js +1 -1
  625. package/server/modules/lists/ls-dmnhnv.js +1 -6
  626. package/server/modules/lists/ls-dmnhtask.js +1 -5
  627. package/server/modules/lists/ls-dmnkh.js +1 -6
  628. package/server/modules/lists/ls-dmntt.js +1 -6
  629. package/server/modules/lists/ls-dmnv.js +1 -17
  630. package/server/modules/lists/ls-dmnvt.js +1 -8
  631. package/server/modules/lists/ls-dmphatdichvu.js +1 -3
  632. package/server/modules/lists/ls-dmphi.js +1 -6
  633. package/server/modules/lists/ls-dmqct.js +1 -2
  634. package/server/modules/lists/ls-dmqddvt.js +1 -3
  635. package/server/modules/lists/ls-dmtanggiamts.js +1 -1
  636. package/server/modules/lists/ls-dmto.js +1 -5
  637. package/server/modules/lists/ls-dmtt.js +1 -7
  638. package/server/modules/lists/ls-dmvt.js +1 -68
  639. package/server/modules/lists/ls-dmyt.js +1 -1
  640. package/server/modules/lists/ls-dokho.js +1 -1
  641. package/server/modules/lists/ls-dvcs.js +1 -1
  642. package/server/modules/lists/ls-ecomcategories.js +1 -5
  643. package/server/modules/lists/ls-ecomcategories_cty.js +1 -5
  644. package/server/modules/lists/ls-email.js +1 -4
  645. package/server/modules/lists/ls-events.js +1 -3
  646. package/server/modules/lists/ls-evoucher.js +1 -3
  647. package/server/modules/lists/ls-experiencejourney.js +1 -1
  648. package/server/modules/lists/ls-experiencejourneydata.js +1 -3
  649. package/server/modules/lists/ls-experiencejourneypersona.js +1 -4
  650. package/server/modules/lists/ls-experiencejourneystage.js +1 -1
  651. package/server/modules/lists/ls-fbconversation.js +1 -2
  652. package/server/modules/lists/ls-fbmessage.js +1 -2
  653. package/server/modules/lists/ls-fbpage.js +1 -11
  654. package/server/modules/lists/ls-fbpost.js +1 -2
  655. package/server/modules/lists/ls-file.js +1 -31
  656. package/server/modules/lists/ls-financialroadmap.js +1 -3
  657. package/server/modules/lists/ls-flow.js +1 -6
  658. package/server/modules/lists/ls-flowdata.js +1 -1
  659. package/server/modules/lists/ls-folder.js +1 -1
  660. package/server/modules/lists/ls-form.js +1 -1
  661. package/server/modules/lists/ls-forminfo.js +1 -1
  662. package/server/modules/lists/ls-formvalue.js +1 -1
  663. package/server/modules/lists/ls-giaoca.js +1 -4
  664. package/server/modules/lists/ls-group.js +1 -5
  665. package/server/modules/lists/ls-hlink.js +1 -1
  666. package/server/modules/lists/ls-hlinkvalue.js +1 -1
  667. package/server/modules/lists/ls-hmcn.js +1 -2
  668. package/server/modules/lists/ls-hspbts.js +1 -3
  669. package/server/modules/lists/ls-introducebonus.js +1 -4
  670. package/server/modules/lists/ls-introducecode.js +1 -10
  671. package/server/modules/lists/ls-introducer.js +1 -20
  672. package/server/modules/lists/ls-kbm-bcdkt.js +1 -1
  673. package/server/modules/lists/ls-kbm-bcqt.js +1 -5
  674. package/server/modules/lists/ls-kbm-kqhdkd.js +1 -1
  675. package/server/modules/lists/ls-kbm-lcttgt.js +1 -1
  676. package/server/modules/lists/ls-kbm-lctttt.js +1 -1
  677. package/server/modules/lists/ls-kbm-pttct.js +1 -3
  678. package/server/modules/lists/ls-kbm-tkgtgt.js +1 -3
  679. package/server/modules/lists/ls-kbm-tmbctc.js +1 -3
  680. package/server/modules/lists/ls-kehoachdtcp.js +1 -4
  681. package/server/modules/lists/ls-keyresult.js +1 -7
  682. package/server/modules/lists/ls-khunghangthanhvien.js +1 -1
  683. package/server/modules/lists/ls-kygui.js +1 -19
  684. package/server/modules/lists/ls-label.js +1 -1
  685. package/server/modules/lists/ls-lienhe.js +1 -4
  686. package/server/modules/lists/ls-like-module.js +1 -1
  687. package/server/modules/lists/ls-link.js +1 -1
  688. package/server/modules/lists/ls-loaidiem.js +1 -1
  689. package/server/modules/lists/ls-lock.js +1 -1
  690. package/server/modules/lists/ls-log.js +1 -3
  691. package/server/modules/lists/ls-mailaccount.js +1 -5
  692. package/server/modules/lists/ls-mailreceived.js +1 -5
  693. package/server/modules/lists/ls-mailschedule.js +1 -7
  694. package/server/modules/lists/ls-mailsent.js +1 -4
  695. package/server/modules/lists/ls-mailtemplate.js +1 -4
  696. package/server/modules/lists/ls-maudanhgia.js +1 -3
  697. package/server/modules/lists/ls-message2.js +1 -8
  698. package/server/modules/lists/ls-message2setting.js +1 -5
  699. package/server/modules/lists/ls-news.js +1 -7
  700. package/server/modules/lists/ls-newsfeed.js +1 -4
  701. package/server/modules/lists/ls-note.js +1 -6
  702. package/server/modules/lists/ls-okr.js +1 -5
  703. package/server/modules/lists/ls-okrdiagram.js +1 -1
  704. package/server/modules/lists/ls-opportunity.js +1 -5
  705. package/server/modules/lists/ls-options.js +1 -4
  706. package/server/modules/lists/ls-parameter.js +1 -3
  707. package/server/modules/lists/ls-participant.js +1 -10
  708. package/server/modules/lists/ls-phieudanhgia.js +1 -7
  709. package/server/modules/lists/ls-phucap.js +1 -2
  710. package/server/modules/lists/ls-profile.js +1 -1
  711. package/server/modules/lists/ls-ptthanhtoan.js +1 -3
  712. package/server/modules/lists/ls-qts-dieuchinh.js +1 -2
  713. package/server/modules/lists/ls-qts-dieuchuyen.js +1 -8
  714. package/server/modules/lists/ls-reason.js +1 -1
  715. package/server/modules/lists/ls-rpt.js +1 -5
  716. package/server/modules/lists/ls-rptform.js +1 -4
  717. package/server/modules/lists/ls-service.js +1 -3
  718. package/server/modules/lists/ls-shortcut.js +1 -1
  719. package/server/modules/lists/ls-smsaccount.js +1 -1
  720. package/server/modules/lists/ls-smssend.js +1 -3
  721. package/server/modules/lists/ls-sosanxuat.js +1 -4
  722. package/server/modules/lists/ls-step.js +1 -1
  723. package/server/modules/lists/ls-strategicdiagram.js +1 -1
  724. package/server/modules/lists/ls-strategicgoal.js +1 -3
  725. package/server/modules/lists/ls-strategickpi.js +1 -7
  726. package/server/modules/lists/ls-strategicobjective.js +1 -3
  727. package/server/modules/lists/ls-strategicplan.js +1 -6
  728. package/server/modules/lists/ls-support.js +1 -3
  729. package/server/modules/lists/ls-task.js +1 -34
  730. package/server/modules/lists/ls-taskreg.js +1 -2
  731. package/server/modules/lists/ls-tc.js +1 -1
  732. package/server/modules/lists/ls-templaterpt.js +1 -5
  733. package/server/modules/lists/ls-templatevoucher.js +1 -1
  734. package/server/modules/lists/ls-tontucthoi.js +1 -3
  735. package/server/modules/lists/ls-trangthaiapp.js +1 -3
  736. package/server/modules/lists/ls-transaction.js +1 -4
  737. package/server/modules/lists/ls-usergroup.js +1 -7
  738. package/server/modules/lists/ls-vat.js +1 -1
  739. package/server/modules/lists/ls-vatra.js +1 -5
  740. package/server/modules/lists/ls-vatvao.js +1 -6
  741. package/server/modules/lists/ls-waitevent.js +1 -1
  742. package/server/modules/lists/ls-warranty.js +1 -4
  743. package/server/modules/lists/ls_hanmucton.js +1 -3
  744. package/server/modules/lists/ls_hspb.js +1 -4
  745. package/server/modules/lists/ls_spdd_ck.js +1 -3
  746. package/server/modules/lists/ls_spdd_dk.js +1 -3
  747. package/server/modules/lists/ls_ytdd_ck.js +1 -4
  748. package/server/modules/lists/ls_ytdd_dk.js +1 -4
  749. package/server/modules/lists/sys-attend.js +1 -4
  750. package/server/modules/lists/sys-follow.js +1 -4
  751. package/server/modules/lists/sys-right.js +1 -2
  752. package/server/modules/public/app.js +1 -4
  753. package/server/modules/public/approve.js +1 -37
  754. package/server/modules/public/callin.js +1 -7
  755. package/server/modules/public/comment.js +1 -5
  756. package/server/modules/public/dmnvt.js +1 -4
  757. package/server/modules/public/dmvt.js +1 -9
  758. package/server/modules/public/file.js +1 -11
  759. package/server/modules/public/form.js +1 -7
  760. package/server/modules/public/forminfo.js +1 -1
  761. package/server/modules/public/group.js +1 -4
  762. package/server/modules/public/hlink.js +1 -3
  763. package/server/modules/public/introducecode.js +1 -1
  764. package/server/modules/public/listinfo.js +1 -1
  765. package/server/modules/public/media-webhook.js +1 -1
  766. package/server/modules/public/partner.js +1 -1
  767. package/server/modules/public/paymentCallback.js +1 -32
  768. package/server/modules/public/province.js +1 -1
  769. package/server/modules/public/ptthanhtoan.js +1 -4
  770. package/server/modules/public/subscribe.js +1 -30
  771. package/server/modules/public/support.js +1 -3
  772. package/server/modules/public/tableinfo.js +1 -1
  773. package/server/modules/public/trialinfo.js +1 -4
  774. package/server/modules/public/versioninfo.js +1 -1
  775. package/server/modules/reports/calc-tinhgiatb.js +1 -6
  776. package/server/modules/reports/calc-tinhgiathanh.js +1 -6
  777. package/server/modules/reports/calc-tinhkhauhaots.js +1 -3
  778. package/server/modules/reports/calc-tinhluong.js +1 -37
  779. package/server/modules/reports/rp-analyzedata.js +1 -6
  780. package/server/modules/reports/rp-assbonus.js +1 -4
  781. package/server/modules/reports/rp-assinterest.js +1 -8
  782. package/server/modules/reports/rp-assproductowners.js +1 -3
  783. package/server/modules/reports/rp-asssupply.js +1 -1
  784. package/server/modules/reports/rp-asstransferlog.js +1 -10
  785. package/server/modules/reports/rp-banggiatb.js +1 -3
  786. package/server/modules/reports/rp-bangtinhkhauhao.js +1 -6
  787. package/server/modules/reports/rp-baocaokhachhang.js +1 -6
  788. package/server/modules/reports/rp-bcdkt.js +1 -11
  789. package/server/modules/reports/rp-bcintroducebonus.js +1 -4
  790. package/server/modules/reports/rp-bckhtiemnang.js +1 -3
  791. package/server/modules/reports/rp-bcqt.js +1 -85
  792. package/server/modules/reports/rp-bkct.js +1 -13
  793. package/server/modules/reports/rp-bkshipbook.js +1 -8
  794. package/server/modules/reports/rp-bkvanchuyen.js +1 -8
  795. package/server/modules/reports/rp-bkvatra.js +1 -7
  796. package/server/modules/reports/rp-bkvatvao.js +1 -7
  797. package/server/modules/reports/rp-capnhatsocaitc.js +1 -4
  798. package/server/modules/reports/rp-cdpsdiem.js +1 -4
  799. package/server/modules/reports/rp-cdpsdt.js +1 -5
  800. package/server/modules/reports/rp-cdpskh.js +1 -7
  801. package/server/modules/reports/rp-cdpsnphep.js +1 -3
  802. package/server/modules/reports/rp-cdpstk.js +1 -4
  803. package/server/modules/reports/rp-chitietchitientheohoadon.js +1 -12
  804. package/server/modules/reports/rp-chitiettaisan.js +1 -13
  805. package/server/modules/reports/rp-chitietthutientheohoadon.js +1 -13
  806. package/server/modules/reports/rp-ckcn.js +1 -3
  807. package/server/modules/reports/rp-ckdiem.js +1 -2
  808. package/server/modules/reports/rp-cktk.js +1 -3
  809. package/server/modules/reports/rp-ckvt.js +1 -10
  810. package/server/modules/reports/rp-ckvttheokho.js +1 -4
  811. package/server/modules/reports/rp-ckvttheotg.js +1 -4
  812. package/server/modules/reports/rp-ckvttt.js +1 -3
  813. package/server/modules/reports/rp-congnophaithutheotuoino.js +1 -3
  814. package/server/modules/reports/rp-congnophaitratheotuoino.js +1 -3
  815. package/server/modules/reports/rp-congnosapthu.js +1 -4
  816. package/server/modules/reports/rp-congnosaptra.js +1 -4
  817. package/server/modules/reports/rp-congviectheobp.js +1 -9
  818. package/server/modules/reports/rp-congviectheodt.js +1 -8
  819. package/server/modules/reports/rp-congviectheokh.js +1 -8
  820. package/server/modules/reports/rp-congviectheonv.js +1 -9
  821. package/server/modules/reports/rp-congviectheotimeline.js +1 -6
  822. package/server/modules/reports/rp-ctbanle.js +1 -15
  823. package/server/modules/reports/rp-ctbanle2.js +1 -20
  824. package/server/modules/reports/rp-ctbanlectv.js +1 -20
  825. package/server/modules/reports/rp-ctbanlenpp.js +1 -24
  826. package/server/modules/reports/rp-ctdanhgianhanvien.js +1 -8
  827. package/server/modules/reports/rp-cthangbanbitralai.js +1 -4
  828. package/server/modules/reports/rp-ctmuahang.js +1 -7
  829. package/server/modules/reports/rp-cttralaihang.js +1 -4
  830. package/server/modules/reports/rp-databanle.js +1 -10
  831. package/server/modules/reports/rp-diemthuong.js +1 -2
  832. package/server/modules/reports/rp-dkcn.js +1 -3
  833. package/server/modules/reports/rp-dktk.js +1 -2
  834. package/server/modules/reports/rp-dsnhanviencm.js +1 -9
  835. package/server/modules/reports/rp-dsnhanvientb.js +1 -9
  836. package/server/modules/reports/rp-dtbanlekempk.js +1 -9
  837. package/server/modules/reports/rp-dtbanletheoct.js +1 -23
  838. package/server/modules/reports/rp-dtbanletheoctkempk.js +1 -25
  839. package/server/modules/reports/rp-dtbanletheokh.js +1 -20
  840. package/server/modules/reports/rp-dtbanletheokhnpp.js +1 -19
  841. package/server/modules/reports/rp-dtbanletheokho.js +1 -18
  842. package/server/modules/reports/rp-dtbanletheonam.js +1 -3
  843. package/server/modules/reports/rp-dtbanletheongay.js +1 -1
  844. package/server/modules/reports/rp-dtbanletheonpp.js +1 -23
  845. package/server/modules/reports/rp-dtbanletheonv.js +1 -19
  846. package/server/modules/reports/rp-dtbanletheoquy.js +1 -3
  847. package/server/modules/reports/rp-dtbanletheosp.js +1 -8
  848. package/server/modules/reports/rp-dtbanletheospnpp.js +1 -6
  849. package/server/modules/reports/rp-dtbanletheothang.js +1 -3
  850. package/server/modules/reports/rp-dtbanletheothungan.js +1 -12
  851. package/server/modules/reports/rp-dtbanletheovt.js +1 -2
  852. package/server/modules/reports/rp-dtbanletheovtnpp.js +1 -2
  853. package/server/modules/reports/rp-dutoanthuchitheodt.js +1 -4
  854. package/server/modules/reports/rp-getPXC2PNC.js +1 -8
  855. package/server/modules/reports/rp-getariseofaccountsbymonth.js +1 -4
  856. package/server/modules/reports/rp-getbtpb.js +1 -6
  857. package/server/modules/reports/rp-getcashbycashier.js +1 -7
  858. package/server/modules/reports/rp-getcschietkhau.js +1 -5
  859. package/server/modules/reports/rp-getdinhmuc4lenhcp.js +1 -7
  860. package/server/modules/reports/rp-getdinhmuc4pxk.js +1 -9
  861. package/server/modules/reports/rp-getdk4pht.js +1 -8
  862. package/server/modules/reports/rp-getdk4pkc.js +1 -9
  863. package/server/modules/reports/rp-getdttheoca.js +1 -5
  864. package/server/modules/reports/rp-getinvoice2pay.js +1 -4
  865. package/server/modules/reports/rp-getinvoice2receive.js +1 -4
  866. package/server/modules/reports/rp-getinvoice2return.js +1 -5
  867. package/server/modules/reports/rp-getinvoice2return_bl.js +1 -6
  868. package/server/modules/reports/rp-getkehoachmh4lenhcp.js +1 -4
  869. package/server/modules/reports/rp-getkhauhao.js +1 -7
  870. package/server/modules/reports/rp-getluong.js +1 -8
  871. package/server/modules/reports/rp-getluongchuyen.js +1 -5
  872. package/server/modules/reports/rp-getpn2fee.js +1 -5
  873. package/server/modules/reports/rp-getpn2return.js +1 -5
  874. package/server/modules/reports/rp-getthanhpham4pnk.js +1 -7
  875. package/server/modules/reports/rp-getvc2xhd.js +1 -11
  876. package/server/modules/reports/rp-gt_cpnvltt.js +1 -6
  877. package/server/modules/reports/rp-hangbanbitralai.js +1 -5
  878. package/server/modules/reports/rp-hangthanhvien.js +1 -3
  879. package/server/modules/reports/rp-hoadonbanhangtheohantt.js +1 -5
  880. package/server/modules/reports/rp-hoadonmuahangtheohantt.js +1 -5
  881. package/server/modules/reports/rp-hoahong.js +1 -15
  882. package/server/modules/reports/rp-kcsns.js +1 -19
  883. package/server/modules/reports/rp-kgchamcong.js +1 -7
  884. package/server/modules/reports/rp-khoaso.js +1 -12
  885. package/server/modules/reports/rp-kiemtrasocaitcvssocai.js +1 -6
  886. package/server/modules/reports/rp-kqdanhgianhanvien.js +1 -5
  887. package/server/modules/reports/rp-kqhdkd.js +1 -7
  888. package/server/modules/reports/rp-lcttgt.js +1 -17
  889. package/server/modules/reports/rp-lctttt.js +1 -11
  890. package/server/modules/reports/rp-linkslist.js +1 -4
  891. package/server/modules/reports/rp-phanbochitienchohoadon.js +1 -11
  892. package/server/modules/reports/rp-phanbothutienchohoadon.js +1 -10
  893. package/server/modules/reports/rp-ptbitralai.js +1 -7
  894. package/server/modules/reports/rp-ptcttct.js +1 -22
  895. package/server/modules/reports/rp-ptdonhang.js +1 -8
  896. package/server/modules/reports/rp-pttct.js +1 -49
  897. package/server/modules/reports/rp-pttctkho.js +1 -32
  898. package/server/modules/reports/rp-pttctkho2.js +1 -29
  899. package/server/modules/reports/rp-referredusers.js +1 -1
  900. package/server/modules/reports/rp-sctbhxh.js +1 -4
  901. package/server/modules/reports/rp-sctcnkh.js +1 -17
  902. package/server/modules/reports/rp-sctdiem.js +1 -3
  903. package/server/modules/reports/rp-sctdt.js +1 -7
  904. package/server/modules/reports/rp-sctdtcp.js +1 -11
  905. package/server/modules/reports/rp-sctluong.js +1 -4
  906. package/server/modules/reports/rp-sctthuetncn.js +1 -4
  907. package/server/modules/reports/rp-scttk.js +1 -7
  908. package/server/modules/reports/rp-sctvt.js +1 -5
  909. package/server/modules/reports/rp-sctvt_sl.js +1 -5
  910. package/server/modules/reports/rp-sctvtnpp.js +1 -6
  911. package/server/modules/reports/rp-sctvttt.js +1 -5
  912. package/server/modules/reports/rp-search.js +1 -4
  913. package/server/modules/reports/rp-socai.js +1 -6
  914. package/server/modules/reports/rp-socaitk.js +1 -7
  915. package/server/modules/reports/rp-sochut.js +1 -7
  916. package/server/modules/reports/rp-sokho.js +1 -7
  917. package/server/modules/reports/rp-sokhott.js +1 -5
  918. package/server/modules/reports/rp-sonkbh.js +1 -5
  919. package/server/modules/reports/rp-sonkc.js +1 -6
  920. package/server/modules/reports/rp-sonkct.js +1 -5
  921. package/server/modules/reports/rp-sonkmh.js +1 -5
  922. package/server/modules/reports/rp-sonktt.js +1 -5
  923. package/server/modules/reports/rp-soquy.js +1 -11
  924. package/server/modules/reports/rp-sosanhkhvatt.js +1 -13
  925. package/server/modules/reports/rp-sosanhkhvatt2.js +1 -6
  926. package/server/modules/reports/rp-sotaisan.js +1 -13
  927. package/server/modules/reports/rp-sotiengui.js +1 -7
  928. package/server/modules/reports/rp-taodinhmuctudkhoc.js +1 -5
  929. package/server/modules/reports/rp-thbanhangkempk.js +1 -28
  930. package/server/modules/reports/rp-thdanhgianhanvien.js +1 -9
  931. package/server/modules/reports/rp-thgt.js +1 -6
  932. package/server/modules/reports/rp-thnxt.js +1 -12
  933. package/server/modules/reports/rp-thnxt_sl.js +1 -9
  934. package/server/modules/reports/rp-thnxtnpp.js +1 -10
  935. package/server/modules/reports/rp-thnxttt.js +1 -9
  936. package/server/modules/reports/rp-tkbanhangtheogioithieu.js +1 -9
  937. package/server/modules/reports/rp-tkgioithieukh.js +1 -4
  938. package/server/modules/reports/rp-tkgtgt.js +1 -7
  939. package/server/modules/reports/rp-tmbctc.js +1 -20
  940. package/server/modules/reports/rp-tonghopbanhang.js +1 -6
  941. package/server/modules/reports/rp-tonghopmuahang.js +1 -5
  942. package/server/modules/reports/rp-tonghoptralaihang.js +1 -5
  943. package/server/modules/reports/rp-tongquanbanle.js +1 -20
  944. package/server/modules/reports/rp-tongquanbds.js +1 -3
  945. package/server/modules/reports/rp-tongquancongty.js +1 -6
  946. package/server/modules/reports/rp-tongquanctvnpp.js +1 -12
  947. package/server/modules/reports/rp-tongquannvbh.js +1 -14
  948. package/server/modules/reports/rp-tongquannvnpp.js +1 -5
  949. package/server/modules/reports/rp-uoctinhnvl.js +1 -11
  950. package/server/modules/reports/rp-wallet.js +1 -3
  951. package/server/modules/reports/rpt-tkdiemtichluy.js +1 -9
  952. package/server/modules/systems/sys-app.js +1 -30
  953. package/server/modules/systems/sys-colleague.js +1 -11
  954. package/server/modules/systems/sys-domain.js +1 -4
  955. package/server/modules/systems/sys-ecomproductlines.js +1 -1
  956. package/server/modules/systems/sys-exportexceltemplate.js +1 -4
  957. package/server/modules/systems/sys-fieldright.js +1 -3
  958. package/server/modules/systems/sys-importexceltemplate.js +1 -4
  959. package/server/modules/systems/sys-labelinfo.js +1 -4
  960. package/server/modules/systems/sys-listinfo.js +1 -10
  961. package/server/modules/systems/sys-menuinfo.js +1 -4
  962. package/server/modules/systems/sys-message.js +1 -14
  963. package/server/modules/systems/sys-moduleinfo.js +1 -4
  964. package/server/modules/systems/sys-notification.js +1 -8
  965. package/server/modules/systems/sys-quanhuyen.js +1 -4
  966. package/server/modules/systems/sys-reportinfo.js +1 -4
  967. package/server/modules/systems/sys-rptobject.js +1 -3
  968. package/server/modules/systems/sys-schedule.js +1 -11
  969. package/server/modules/systems/sys-sysconfig.js +1 -3
  970. package/server/modules/systems/sys-sysgroup.js +1 -3
  971. package/server/modules/systems/sys-tableinfo.js +1 -3
  972. package/server/modules/systems/sys-templatestore.js +1 -5
  973. package/server/modules/systems/sys-tinhthanh.js +1 -4
  974. package/server/modules/systems/sys-token.js +1 -3
  975. package/server/modules/systems/sys-trangthai.js +1 -4
  976. package/server/modules/systems/sys-trialinfo.js +1 -3
  977. package/server/modules/systems/sys-user.js +1 -45
  978. package/server/modules/systems/sys-users.js +1 -10
  979. package/server/modules/systems/sys-versioninfo.js +1 -3
  980. package/server/modules/systems/sys-vietqrbanks.js +1 -4
  981. package/server/modules/systems/sys-xaphuong.js +1 -4
  982. package/server/modules/vouchers/vo-banggiaban.js +1 -5
  983. package/server/modules/vouchers/vo-bc1.js +1 -33
  984. package/server/modules/vouchers/vo-bc5.js +1 -15
  985. package/server/modules/vouchers/vo-bg1.js +1 -10
  986. package/server/modules/vouchers/vo-bg2.js +1 -12
  987. package/server/modules/vouchers/vo-bn1.js +1 -35
  988. package/server/modules/vouchers/vo-bn5.js +1 -15
  989. package/server/modules/vouchers/vo-dh2.js +1 -35
  990. package/server/modules/vouchers/vo-dinhmucsx.js +1 -6
  991. package/server/modules/vouchers/vo-dkb.js +1 -21
  992. package/server/modules/vouchers/vo-dn0.js +1 -9
  993. package/server/modules/vouchers/vo-dnm.js +1 -21
  994. package/server/modules/vouchers/vo-hd1.js +1 -36
  995. package/server/modules/vouchers/vo-hd2.js +1 -107
  996. package/server/modules/vouchers/vo-hd3.js +1 -44
  997. package/server/modules/vouchers/vo-hd4.js +1 -13
  998. package/server/modules/vouchers/vo-hd7.js +1 -29
  999. package/server/modules/vouchers/vo-hd8.js +1 -29
  1000. package/server/modules/vouchers/vo-hde.js +1 -40
  1001. package/server/modules/vouchers/vo-htl.js +1 -11
  1002. package/server/modules/vouchers/vo-kbbtpb.js +1 -6
  1003. package/server/modules/vouchers/vo-kehoachmh.js +1 -13
  1004. package/server/modules/vouchers/vo-lenhcapphat.js +1 -10
  1005. package/server/modules/vouchers/vo-lenhsx.js +1 -12
  1006. package/server/modules/vouchers/vo-pbl.js +1 -93
  1007. package/server/modules/vouchers/vo-pc0.js +1 -14
  1008. package/server/modules/vouchers/vo-pc1.js +1 -31
  1009. package/server/modules/vouchers/vo-pc2.js +1 -24
  1010. package/server/modules/vouchers/vo-pc3.js +1 -14
  1011. package/server/modules/vouchers/vo-pc5.js +1 -15
  1012. package/server/modules/vouchers/vo-pc6.js +1 -19
  1013. package/server/modules/vouchers/vo-pcl.js +1 -7
  1014. package/server/modules/vouchers/vo-pdn.js +1 -11
  1015. package/server/modules/vouchers/vo-pdx.js +1 -9
  1016. package/server/modules/vouchers/vo-pgh.js +1 -19
  1017. package/server/modules/vouchers/vo-pht.js +1 -7
  1018. package/server/modules/vouchers/vo-pkc.js +1 -7
  1019. package/server/modules/vouchers/vo-pkh.js +1 -10
  1020. package/server/modules/vouchers/vo-pkk.js +1 -12
  1021. package/server/modules/vouchers/vo-pkt.js +1 -13
  1022. package/server/modules/vouchers/vo-pn1.js +1 -33
  1023. package/server/modules/vouchers/vo-pn2.js +1 -16
  1024. package/server/modules/vouchers/vo-pn3.js +1 -18
  1025. package/server/modules/vouchers/vo-pn5.js +1 -19
  1026. package/server/modules/vouchers/vo-pn6.js +1 -18
  1027. package/server/modules/vouchers/vo-pn9.js +1 -22
  1028. package/server/modules/vouchers/vo-pnc.js +1 -20
  1029. package/server/modules/vouchers/vo-pnh.js +1 -20
  1030. package/server/modules/vouchers/vo-pnk.js +1 -14
  1031. package/server/modules/vouchers/vo-pnknpp.js +1 -12
  1032. package/server/modules/vouchers/vo-po1.js +1 -15
  1033. package/server/modules/vouchers/vo-ppb.js +1 -8
  1034. package/server/modules/vouchers/vo-pt1.js +1 -21
  1035. package/server/modules/vouchers/vo-pt5.js +1 -15
  1036. package/server/modules/vouchers/vo-ptl.js +1 -8
  1037. package/server/modules/vouchers/vo-purchase_contract.js +1 -9
  1038. package/server/modules/vouchers/vo-pxc.js +1 -22
  1039. package/server/modules/vouchers/vo-pxh.js +1 -28
  1040. package/server/modules/vouchers/vo-pxk.js +1 -15
  1041. package/server/modules/vouchers/vo-pxknpp.js +1 -14
  1042. package/server/modules/vouchers/vo-qts.js +1 -12
  1043. package/server/modules/vouchers/vo-sale_contract.js +1 -11
  1044. package/server/modules/vouchers/vo-shipbook.js +1 -17
  1045. package/server/modules/vouchers/vo-so1.js +1 -126
  1046. package/server/modules/vouchers/vo-so2.js +1 -37
  1047. package/server/modules/vouchers/vo-so3.js +1 -41
  1048. package/server/modules/vouchers/vo-so5.js +1 -57
  1049. package/server/modules/vouchers/vo-so7.js +1 -97
  1050. package/server/modules/vouchers/vo-so9.js +1 -119
  1051. package/server/modules/vouchers/vo-vanchuyen.js +1 -14
  1052. package/server/modules/vouchers/vo-xhd.js +1 -33
  1053. package/server/route.js +1 -51
  1054. package/server/services/invoiceFetcher.js +1 -15
  1055. package/server/sslConfig.js +1 -2
  1056. package/server/transactionMiddleware.js +1 -5
  1057. package/server/workers/backupApp.js +1 -9
  1058. package/server/workers/calcGrid.js +1 -9
  1059. package/server/workers/customerOnImport.js +1 -8
  1060. package/server/workers/dmvtOnImport.js +1 -9
  1061. package/server/workers/excelParser.js +1 -9
  1062. package/server/workers/inputWorker.js +1 -6
  1063. package/server/workers/pushNotify.js +1 -10
  1064. package/server/workers/reportWorker.js +1 -7
  1065. package/server/workers/restoreApp.js +1 -23
  1066. package/server/workers/runScript.js +1 -4
  1067. package/server/workers/sendEmail.js +1 -13
  1068. package/server/workers/webhook.js +1 -5
@@ -1,107 +1 @@
1
- const EventEmitter=require("events").EventEmitter,_=require("lodash"),ckvt=require("../libs/ckvt"),OptionsModel=global.getModel("options"),Approve=global.getModel("approve"),trangthai=global.getModel("trangthai"),Participant=global.getModel("participant"),async=require("async"),crypto=require("crypto"),permission=require("../libs/permission"),utils=require("../libs/utils"),templatevoucher=global.getModel("templatevoucher"),{evalute}=require("../libs/utils"),redisCache=require("../libs/redis-cache"),
2
- dmqddvt=global.getModel("dmqddvt"),importHandler=require("./importHandler"),viewHandler=require("./viewHandler"),{bodyToJson,ERRORS,getNextSequence,postData,pushNotification,runWebhooks}=require("./controllerUtils"),handlers=require("./handlers");
3
- class controller{constructor($router$$,$model$$,$name$$,$options$$={isVoucher:void 0,sort:void 0,check_stock:void 0,unique:void 0,require_id_app:void 0,notNeedRight:void 0,onPopulate:void 0}){this.name=$name$$;this.model=$model$$;this.model_name=$model$$.modelName.toLowerCase();this.router=$router$$;this.module=this.name;global.controllers[$name$$.trim().toUpperCase()]=this;$options$$.findExact||($options$$.findExact={});this.keyValues=$options$$.keyValues;this.keyValues||(this.keyValues={});$options$$.require_id_app===
4
- void 0||$options$$.require_id_app===!0?(this.require_id_app=!0,this.route_name=`/:id_app/${this.module}`):(this.require_id_app=!1,this.route_name=`/${this.module}`);this.collection_name=$options$$.collection_name?$options$$.collection_name:$name$$;this.sort=$options$$.sort;this.unique=$options$$.unique;this.getting=$options$$.onGetting;this.finding=$options$$.onFinding;this.found=$options$$.onFound;this.validating=$options$$.onValidating;this.saving=$options$$.onSaving;this.creating=$options$$.onCreating;
5
- this.created=$options$$.onCreated;this.updating=$options$$.onUpdating;this.updated=$options$$.onUpdated;this.deleting=$options$$.onDeleting;this.deleted=$options$$.onDeleted;this.approveData=$options$$.approveData;this.populate=$options$$.onPopulate;this.view=$options$$.onView;this.viewRequired=$options$$.onViewRequired;this.cache=$options$$.cache;this.excelParse=$options$$.onExcelParse;this.options=$options$$;this.replaceIfExists=$options$$.replaceIfExists}async asyncView($user$$,$items$$,$options$$){const $self$$=
6
- this;return new Promise($resolve$$=>{$self$$.onView($user$$,$items$$,($error$$,$rs$$)=>{if($error$$)return console.error($error$$),$resolve$$($items$$);$resolve$$($rs$$)},$options$$)})}async onView($user$$,$rows$$,$next$$,$options$$){viewHandler($user$$,this,$rows$$,$next$$,$options$$)}async notNeedRight($user$$,$_options$$={}){let $nnr$$=this.options.notNeedRight;_.isFunction($nnr$$)&&($nnr$$=$nnr$$($user$$,$_options$$));return $nnr$$}getProperty($name$$){return this[$name$$]}getNextId(){let $ma_ct$$=
7
- this.name;this.router.route(`${this.route_name}/next/:field`).get(($field_req$$,$res$$)=>{let $id_app$$=$field_req$$.user.current_id_app;$field_req$$=$field_req$$.params.field;$field_req$$==="so_ct"?$res$$.send({[$field_req$$]:$ma_ct$$}):getNextSequence($id_app$$,$ma_ct$$,$field_req$$,($e$$,$rs$$)=>{if($e$$)return console.error("getNextId",$e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$res$$.send($rs$$)})})}async checkData($appInfo$$,$data$$,$fn$$){const $options$$=
8
- this.options;if($data$$.trang_thai&&$data$$.ma_ct){let $tt$$=await trangthai.findOne({ma_ct:$data$$.ma_ct,ma_trang_thai:$data$$.trang_thai},{check_data:1}).lean();if($tt$$&&$tt$$.check_data==0)return $fn$$()}async.series({checkTonKho:$callback$$=>{$data$$.details&&$appInfo$$&&$appInfo$$.options&&$appInfo$$.options.khong_xuat_kho_am&&$options$$.check_stock!=0?(async()=>{let $details$$=$data$$.details.filter($d$$=>$d$$.ma_vt&&$d$$.sl_xuat);await $details$$.asyncJoinModel2($appInfo$$._id,"dmvt",{where:{ma_vt:"ma_vt"},
9
- fields:["tg_tk","kg_kiem_tra_ton_kho","kg_kiem_tra_ton_kho_tt",{cb:"combo"},"ten_vt"]});$details$$.forEach($d$$=>{!$d$$.combo&&$d$$.cb&&($d$$.combo=$d$$.cb)});$details$$=$details$$.filter($d$$=>$d$$.tg_tk&&!$d$$.kg_kiem_tra_ton_kho||($d$$.combo||[]).length>0);$details$$=$details$$.map($detail$$=>$detail$$.combo&&$detail$$.combo.length>0?$detail$$.combo.map($c$$=>{$c$$=$c$$.toObject?utils.convertObjectIdsToStrings($c$$.toObject()):{...$c$$};$c$$.sl_xuat*=$detail$$.sl_xuat;$c$$.ma_kho=$detail$$.ma_kho;
10
- return $c$$}):[$detail$$]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);await $details$$.asyncJoinModel2($appInfo$$._id,dmqddvt,{where:{ma_vt:"ma_vt",ma_dvt:"ma_dvt"},fields:"ty_le_qd"});let $data_sokho$$=[];$data$$._id&&($data_sokho$$=await global.getModel("sokho").find({id_ct:$data$$._id.toString()}).lean());$details$$.forEach($d$$=>{$d$$.he_so_qd=$d$$.ty_le_qd||1;$d$$.sl_xuat_qd=$d$$.he_so_qd*$d$$.sl_xuat});$details$$=await $details$$.asyncGroupBy(["ma_vt","ma_kho","ten_vt"],["sl_xuat_qd"]);async.map($details$$,
11
- ($d$$,$callback$$)=>{let $ma_kho$$=$d$$.ma_kho||$data$$.ma_kho||$data$$.ma_kho_x,$query$$={ma_vt:$d$$.ma_vt,ma_kho:$ma_kho$$,ngay:new Date,id_app:$appInfo$$._id};$d$$.kg_kiem_tra_ton_kho_tt||($d$$.ma_lo&&($query$$.ma_lo=$d$$.ma_lo),$d$$.han_sd&&($query$$.han_sd=$d$$.han_sd),$d$$.ma_tt1&&($query$$.ma_tt1=$d$$.ma_tt1),$d$$.ma_tt2&&($query$$.ma_tt2=$d$$.ma_tt2),$d$$.ma_tt3&&($query$$.ma_tt3=$d$$.ma_tt3));ckvt($query$$,function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$rs$$?($e$$=$rs$$.csum("ton"),
12
- $rs$$=$data_sokho$$.filter($s$$=>$s$$.ma_vt===$d$$.ma_vt&&$s$$.ma_kho===$ma_kho$$).reduce(($a$$,$b$$)=>($a$$.sl_xuat_qd||0)+($b$$.sl_xuat_qd||0),0),$d$$.sl_xuat_qd>utils.round($e$$+$rs$$,2)?$callback$$(`S\u1ea3n ph\u1ea9m ${$d$$.ma_vt} - ${$d$$.ten_vt} c\u00f3 s\u1ed1 l\u01b0\u1ee3ng xu\u1ea5t quy \u0111\u1ed5i (${$d$$.sl_xuat_qd}) l\u1edbn h\u01a1n s\u1ed1 l\u01b0\u1ee3ng t\u1ed3n quy \u0111\u1ed5i (${$e$$+$rs$$})`):$callback$$()):$callback$$()})},$e$$=>{$callback$$($e$$)})})():$callback$$()}},$e$$=>
13
- {$fn$$($e$$)})}async cacheData($obj$$,$callback$$){$obj$$&&$obj$$.toObject&&($obj$$=utils.convertObjectIdsToStrings($obj$$.toObject()));await redisCache.set(this.model_name,$obj$$,$callback$$)}async deleteData($obj$$,$callback$$){$obj$$&&$obj$$.toObject&&($obj$$=utils.convertObjectIdsToStrings($obj$$.toObject()));await redisCache.remove(this.model_name,$obj$$,$callback$$)}createRoute($routeName$$,$handler_routeAction$$,$_options$$={method:"GET",not_use_worker:!1}){const $self$$=this;$_options$$.method=
14
- $_options$$.method?$_options$$.method.toUpperCase():"GET";const $route_action_key$$=`route_action_${$self$$.name}_${$routeName$$}_${$_options$$.method}`;$self$$[$route_action_key$$]=$handler_routeAction$$;$handler_routeAction$$=async function($req$$,$res$$){const {query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$,files:$files$$}=$req$$,$user_agent$$=$req$$.header("user-agent"),$ip$$=$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress;try{const $_req$$=
15
- {handler:"createRouteHandler",routeName:$routeName$$,_options:$_options$$,route_action_key:$route_action_key$$,query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$,user_agent:$user_agent$$,ip:$ip$$,files:$files$$,originalUrl:$req$$.originalUrl};global.inputMainPool&&!$_options$$.not_use_worker?global.inputMainPool.exec({req:$_req$$,module:$self$$.name.toUpperCase(),configs:JSON.stringify(configs)},$response$$=>{if($response$$.error)return $res$$.status(400).send({error:$response$$.error.error||
16
- $response$$.error.message||$response$$.error,message:$response$$.message||$response$$.error.error||$response$$.error.message||$response$$.error});$res$$.send($response$$.result)}):handlers.createRouteHandler($self$$,$_req$$,($e$$,$rs$$)=>{if($e$$)return $res$$.status(400).send($e$$);$res$$.send($rs$$)})}catch($e$$){$res$$.status(400).send($e$$)}};let $url$$=`${this.route_name}/${$routeName$$}`,$router$$=this.router;$_options$$.method=="DELETE"?$router$$.route($url$$).delete($handler_routeAction$$):
17
- $_options$$.method=="POST"?$router$$.route($url$$).post($handler_routeAction$$):$_options$$.method=="PUT"?$router$$.route($url$$).put($handler_routeAction$$):$router$$.route($url$$).get($handler_routeAction$$)}async requestApprove($app_info_listinfo_code$$,$user_request$$,$obj_request$$,$next$$,$str_func$jscomp$2_str_func$$,$preRequest$$){let $ctrl$$=this;if(!$app_info_listinfo_code$$)return $next$$(null,$obj_request$$);let $obj$$;$obj$$=$obj_request$$.toObject?utils.convertObjectIdsToStrings($obj_request$$.toObject()):
18
- _.cloneDeep($obj_request$$);$obj$$.ma_ct=$obj$$.ma_ct||$ctrl$$.name;let $approveDatas$$=[];$app_info_listinfo_code$$=$obj$$.listinfo_code||$ctrl$$.name;$str_func$jscomp$2_str_func$$||($str_func$jscomp$2_str_func$$=(await OptionsModel.findOne({id_app:$obj$$.id_app,id_func:$app_info_listinfo_code$$},{option:1}).lean()||{}).option);$str_func$jscomp$2_str_func$$&&$str_func$jscomp$2_str_func$$.custom_approve_user&&$str_func$jscomp$2_str_func$$.custom_approve_user.forEach($trang_thai_approve$$=>{let $update_after_approve$$,
19
- $update_after_deny$$;if($trang_thai_approve$$.update_after_approve)try{let $str_func$$=$trang_thai_approve$$.update_after_approve;$str_func$$.indexOf("return ")<0&&($str_func$$=`return ${$str_func$$}`);$update_after_approve$$=evalute($str_func$$)}catch($e$$){console.error("[controller][requestApprove] request approve",$e$$,$trang_thai_approve$$.update_after_approve),$update_after_approve$$={}}else $update_after_approve$$={};$trang_thai_approve$$.update_after_approve={module:$ctrl$$.name,cho_phep_cap_nhat_khi_da_duyet:$trang_thai_approve$$.cho_phep_cap_nhat_khi_da_duyet,
20
- data:{trang_thai:$trang_thai_approve$$.trang_thai2,...($update_after_approve$$.data||{})}};if($trang_thai_approve$$.update_after_deny)try{let $str_func$$=$trang_thai_approve$$.update_after_deny;$str_func$$.indexOf("return ")<0&&($str_func$$=`return ${$str_func$$}`);$update_after_deny$$=evalute($str_func$$)}catch($e$$){console.error("request approve",$e$$)}if($update_after_deny$$||$trang_thai_approve$$.trang_thai3)$trang_thai_approve$$.update_after_deny={module:$ctrl$$.name,data:{trang_thai:$trang_thai_approve$$.trang_thai3,
21
- ...(($update_after_deny$$||{}).data||{})}};$approveDatas$$.push($trang_thai_approve$$)});$approveDatas$$=$approveDatas$$.filter($approveData_condition$$=>{$approveData_condition$$=$approveData_condition$$.condition;if(!$approveData_condition$$)return!0;$approveData_condition$$.indexOf("return ")<0&&($approveData_condition$$=`return ${$approveData_condition$$}`);try{return evalute($approveData_condition$$,{master:$obj$$,data:$obj$$})}catch($e$$){return console.error("check condition approve",$e$$,
22
- $approveData_condition$$),!1}});try{for(let $approveData$$ of $approveDatas$$.filter($a$$=>$a$$.approve_users||$a$$.approve_users_custom||$a$$.approve_phu_trach_bp)){let $title$$=$approveData$$.title||"Y\u00eau c\u1ea7u duy\u1ec7t";if($title$$.indexOf("return ")>=0){$str_func$jscomp$2_str_func$$=$title$$;try{$title$$=evalute($str_func$jscomp$2_str_func$$,{master:$obj$$,data:$obj$$})}catch($e$$){console.error("request approve",$e$$,$str_func$jscomp$2_str_func$$)}}let $ds_nguoi_duyet$$=$approveData$$.approve_users,
23
- $update_after_approve$$=$approveData$$.update_after_approve,$update_after_deny$$=$approveData$$.update_after_deny;if(_.isString($ds_nguoi_duyet$$))try{if($str_func$jscomp$2_str_func$$=$ds_nguoi_duyet$$,$str_func$jscomp$2_str_func$$.indexOf("return ")<0&&($str_func$jscomp$2_str_func$$=`return ${$str_func$jscomp$2_str_func$$}`),$ds_nguoi_duyet$$=evalute($str_func$jscomp$2_str_func$$,{master:$obj$$,data:$obj$$,preRequest:$preRequest$$}),!_.isArray($ds_nguoi_duyet$$)){console.error("danh s\u00e1ch ng\u01b0\u1eddi duy\u1ec7t ph\u1ea3i l\u00e0 m\u1ed9t m\u1ea3ng, hi\u1ec7n t\u1ea1i \u0111ang l\u00e0",
24
- $ds_nguoi_duyet$$);return}}catch($e$$){console.error("request approve",$e$$,$ds_nguoi_duyet$$);return}if($approveData$$.approve_phu_trach_bp&&$obj$$.ma_nv){let $nv$$=await global.getModel("dmnv").findOne({id_app:$obj$$.id_app,ma_nv:$obj$$.ma_nv},{ma_bp:1}).lean();if($nv$$?.ma_bp){let $bp$$=await global.getModel("dmbp").findOne({id_app:$obj$$.id_app,ma_bp:$nv$$?.ma_bp},{phu_trach:1}).lean();$bp$$?.phu_trach&&$ds_nguoi_duyet$$.push($bp$$?.phu_trach)}}if($approveData$$.approve_users_custom)try{let $str_func$$=
25
- $approveData$$.approve_users_custom;$str_func$$.indexOf("return ")<0&&($str_func$$=`return ${$str_func$$}`);let $ds_nguoi_duyet_custom$$=await evalute(`return (async ()=>{
26
- try{
27
- ${$str_func$$}
28
- }catch(e){
29
- return {error:e}
30
- }
31
- })`,{master:$obj$$,data:$obj$$,preRequest:$preRequest$$,utils})();$ds_nguoi_duyet_custom$$&&(_.isArray($ds_nguoi_duyet_custom$$)?$ds_nguoi_duyet$$=[...$ds_nguoi_duyet$$,...$ds_nguoi_duyet_custom$$]:console.error("[controller][requestapprove] danh s\u00e1ch ng\u01b0\u1eddi duy\u1ec7t ph\u1ea3i l\u00e0 m\u1ed9t m\u1ea3ng, hi\u1ec7n t\u1ea1i \u0111ang l\u00e0",$ds_nguoi_duyet_custom$$))}catch($e$$){console.error("[controller][requestapprove] ",$e$$,$approveData$$.approve_users_custom)}console.log("[controller][requestapprove] Danh sach ng\u01b0\u1eddi duy\u1ec7t \u0111\u1ea7y \u0111\u1ee7",
32
- $ds_nguoi_duyet$$);if($ds_nguoi_duyet$$&&$ds_nguoi_duyet$$.length!==0&&($ds_nguoi_duyet$$=[...(new Set($ds_nguoi_duyet$$))],$obj$$.trang_thai==$approveData$$.trang_thai)){let $user_approves$$=$ds_nguoi_duyet$$.map($nguoi_duyet$$=>({email:$nguoi_duyet$$,name:$nguoi_duyet$$}));await $user_approves$$.asyncJoinModel2($obj$$.id_app,Participant,{where:"email",fields:"name"});await [$user_request$$].asyncJoinModel2($obj$$.id_app,Participant,{where:"email",fields:"name"});await new Promise(($resolve$$,$reject$$)=>
33
- {Approve.request($user_request$$,$user_approves$$,$title$$,$obj$$,$e$$=>{if($e$$)return $reject$$($e$$);$resolve$$()},$update_after_approve$$,$approveData$$.template_content,$update_after_deny$$)})}}$next$$(null,$obj$$)}catch($e$$){$next$$($e$$)}}async import($user$$,$id_app$$,$data$$,$callback_main$$,$options$$={replace:!0,req:null,listinfo_code:null}){importHandler($user$$,this,$id_app$$,$data$$,$callback_main$$,$options$$)}pushNotification($_obj$$,$eventName$$="new",$old_obj$$=null,$justFireEvents$$=
34
- !1,$options$$={title:"",data:{}}){return pushNotification(this,$_obj$$,$eventName$$,$old_obj$$,$justFireEvents$$,$options$$)}}controller.prototype.__proto__=EventEmitter.prototype;controller.prototype.asyncGetNextSequence=async($id_app$$,$ma_ct$$,$field$$="so_ct",$options$$)=>new Promise($resolve$$=>{getNextSequence($id_app$$,$ma_ct$$,$field$$,($error$$,$rs$$)=>{if($error$$)return Error($error$$);$resolve$$($rs$$)},$options$$)});
35
- controller.prototype.getFieldNoRight=function(){let $ctrl$$=this;this.router.route(`${this.route_name}/field-not-right/:fieldName`).get(async($req$$,$res$$)=>{let $fieldName$$=$req$$.params.fieldName;try{(await permission.getFieldNotRight($req$$.user.current_id_app,$req$$.user.email,$ctrl$$.name)).indexOf($fieldName$$)>=0?$res$$.send({allow:!1}):$res$$.send({allow:!0})}catch($e$$){$res$$.state(400).send($e$$.message)}})};
36
- controller.prototype.find=function($_route_name_route_name$$,$shareRoute$$=!1,$method$$="GET"){let $ctrl$$=this;const $handlerResult$$=($res$$,$data$$)=>{const {result:$result$$,dataType:$dataType$$}=$data$$;$dataType$$=="xlsx"?($res$$.setHeader("Content-Type","application/vnd.openxmlformats"),$res$$.setHeader("Content-Disposition","attachment; filename="+$ctrl$$.name+".xlsx"),$res$$.end($result$$,"binary")):$res$$.send($result$$)},$findRoute$$=async($ip$jscomp$1_req$$,$res$$)=>{const {query:$query$$,
37
- body:$body$$,user:$user$$,params:$params$$,headers:$headers$$}=$ip$jscomp$1_req$$;var $_req$jscomp$1_user_agent$$=$ip$jscomp$1_req$$.header("user-agent");$ip$jscomp$1_req$$=$ip$jscomp$1_req$$.ip||$ip$jscomp$1_req$$.headers["x-forwarded-for"]||$ip$jscomp$1_req$$.connection.remoteAddress;try{if($_req$jscomp$1_user_agent$$={handler:"findHandler",query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$,user_agent:$_req$jscomp$1_user_agent$$,ip:$ip$jscomp$1_req$$,shareRoute:$shareRoute$$},
38
- global.inputMainPool){const $id_task$$=`task-find-${crypto.randomBytes(20).toString("hex")}`;global.inputMainPool.exec({id_task:$id_task$$,req:$_req$jscomp$1_user_agent$$,module:$ctrl$$.name.toUpperCase(),configs:JSON.stringify(configs)},$response$$=>{if($response$$.error)return $res$$.status(400).send({error:$response$$.error.error||$response$$.error.message||$response$$.error,message:$response$$.message||$response$$.error.error||$response$$.error.message||$response$$.error});$handlerResult$$($res$$,
39
- $response$$.result)})}else handlers.findHandler($ctrl$$,$_req$jscomp$1_user_agent$$,($e$$,$returnvalue$$)=>{if($e$$)return $res$$.status(400).send($e$$);$handlerResult$$($res$$,$returnvalue$$)})}catch($e$$){$res$$.status(400).send($e$$)}};$_route_name_route_name$$=$_route_name_route_name$$||this.route_name;$method$$==="GET"?(this.router.route($_route_name_route_name$$).get($findRoute$$),this.router.route($_route_name_route_name$$+"/excel").get($findRoute$$)):(this.router.route($_route_name_route_name$$).post($findRoute$$),
40
- this.router.route($_route_name_route_name$$+"/excel").post($findRoute$$))};
41
- controller.prototype.get=function($route_name$$,$shareRoute$$=!1){const $ctrl$$=this;this.router.route(`${$route_name$$||this.route_name}/:id`).get(async function($req$$,$res$$){var $body$$=$req$$.params.id;if(!global.mongoose.Types.ObjectId.isValid($body$$))return $res$$.status(404).send({error:ERRORS.ERR_ID_INVALID,code:ERRORS.ERR_ID_INVALID_CODE});$body$$={_id:$body$$};const $user_agent$$=$req$$.header("user-agent"),$ip$$=$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress,
42
- {query:$query$$,user:$user$$,params:$params$$,headers:$headers$$}=$req$$;try{handlers.findHandler($ctrl$$,{query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$,user_agent:$user_agent$$,ip:$ip$$,shareRoute:$shareRoute$$,originalUrl:$req$$.originalUrl},($e$jscomp$17_result$$,$returnvalue$$)=>{if($e$jscomp$17_result$$)return $res$$.status(400).send($e$jscomp$17_result$$);({result:$e$jscomp$17_result$$}=$returnvalue$$);if($e$jscomp$17_result$$.length==0)return $res$$.status(404).send({error:ERRORS.ERR_NOT_FOUND,
43
- code:ERRORS.ERR_NOT_FOUND_CODE});$res$$.send($e$jscomp$17_result$$[0])})}catch($e$$){console.error($e$$),$res$$.status(400).send($e$$)}})};
44
- controller.prototype.postAgainHandler=function($user$$,$condition$$,$callback$$,$options$$={req:null}){let $model$$=this.model,$ctrl$$=this;if(!$ctrl$$.post)return $callback$$(null,{message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 th\u1ef1c hi\u1ec7n xong"});const $update_tk_vt$$=$condition$$.update_tk_vt;delete $condition$$.update_tk_vt;const $user_update$$={date_updated:new Date,user_updated:$user$$.email};$model$$.find($condition$$).sort({ngay_ct:1}).lean().then(function($objsrepost$$){console.log("[postagain] start repost",
45
- $condition$$,$objsrepost$$.length," vouchers","by",$user$$.email);setImmediate(()=>{async.map($objsrepost$$,function($obj$$,$callback$$){setImmediate(async()=>{console.log("postAgain: handle data before post",$obj$$.ma_ct,$obj$$.so_ct,$obj$$.ngay_ct,"by",$user$$.email);if($ctrl$$.reposting)try{await $ctrl$$.reposting($user$$,$obj$$)}catch($e$$){return $callback$$({error:"Kh\u00f4ng th\u1ec3 x\u1eed l\u00fd \u0111\u01b0\u1ee3c d\u1eef li\u1ec7u tr\u01b0\u1edbc khi repost ch\u1ee9ng t\u1eeb:"+$obj$$.so_ct+
46
- ", L\u1ed7i: "+($e$$.message||$e$$.error||"")})}$update_tk_vt$$&&$obj$$.details&&(console.log("postAgain: update tk_vt..."),await $obj$$.details.filter($d$$=>$d$$.ma_vt).asyncJoinModel2($obj$$.id_app,global.getModel("dmvt"),{where:"ma_vt",fields:"tk_vt"}),$user_update$$.details=$obj$$.details);try{console.log("postAgain: update voucher..."),await $model$$.updateOne({_id:$obj$$._id},{...$user_update$$})}catch($e$$){return console.error("postAgain: error update data before repost",$e$$),$callback$$({error:"Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt \u0111\u01b0\u1ee3c d\u1eef li\u1ec7u ch\u1ee9ng t\u1eeb "+
47
- $obj$$.so_ct+",Error:"+$e$$.message||$e$$.error||""})}postData($obj$$,$ctrl$$,function($e$$,$rs$$){console.log("postAgain: reported",$obj$$.ma_ct,$obj$$.so_ct,$obj$$.ngay_ct,"by",$user$$.email);if($e$$)return $callback$$({error:$e$$.message||$e$$.error||"Kh\u00f4ng th\u1ec3 post s\u1ed5 s\u00e1ch ch\u1ee9ng t\u1eeb:"+$obj$$.so_ct});$callback$$(null,$rs$$)},{req:$options$$.req,kiem_tra_han_muc_cong_no:!1})})},function($e$$){if($e$$)return console.error("[postAgain]: Error",$e$$),$callback$$({error:$e$$.message||
48
- $e$$.error||$e$$});console.log("postAgain: finished",$condition$$,$objsrepost$$.length," vouchers","by",$user$$.email);$callback$$(null,{message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111ang th\u1ef1c hi\u1ec7n xong"})})})}).catch($e$$=>{console.error("postAgain: find",$e$$);return $callback$$({error:$e$$.message||$e$$.error||$e$$})})};
49
- controller.prototype.updateBook=function(){let $ctrl$$=this;this.router.route(`${this.route_name}/action/postagain`).get(async($req$$,$res$$)=>{const {query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$,files:$files$$}=$req$$,$user_agent$$=$req$$.header("user-agent"),$ip$$=$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress;try{const $_req$$={handler:"updateBookHandler",query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$,
50
- user_agent:$user_agent$$,ip:$ip$$,files:$files$$,originalUrl:$req$$.originalUrl};if(global.importDataMainPool){const $id_task$$=`task-update-book-${crypto.randomBytes(20).toString("hex")}`,$status_task$$=`${configs.api_url||configs.domain}/task-status/${$id_task$$}`;$res$$.status(202).send({message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111ang th\u1ef1c hi\u1ec7n. Khi ho\u00e0n th\u00e0nh, ch\u01b0\u01a1ng tr\u00ecnh s\u1ebd g\u1eedi cho b\u1ea1n m\u1ed9t th\u00f4ng b\u00e1o",status_task:$status_task$$});
51
- global.importDataMainPool.exec({id_task:$id_task$$,req:$_req$$,module:$ctrl$$.name.toUpperCase(),configs:JSON.stringify(configs)},$e$jscomp$24_response$$=>{if($e$jscomp$24_response$$=$e$jscomp$24_response$$.error)return global.getModel("notification").createNotification($req$$.user.email,$req$$.user.email,"Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt l\u1ea1i s\u1ed5 s\u00e1ch",$e$jscomp$24_response$$.message||$e$jscomp$24_response$$.error||$e$jscomp$24_response$$,null,{id_app:$req$$.user.current_id_app},
52
- !0,$req$$.access_token,!0);global.getModel("notification").createNotification($req$$.user.email,$req$$.user.email,"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 c\u1eadp nh\u1eadt l\u1ea1i s\u1ed5 s\u00e1ch xong","Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 c\u1eadp nh\u1eadt l\u1ea1i s\u1ed5 s\u00e1ch xong",null,{id_app:$req$$.user.current_id_app},!0,$req$$.access_token,!0)})}else $res$$.status(202).send({message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111ang th\u1ef1c hi\u1ec7n. Khi ho\u00e0n th\u00e0nh, ch\u01b0\u01a1ng tr\u00ecnh s\u1ebd g\u1eedi cho b\u1ea1n m\u1ed9t th\u00f4ng b\u00e1o"}),
53
- handlers.updateBookHandler($ctrl$$,$_req$$,$e$$=>{if($e$$)return global.getModel("notification").createNotification($req$$.user.email,$req$$.user.email,"Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt l\u1ea1i s\u1ed5 s\u00e1ch",$e$$.message||$e$$.error||$e$$,null,{id_app:$req$$.user.current_id_app},!0,$req$$.access_token,!0);global.getModel("notification").createNotification($req$$.user.email,$req$$.user.email,"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 c\u1eadp nh\u1eadt l\u1ea1i s\u1ed5 s\u00e1ch xong","Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 c\u1eadp nh\u1eadt l\u1ea1i s\u1ed5 s\u00e1ch xong",
54
- null,{id_app:$req$$.user.current_id_app},!0,$req$$.access_token,!0)})}catch($e$$){$res$$.status(400).send($e$$)}})};
55
- controller.prototype.updateKey=function(){let $ctrl$$=this;this.router.route(`${this.route_name}/updatekey/:_id/:field/:new_value`).get(async function($req$$,$res$$){const {query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$,files:$files$$}=$req$$,$user_agent$$=$req$$.header("user-agent"),$ip$$=$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress;try{handlers.updateKeyHandler($ctrl$$,{type_job:"updateKey",query:$query$$,body:$body$$,user:$user$$,params:$params$$,
56
- headers:$headers$$,user_agent:$user_agent$$,ip:$ip$$,files:$files$$,originalUrl:$req$$.originalUrl},($e$$,$rs$$)=>{if($e$$)return $res$$.status(400).send($e$$);$res$$.send($rs$$)})}catch($e$$){$res$$.status(400).send($e$$)}})};
57
- controller.prototype.updateField=function(){let $ctrl$$=this;this.router.route(`${this.route_name}/update/:field`).get(async function($req$$,$res$$){const {query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$,files:$files$$}=$req$$,$user_agent$$=$req$$.header("user-agent"),$ip$$=$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress;try{handlers.updateFieldHandler($ctrl$$,{type_job:"updateField",query:$query$$,body:$body$$,user:$user$$,params:$params$$,
58
- headers:$headers$$,user_agent:$user_agent$$,ip:$ip$$,files:$files$$,originalUrl:$req$$.originalUrl},($e$$,$rs$$)=>{if($e$$)return $res$$.status(400).send($e$$);$res$$.send($rs$$)})}catch($e$$){$res$$.status(400).send($e$$)}})};
59
- controller.prototype.exportToExcel=function(){let $ctrl$$=this;const $handlerResult$$=($res$$,$returnvalue$$)=>{switch($returnvalue$$.ext){case "xlsx":$res$$.setHeader("Content-Type","application/vnd.openxmlformats");$res$$.setHeader("Content-Disposition","attachment; filename="+$ctrl$$.name+".xlsx");$res$$.end($returnvalue$$.data,"binary");break;case "docx":$res$$.setHeader("Content-Type","application/vnd.openxmlformats-officedocument.wordprocessingml.document");$res$$.setHeader("Content-Disposition",
60
- "attachment; filename="+$ctrl$$.name+".docx");$res$$.write($returnvalue$$.data,"binary");$res$$.end(null,"binary");break;case "print":$res$$.send($returnvalue$$.data.join('<p style="page-break-before: always"></p>'));break;case "json":$res$$.json($returnvalue$$.data);break;default:$res$$.send($returnvalue$$.data)}};this.router.route(`${this.route_name}/excel/:rpt_id`).get(async function($req$$,$res$$){const {query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$}=$req$$,$user_agent$$=
61
- $req$$.header("user-agent"),$ip$$=$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress;try{const $_req$$={handler:"exportHandler",query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$,user_agent:$user_agent$$,ip:$ip$$,originalUrl:$req$$.originalUrl};global.inputMainPool?global.inputMainPool.exec({req:$_req$$,module:$ctrl$$.name.toUpperCase(),configs:JSON.stringify(configs)},$response$$=>{if($response$$.error)return $res$$.status(400).send({error:$response$$.error.error||
62
- $response$$.error.message||$response$$.error,message:$response$$.message||$response$$.error.error||$response$$.error.message||$response$$.error});$handlerResult$$($res$$,$response$$.result)}):handlers.exportHandler($ctrl$$,$_req$$,($e$$,$returnvalue$$)=>{if($e$$)return $res$$.status(400).send($e$$);$handlerResult$$($res$$,$returnvalue$$)})}catch($e$$){$res$$.status(400).send($e$$)}})};
63
- controller.prototype.importFromGoogleSheet=function(){let $ctrl$$=this;this.router.route(`${this.route_name}/import/googlesheet`).get(async function($req$$,$res$$){const {query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$}=$req$$,$user_agent$$=$req$$.header("user-agent"),$ip$$=$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress;try{const $_req$$={handler:"importFromGsHandler",query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$,
64
- user_agent:$user_agent$$,ip:$ip$$,originalUrl:$req$$.originalUrl};if(global.importDataMainPool){const $id_task$$=`task-import-google-sheet-${crypto.randomBytes(20).toString("hex")}`,$status_task$$=`${configs.api_url||configs.domain}/task-status/${$id_task$$}`;$_req$$.status_task=$status_task$$;$res$$.status(202).send({message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111ang th\u1ef1c hi\u1ec7n. Khi ho\u00e0n th\u00e0nh, ch\u01b0\u01a1ng tr\u00ecnh s\u1ebd g\u1eedi cho b\u1ea1n m\u1ed9t th\u00f4ng b\u00e1o",
65
- status_task:$status_task$$});global.importDataMainPool.exec({id_task:$id_task$$,req:$_req$$,module:$ctrl$$.name.toUpperCase(),configs:JSON.stringify(configs)},$e$jscomp$33_response$$=>{if($e$jscomp$33_response$$=$e$jscomp$33_response$$.error)return global.getModel("notification").createNotification($req$$.user.email,$req$$.user.email,"Kh\u00f4ng th\u1ec3 import d\u1eef li\u1ec7u",$e$jscomp$33_response$$.message||$e$jscomp$33_response$$.error||$e$jscomp$33_response$$,null,{id_app:$req$$.user.current_id_app},
66
- !0,null,!0);global.getModel("notification").createNotification($req$$.user.email,$req$$.user.email,"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 import d\u1eef li\u1ec7u xong","Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 import d\u1eef li\u1ec7u xong",null,{id_app:$req$$.user.current_id_app},!0,null,!0)},1728E5)}else $res$$.status(202).send({message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111ang th\u1ef1c hi\u1ec7n. Khi ho\u00e0n th\u00e0nh, ch\u01b0\u01a1ng tr\u00ecnh s\u1ebd g\u1eedi cho b\u1ea1n m\u1ed9t th\u00f4ng b\u00e1o"}),
67
- handlers.importFromGsHandler($ctrl$$,$_req$$,$e$$=>{if($e$$)return global.getModel("notification").createNotification($req$$.user.email,$req$$.user.email,"Kh\u00f4ng th\u1ec3 import d\u1eef li\u1ec7u",$e$$.message||$e$$.error||$e$$,null,{id_app:$req$$.user.current_id_app},!0,null,!0);global.getModel("notification").createNotification($req$$.user.email,$req$$.user.email,"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 import d\u1eef li\u1ec7u xong","Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 import d\u1eef li\u1ec7u xong",
68
- null,{id_app:$req$$.user.current_id_app},!0,null,!0)})}catch($e$$){$res$$.status(400).send($e$$)}})};
69
- controller.prototype.importFromJson=function(){let $ctrl$$=this;this.router.route(`${this.route_name}/import/json`).post(async function($req$$,$res$$){const {query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$,files:$files$$}=$req$$,$user_agent$$=$req$$.header("user-agent"),$ip$$=$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress;try{const $_req$$={handler:"importFromJsonHandler",query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$,
70
- user_agent:$user_agent$$,ip:$ip$$,files:$files$$,originalUrl:$req$$.originalUrl};if(global.importDataMainPool){const $id_task$$=`task-import-json-${crypto.randomBytes(20).toString("hex")}`,$status_task$$=`${configs.api_url||configs.domain}/task-status/${$id_task$$}`;$_req$$.status_task=$status_task$$;$res$$.status(202).send({message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111ang th\u1ef1c hi\u1ec7n. Khi ho\u00e0n th\u00e0nh, ch\u01b0\u01a1ng tr\u00ecnh s\u1ebd g\u1eedi cho b\u1ea1n m\u1ed9t th\u00f4ng b\u00e1o",
71
- status_task:$status_task$$});global.importDataMainPool.exec({id_task:$id_task$$,req:$_req$$,module:$ctrl$$.name.toUpperCase(),configs:JSON.stringify(configs)},$e$jscomp$36_response$$=>{if($e$jscomp$36_response$$=$e$jscomp$36_response$$.error)return global.getModel("notification").createNotification($req$$.user.email,$req$$.user.email,"Kh\u00f4ng th\u1ec3 import d\u1eef li\u1ec7u",$e$jscomp$36_response$$.message||$e$jscomp$36_response$$.error||$e$jscomp$36_response$$,null,{id_app:$req$$.user.current_id_app},
72
- !0,null,!0);global.getModel("notification").createNotification($req$$.user.email,$req$$.user.email,"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 import d\u1eef li\u1ec7u xong","Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 import d\u1eef li\u1ec7u xong",null,{id_app:$req$$.user.current_id_app},!0,null,!0)},1728E5)}else $res$$.status(202).send({message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111ang th\u1ef1c hi\u1ec7n. Khi ho\u00e0n th\u00e0nh, ch\u01b0\u01a1ng tr\u00ecnh s\u1ebd g\u1eedi cho b\u1ea1n m\u1ed9t th\u00f4ng b\u00e1o"}),
73
- handlers.importFromJsonHandler($ctrl$$,$_req$$,$e$$=>{if($e$$)return global.getModel("notification").createNotification($req$$.user.email,$req$$.user.email,"Kh\u00f4ng th\u1ec3 import d\u1eef li\u1ec7u",$e$$.message||$e$$.error||$e$$,null,{id_app:$req$$.user.current_id_app},!0,null,!0);global.getModel("notification").createNotification($req$$.user.email,$req$$.user.email,"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 import d\u1eef li\u1ec7u xong","Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 import d\u1eef li\u1ec7u xong",
74
- null,{id_app:$req$$.user.current_id_app},!0,null,!0)})}catch($e$$){console.error("Kh\u00f4ng th\u1ec3 import d\u1eef li\u1ec7u",$e$$),$res$$.status(400).send($e$$)}})};
75
- controller.prototype.importFromExcel=function(){let $ctrl$$=this;this.router.route(`${this.route_name}/import/excel`).post(async function($req$$,$res$$){const {query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$,files:$files$$}=$req$$,$user_agent$$=$req$$.header("user-agent"),$ip$$=$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress;try{const $_req$$={handler:"importFromExcelHandler",query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$,
76
- user_agent:$user_agent$$,ip:$ip$$,files:$files$$,originalUrl:$req$$.originalUrl};if(global.importDataMainPool){const $id_task$$=`task-import-excel-${crypto.randomBytes(20).toString("hex")}`,$status_task$$=`${configs.api_url||configs.domain}/task-status/${$id_task$$}`;$_req$$.status_task=$status_task$$;$res$$.status(202).send({message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111ang th\u1ef1c hi\u1ec7n. Khi ho\u00e0n th\u00e0nh, ch\u01b0\u01a1ng tr\u00ecnh s\u1ebd g\u1eedi cho b\u1ea1n m\u1ed9t th\u00f4ng b\u00e1o",
77
- status_task:$status_task$$});global.importDataMainPool.exec({id_task:$id_task$$,req:$_req$$,module:$ctrl$$.name.toUpperCase(),configs:JSON.stringify(configs)},$e$jscomp$39_response$$=>{if($e$jscomp$39_response$$=$e$jscomp$39_response$$.error)return global.getModel("notification").createNotification($req$$.user.email,$req$$.user.email,"Kh\u00f4ng th\u1ec3 import d\u1eef li\u1ec7u",$e$jscomp$39_response$$.message||$e$jscomp$39_response$$.error||$e$jscomp$39_response$$,null,{id_app:$req$$.user.current_id_app},
78
- !0,null,!0);global.getModel("notification").createNotification($req$$.user.email,$req$$.user.email,"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 import d\u1eef li\u1ec7u xong","Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 import d\u1eef li\u1ec7u xong",null,{id_app:$req$$.user.current_id_app},!0,null,!0)},1728E5)}else $res$$.status(202).send({message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111ang th\u1ef1c hi\u1ec7n. Khi ho\u00e0n th\u00e0nh, ch\u01b0\u01a1ng tr\u00ecnh s\u1ebd g\u1eedi cho b\u1ea1n m\u1ed9t th\u00f4ng b\u00e1o"}),
79
- handlers.importFromExcelHandler($ctrl$$,$_req$$,$e$$=>{if($e$$)return global.getModel("notification").createNotification($req$$.user.email,$req$$.user.email,"Kh\u00f4ng th\u1ec3 import d\u1eef li\u1ec7u",$e$$.message||$e$$.error||$e$$,null,{id_app:$req$$.user.current_id_app},!0,null,!0);global.getModel("notification").createNotification($req$$.user.email,$req$$.user.email,"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 import d\u1eef li\u1ec7u xong","Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 import d\u1eef li\u1ec7u xong",
80
- null,{id_app:$req$$.user.current_id_app},!0,null,!0)})}catch($e$$){$res$$.status(400).send($e$$)}})};
81
- controller.prototype.create=function(){let $ctrl$$=this;this.router.route(this.route_name).post(async function($req$$,$res$$){let $body$$=$req$$.body;if(!$body$$)return $res$$.status(411).send({error:"Kh\u00f4ng c\u00f3 n\u1ed9i dung c\u1ea7n l\u01b0u"});$req$$.files&&_.keys($req$$.files).length>0&&($body$$.return!="JSON"&&($req$$.uploadFile=!0),_.extend($body$$,$req$$.files));const {query:$query$$,user:$user$$,params:$params$$,files:$files$$,uploadFile:$uploadFile$$,headers:$headers$$}=$req$$,$user_agent$$=
82
- $req$$.header("user-agent"),$ip$$=$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress;try{const $_req$$={handler:"createHandler",query:$query$$,data:$body$$,user:$user$$,params:$params$$,headers:$headers$$,user_agent:$user_agent$$,ip:$ip$$,files:$files$$,uploadFile:$uploadFile$$,originalUrl:$req$$.originalUrl};global.inputMainPool?global.inputMainPool.exec({req:$_req$$,module:$ctrl$$.name.toUpperCase(),configs:JSON.stringify(configs)},$obj_created_response$$=>{if($obj_created_response$$.error)return $res$$.status(400).send({error:$obj_created_response$$.error.error||
83
- $obj_created_response$$.error.message||$obj_created_response$$.error,message:$obj_created_response$$.message||$obj_created_response$$.error.error||$obj_created_response$$.error.message||$obj_created_response$$.error});({obj_created:$obj_created_response$$}=$obj_created_response$$.result);pushNotification($ctrl$$,$obj_created_response$$,"new",null,null,{exclude_token:($req$$.query||{}).access_token});$req$$.query.return_data===!1?$res$$.send({_id:$obj_created_response$$._id.toString()}):$res$$.send($obj_created_response$$)}):
84
- handlers.createHandler($ctrl$$,$_req$$,($e$jscomp$42_obj_created$$,$returnvalue$$)=>{if($e$jscomp$42_obj_created$$)return $res$$.status(400).send($e$jscomp$42_obj_created$$);({obj_created:$e$jscomp$42_obj_created$$}=$returnvalue$$);pushNotification($ctrl$$,$e$jscomp$42_obj_created$$,"new",null,null,{exclude_token:($req$$.query||{}).access_token});$req$$.query.return_data===!1?$res$$.send({_id:$e$jscomp$42_obj_created$$._id.toString()}):$res$$.send($e$jscomp$42_obj_created$$)})}catch($e$$){$res$$.status(400).send($e$$)}})};
85
- controller.prototype.quickCreate=function(){let $model$$=this.model,$name$$=this.name,$ctrl$$=this,$createFromTemplate$$=async($req$$,$res$$,$body$jscomp$11_query$$)=>{if(!$body$jscomp$11_query$$){$body$jscomp$11_query$$=$req$$.params.template_code;if(!$body$jscomp$11_query$$)return $res$$.status(400).send({error:"M\u1eabu d\u1eef li\u1ec7u kh\u00f4ng t\u1ed3n t\u1ea1i"});$body$jscomp$11_query$$={id_app:$req$$.user.current_id_app,voucher_code:$name$$.toUpperCase(),code:$body$jscomp$11_query$$};$body$jscomp$11_query$$=
86
- await templatevoucher.findOne($body$jscomp$11_query$$).lean();if(!$body$jscomp$11_query$$)return $res$$.status(400).send({error:"M\u1eabu d\u1eef li\u1ec7u kh\u00f4ng t\u1ed3n t\u1ea1i"})}$body$jscomp$11_query$$=$body$jscomp$11_query$$.data||{};delete $body$jscomp$11_query$$.so_ct;delete $body$jscomp$11_query$$.ngay_ct;delete $body$jscomp$11_query$$.user_created;delete $body$jscomp$11_query$$.date_created;delete $body$jscomp$11_query$$.user_updated;delete $body$jscomp$11_query$$.date_updated;delete $body$jscomp$11_query$$._id;
87
- delete $body$jscomp$11_query$$.pkey;delete $body$jscomp$11_query$$.__v;let $_data$$=$req$$.query;$req$$.body&&($_data$$=Object.assign($_data$$,$req$$.body));for(let $key$$ in $_data$$)$_data$$[$key$$]&&$key$$!=="access_token"&&$key$$!=="token"&&$key$$!=="_id"&&(_.has($model$$.schema.paths,$key$$)&&($body$jscomp$11_query$$[$key$$]=$_data$$[$key$$]),$body$jscomp$11_query$$.details&&$body$jscomp$11_query$$.details.forEach($d$$=>{$d$$[$key$$]=$_data$$[$key$$]}));const {query:$query$$,user:$user$$,params:$params$$,
88
- files:$files$$,uploadFile:$uploadFile$$,headers:$headers$$}=$req$$,$user_agent$$=$req$$.header("user-agent"),$ip$$=$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress;try{handlers.createHandler($ctrl$$,{query:$query$$,body:$body$jscomp$11_query$$,user:$user$$,params:$params$$,headers:$headers$$,user_agent:$user_agent$$,ip:$ip$$,files:$files$$,uploadFile:$uploadFile$$,originalUrl:$req$$.originalUrl},($e$jscomp$44_obj_created$$,$returnvalue$$)=>{if($e$jscomp$44_obj_created$$)return $res$$.status(400).send($e$jscomp$44_obj_created$$);
89
- ({obj_created:$e$jscomp$44_obj_created$$}=$returnvalue$$);pushNotification($ctrl$$,$e$jscomp$44_obj_created$$,"new",null,null,{exclude_token:($req$$.query||{}).access_token});$req$$.query.return_data===!1?$res$$.send({_id:$e$jscomp$44_obj_created$$._id.toString()}):$res$$.send($e$jscomp$44_obj_created$$)})}catch($e$$){$res$$.status(400).send($e$$)}};this.router.route(`${this.route_name}/quickcreate/:template_code`).get(function($req$$,$res$$){$createFromTemplate$$($req$$,$res$$)});this.router.route(`${this.route_name}/quickcreate/:template_code`).post(function($req$$,
90
- $res$$){$createFromTemplate$$($req$$,$res$$)})};
91
- controller.prototype.update=function(){let $ctrl$$=this;this.router.route(this.route_name+"/:id").put(async function($req$$,$res$$){let $body$$=$req$$.body;$req$$.files&&_.extend($body$$,$req$$.files);let $data$$;try{$data$$=bodyToJson($body$$)}catch($e$$){return $res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$})}let {query:$query$$,user:$user$$,params:$params$$,files:$files$$,uploadFile:$uploadFile$$,headers:$headers$$}=$req$$;$params$$=_.cloneDeep($params$$);$query$$=_.cloneDeep($query$$);
92
- const $user_agent$$=$req$$.header("user-agent"),$ip$$=$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress,$id$$=$req$$.params.id;try{const $_req$$={handler:"updateHandler",query:$query$$,headers:$headers$$,_action:"update",id:$id$$,data:$data$$,body:$body$$,user:$user$$,params:$params$$,user_agent:$user_agent$$,ip:$ip$$,files:$files$$,uploadFile:$uploadFile$$,originalUrl:$req$$.originalUrl};global.inputMainPool?global.inputMainPool.exec({req:$_req$$,module:$ctrl$$.name.toUpperCase(),
93
- configs:JSON.stringify(configs)},$response$$=>{if($response$$.error)return $res$$.status(400).send({error:$response$$.error.error||$response$$.error.message||$response$$.error,message:$response$$.message||$response$$.error.error||$response$$.error.message||$response$$.error});let {new_obj:$new_obj$$,old_obj:$old_obj$$}=$response$$.result;pushNotification($ctrl$$,$new_obj$$,"update",$old_obj$$,null,{exclude_token:$req$$.query.access_token});$req$$.query.return_data===!1?$res$$.send({_id:$new_obj$$._id.toString()}):
94
- $res$$.send($new_obj$$)}):handlers.updateHandler($ctrl$$,$_req$$,($e$$,$returnvalue$$)=>{if($e$$)return $res$$.status(400).send({error:$e$$.error||$e$$.message||$e$$});let {new_obj:$new_obj$$,old_obj:$old_obj$$}=$returnvalue$$;pushNotification($ctrl$$,$new_obj$$,"update",$old_obj$$,null,{exclude_token:$req$$.query.access_token});$req$$.query.return_data===!1?$res$$.send({_id:$new_obj$$._id.toString()}):$res$$.send($new_obj$$)})}catch($e$$){$res$$.status(400).send($e$$)}})};
95
- controller.prototype.delete=function(){let $ctrl$$=this;this.router.route(this.route_name+"/:id").delete(async($req$$,$res$$)=>{const {query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$,files:$files$$}=$req$$,$user_agent$$=$req$$.header("user-agent"),$ip$$=$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress;try{handlers.deleteHandler($ctrl$$,{query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$,user_agent:$user_agent$$,ip:$ip$$,
96
- files:$files$$,originalUrl:$req$$.originalUrl},($e$$,$rs$$)=>{if($e$$)return $res$$.status(400).send({error:$e$$.error||$e$$.message||$e$$});$res$$.send($rs$$)})}catch($e$$){$res$$.status(400).send($e$$)}})};
97
- controller.prototype.deleteMany=function($route_name$$){let $ctrl$$=this;this.router.route(`${$route_name$$||this.route_name}/action/delete`).post(async($req$$,$res$$)=>{const {query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$}=$req$$,$user_agent$$=$req$$.header("user-agent"),$ip$$=$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress;try{const $_req$$={handler:"deleteManyHandler",query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$,
98
- user_agent:$user_agent$$,ip:$ip$$,originalUrl:$req$$.originalUrl};global.inputMainPool?global.inputMainPool.exec({req:$_req$$,module:$ctrl$$.name.toUpperCase(),configs:JSON.stringify(configs)},$response$$=>{if($response$$.error)return $res$$.status(400).send({error:$response$$.error.error||$response$$.error.message||$response$$.error,message:$response$$.message||$response$$.error.error||$response$$.error.message||$response$$.error});$res$$.send($response$$.result)}):handlers.deleteManyHandler($ctrl$$,
99
- $_req$$,($e$$,$rs$$)=>{if($e$$)return $res$$.status(400).send({error:$e$$.error||$e$$.message||$e$$});$res$$.send($rs$$)})}catch($e$$){$res$$.status(400).send($e$$)}})};
100
- controller.prototype.history=function(){let $ctrl$$=this;this.router.route(this.route_name+"/g/history/:id").get(async function($req$$,$res$$){const {query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$,files:$files$$}=$req$$,$user_agent$$=$req$$.header("user-agent"),$ip$$=$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress;try{handlers.historyHandler($ctrl$$,{type_job:"history",query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$,
101
- user_agent:$user_agent$$,ip:$ip$$,files:$files$$,originalUrl:$req$$.originalUrl},($e$$,$rs$$)=>{if($e$$)return $res$$.status(400).send({error:$e$$.error||$e$$.message||$e$$});$res$$.send($rs$$)})}catch($e$$){$res$$.status(400).send($e$$)}})};
102
- controller.prototype.logs=function(){let $ctrl$$=this;this.router.route(this.route_name+"/g/log/:action").get(async function($req$$,$res$$){const {query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$,files:$files$$}=$req$$,$user_agent$$=$req$$.header("user-agent"),$ip$$=$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress;try{handlers.logHandler($ctrl$$,{type_job:"log",query:$query$$,body:$body$$,user:$user$$,params:$params$$,headers:$headers$$,user_agent:$user_agent$$,
103
- ip:$ip$$,files:$files$$,originalUrl:$req$$.originalUrl},($e$$,$rs$$)=>{if($e$$)return $res$$.status(400).send({error:$e$$.error||$e$$.message||$e$$});$res$$.send($rs$$)})}catch($e$$){$res$$.status(400).send($e$$)}})};controller.prototype.postData=function($obj$$,$cb$$,$options$$={}){console.log("[controller] postData",this.name);return postData($obj$$,this,$cb$$,$options$$)};
104
- controller.prototype.route=function($setRoute$$){configs.lite||(this.history(),this.logs(),this.find("/search"+this.route_name,!1,"POST"),this.find(),this.get(),this.find(`/${this.module}/shared`,!0),this.get(`/${this.module}/shared`,!0),this.getFieldNoRight(),this.create(),this.quickCreate(),this.update(),this.delete(),this.deleteMany(),this.getNextId(),this.exportToExcel(),this.importFromExcel(),this.importFromJson(),this.importFromGoogleSheet(),this.updateField(),this.updateKey(),this.updateBook(),
105
- $setRoute$$&&$setRoute$$(this.router))};controller.runWebhooks=runWebhooks;controller.postData=postData;controller.pushNotification=pushNotification;
106
- controller.create=async($user$$,$ctrl$$,$data$$,$callback$$,$id_be_supply_by_user$$,$req$$,$action$$="add")=>{$req$$=$req$$||{};$req$$.user=$user$$;$req$$.data=$data$$;$req$$.id_be_supply_by_user=$id_be_supply_by_user$$;$req$$.action=$action$$;handlers.createHandler($ctrl$$,$req$$,($e$jscomp$57_obj_created$$,$returnvalue$$)=>{if($e$jscomp$57_obj_created$$)return $callback$$($e$jscomp$57_obj_created$$);({obj_created:$e$jscomp$57_obj_created$$}=$returnvalue$$);pushNotification($ctrl$$,$e$jscomp$57_obj_created$$,
107
- "new",null,null,{exclude_token:($req$$.query||{}).access_token});$callback$$(null,$e$jscomp$57_obj_created$$)})};module.exports=controller;
1
+ const _0x444c5d=_0x53c7;(function(_0x2e8fc6,_0x2e6a4c){const _0x3e1415=_0x53c7,_0x362720=_0x2e8fc6();while(!![]){try{const _0xc9b317=-parseInt(_0x3e1415(0x5ce))/0x1*(-parseInt(_0x3e1415(0x5b4))/0x2)+parseInt(_0x3e1415(0x4a2))/0x3+-parseInt(_0x3e1415(0x3ee))/0x4*(-parseInt(_0x3e1415(0x430))/0x5)+-parseInt(_0x3e1415(0x31c))/0x6*(parseInt(_0x3e1415(0x566))/0x7)+parseInt(_0x3e1415(0x554))/0x8*(parseInt(_0x3e1415(0x22f))/0x9)+parseInt(_0x3e1415(0x248))/0xa*(parseInt(_0x3e1415(0x1f3))/0xb)+-parseInt(_0x3e1415(0x3a7))/0xc;if(_0xc9b317===_0x2e6a4c)break;else _0x362720['push'](_0x362720['shift']());}catch(_0x2a4ef4){_0x362720['push'](_0x362720['shift']());}}}(_0x1719,0x43b32));function _0x53c7(_0x5b9f8a,_0x46342f){const _0x7e6535=_0x1719();return _0x53c7=function(_0x33385d,_0x4a9e23){_0x33385d=_0x33385d-0x1d6;let _0x1719dc=_0x7e6535[_0x33385d];if(_0x53c7['FfWmlA']===undefined){var _0x53c7ff=function(_0x4d9efd){const _0x23bfd3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9a62c3='',_0x32d350='',_0x514c64=_0x9a62c3+_0x53c7ff;for(let _0xaac3c7=0x0,_0xfe3b2c,_0x48de4e,_0x27fe01=0x0;_0x48de4e=_0x4d9efd['charAt'](_0x27fe01++);~_0x48de4e&&(_0xfe3b2c=_0xaac3c7%0x4?_0xfe3b2c*0x40+_0x48de4e:_0x48de4e,_0xaac3c7++%0x4)?_0x9a62c3+=_0x514c64['charCodeAt'](_0x27fe01+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0xfe3b2c>>(-0x2*_0xaac3c7&0x6)):_0xaac3c7:0x0){_0x48de4e=_0x23bfd3['indexOf'](_0x48de4e);}for(let _0x388264=0x0,_0x101161=_0x9a62c3['length'];_0x388264<_0x101161;_0x388264++){_0x32d350+='%'+('00'+_0x9a62c3['charCodeAt'](_0x388264)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x32d350);};_0x53c7['mHGAtW']=_0x53c7ff,_0x5b9f8a=arguments,_0x53c7['FfWmlA']=!![];}const _0x23df57=_0x7e6535[0x0],_0x41a343=_0x33385d+_0x23df57,_0x22d966=_0x5b9f8a[_0x41a343];if(!_0x22d966){const _0x77dd3e=function(_0x10e56c){this['UrnoJy']=_0x10e56c,this['tIZGTX']=[0x1,0x0,0x0],this['pRxbuh']=function(){return'newState';},this['lPNvtU']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['DQTpry']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x77dd3e['prototype']['ykzWHj']=function(){const _0x1c166e=new RegExp(this['lPNvtU']+this['DQTpry']),_0x5255f3=_0x1c166e['test'](this['pRxbuh']['toString']())?--this['tIZGTX'][0x1]:--this['tIZGTX'][0x0];return this['VCPJIJ'](_0x5255f3);},_0x77dd3e['prototype']['VCPJIJ']=function(_0xdc0a33){if(!Boolean(~_0xdc0a33))return _0xdc0a33;return this['HFQVCJ'](this['UrnoJy']);},_0x77dd3e['prototype']['HFQVCJ']=function(_0x4aa2ea){for(let _0x50c015=0x0,_0x4826c8=this['tIZGTX']['length'];_0x50c015<_0x4826c8;_0x50c015++){this['tIZGTX']['push'](Math['round'](Math['random']())),_0x4826c8=this['tIZGTX']['length'];}return _0x4aa2ea(this['tIZGTX'][0x0]);},new _0x77dd3e(_0x53c7)['ykzWHj'](),_0x1719dc=_0x53c7['mHGAtW'](_0x1719dc),_0x5b9f8a[_0x41a343]=_0x1719dc;}else _0x1719dc=_0x22d966;return _0x1719dc;},_0x53c7(_0x5b9f8a,_0x46342f);}const _0x4a9e23=(function(){const _0x1c95fb=_0x53c7,_0x415f2b={'ScIdr':_0x1c95fb(0x5a0)};let _0x5298c1=!![];return function(_0x4f34a3,_0x198cb9){const _0x134fd2=_0x5298c1?function(){const _0x9da49f=_0x53c7;if(_0x9da49f(0x5a0)!==_0x415f2b[_0x9da49f(0x4df)])_0x1793a2[_0x9da49f(0x2d0)](0x190)['send'](_0x1a7ebd);else{if(_0x198cb9){const _0xaf821f=_0x198cb9[_0x9da49f(0x58b)](_0x4f34a3,arguments);return _0x198cb9=null,_0xaf821f;}}}:function(){};return _0x5298c1=![],_0x134fd2;};}()),_0x33385d=_0x4a9e23(this,function(){const _0x130643=_0x53c7;return _0x33385d[_0x130643(0x4d1)]()[_0x130643(0x4bb)](_0x130643(0x2f2))[_0x130643(0x4d1)]()[_0x130643(0x30c)](_0x33385d)[_0x130643(0x4bb)](_0x130643(0x2f2));});_0x33385d();function _0x1719(){const _0xda3ae5=['ALn1r3i','B25vCgrHDgLUzW','yNLlCKm','u0zUwgy','sgHQwNm','C0XZuwC','rw5XAwO','CMvrqxK','v1jJzhK','BxL4tg0','AxDIANa','tLzuuwG','rKDKrLu','sxbRAfa','wLD4ruu','Cw5et3K','uLLqDeS','y2HVx3bOzxbFy2fWx25OyxrFA2HPx2rHx2r1Ewv0','Cez5ugm','wufvsKS','ChjHzuS','z3Dkv2u','ue9tva','DxnLCI1Hz2vUDa','EvjUrgK','zg1ICa','EK5kzeu','uLDOA3O','Agv4','mteWmdm3ou9Ny0Xzqq','q3fkC0S','ywDbuMe','D2fVzvm','z096tem','DgfZAY11CgrHDguTyM9VAY0','DuTwzwG','AwTpBvy','wezpBKS','CfL0qxG','rvjsx0Lex0LovKfmsuq','C3rHDhvZx3rHC2S','DxbKyxrLx2fMDgvYx2fWChjVDMu','cIaGicaGicaGicaGicaGFwnHDgnOkguPEWOGicaGicaGicaGicaGicaGCMv0DxjUihTLCNjVCJPLFqOGicaGicaGicaGicaGih0kicaGicaGicaGicaGFsK','yuj1ueq','BMn1CKi','s1fXDeq','t2D3wu8','ChnWAgO','B0Xhz1q','Cg9ZDefNywLUoIbYzxbVCNrLza','EhrUBxK','vvjiqwe','vunPwhG','DxbKyxrLqM9VA0HHBMrSzxi','C2vHCMnO','CM91DgvY','r0HjwvC','zg1Xzgr2Da','shvLsxK','vxzeChu','EhnMwKW','C2vUza','BwfW','A2zXCfO','DgvTCgXHDgvFy29Kzq','sLLJz0K','Cufds00','CgTLEq','r3vMwKe','Cu55r3O','BKfdBeS','qwH2sxG','yxbWCM92zv9WAhvFDhjHy2HFyNa','DKTxz3a','D0Ljz0e','yxbWCM92zurHDge','Dg9tDhjPBMC','l2fJDgLVBI9WB3n0ywDHAw4','BLLoquG','CfzMvwO','A3jqwgm','CLvUqxC','yMXmruC','DxbKyxrLs2v5','ywnJzxnZx3rVA2vU','DunmBfa','Ew9ntLG','y3zYyNC','zxH0zw5K','Dg9pyMPLy3q','u2njzhi','zg9JEa','BKHJCue','EwfbzMu','ALnyBKK','rgHArgG','CMHssLG','sMTRC2C','s2JdTg5NigpdSYbU4BUzAsbKDw5NigpHUQDUigZgShu','s1DVrvG','r21Vyuq','CLj4Ce0','EhfOzhi','r3H2ugC','A0zVqum','y29UzgL0Aw9U','zgvSzxrLtwfUEq','qwfYshK','EuzJwuu','BhzxC1i','AerQrNG','tw1vrxu','zfzeCwm','se9dELu','D1zzDKu','ELHcvvu','EKXzrMe','z1DICKC','Cvj2vg0','ywHsv28','qKvNEg0','teTHEeG','rg1fEeS','twjNEu8','BwzSrgu','zg12Da','vfPszem','DxnLCL91CgrHDgvK','qKT0r0q','zMfMAM4','EeHjt0K','zMLSDgvY','seLnzxa','zgf0zv9JCMvHDgvK','zKv6zhq','wuPSz3a','DLbluxO','EKvUsLa','ref4wgy','EhbqBwy','DKfwEuq','B3L6uue','Dg9vChbLCKnHC2u','y3jLyxrLtM90AwzPy2f0Aw9U','s2JdTg5NihrO4BUdigpHUQ1Wig5O4BQTDcdeKCAW4BUJyYbK4BUVigXP4BUhDsbJAog7Qw5NihtHU6SG','BM90AwzPy2f0Aw9U','sffYvNi','BLbmCgy','tgXnDg0','vgnjCwi','A2DFA2LLBv90CMfFDg9Ux2TOB190Da','yxbWCM92zq','AM9PBG','uxnwA2O','CM90yM4','zxHWB3j0vg9fEgnLBa','u2Pwv2K','CLnHA0K','B0fXqum','CLnVCKq','tMvnEwi','CNvdENa','Bg9N','vwX6swW','y3LSyNm','zg1UDG','Bw9KzwXoyw1L','wfnIr08','sKzjAhi','z2nxq00','vvfnCfi','AejZrwS','DxbKyxrLs2v5sgfUzgXLCG','CM91DgvFBMfTzq','sLfPBKu','DMLLDW','yM9KEq','zvnRvLi','tEg6Q3uGzog7RYbSAEg7H3uGA2JdTg5NihtHU5nUihtHUQfP','ChL4A3m','rMrXsuq','Dw5PCxvL','r01Nsfq','CMvKDwnL','l3f1AwnRy3jLyxrLlZP0zw1WBgf0zv9JB2rL','wvzvsNi','Bwv0Ag9K','t0DqELi','CMvWB3n0Aw5N','B0zPuKW','u0ryC24','qxrTzwC','uMfQrvy','A1neuee','CKrSqLK','AxvHEM8','q2zJzMm','C1Pvtfe','tvjxs24','txzbvKi','lI4VBgLICY9JA3z0','sez5y3i','wur0Ehy','ExHZvxO','uw1YEwi','revdzNe','C1LtrNK','mJm4mtG0zeHvvMLt','vxDTEeS','DgDZvg4','sLL0tNq','EwDfD1y','Dw9lDuS','rfDbC1q','yMnwENa','AxnwywXPza','DMTbyMe','yMvprwG','v2fzENu','q3HQvLa','zw5K','AevmteG','DxbKyxrLx2fMDgvYx2rLBNK','s2JdTg5NihrO4BUdigpHUQ1Wig5O4BQTDcbS4BQHAsbZ4BUvihpdOwnO','BvrxCfO','mtu0A2HYD3Hw','z0jvrgi','uNzdvxG','q2JgSmAHBMCGDhldRg5Oimsryw5NihrO4BUXyYbOAEg7H24GEg9UzW','ChjPBNq','ELbJvNK','phaGC3r5Bgu9iNbHz2uTyNjLywSTyMvMB3jLoIbHBhDHExmIpJWVCd4','l3vWzgf0zwTLEs86x2LKlZPMAwvSzc86BMv3x3zHBhvL','zNnYvui','vKjTCgy','CM91BMq','l2v4y2vS','sfLIwMu','CerrDKe','CgfYyw1Z','zNnjzeS','A0X5vM8','tLblExu','yvr2D20','B25wAwv3','yxnZA1u','rhr3rxu','CNDAvgu','BfjsCM8','BwfFzhz0','uu12Cw0','z0HeAuK','DNjtvfC','wM5SqMq','D2PKwg0','BwvZC2fNzq','EKTAALG','CMvTB3rLqwrKCMvZCW','zhr3r3K','z2v0','zMLSzxm','DgL0Bgu','yxbWBhK','uvPxAvC','wefkyxu','CwrVAM0','zMLUze9Uzq','q1v1qwG','tfzgDMu','yu1zqxm','whLiANK','y2HLy2TeyxrH','rw16wwK','wg5QsMy','DxbKyxrLrMLLBgq','rhb1uNm','C0nHruu','CMv0DxjUx2rHDge','zNv3CvG','yuvcuNq','r3vYu24','BgfOr0u','s0zRD0m','CgrpvhG','ksbS4BUBBIbOXQfUihpHU5eGBmAW4BUJBMCGDog7K24GCxv5imsr4BUvAsaO','ugrABgu','EwTMvMm','l2fJDgLVBI9KzwXLDgu','A2DFA2LLBv90CMfFDg9Ux2TOBW','tejXD3i','tu1tBgO','ugnit1q','AgvHzgvYCW','CLn6DuS','rvjsx0Lex0LovKfmsurFq09erq','x2LK','q2XNv3e','A1LJrgW','uhnIug8','B0z0vg8','zMLUzgLUzW','lMrVy3G','ChjVDg90ExbL','ndC0sgf1DKPA','rxvks00','qujKr2C','t1jZsMC','s2JdTg5NihrO4BUdihbVC3qGC+g7LsbZW6fJAcbJAog7Qw5NihtHU6S6','DhjHBMDFDgHHAq','BeHvzKK','Bfv2CLy','zgvSzxrL','DhjHBMDFDgHHAtm','seDwvwq','wvjcAgq','qNLdD3G','C2jct0u','zLzQsgu','vg16ywy','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZ','yxbWCM92zv91C2vYCW','y3jLyxrLsgfUzgXLCG','q2JgSmAHBMCGDhldRg5OimsrW6mGy+g6RxaGBMJHUQ10igZHUQfPihpHU5uGC8oHy2GGEg9UzW','vgvVv28','uwXcugu','zxr6DxG','qNvbuxa','u1DwB3C','ExzXDgu','mtyXmfH5r2TlzW','t25jtxi','AgfZ','zMngAMC','uxPxyLm','t3bqq1y','y3zzsxe','txrwsuq','DwHdA0S','EKP5Dxi','ihzVDwnOzxjZ','tNfPBuu','zw1HAwW','q0Dvs0q','Cg9ZDefNywLUoIb1CgrHDguGDM91y2HLCI4UlG','CuX4C1m','re5uBKe','Cg9WDwXHDgu','tNfLyLC','A2fNtvq','sKThwLa','zgf0yq','tuLIExm','reLzu2y','vvb5weG','zvzgrLe','rhPnEvm','Bg9NCW','uhDVq2G','v0DNtgm','r21Uy3i','ywrK','uuXlzfm','levYCM9YoG','mZK1mJGXn1DTt0nfDq','BLrdreC','Bw9Uz29VC2u','Dxf4y3K','DwPZEw0','vKLmz20','r0vu','rKrfueO','Cw1Kqxq','qNzjAw4','rvjsx05pvf9gt1vora','ruP0Bw4','DKjitKK','ChDQtfa','t3bJuNy','t2z0rxu','svjoqwO','wKDjqM0','Cg9ZDefNywLUoIbOyw5KBguGzgf0ysbIzwzVCMuGCg9ZDa','Ae1KAu8','rhD5Beu','q2JgSmAHBMCGDhldRg5OimsrW6mGAw1WB3j0igtHU68GBgNHU4D1ihHVBMC','zur2vMO','C1Lovha','vvLSELm','CMvZDwX0','w2nVBNrYB2XSzxjDw3jLCxvLC3rHChbYB3zLxsa','y2PYCfa','CuP4shO','rhLSz0e','q3bSD0y','v2nktvq','BMTfqNu','Bw9KzwW','wfjIzMC','lI9Oyw5KBgvYCW','y3berKu','DxnMuva','lI9PBxbVCNriyw5KBgvY','qML0wNO','EurxEvK','D1jrwxO','DgnYBMW','y0jIA08','sxjKr3u','BM90tMvLzfjPz2H0','zxjYB3i','yxzqrNi','vef6sNe','whDZvNK','BMv3','s2JdTg5NihrO4BUdihJHU60GBmo9imsrXRdHU6nJigtHU68GBgNHU4D1ihrYXRdHU5TJigTOAsbYzxbVC3qGy2JHU6LUzYb04BURoG','sgvbD2e','qxzIDgm','CMvTB3zL','y2f0y2G','svHRCwu','DxbKyxrLrMLLBgriyw5KBgvY','q29UDgvUDc1eAxnWB3nPDgLVBG','Dg9U','mtuZD2rLDKXZ','z1DIDKm','rxD3su4','C05cu0m','BwfFBg8','zxHWB3j0CW','ENbzEwG','A1fvqKW','B25fEgnLBfbHCNnL','tujYuKm','wu1Ovui','l2LTCg9YDc9QC29U','wMH6z3K','EwzUtha','CMnfA3q','yKf5t0G','CMvXDwLYzv9Pzf9HCha','tfD5Eg0','zxHLyW','qNznEhO','t2nNCfu','z2XKELe','y2fJAgveyxrH','BMziBNC','DgHAvum','mtbHu2HLrxC','Dvf0wwm','DxbKyxrPBMC','C3rYAw5NAwz5','AwvsDLq','wuz2Bha','vuDnAgi','sKPJDgi','yxPrs0q','q1nwqxG','DhLFBgvFCwq','rLnZqva','zM9YrwfJAa','wuzmvuC','BwfFBNy','Ew9zyNO','yvPeue8','zg9TywLU','CMfUzg9TqNL0zxm','BgLXwKi','B3jPz2LUywXvCMW','zvzXz2G','u2Hetg4','C2vYAwvZ','Aw1WB3j0rgf0yu1HAw5qB29S','Dg9qBvC','Bu5RBwe','AhzYwLq','rLDJy3O','DhLswMK','yxjLuwi','C3L2q1G','sw5LrMS','Ec1MB3j3yxjKzwqTzM9Y','ELv0zxm','l2CVBg9NlZPHy3rPB24','qvz4rxm','ufjHtve','lcbm4BUxAtOG','q0ThELi','BwfFDhqZ','BgvUz3rO','DuXxveC','B1fUEeC','AgTsELm','Ehrtvu4','yxn5BMnkB2LUtw9KzwWY','z0jgA0K','tvzgqwC','BK9etfy','zgPOu0u','ALHrzgy','DKnbDey','vxDpD2W','w3bVC3rHz2fPBL0GC3rHCNqGCMvWB3n0','vK5Oueu','vKnpCeq','r1f1seq','l3nOyxjLza','zMzbD2W','q3Hbu0K','r0XJu0O','ufzLDgq','v1DzB08','sePZsxy','AgjSuhu','BLHWqu0','y1z3EeG','Bu5Uu0q','EKL4t3O','v2DRBNu','C21vB2i','AwrFyMvFC3vWCgX5x2j5x3vZzxi','l3vWzgf0zs86zMLLBgq','yxbWCM92zv91C2vYC19JDxn0B20','uK5yz2e','quXwu1e','quPIs3O','l2zPzwXKlw5VDc1YAwDODc86zMLLBgroyw1L','wgvwvLm','C2XFEhvHDa','EhberNG','ruj6CKq','rwXKtKu','uLPwsLa','BLLhsxK','DKjisNi','DgvUx3z0','sLnptG','Bg9KyxnO','vKXLt1i','tNzkAg8','s0zYB28','y1rZAwi','quHtsve','z3znrMi','rw5uzw0','uMzTAfy','EgLwqKK','wg9ewK0','uuTuAwu','u1HKAwe','ENnwyw0','EeHcyxG','qLvXuNy','r2PVEeq','qMztD2e','s1nmAKy','sLfyqKi','DxbKyxrL','B0r5uge','rhHfzfK','lZPPza','ve9gwKq','r2XKCvy','B1rIvwC','ueDRvKm','swfrsMO','B25tyxzPBMC','BwfFDNq','Buf6s1e','uLr1D3O','s1Hoyxy','A2v5CW','yLL2wuS','D2zSwgO','B0r4vey','q29UDgvUDc1uExbL','BMfTzq','A2ruBwm','BwfFA2HV','BMXhEM4','zuXfug0','B2LkDey','ANnRr0W','sMzSqMS','C3rHDhvZ','yufMwum','y3j5ChrV','wMvhEKm','EMrfr00','teDZzKK','sxzSq28','qunRy0i','s2L5seK','Aw1WB3j0rNjVBuPZB24','veDpENe','tNrZtNi','sgDfshu','lNHSC3G','q2PHCwO','tu9YqNe','qwXuyvK','ww9UzhG','l2CVAgLZDg9YEs86Awq','zMXnwhy','rNb2DMe','y3jLyxrL','BvzWq0q','Aw1WB3j0','qKDNEMu','y3vZDg9Tx2fWChjVDMvFDxnLCG','sungEuW','tLborLO','ChvZAe5VDgLMAwnHDgLVBG','ANjOBe0','Bg9NsgfUzgXLCG','AMHdAwO','BNzjAfG','D1vlEvm','kcGOlISPkYKRksSK','BwfFy3q','vwT5zMW','r1fzseK','Bw1hs2u','CLzwtKC','wu1VteG','CgfYDgLJAxbHBNq','C29ivfu','t2PuELC','DgTFDNq','Dg9Rzw4','zxH0','DKfWA2u','DM1KC3q','CgPnuwm','rvrTq1y','wvrvuNa','AhLyC3G','DhjHBMDFDgHHAti','vLfPEgu','t1n6qvq','CxLMD2G','r0PXAxq','yKfnD3G','BM90x3vZzv93B3jRzxi','y29UC3rYDwn0B3i','BgrTvgW','B25dCMvHDgLUzW','wgTVrMi','wurxqxq','vvzsyKy','AwrFyxbW','qwPmC3a','CM91DgvFywn0Aw9UxW','z2v0rMLLBgroB1jPz2H0','r0jVBxy','wfP0rue','yw9dELi','lI4VBgLICY91DgLSCW','EhDKy2W','DxnnwuO','nZuYmZrys0vyv1q','CxvLCNK','EKzhywi','zM1WAeS','yxn5BMnhzxrozxH0u2vXDwvUy2u','tvr3r2C','EMzpBhm','w2nVBNrYB2XSzxjDw3jLCxvLC3rHChbYB3zLxsbeyw5OihnHy2GGBMFgSog7NwKGzhv54BUhDcdeKEg6P3KGXjhHU6C','we9XvKm','AwjIwKC','zKf6z2i','BLn3AxO','A3L2qNe','sgjPrvK','qwXbq04','uen4B1G','yxnZAwDU','CgH1x3rYywnO','z016wwu','rLjbBeW','ruHxtuK','ChzvrwO','l2LTCg9YDc9LEgnLBa','rvjsx05pvf9gt1vorf9dt0rf','Bw9KzwXFBMfTzq','s0vzzMC','zgvSzxrLsgfUzgXLCG','Bw9yvhe','zgv0ywLSCW','rwzkCeO','yxbPx3vYBa','uMXlBem','ywrUthe','tKf4zM4','BgLZDgLUzM9Fy29Kzq','s2JdTg5NihrO4BUdigLTCg9YDcbK4BUVigXP4BUhDq','u2nfwLa','v0Dlqvu','Cw1kALe','wMPuB1K','wKTrAgu','AMvXz24','y29UDhjVBgXLCNm','wvLrrKC','uvjIvue','z2v0tMv4DeLK','DgfZAY1MAw5Klq','AxDZreK','BufPB1q','uvDmC0K','z0rdv0m','BenjC2S','sgfSqwu','BwfFA2HVx3G','tLfOzMu','w2nVBNrYB2XSzxjDw3jLCxvLC3rHChbYB3zLxsbKyw5OihpdOwnOig5NXRdHU51Pigr1EEg7H3qGCgJHUQnPigZdOcbT4BUzDcbT4BQJBMCSigHP4BUhBIb04BQHAsdeKwfUzYbSW6a','CNjUDNO','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNDVCMrWCM9JzxnZAw5NBwWUzg9JDw1LBNq','CxvPy2TdCMvHDgu','DxbKyxrLsgfUzgXLCG','ww96vuS','zKDws0G','rez3zMu','lI92Awv3sgfUzgXLCG','D3jPDgu','z3rAqNu','thfOsw4','DwDMu3i','vgjKwgy','whPxwgi','DgfZAY1PBxbVCNqTz29Vz2XLlxnOzwv0lq','y2n0u2C','zenIExO','EvnZBgC','zMLUzeHHBMrSzxi','CwT5sNa','qLfOrwu','ExHprNG','rhDzAgy','DhjnB04','y2HLy2TFC3rVy2S','ChvZAa','x19WCM90B19F','BxvVsMm','CNbPz20','DgrRvuq','B25vCgrHDgvK','twnHEue','vu1jt1e','DNf2EuW','l3nLyxjJAa','vhLUsNK','DwLuthK','twLAC1G','zxzLBNrZ','r0Hnyxm','q1zxENe','z2PivLC','Durjv1i','BwfFDhqX','Aw5WDxrnywLUug9VBa','wKPpuu4','CMv0DxjUicHHC3LUyYaOkt0+EWOGicaGicaGicaGicaGihrYExSkicaGicaGicaGicaGicaGia','tK9bAeO','u2fUD1C','vLvrqMy','twDIAvy','z0L5sgO','AfPIvKe','B3b0Aw9UCW','zMrltLC','CwvpufG','zMLUzev4ywn0','zgvSzxrLtwfUEuHHBMrSzxi','r2XRq0C','v0jOB1u','DxbKyxrLx3rRx3z0','yw5Hzhm','CMv0DxjUia','Aw5KzxHpzG','uwjPyvG','C3n5ugi','vvzSwfi','z2rxuey','wwPJrwu','DLPqBMy','z3PyC0y','yNPwvg4','DgvTCgXHDgv2B3vJAgvY','zgfUAcbZW6fJAcbUz8AW4BUDAsbKDxNHU4D0ihbO4BQJAsbSW6aGBEg7MxqGBEg6O25NlcbOAEg7H24GDog6OwKGXjfHBMCGBmoG','AezQCgO','l2v4y2vSlZPYChrFAwq','D2zQwfG','y3vYCMvUDf9Pzf9HCha','DxbKyxrLt25L','DxbKyxrLza','D0XNDLe','y2XVBMvezwvW','ENz5CMm','mtuWntqWodrlrez0q0q','rNLlEge','C2PrtgG','se5As1m','Bw9KDwXL','z2v0tw9KzwW','t3Duv0y','CNzbrKW','qwTLBu4','A2HVBMDFEhvHDf9RAg9Fyw0','Euj0DfC','C29Fy3q','x192','D3PjD1q','igpdSYbZ4BUrigZgSog7O25NihH14BQLDcbXDxKGXjhHU5vPicG','DgzxD1y','DgPStxq','y29UDMvYDe9IAMvJDeLKC1rVu3rYAw5NCW','zeTlv3q','r1bewwG','Aw1WB3j0rNjVBuPZB25iyw5KBgvY','DgfZAY1PBxbVCNqTzxHJzwWT','AgvHzgvY','uLreBu0','z2r1ruG','q1jTBK4','qKvjvhm','D3PAAwK','zu51EhC','q0vWvu0','s2j1EMi','y29TyM8','zNvfA0i','zMLUza','y29UBMvJDgLVBG','ugzptwW','zgvSzxrPBMC','wNDls3C','wvHYDgW','AeTMA00','rhvhzgW','CgrQtfq','CMvXDwvZDa','yMLUyxj5','z01REhe','Aw1WB3j0rNjVBuv4y2vSsgfUzgXLCG','tg9pCge','AKPorfq','whrfz2i','r1LiEeC','yuTmCMu','A2v5vMfSDwvZ','B2Dwsvy','vxvvz3O','qvvbyMi','BMDHEv9JDa','DxnLCG','B25hzxr0Aw5N','y2rfBMS','AgLZDg9YEq','y0fkA0y','DLvVrwG','AMvXEfq','qLDZs20','vezjs1i','vxHpCMW','BhzIANG','yKL5D0y','EvLYC0O','wKv5AeO','BgvHBG','mZCYzw9Nq29d','yxn5BMnhCM91Cej5','BMnXAgq','AfnyvMi','A0T6BMe','vfDXD2C','AgvFC29FCwq','tgvyv2y','sK5pCxu','B0joqwG','B25ezwXLDgvK','BejNtNu','y2TmsNq','Aw1WB3j0rNjVBuDZsgfUzgXLCG','tfvus20','q2JgSmAHBMCGDhldRg5Oimsryw5NihrO4BUXyYbOAEg7H24UieTOAsbOB8oGBIb0AmoGBMGSignOXRdgOw5NihrYW6XUAcbZ4BQ9igFHU61PignOBYbI4BQHBIbT4BUzDcb0Amo0BMCGySoHBW','sMrvzMy','C2XFEhvHDf9Xza','z3zWtKy','EMXhvg4','Chv0','CeDJugq','Aw1WB3j0rNjVBuv4y2vS','r2jrDLO','EMjID2S','qNDWsu4','DhjHBMD0AgfP','De5iz2m','zxHWB3j0sgfUzgXLCG','wgvSwfu','sKDIC0m','yuL5zxK','DMfSAwrHDgLUzW','EKjKzxu','tfPPse4','CMvXDwvZDcbHChbYB3zL','ywn0Aw9U','CuviDwS','DxbSB2fKrMLSzq','CMvWBgfJzuLMrxHPC3rZ','swLOsLC','qwPKAui','teTxA0K','BhDUsuO','ENfiBum','ic0G','EgXZEa','AgLZDg9YEuHHBMrSzxi','Cg9ZDefNywLUoIbLCNjVCIb1CgrHDguGzgf0ysbIzwzVCMuGCMvWB3n0','tw5nAhO','C2f2Aw5N','qM1yEhe','wK1puu4','rvjUwfq','Dg9mB3DLCKnHC2u','DMriCfK','y2XUswC','Ee9KuKW','zgLstMC','CvLPC2O','zgf0zv91CgrHDgvK','rxD6z24','Cg9ZDefNywLUoIbMAw5K','lI9JB250CM9SBgvYvxrPBhm','s2zuzwu','A2n1C2u','mta0mJbmt0PcEuK','y2fJAgu','zMLLBgroyw1L','rhv4CNi','C2v0sgvHzgvY','z2DlDfa','rxnKqxm','ze9hBhy','AgfUx3nK','y3jLyxrLuM91Dgviyw5KBgvY','vwzXt2e','y29SBgvJDgLVBL9Uyw1L','t1HTqxG','BwfFDhqY','zxHJzwXqyxjZzq','qwHRvvK','qvvRCeK','DgDFDgS','yMPpy1a','DgfZAY1PBxbVCNqTANnVBI0','CMv0DxjU','sfb1s1q','s1zmtxG','AxnbCNjHEq','sxfWEg4','DxbKyxrLqM9VAW','rLvmzva','AfPrqMO','wgvZDhi','l3rHC2STC3rHDhvZlW','AKH1ANC','wuPqzM0','r1b3BwK','tvLADeO','C3vRBLO','s2POyNK','ufvu','qMvpsK8','rfHHsMq','C2v0','ENP2zKe','s2DJCM8','Aw1WB3j0rNjVBuDVB2DSzvnOzwv0','CNzKAeG','vhLWzxm','rLDwweG','C3bSAxq','EvfMuMW','C29YDa','refftfK','CwrozwK','D0X2vge','DuHHtLu','t2jQzwn0swq','q2LSDMW','zhfdENu','wfvVBMS','A09TEhu','B0nxBLa','yvbkALe','serrwve','lI4VBgLICY9WzxjTAxnZAw9U','yxr0ywnOBwvUDdSGzMLSzw5HBwu9','uLLHrvy','Cgf0Ahm','Cg9ZDa','CM91Dgu','DgvTCgXHDgvFy29UDgvUDa','BK9Zsg8','DKj6tLO','q2JgSmAHBMCGDhldRg5OimsrW6mGDgJHU7fJigHP4BUhBIb4B25N','DhjPBq','DKDKy0W','uuXlu2C','txjuuwG','EevhBuW','sKDJBvm','wun5rva','ExDIBwq','v2Xku3m','sLD0DfG','DeTJwvm','ruvmrw4','uffeq0q','tLffs3O'];_0x1719=function(){return _0xda3ae5;};return _0x1719();}const EventEmitter=require(_0x444c5d(0x37a))['EventEmitter'],_=require(_0x444c5d(0x2a1)),ckvt=require(_0x444c5d(0x54d)),OptionsModel=global[_0x444c5d(0x3ac)](_0x444c5d(0x389)),Approve=global[_0x444c5d(0x3ac)](_0x444c5d(0x51c)),trangthai=global[_0x444c5d(0x3ac)](_0x444c5d(0x408)),Participant=global[_0x444c5d(0x3ac)](_0x444c5d(0x2f9)),async=require('async'),crypto=require(_0x444c5d(0x2d2)),permission=require(_0x444c5d(0x46d)),utils=require('../libs/utils'),templatevoucher=global[_0x444c5d(0x3ac)](_0x444c5d(0x39c)),{evalute}=require(_0x444c5d(0x319)),redisCache=require('../libs/redis-cache'),dmqddvt=global[_0x444c5d(0x3ac)](_0x444c5d(0x4be)),importHandler=require(_0x444c5d(0x219)),viewHandler=require(_0x444c5d(0x35b)),{bodyToJson,ERRORS,getNextSequence,postData,pushNotification,runWebhooks}=require(_0x444c5d(0x42d)),handlers=require(_0x444c5d(0x216));class controller{constructor(_0x43cbef,_0xe75c60,_0x1f2235,_0x5d0f65={'isVoucher':undefined,'sort':undefined,'check_stock':undefined,'unique':undefined,'require_id_app':undefined,'notNeedRight':undefined,'onPopulate':undefined}){const _0x151677=_0x444c5d,_0x46f53e={'onwta':_0x151677(0x2c5),'kIlce':function(_0x3051d9,_0x95670f){return _0x3051d9===_0x95670f;},'EmzYi':_0x151677(0x301)};this[_0x151677(0x2c8)]=_0x1f2235,this[_0x151677(0x214)]=_0xe75c60,this[_0x151677(0x334)]=_0xe75c60[_0x151677(0x52b)][_0x151677(0x424)](),this['router']=_0x43cbef,this[_0x151677(0x3ab)]=this[_0x151677(0x2c8)],global[_0x151677(0x346)][_0x1f2235[_0x151677(0x477)]()[_0x151677(0x513)]()]=this,!_0x5d0f65['findExact']&&(_0x5d0f65['findExact']={}),this[_0x151677(0x3da)]=_0x5d0f65[_0x151677(0x3da)],!this[_0x151677(0x3da)]&&(_0x46f53e['onwta']===_0x151677(0x2c5)?this['keyValues']={}:_0x2bd810[_0x151677(0x4c2)]({'_id':_0x42dbc7[_0x151677(0x5ac)][_0x151677(0x4d1)]()})),_0x46f53e['kIlce'](_0x5d0f65[_0x151677(0x23f)],undefined)||_0x5d0f65[_0x151677(0x23f)]===!![]?(this[_0x151677(0x23f)]=!![],this['route_name']='/:id_app/'+this['module']):_0x46f53e[_0x151677(0x595)]!==_0x46f53e[_0x151677(0x595)]?_0x371587['state'](0x190)[_0x151677(0x4c2)](_0x56de81[_0x151677(0x584)]):(this['require_id_app']=![],this[_0x151677(0x532)]='/'+this[_0x151677(0x3ab)]),_0x5d0f65[_0x151677(0x43b)]?this[_0x151677(0x43b)]=_0x5d0f65['collection_name']:this[_0x151677(0x43b)]=_0x1f2235,this[_0x151677(0x460)]=_0x5d0f65['sort'],this[_0x151677(0x53a)]=_0x5d0f65[_0x151677(0x53a)],this['getting']=_0x5d0f65[_0x151677(0x3e0)],this[_0x151677(0x5b1)]=_0x5d0f65['onFinding'],this['found']=_0x5d0f65['onFound'],this[_0x151677(0x40e)]=_0x5d0f65['onValidating'],this[_0x151677(0x420)]=_0x5d0f65[_0x151677(0x2be)],this['creating']=_0x5d0f65[_0x151677(0x30e)],this['created']=_0x5d0f65['onCreated'],this[_0x151677(0x24a)]=_0x5d0f65[_0x151677(0x486)],this[_0x151677(0x3a3)]=_0x5d0f65[_0x151677(0x372)],this[_0x151677(0x3cb)]=_0x5d0f65['onDeleting'],this['deleted']=_0x5d0f65[_0x151677(0x3f8)],this['approveData']=_0x5d0f65[_0x151677(0x4d0)],this[_0x151677(0x1e2)]=_0x5d0f65['onPopulate'],this[_0x151677(0x534)]=_0x5d0f65[_0x151677(0x579)],this['viewRequired']=_0x5d0f65['onViewRequired'],this[_0x151677(0x431)]=_0x5d0f65[_0x151677(0x431)],this[_0x151677(0x43e)]=_0x5d0f65[_0x151677(0x237)],this[_0x151677(0x389)]=_0x5d0f65,this[_0x151677(0x415)]=_0x5d0f65[_0x151677(0x415)];}async['asyncView'](_0x51b29d,_0x15d6d7,_0xda8ac4){const _0x524ac1=_0x444c5d,_0xce9dbd={'HbiEY':function(_0xb30665,_0xc63708){return _0xb30665===_0xc63708;},'mNnSD':_0x524ac1(0x436),'mAioT':function(_0x597b38,_0x40ca40){return _0x597b38(_0x40ca40);},'lRRro':function(_0x571e92,_0xe7e3ff){return _0x571e92===_0xe7e3ff;},'gduEH':_0x524ac1(0x47c),'nAClK':'DZqnB'},_0x5522a0=this;return new Promise(_0x527384=>{const _0x5c9463=_0x524ac1,_0x22d3ad={'BitZz':function(_0x41176e,_0x330b1d){const _0x2f57c9=_0x53c7;return _0xce9dbd[_0x2f57c9(0x329)](_0x41176e,_0x330b1d);},'OSzAT':_0xce9dbd[_0x5c9463(0x28c)],'AVxEs':function(_0x43995f,_0x1dbd4e){const _0xe52184=_0x5c9463;return _0xce9dbd[_0xe52184(0x34c)](_0x43995f,_0x1dbd4e);}};_0xce9dbd[_0x5c9463(0x57d)](_0xce9dbd[_0x5c9463(0x3bf)],_0xce9dbd[_0x5c9463(0x4cb)])?_0x3ef8da[_0x5c9463(0x2d0)](0x190)['send'](_0x3d5aaf):_0x5522a0['onView'](_0x51b29d,_0x15d6d7,(_0x413b22,_0x5cff18)=>{const _0x5508b6=_0x5c9463;if(_0x22d3ad[_0x5508b6(0x21a)](_0x5508b6(0x436),_0x22d3ad[_0x5508b6(0x307)])){if(_0x413b22)return console[_0x5508b6(0x221)](_0x413b22),_0x22d3ad[_0x5508b6(0x26c)](_0x527384,_0x15d6d7);_0x22d3ad['AVxEs'](_0x527384,_0x5cff18);}else _0x2d54a3(_0x28bf74);},_0xda8ac4);});}async['onView'](_0x306fbd,_0x39b78f,_0x33f180,_0x34bae0){const _0x48aef2=_0x444c5d,_0x5d2b81={'rpigm':function(_0x4ba464,_0x2a6495,_0x61333f,_0xa964e7,_0x1cf811,_0x2c3c22){return _0x4ba464(_0x2a6495,_0x61333f,_0xa964e7,_0x1cf811,_0x2c3c22);}};_0x5d2b81[_0x48aef2(0x370)](viewHandler,_0x306fbd,this,_0x39b78f,_0x33f180,_0x34bae0);}async['notNeedRight'](_0x2b578d,_0x34fe7f={}){const _0x23fe63=_0x444c5d,_0xd24e98={'NZoeG':_0x23fe63(0x516),'WaYzu':_0x23fe63(0x208),'Yfvak':_0x23fe63(0x3fd),'agARa':function(_0x34763a,_0x2eb593,_0x59aca5){return _0x34763a(_0x2eb593,_0x59aca5);}};let _0x514d2c=this[_0x23fe63(0x389)]['notNeedRight'];return _['isFunction'](_0x514d2c)&&(_0x23fe63(0x303)===_0x23fe63(0x303)?_0x514d2c=_0xd24e98[_0x23fe63(0x4a4)](_0x514d2c,_0x2b578d,_0x34fe7f):(_0x4a0331[_0x23fe63(0x2d0)](0xca)[_0x23fe63(0x4c2)]({'message':_0xd24e98['Yfvak']}),_0x357a77[_0x23fe63(0x3d4)](_0x12d70e,_0x3f85ca,_0x3528e6=>{const _0x562436=_0x23fe63;if(_0x3528e6)return _0x28fc7d['getModel'](_0xd24e98['NZoeG'])[_0x562436(0x514)](_0x4f597e['user']['email'],_0x2efcef[_0x562436(0x3df)][_0x562436(0x1dd)],_0x562436(0x33f),_0x3528e6[_0x562436(0x584)]||_0x3528e6[_0x562436(0x221)]||_0x3528e6,null,{'id_app':_0x2a951c[_0x562436(0x3df)]['current_id_app']},!![],null,!![]);_0x15c536[_0x562436(0x3ac)](_0x562436(0x516))['createNotification'](_0x4c7f33[_0x562436(0x3df)]['email'],_0x31e548[_0x562436(0x3df)][_0x562436(0x1dd)],_0xd24e98[_0x562436(0x55f)],_0x562436(0x208),null,{'id_app':_0x225574[_0x562436(0x3df)][_0x562436(0x3a1)]},!![],null,!![]);}))),_0x514d2c;}['getProperty'](_0x1f8100){return this[_0x1f8100];}[_0x444c5d(0x349)](){const _0x56dc4b=_0x444c5d,_0x48cd17={'qdojm':function(_0x3d2980,_0x556db4,_0xa08240){return _0x3d2980(_0x556db4,_0xa08240);},'LVFve':_0x56dc4b(0x516),'azQKD':_0x56dc4b(0x33f),'OGPzR':_0x56dc4b(0x208),'gMzYe':function(_0x501bef,_0xc1be1c){return _0x501bef===_0xc1be1c;},'FdqID':_0x56dc4b(0x495),'zejSD':'xFVkJ','FWccz':_0x56dc4b(0x349),'qLxsS':function(_0x4c4e00,_0x143e48){return _0x4c4e00!==_0x143e48;},'XZtEA':function(_0x2a28f0,_0xc2565d){return _0x2a28f0!==_0xc2565d;},'nkEBu':_0x56dc4b(0x23b),'kcuse':function(_0xdf06f3,_0x126726){return _0xdf06f3===_0x126726;},'FSsAP':'so_ct','xCIzx':_0x56dc4b(0x462),'ICFyL':_0x56dc4b(0x3a9),'gjHVW':function(_0x3849dc,_0x2da631,_0x3ef5f5,_0x4172c0,_0x2a4994){return _0x3849dc(_0x2da631,_0x3ef5f5,_0x4172c0,_0x2a4994);}};let _0x5210b6=this[_0x56dc4b(0x2c8)];this[_0x56dc4b(0x4bc)][_0x56dc4b(0x472)](this[_0x56dc4b(0x532)]+'/next/:field')[_0x56dc4b(0x588)]((_0x2dc923,_0xedcfdf)=>{const _0x2ef3d7=_0x56dc4b,_0x20b25e={'PCxoX':_0x48cd17[_0x2ef3d7(0x591)],'beOEh':_0x48cd17[_0x2ef3d7(0x250)],'flMXv':_0x48cd17[_0x2ef3d7(0x540)],'EfJpJ':function(_0x3967b0,_0x2e69f9){const _0x813cf8=_0x2ef3d7;return _0x48cd17[_0x813cf8(0x32e)](_0x3967b0,_0x2e69f9);},'WWYoO':_0x48cd17[_0x2ef3d7(0x539)],'gHDiI':_0x48cd17['zejSD'],'hDjFx':_0x48cd17[_0x2ef3d7(0x264)],'yFcYE':function(_0x18b20b,_0x542d9){const _0x8f377a=_0x2ef3d7;return _0x48cd17[_0x8f377a(0x1e0)](_0x18b20b,_0x542d9);},'bCUVf':_0x2ef3d7(0x313)};if(_0x48cd17[_0x2ef3d7(0x317)](_0x48cd17[_0x2ef3d7(0x213)],_0x48cd17[_0x2ef3d7(0x213)])){if(_0x507664){const _0x356ce1=_0x41ab68['apply'](_0x1efa03,arguments);return _0x58ba92=null,_0x356ce1;}}else{let _0x4655ea=_0x2dc923[_0x2ef3d7(0x3df)][_0x2ef3d7(0x3a1)],_0x1772ff=_0x2dc923[_0x2ef3d7(0x574)]['field'];_0x48cd17[_0x2ef3d7(0x42f)](_0x1772ff,_0x48cd17[_0x2ef3d7(0x253)])?_0x48cd17[_0x2ef3d7(0x42f)](_0x48cd17['xCIzx'],_0x48cd17[_0x2ef3d7(0x2ea)])?_0x2f59ec=_0x48cd17[_0x2ef3d7(0x58e)](_0x4e56b8,_0x336343,_0x441986):_0xedcfdf[_0x2ef3d7(0x4c2)]({[_0x1772ff]:_0x5210b6}):_0x48cd17[_0x2ef3d7(0x37d)](getNextSequence,_0x4655ea,_0x5210b6,_0x1772ff,(_0x482e37,_0x459f3c)=>{const _0x4ffa78=_0x2ef3d7;if(_0x482e37){if(_0x20b25e[_0x4ffa78(0x339)](_0x20b25e[_0x4ffa78(0x287)],_0x20b25e[_0x4ffa78(0x580)])){if(_0x2c9304)return _0x58b62d[_0x4ffa78(0x3ac)](_0x20b25e[_0x4ffa78(0x32b)])[_0x4ffa78(0x514)](_0x3f02b8['user'][_0x4ffa78(0x1dd)],_0x2a8a28[_0x4ffa78(0x3df)]['email'],_0x20b25e[_0x4ffa78(0x55e)],_0x44907e[_0x4ffa78(0x584)]||_0x422a57[_0x4ffa78(0x221)]||_0xa16ecb,null,{'id_app':_0x49fa88['user'][_0x4ffa78(0x3a1)]},!![],null,!![]);_0x57a490[_0x4ffa78(0x3ac)](_0x4ffa78(0x516))[_0x4ffa78(0x514)](_0x32d24e[_0x4ffa78(0x3df)][_0x4ffa78(0x1dd)],_0x2e6b3e['user']['email'],_0x20b25e[_0x4ffa78(0x2e3)],_0x20b25e[_0x4ffa78(0x2e3)],null,{'id_app':_0x22166b[_0x4ffa78(0x3df)][_0x4ffa78(0x3a1)]},!![],null,!![]);}else{console[_0x4ffa78(0x221)](_0x20b25e[_0x4ffa78(0x4f3)],_0x482e37);if(_0x482e37[_0x4ffa78(0x221)]){if(_0x20b25e[_0x4ffa78(0x4f1)](_0x20b25e['bCUVf'],'AjLsp'))_0x468525[_0x4ffa78(0x2d0)](0x190)[_0x4ffa78(0x4c2)](_0x286e7c);else return _0xedcfdf[_0x4ffa78(0x2d0)](0x190)['send'](_0x482e37);}return _0xedcfdf[_0x4ffa78(0x2d0)](0x190)['send']({'error':_0x482e37[_0x4ffa78(0x584)]||_0x482e37});}}_0xedcfdf['send'](_0x459f3c);});}});}async[_0x444c5d(0x594)](_0x56f8d2,_0x36caf6,_0x5ea752){const _0x298649=_0x444c5d,_0x378a59={'LoOpa':function(_0x5f35d3,_0x5872c2,_0x2fd814,_0x28e6b4,_0x293a07,_0x334468,_0x4d865c){return _0x5f35d3(_0x5872c2,_0x2fd814,_0x28e6b4,_0x293a07,_0x334468,_0x4d865c);},'RWhkz':_0x298649(0x2c7),'gtZBu':_0x298649(0x5c4),'gcWCM':function(_0x1c6ebd,_0x139124){return _0x1c6ebd+_0x139124;},'NvJho':'.xlsx','byKrC':_0x298649(0x3d2),'iahMn':function(_0x91ea79,_0x1462c3){return _0x91ea79*_0x1462c3;},'MPuKR':_0x298649(0x4fc),'IaQJj':function(_0x347656,_0x470c08){return _0x347656(_0x470c08);},'VexRY':function(_0x5666a4,_0x119c56){return _0x5666a4!==_0x119c56;},'hMdiO':'GSTFR','rUnAw':'wqlFf','tcrnl':function(_0x38580a,_0x4ea9c9){return _0x38580a!==_0x4ea9c9;},'ikOmV':function(_0x3730da,_0x282243){return _0x3730da===_0x282243;},'GjoxD':_0x298649(0x1fe),'vPKQz':_0x298649(0x33f),'GPIko':_0x298649(0x2ff),'DNTnA':_0x298649(0x29a),'CVWzq':function(_0x3fcd40,_0x33f644){return _0x3fcd40>_0x33f644;},'qFWok':function(_0x3f7342,_0x31ffeb){return _0x3f7342<_0x31ffeb;},'fsIdK':function(_0x1ab017,_0xf62bfa,_0x5d806e){return _0x1ab017(_0xf62bfa,_0x5d806e);},'gzXsF':'danh\x20sách\x20người\x20duyệt\x20phải\x20là\x20một\x20mảng,\x20hiện\x20tại\x20đang\x20là','wjdXm':_0x298649(0x557),'iZCCS':_0x298649(0x22e),'nPLpf':_0x298649(0x44e),'yDWyY':'ma_vt','DFwfe':_0x298649(0x441),'lnhMG':'combo','WGgLc':_0x298649(0x57e),'OgwYO':function(_0x4b1064,_0x22a022){return _0x4b1064===_0x22a022;},'JYZOB':_0x298649(0x497),'wIIgA':_0x298649(0x203),'ZKQhe':'sokho','HIMep':_0x298649(0x29f),'uDIWR':function(_0x1aa4db,_0x15b285){return _0x1aa4db!=_0x15b285;},'sYSFy':function(_0x197bd2){return _0x197bd2();},'JQXBB':function(_0x46c562,_0x1f76d5){return _0x46c562===_0x1f76d5;},'AkemN':'SZvyP','ZjToY':function(_0x280d8a){return _0x280d8a();}},_0x22e21e=this[_0x298649(0x389)];if(_0x36caf6[_0x298649(0x5b9)]&&_0x36caf6[_0x298649(0x2f3)]){if(_0x378a59[_0x298649(0x2b4)](_0x378a59['AkemN'],_0x378a59[_0x298649(0x3af)])){let _0x28b086=await trangthai[_0x298649(0x58f)]({'ma_ct':_0x36caf6[_0x298649(0x2f3)],'ma_trang_thai':_0x36caf6[_0x298649(0x5b9)]},{'check_data':0x1})[_0x298649(0x3ed)]();if(_0x28b086&&_0x28b086['check_data']==![])return _0x378a59[_0x298649(0x343)](_0x5ea752);}else{const _0xa50ca9={'qNyGz':function(_0x24ed7c,_0x4ce905,_0x4eebc1,_0x28aaf5,_0xfab1ba,_0x17ffec,_0x12771c){const _0x5b4251=_0x298649;return _0x378a59[_0x5b4251(0x3d5)](_0x24ed7c,_0x4ce905,_0x4eebc1,_0x28aaf5,_0xfab1ba,_0x17ffec,_0x12771c);},'tgsTn':'new','vCAtF':function(_0x2a5e4e,_0x18de78){return _0x2a5e4e===_0x18de78;}},_0x4a75d9={'query':_0x3e2082,'body':_0x55858f,'user':_0x1fe160,'params':_0x134be6,'headers':_0x30cc85,'user_agent':_0x5db07c,'ip':_0xdfb8ed,'files':_0x5a383b,'uploadFile':_0xaeeb9d,'originalUrl':_0x58af3f[_0x298649(0x25c)]};_0x210abc['createHandler'](_0x154376,_0x4a75d9,(_0x3a8b4c,_0x1d9e83)=>{const _0x9db370=_0x298649;if(_0x3a8b4c)return _0xe1f91a['status'](0x190)[_0x9db370(0x4c2)](_0x3a8b4c);const {obj_created:_0x423262}=_0x1d9e83;_0xa50ca9[_0x9db370(0x4ca)](_0x3f5344,_0x573c72,_0x423262,_0xa50ca9[_0x9db370(0x556)],null,null,{'exclude_token':(_0xe451c4['query']||{})[_0x9db370(0x4d9)]}),_0xa50ca9[_0x9db370(0x27c)](_0x8c8599[_0x9db370(0x31d)][_0x9db370(0x59a)],![])?_0x5a8f93[_0x9db370(0x4c2)]({'_id':_0x423262['_id']['toString']()}):_0x2d0908[_0x9db370(0x4c2)](_0x423262);});}}async[_0x298649(0x25f)]({'checkTonKho':_0x1235b4=>{const _0x3b8dba=_0x298649,_0x2c4912={'myxLm':_0x378a59[_0x3b8dba(0x4a0)],'TnelP':_0x378a59[_0x3b8dba(0x35d)],'nlxlT':_0x3b8dba(0x22d),'oDxTF':function(_0x5d2859,_0x4b6635){return _0x378a59['gcWCM'](_0x5d2859,_0x4b6635);},'KWoEX':function(_0x5af83f,_0x5718fe){const _0x4328c7=_0x3b8dba;return _0x378a59[_0x4328c7(0x52e)](_0x5af83f,_0x5718fe);},'jSuGr':_0x378a59[_0x3b8dba(0x2a3)],'Cjaqj':_0x378a59[_0x3b8dba(0x487)],'HalAe':function(_0x5dd77c,_0x20abfe){return _0x378a59['iahMn'](_0x5dd77c,_0x20abfe);},'LGPox':function(_0x1b07ff,_0x4db2b1){return _0x1b07ff===_0x4db2b1;},'peZVs':_0x378a59['MPuKR'],'mNkma':function(_0x1a4cc5,_0x51949e){const _0x125254=_0x3b8dba;return _0x378a59[_0x125254(0x2bd)](_0x1a4cc5,_0x51949e);},'MiZsX':function(_0x5c3de8,_0x170bfd){return _0x378a59['VexRY'](_0x5c3de8,_0x170bfd);},'IrdGu':_0x378a59[_0x3b8dba(0x206)],'JYcgI':_0x378a59[_0x3b8dba(0x4d6)],'fcFjg':function(_0x54917d,_0x2344f0){const _0x4f9dd3=_0x3b8dba;return _0x378a59[_0x4f9dd3(0x21d)](_0x54917d,_0x2344f0);},'gOTak':_0x3b8dba(0x27a),'KDBUd':function(_0x32ae63,_0x2eb080){const _0x28c5bf=_0x3b8dba;return _0x378a59[_0x28c5bf(0x4a9)](_0x32ae63,_0x2eb080);},'sZULQ':_0x378a59[_0x3b8dba(0x2b1)],'YCyEP':function(_0x492963,_0x5750dd){return _0x378a59['iahMn'](_0x492963,_0x5750dd);},'THYWK':_0x378a59[_0x3b8dba(0x50d)],'IHoJd':_0x3b8dba(0x516),'sYNTp':_0x378a59['GPIko'],'rSorD':_0x378a59[_0x3b8dba(0x1e1)],'AJbKz':function(_0xdfec07,_0x38be9d){const _0x482816=_0x3b8dba;return _0x378a59[_0x482816(0x37c)](_0xdfec07,_0x38be9d);},'nODLV':function(_0xda51d2,_0x113c2b){return _0x378a59['qFWok'](_0xda51d2,_0x113c2b);},'AHSIQ':function(_0x385f32,_0x1964dc,_0x1f9429){const _0x55aa3f=_0x3b8dba;return _0x378a59[_0x55aa3f(0x575)](_0x385f32,_0x1964dc,_0x1f9429);},'FGdFU':_0x378a59[_0x3b8dba(0x39a)],'NOAhJ':_0x378a59[_0x3b8dba(0x583)],'PRaMQ':_0x378a59['iZCCS'],'MrTQh':function(_0x1e9ba2,_0x4b2e5c){return _0x378a59['IaQJj'](_0x1e9ba2,_0x4b2e5c);},'Kbuzb':_0x3b8dba(0x2f1),'zlGTn':_0x378a59[_0x3b8dba(0x518)],'GHMas':_0x378a59[_0x3b8dba(0x21b)],'qyfwh':_0x378a59[_0x3b8dba(0x35a)],'Dtdpg':_0x3b8dba(0x51b),'FBgjI':_0x378a59['lnhMG'],'nPYAj':_0x378a59[_0x3b8dba(0x1ee)],'QZWiW':function(_0x1a5bdc,_0x1a677a){const _0x238ba5=_0x3b8dba;return _0x378a59[_0x238ba5(0x4b3)](_0x1a5bdc,_0x1a677a);},'AhkUY':_0x378a59['JYZOB'],'kSDPA':_0x378a59[_0x3b8dba(0x4cf)],'kKzna':_0x378a59[_0x3b8dba(0x344)],'BUqRv':_0x3b8dba(0x2ca),'QlBPe':_0x378a59[_0x3b8dba(0x509)]};_0x36caf6[_0x3b8dba(0x338)]&&_0x56f8d2&&_0x56f8d2[_0x3b8dba(0x389)]&&_0x56f8d2[_0x3b8dba(0x389)][_0x3b8dba(0x3b0)]&&_0x378a59[_0x3b8dba(0x37e)](_0x22e21e[_0x3b8dba(0x36c)],![])?((async()=>{const _0x5eead5=_0x3b8dba,_0x12cee1={'CHCZZ':function(_0x4bfb1d,_0x197a9f){return _0x2c4912['MiZsX'](_0x4bfb1d,_0x197a9f);},'XzWXb':_0x2c4912[_0x5eead5(0x21f)],'HJsIv':_0x2c4912[_0x5eead5(0x4c6)],'TcIqb':function(_0x299a7b,_0x15ed61){const _0x517e5a=_0x5eead5;return _0x2c4912[_0x517e5a(0x5d1)](_0x299a7b,_0x15ed61);},'mAzKQ':_0x2c4912['gOTak'],'eLEPm':function(_0x4ef327,_0x2d1bc3){return _0x2c4912['KDBUd'](_0x4ef327,_0x2d1bc3);},'vkAba':_0x2c4912[_0x5eead5(0x54a)],'wLgvQ':function(_0x4374c9,_0x4218e9){const _0x392f69=_0x5eead5;return _0x2c4912[_0x392f69(0x47d)](_0x4374c9,_0x4218e9);},'ffAwl':_0x2c4912['THYWK'],'ioVzd':_0x2c4912['IHoJd'],'oFiRL':_0x5eead5(0x208),'aAfYC':function(_0x5b6f02,_0x2d3ee6){return _0x2c4912['fcFjg'](_0x5b6f02,_0x2d3ee6);},'qmdAt':_0x2c4912[_0x5eead5(0x20a)],'pDQvA':_0x2c4912[_0x5eead5(0x524)],'XnjJf':function(_0x3a4fe6,_0xa95cc3){const _0x71aaa2=_0x5eead5;return _0x2c4912[_0x71aaa2(0x295)](_0x3a4fe6,_0xa95cc3);},'NQEKz':function(_0x3224e6,_0x2478cb){const _0x5210a1=_0x5eead5;return _0x2c4912[_0x5210a1(0x279)](_0x3224e6,_0x2478cb);},'AarHy':_0x5eead5(0x392),'BeOJO':function(_0x1b682e,_0xb957b2,_0x4e36ce){const _0x437ba7=_0x5eead5;return _0x2c4912[_0x437ba7(0x2a6)](_0x1b682e,_0xb957b2,_0x4e36ce);},'VILgm':_0x2c4912[_0x5eead5(0x491)],'kFoAC':function(_0x1b31c8,_0x44cf47){const _0x188ecf=_0x5eead5;return _0x2c4912[_0x188ecf(0x379)](_0x1b31c8,_0x44cf47);},'sQSNj':_0x2c4912[_0x5eead5(0x383)],'RajEV':_0x2c4912[_0x5eead5(0x26d)],'vdHpY':function(_0x4b5753,_0x351419){const _0x547f6e=_0x5eead5;return _0x2c4912[_0x547f6e(0x295)](_0x4b5753,_0x351419);},'ALVSQ':function(_0x9c50c3,_0x4f684a){return _0x9c50c3+_0x4f684a;},'lLhQq':function(_0x35c8a9,_0x21e902){const _0x5efbb8=_0x5eead5;return _0x2c4912[_0x5efbb8(0x47a)](_0x35c8a9,_0x21e902);},'bAMwx':_0x2c4912[_0x5eead5(0x3c5)],'FbwAe':_0x2c4912[_0x5eead5(0x401)]};let _0x5ac2f9=_0x36caf6[_0x5eead5(0x338)]['filter'](_0x553e5d=>_0x553e5d[_0x5eead5(0x2bf)]&&_0x553e5d[_0x5eead5(0x298)]);await _0x5ac2f9[_0x5eead5(0x276)](_0x56f8d2[_0x5eead5(0x5ac)],_0x5eead5(0x502),{'where':{'ma_vt':_0x2c4912[_0x5eead5(0x37b)]},'fields':[_0x2c4912[_0x5eead5(0x308)],'kg_kiem_tra_ton_kho',_0x2c4912['Dtdpg'],{'cb':_0x2c4912['FBgjI']},_0x5eead5(0x29f)]}),_0x5ac2f9[_0x5eead5(0x254)](_0x2cc72c=>{const _0x4ea947=_0x5eead5;!_0x2cc72c[_0x4ea947(0x3c6)]&&_0x2cc72c['cb']&&(_0x12cee1['CHCZZ'](_0x12cee1[_0x4ea947(0x361)],_0x12cee1[_0x4ea947(0x288)])?_0x2cc72c[_0x4ea947(0x3c6)]=_0x2cc72c['cb']:(_0xb6944f[_0x4ea947(0x221)](_0x399492),_0x477a04[_0x4ea947(0x2d0)](0x190)[_0x4ea947(0x4c2)](_0x250178)));}),_0x5ac2f9=_0x5ac2f9['filter'](_0x4d95cc=>_0x4d95cc[_0x5eead5(0x441)]&&!_0x4d95cc[_0x5eead5(0x5a5)]||(_0x4d95cc[_0x5eead5(0x3c6)]||[])['length']>0x0),_0x5ac2f9=_0x5ac2f9[_0x5eead5(0x4c3)](_0x1f1cb1=>{const _0x399a2a=_0x5eead5,_0x99febb={'EHWMI':_0x12cee1[_0x399a2a(0x283)],'lBgNu':_0x12cee1['ioVzd'],'KEYfg':_0x12cee1[_0x399a2a(0x542)]};return _0x12cee1[_0x399a2a(0x2d1)](_0x12cee1[_0x399a2a(0x1fb)],_0x12cee1[_0x399a2a(0x573)])?_0x1f1cb1[_0x399a2a(0x3c6)]&&_0x12cee1[_0x399a2a(0x596)](_0x1f1cb1[_0x399a2a(0x3c6)]['length'],0x0)?_0x1f1cb1[_0x399a2a(0x3c6)]['map'](_0x2485e7=>{const _0xf0515e=_0x399a2a;if(_0x12cee1['TcIqb']('CMYuA',_0x12cee1[_0xf0515e(0x2c0)])){if(_0x2485e7[_0xf0515e(0x4de)])_0x2485e7=utils['convertObjectIdsToStrings'](_0x2485e7[_0xf0515e(0x4de)]());else{if(_0x12cee1[_0xf0515e(0x2cc)](_0x12cee1[_0xf0515e(0x55d)],_0x12cee1[_0xf0515e(0x55d)]))_0x2485e7={..._0x2485e7};else{if(_0x3b3906)return _0x37f461[_0xf0515e(0x3ac)](_0xf0515e(0x516))[_0xf0515e(0x514)](_0x50c77c[_0xf0515e(0x3df)][_0xf0515e(0x1dd)],_0x57d952[_0xf0515e(0x3df)][_0xf0515e(0x1dd)],_0x99febb[_0xf0515e(0x330)],_0x3f80f2[_0xf0515e(0x584)]||_0x532ac9[_0xf0515e(0x221)]||_0x5a0183,null,{'id_app':_0x2d7250[_0xf0515e(0x3df)][_0xf0515e(0x3a1)]},!![],null,!![]);_0x36d1a0['getModel'](_0x99febb[_0xf0515e(0x3f9)])[_0xf0515e(0x514)](_0x39a039[_0xf0515e(0x3df)][_0xf0515e(0x1dd)],_0x45fead[_0xf0515e(0x3df)][_0xf0515e(0x1dd)],_0x99febb[_0xf0515e(0x335)],_0x99febb[_0xf0515e(0x335)],null,{'id_app':_0x22b1a8['user'][_0xf0515e(0x3a1)]},!![],null,!![]);}}return _0x2485e7['sl_xuat']=_0x12cee1[_0xf0515e(0x3a4)](_0x2485e7['sl_xuat'],_0x1f1cb1['sl_xuat']),_0x2485e7[_0xf0515e(0x2ca)]=_0x1f1cb1['ma_kho'],_0x2485e7;}else!_0x3d748a[_0xf0515e(0x447)](_0xfb81b7)?_0x3c707c['error'](_0xf0515e(0x353),_0x507602):_0xe76897=[..._0x4f645a,..._0x4cbf23];}):[_0x1f1cb1]:_0x510db6[_0x399a2a(0x2d0)](0x190)['send'](_0x57482b);})[_0x5eead5(0x53c)]((_0x408721,_0x1478e5)=>_0x408721['concat'](_0x1478e5),[]),await _0x5ac2f9['asyncJoinModel2'](_0x56f8d2['_id'],dmqddvt,{'where':{'ma_vt':'ma_vt','ma_dvt':_0x2c4912['nPYAj']},'fields':_0x5eead5(0x252)});let _0x39c94f=[];_0x36caf6['_id']&&(_0x2c4912[_0x5eead5(0x58c)](_0x2c4912[_0x5eead5(0x43f)],_0x2c4912[_0x5eead5(0x546)])?(_0x2dcc4a['setHeader'](_0x2c4912[_0x5eead5(0x48e)],_0x2c4912['TnelP']),_0x508dc0[_0x5eead5(0x434)](_0x2c4912['nlxlT'],_0x2c4912[_0x5eead5(0x2c6)](_0x2c4912[_0x5eead5(0x4e8)]('attachment;\x20filename=',_0x4597f3[_0x5eead5(0x2c8)]),_0x2c4912[_0x5eead5(0x485)])),_0x40ddf2[_0x5eead5(0x561)](_0x313c1f,_0x2c4912[_0x5eead5(0x2de)])):_0x39c94f=await global[_0x5eead5(0x3ac)](_0x2c4912[_0x5eead5(0x3f2)])[_0x5eead5(0x3c8)]({'id_ct':_0x36caf6[_0x5eead5(0x5ac)]['toString']()})[_0x5eead5(0x3ed)]()),_0x5ac2f9[_0x5eead5(0x254)](_0x312afe=>{const _0x121730=_0x5eead5;_0x312afe[_0x121730(0x3f4)]=_0x312afe[_0x121730(0x252)]||0x1,_0x312afe[_0x121730(0x3ff)]=_0x2c4912[_0x121730(0x350)](_0x312afe[_0x121730(0x3f4)],_0x312afe[_0x121730(0x298)]);}),_0x5ac2f9=await _0x5ac2f9[_0x5eead5(0x3ef)]([_0x2c4912['GHMas'],_0x2c4912[_0x5eead5(0x2b0)],_0x2c4912[_0x5eead5(0x5c9)]],['sl_xuat_qd']),async[_0x5eead5(0x4c3)](_0x5ac2f9,(_0x22dc9b,_0x23890f)=>{const _0x474fd9=_0x5eead5,_0x5984cb={'LGsfI':function(_0x2112f1,_0x55ec4a){return _0x2112f1(_0x55ec4a);},'TFIKR':function(_0x29dd3e,_0x2569fa){return _0x29dd3e+_0x2569fa;}};if('TRNJx'!==_0x12cee1['FbwAe']){let _0x561e33=_0x22dc9b[_0x474fd9(0x2ca)]||_0x36caf6[_0x474fd9(0x2ca)]||_0x36caf6[_0x474fd9(0x351)],_0xf2e8c9={'ma_vt':_0x22dc9b['ma_vt'],'ma_kho':_0x561e33,'ngay':new Date(),'id_app':_0x56f8d2[_0x474fd9(0x5ac)]};if(!_0x22dc9b['kg_kiem_tra_ton_kho_tt']){if(_0x22dc9b['ma_lo'])_0xf2e8c9[_0x474fd9(0x233)]=_0x22dc9b['ma_lo'];if(_0x22dc9b['han_sd'])_0xf2e8c9[_0x474fd9(0x438)]=_0x22dc9b[_0x474fd9(0x438)];if(_0x22dc9b['ma_tt1'])_0xf2e8c9['ma_tt1']=_0x22dc9b[_0x474fd9(0x37f)];if(_0x22dc9b['ma_tt2'])_0xf2e8c9[_0x474fd9(0x43d)]=_0x22dc9b['ma_tt2'];if(_0x22dc9b[_0x474fd9(0x270)])_0xf2e8c9[_0x474fd9(0x270)]=_0x22dc9b[_0x474fd9(0x270)];}ckvt(_0xf2e8c9,function(_0x294abd,_0x546026){const _0x545b1a=_0x474fd9,_0x4d2a26={'MvAVB':function(_0x1790eb,_0x515053){const _0x17a1bd=_0x53c7;return _0x12cee1[_0x17a1bd(0x484)](_0x1790eb,_0x515053);},'OpPCV':_0x12cee1[_0x545b1a(0x4f0)],'vAVyD':function(_0x322877,_0x15a91f,_0x54de32){const _0x29e153=_0x545b1a;return _0x12cee1[_0x29e153(0x455)](_0x322877,_0x15a91f,_0x54de32);},'mmGKe':_0x12cee1[_0x545b1a(0x1f8)]};if(_0x12cee1[_0x545b1a(0x4ed)](_0x12cee1['sQSNj'],_0x545b1a(0x557)))_0x4c858a[_0x545b1a(0x4c2)]({'allow':!![]});else{if(_0x294abd)return _0x23890f(_0x294abd);if(_0x546026){let _0x22f149=_0x546026['csum'](_0x12cee1[_0x545b1a(0x545)]),_0x4b1516=_0x39c94f[_0x545b1a(0x508)](_0x3f323d=>_0x3f323d['ma_vt']===_0x22dc9b[_0x545b1a(0x2bf)]&&_0x3f323d[_0x545b1a(0x2ca)]===_0x561e33)[_0x545b1a(0x53c)]((_0xe1bc0f,_0x18581a)=>(_0xe1bc0f[_0x545b1a(0x3ff)]||0x0)+(_0x18581a[_0x545b1a(0x3ff)]||0x0),0x0);_0x12cee1[_0x545b1a(0x425)](_0x22dc9b[_0x545b1a(0x3ff)],utils[_0x545b1a(0x570)](_0x12cee1[_0x545b1a(0x294)](_0x22f149,_0x4b1516),0x2))?_0x12cee1['lLhQq'](_0x23890f,'Sản\x20phẩm\x20'+_0x22dc9b[_0x545b1a(0x2bf)]+_0x545b1a(0x41b)+_0x22dc9b[_0x545b1a(0x29f)]+_0x545b1a(0x3b5)+_0x22dc9b['sl_xuat_qd']+')\x20lớn\x20hơn\x20số\x20lượng\x20tồn\x20quy\x20đổi\x20('+_0x12cee1['ALVSQ'](_0x22f149,_0x4b1516)+')'):_0x23890f();}else{if(_0x12cee1[_0x545b1a(0x51a)](_0x545b1a(0x5cd),_0x12cee1[_0x545b1a(0x30a)]))_0x23890f();else{let _0x5deef9=_0x9d8273;_0x4d2a26[_0x545b1a(0x54c)](_0x5deef9[_0x545b1a(0x393)](_0x4d2a26[_0x545b1a(0x1d6)]),0x0)&&(_0x5deef9=_0x545b1a(0x392)+_0x5deef9);_0x2761e3=_0x4d2a26[_0x545b1a(0x511)](_0x5f205d,_0x5deef9,{'master':_0x503e2a,'data':_0x16df51,'preRequest':_0x52aa46});if(!_0x450ba4['isArray'](_0x2d0605)){_0x5c6010[_0x545b1a(0x221)](_0x4d2a26[_0x545b1a(0x2f6)],_0x1e446f);return;}}}}});}else _0x5984cb[_0x474fd9(0x2d5)](_0x21be72,'Sản\x20phẩm\x20'+_0x19374c['ma_vt']+'\x20-\x20'+_0xc3bf18[_0x474fd9(0x29f)]+'\x20có\x20số\x20lượng\x20xuất\x20quy\x20đổi\x20('+_0xbb73cb[_0x474fd9(0x3ff)]+_0x474fd9(0x5a1)+_0x5984cb[_0x474fd9(0x3e7)](_0x3275be,_0x52336f)+')');},_0x37a452=>{const _0x2ccc42=_0x5eead5;_0x2c4912['LGPox'](_0x2c4912['peZVs'],'qDzYs')?_0x371543[_0x2ccc42(0x38c)]={}:_0x2c4912[_0x2ccc42(0x262)](_0x1235b4,_0x37a452);});})()):_0x378a59[_0x3b8dba(0x553)](_0x1235b4);}},_0x31eb12=>{const _0x57963f=_0x298649;_0x378a59[_0x57963f(0x2bd)](_0x5ea752,_0x31eb12);});}async[_0x444c5d(0x245)](_0x14d316,_0x3195c4){const _0x31b61c=_0x444c5d;if(_0x14d316&&_0x14d316[_0x31b61c(0x4de)])_0x14d316=utils['convertObjectIdsToStrings'](_0x14d316[_0x31b61c(0x4de)]());await redisCache[_0x31b61c(0x457)](this[_0x31b61c(0x334)],_0x14d316,_0x3195c4);}async['deleteData'](_0x1ed7d0,_0x118cb6){const _0x3f567a=_0x444c5d;if(_0x1ed7d0&&_0x1ed7d0[_0x3f567a(0x4de)])_0x1ed7d0=utils['convertObjectIdsToStrings'](_0x1ed7d0[_0x3f567a(0x4de)]());await redisCache[_0x3f567a(0x229)](this[_0x3f567a(0x334)],_0x1ed7d0,_0x118cb6);}['createRoute'](_0x297351,_0x1020be,_0x2b878f={'method':'GET','not_use_worker':![]}){const _0x154fa0=_0x444c5d,_0x46a44f={'ykfVc':function(_0x41bba1,_0x2578fe,_0x4a7dd9){return _0x41bba1(_0x2578fe,_0x4a7dd9);},'toPmW':function(_0x4be320,_0x26eff6){return _0x4be320*_0x26eff6;},'HgEHu':'[postAgain]:\x20Error','fuEkB':function(_0x4ffe65,_0x9d5728){return _0x4ffe65(_0x9d5728);},'BEITs':function(_0x109f3f,_0x5c102b){return _0x109f3f!==_0x5c102b;},'ZMOQN':_0x154fa0(0x1d8),'TrebA':function(_0x4e271b,_0x2abe5d,_0x19dce4,_0x492fa2,_0x186599,_0x1d29e8,_0x176027){return _0x4e271b(_0x2abe5d,_0x19dce4,_0x492fa2,_0x186599,_0x1d29e8,_0x176027);},'cVwxH':_0x154fa0(0x413),'uoKuK':function(_0x1c228a,_0x533d06,_0x45b552){return _0x1c228a(_0x533d06,_0x45b552);},'UPyXH':_0x154fa0(0x437),'jXQdf':_0x154fa0(0x49c),'QNCrU':_0x154fa0(0x269),'ckLJt':_0x154fa0(0x446),'hSXVb':function(_0x484043,_0x557662){return _0x484043===_0x557662;},'YQQIo':_0x154fa0(0x26f),'Kjhby':_0x154fa0(0x391),'dtwGy':_0x154fa0(0x418),'CqJsK':_0x154fa0(0x516),'YRBhd':_0x154fa0(0x33f),'KFroo':'request\x20approve','XeVVS':function(_0x38210c,_0x44ff45){return _0x38210c!==_0x44ff45;},'JflBk':_0x154fa0(0x242),'ZGIBm':_0x154fa0(0x1f9),'Gmncr':function(_0xda09a7,_0x2c4f41){return _0xda09a7==_0x2c4f41;},'MqcTD':'DELETE','fAzgb':'skiRW','QRbUA':_0x154fa0(0x2e0),'RUIXQ':_0x154fa0(0x3f0),'snwAH':_0x154fa0(0x474),'MgbiV':_0x154fa0(0x49b),'Tmzaf':'qqCEY','lahGE':function(_0x19b556,_0x42700e){return _0x19b556==_0x42700e;},'pVfUj':_0x154fa0(0x454),'UvDpu':function(_0x1adcdb,_0x3e3988){return _0x1adcdb!==_0x3e3988;},'cdEnk':_0x154fa0(0x488),'JFIhr':function(_0x50e9b3,_0x4aa7f8){return _0x50e9b3===_0x4aa7f8;},'rVVNG':'haUFc'},_0x51112d=this;if(!_0x2b878f['method']){if(_0x46a44f[_0x154fa0(0x297)](_0x154fa0(0x242),_0x46a44f[_0x154fa0(0x2cf)]))return _0x46a44f[_0x154fa0(0x5a3)](_0x3c857e,_0x20702f,{'master':_0x5c124f,'data':_0xd1dbb7});else _0x2b878f[_0x154fa0(0x53f)]=_0x46a44f[_0x154fa0(0x204)];}else _0x2b878f['method']=_0x2b878f[_0x154fa0(0x53f)]['toUpperCase']();const _0x2f1f94=_0x154fa0(0x314)+_0x51112d['name']+'_'+_0x297351+'_'+_0x2b878f[_0x154fa0(0x53f)];_0x51112d[_0x2f1f94]=_0x1020be;const _0x4bfad6=async function(_0x19ac42,_0x2b23d8){const _0x5f1fe3=_0x154fa0,_0x4be449={'SjVWi':function(_0x1fa2cb,_0x3dfb67,_0x1ffdfb,_0x2f06aa,_0x8b35a1,_0x75bbc4,_0x584527){return _0x46a44f['TrebA'](_0x1fa2cb,_0x3dfb67,_0x1ffdfb,_0x2f06aa,_0x8b35a1,_0x75bbc4,_0x584527);},'usfQP':function(_0x29608d,_0x5b9fd2){return _0x29608d===_0x5b9fd2;},'zNJdE':_0x46a44f[_0x5f1fe3(0x28b)],'xsfZL':function(_0x4a9cfe,_0x35bf2e,_0x41c351){const _0x43815f=_0x5f1fe3;return _0x46a44f[_0x43815f(0x559)](_0x4a9cfe,_0x35bf2e,_0x41c351);}};if(_0x46a44f[_0x5f1fe3(0x3c1)](_0x5f1fe3(0x522),_0x46a44f[_0x5f1fe3(0x1e9)])){const {query:_0x3380f9,body:_0x1ab312,user:_0x56a4a2,params:_0x4e247c,headers:_0x192e51,files:_0x90f038}=_0x19ac42,_0x4fa32c=_0x19ac42[_0x5f1fe3(0x3bd)](_0x46a44f[_0x5f1fe3(0x27b)]),_0x5ab6a9=_0x19ac42['ip']||_0x19ac42[_0x5f1fe3(0x5a9)][_0x46a44f['QNCrU']]||_0x19ac42[_0x5f1fe3(0x3c9)]['remoteAddress'];try{if(_0x46a44f[_0x5f1fe3(0x3c1)](_0x46a44f[_0x5f1fe3(0x3fa)],_0x46a44f[_0x5f1fe3(0x3fa)]))_0x27b6bf[_0x5f1fe3(0x36d)](_0x3195f0?.[_0x5f1fe3(0x32d)]);else{const _0x21e725={'handler':'createRouteHandler','routeName':_0x297351,'_options':_0x2b878f,'route_action_key':_0x2f1f94,'query':_0x3380f9,'body':_0x1ab312,'user':_0x56a4a2,'params':_0x4e247c,'headers':_0x192e51,'user_agent':_0x4fa32c,'ip':_0x5ab6a9,'files':_0x90f038,'originalUrl':_0x19ac42['originalUrl']};if(global[_0x5f1fe3(0x380)]&&!_0x2b878f[_0x5f1fe3(0x30b)]){if(_0x46a44f[_0x5f1fe3(0x3f1)](_0x5f1fe3(0x4f8),_0x46a44f['YQQIo']))return _0x31cfd6['toObject']?_0x36ca06=_0x2d34ce[_0x5f1fe3(0x3b8)](_0x256df5[_0x5f1fe3(0x4de)]()):_0x2aa485={..._0x11e97b},_0x33afed['sl_xuat']=_0x46a44f[_0x5f1fe3(0x261)](_0x2f6eee[_0x5f1fe3(0x298)],_0x3d99ea[_0x5f1fe3(0x298)]),_0x1003c5[_0x5f1fe3(0x2ca)]=_0x28d4b3[_0x5f1fe3(0x2ca)],_0x26074c;else global[_0x5f1fe3(0x380)][_0x5f1fe3(0x241)]({'req':_0x21e725,'module':_0x51112d['name']['toUpperCase'](),'configs':JSON[_0x5f1fe3(0x24b)](configs)},_0x37f61b=>{const _0x364cc4=_0x5f1fe3;if(_0x37f61b[_0x364cc4(0x221)])return _0x2b23d8['status'](0x190)['send']({'error':_0x37f61b[_0x364cc4(0x221)]['error']||_0x37f61b[_0x364cc4(0x221)][_0x364cc4(0x584)]||_0x37f61b[_0x364cc4(0x221)],'message':_0x37f61b['message']||_0x37f61b['error']['error']||_0x37f61b[_0x364cc4(0x221)]['message']||_0x37f61b[_0x364cc4(0x221)]});else{if(_0x4be449[_0x364cc4(0x218)](_0x4be449[_0x364cc4(0x49f)],_0x4be449[_0x364cc4(0x49f)]))_0x2b23d8[_0x364cc4(0x4c2)](_0x37f61b[_0x364cc4(0x20c)]);else return _0x4be449[_0x364cc4(0x521)](_0x3179df,this,_0x4e955f,_0x6f0803,_0x4bc8e9,_0x134044,_0x3b1150);}});}else handlers[_0x5f1fe3(0x439)](_0x51112d,_0x21e725,(_0x3f1e0e,_0x245f2e)=>{const _0x3d8476=_0x5f1fe3,_0x1ba420={'GBomv':_0x46a44f[_0x3d8476(0x2dc)],'lHUfI':function(_0x25b77f,_0x232f78){const _0x39e39c=_0x3d8476;return _0x46a44f[_0x39e39c(0x3c7)](_0x25b77f,_0x232f78);}};if(_0x46a44f['BEITs'](_0x46a44f[_0x3d8476(0x422)],_0x46a44f[_0x3d8476(0x422)]))return _0x3d252f['error'](_0x1ba420[_0x3d8476(0x316)],_0x3d234b),_0x1ba420[_0x3d8476(0x5ba)](_0x18e01f,{'error':_0x38bd0a[_0x3d8476(0x584)]||_0x5b7206[_0x3d8476(0x221)]||_0x3f1af8});else{if(_0x3f1e0e)return _0x2b23d8[_0x3d8476(0x2d0)](0x190)[_0x3d8476(0x4c2)](_0x3f1e0e);_0x2b23d8[_0x3d8476(0x4c2)](_0x245f2e);}});}}catch(_0x584a5f){if(_0x46a44f[_0x5f1fe3(0x3c1)](_0x46a44f[_0x5f1fe3(0x453)],_0x46a44f[_0x5f1fe3(0x587)]))_0x2b23d8[_0x5f1fe3(0x2d0)](0x190)[_0x5f1fe3(0x4c2)](_0x584a5f);else{let _0x59c128=this[_0x5f1fe3(0x389)][_0x5f1fe3(0x220)];return _0x3949f0['isFunction'](_0x59c128)&&(_0x59c128=_0x4be449[_0x5f1fe3(0x4c1)](_0x59c128,_0x1b6622,_0x2c31aa)),_0x59c128;}}}else return _0x4f57e9[_0x5f1fe3(0x2d0)](0x190)['send']({'error':_0x5d50da['error'][_0x5f1fe3(0x221)]||_0x138951['error']['message']||_0x157bd6[_0x5f1fe3(0x221)],'message':_0x5e6b3f[_0x5f1fe3(0x584)]||_0x3bb3ed['error'][_0x5f1fe3(0x221)]||_0x4b8b4e[_0x5f1fe3(0x221)][_0x5f1fe3(0x584)]||_0x9acc5b[_0x5f1fe3(0x221)]});};let _0x1c7721=this[_0x154fa0(0x532)]+'/'+_0x297351,_0x347275=this[_0x154fa0(0x4bc)];if(_0x46a44f[_0x154fa0(0x1ef)](_0x2b878f['method'],_0x46a44f['MqcTD']))_0x46a44f['hSXVb'](_0x46a44f[_0x154fa0(0x326)],_0x46a44f[_0x154fa0(0x348)])?_0x7b7004(_0x2a7dc1,_0x5a8918):_0x347275[_0x154fa0(0x472)](_0x1c7721)[_0x154fa0(0x5bc)](_0x4bfad6);else{if(_0x46a44f['RUIXQ']===_0x46a44f['snwAH'])return _0x1ee861[_0x154fa0(0x3ac)](_0x46a44f[_0x154fa0(0x4a3)])[_0x154fa0(0x514)](_0xd083f7[_0x154fa0(0x3df)][_0x154fa0(0x1dd)],_0x4f4573[_0x154fa0(0x3df)]['email'],_0x46a44f[_0x154fa0(0x5bf)],_0x88bca8[_0x154fa0(0x584)]||_0x3a3764[_0x154fa0(0x221)]||_0x184933,null,{'id_app':_0x203013[_0x154fa0(0x3df)]['current_id_app']},!![],null,!![]);else{if(_0x46a44f[_0x154fa0(0x1ef)](_0x2b878f[_0x154fa0(0x53f)],_0x46a44f[_0x154fa0(0x386)]))_0x347275[_0x154fa0(0x472)](_0x1c7721)[_0x154fa0(0x471)](_0x4bfad6);else{if(_0x46a44f[_0x154fa0(0x5c3)]!==_0x46a44f[_0x154fa0(0x5c3)])_0x373531=_0x395817['convertObjectIdsToStrings'](_0x541f65[_0x154fa0(0x4de)]());else{if(_0x46a44f[_0x154fa0(0x59e)](_0x2b878f[_0x154fa0(0x53f)],_0x46a44f[_0x154fa0(0x4d4)]))_0x46a44f[_0x154fa0(0x4c0)](_0x46a44f[_0x154fa0(0x3e1)],'SFnXf')?_0xa46d05[_0x154fa0(0x221)](_0x46a44f[_0x154fa0(0x2a4)],_0x250b5f):_0x347275[_0x154fa0(0x472)](_0x1c7721)['put'](_0x4bfad6);else{if(_0x46a44f[_0x154fa0(0x52d)](_0x46a44f[_0x154fa0(0x2f7)],_0x154fa0(0x3eb))){if(_0x3279eb['error'])return _0x70f670['status'](0x190)[_0x154fa0(0x4c2)]({'error':_0x2dca77[_0x154fa0(0x221)][_0x154fa0(0x221)]||_0x3a0a7b[_0x154fa0(0x221)][_0x154fa0(0x584)]||_0x11aab1[_0x154fa0(0x221)],'message':_0x78d148[_0x154fa0(0x584)]||_0x3954e8[_0x154fa0(0x221)][_0x154fa0(0x221)]||_0x32855e[_0x154fa0(0x221)][_0x154fa0(0x584)]||_0x59b18e[_0x154fa0(0x221)]});else _0x4a2208[_0x154fa0(0x4c2)](_0x26b559[_0x154fa0(0x20c)]);}else _0x347275[_0x154fa0(0x472)](_0x1c7721)['get'](_0x4bfad6);}}}}}}async['requestApprove'](_0x2dd720,_0xd91b64,_0x471788,_0x28ab3e,_0x257449,_0x4ab90b){const _0x16ceab=_0x444c5d,_0x1f21a7={'IZVyS':_0x16ceab(0x564),'WPXtu':_0x16ceab(0x516),'blLEG':function(_0x2e99bd,_0x36fd7a){return _0x2e99bd(_0x36fd7a);},'XUonk':function(_0xc84973){return _0xc84973();},'rwZTe':'return\x20','gDCWC':function(_0x5adfc2,_0x5e859c){return _0x5adfc2!==_0x5e859c;},'fVjHe':'GWfAz','wzIwT':'[controller][requestApprove]\x20request\x20approve','UVRbF':_0x16ceab(0x4a6),'UYlzS':function(_0x542e10,_0x5c7307){return _0x542e10===_0x5c7307;},'oLGgT':_0x16ceab(0x4f4),'Cilvl':function(_0x5b05be,_0x178694){return _0x5b05be<_0x178694;},'QLKSg':_0x16ceab(0x411),'IihJW':function(_0x51a638,_0x1afe77){return _0x51a638||_0x1afe77;},'zUtes':_0x16ceab(0x537),'XoDZM':'HbQrY','Ewzgn':_0x16ceab(0x293),'kOmxu':function(_0x4f9fa3,_0x5ea6a1){return _0x4f9fa3<_0x5ea6a1;},'ncurB':_0x16ceab(0x3cc),'DECfq':function(_0x3cbf45,_0x42ede0,_0x296f9e){return _0x3cbf45(_0x42ede0,_0x296f9e);},'iwbjp':'check\x20condition\x20approve','fsrUB':_0x16ceab(0x2f2),'DwYhf':function(_0x400d89,_0x2eddb3,_0x2f6642){return _0x400d89(_0x2eddb3,_0x2f6642);},'uCLlP':_0x16ceab(0x349),'HjzRx':function(_0x1bc2f7,_0x3b50c2){return _0x1bc2f7(_0x3b50c2);},'ByCwx':function(_0x5057f2,_0x410211){return _0x5057f2(_0x410211);},'gMkxq':_0x16ceab(0x4bf),'RfmhV':function(_0xe1cbc1,_0x1fa2e2){return _0xe1cbc1!==_0x1fa2e2;},'CUuAh':_0x16ceab(0x58d),'yoYbz':'HuKUl','PQDCD':'Yêu\x20cầu\x20duyệt','twRlU':function(_0x5712a4,_0x2d56e0){return _0x5712a4>=_0x2d56e0;},'HQrVr':_0x16ceab(0x3db),'zbbwk':function(_0x2e01d0,_0x3b0eb4){return _0x2e01d0===_0x3b0eb4;},'aZDPO':'zCJsD','hvrZT':function(_0x470e83,_0x589874){return _0x470e83===_0x589874;},'EELEn':_0x16ceab(0x35e),'waoeS':function(_0x1cd65c,_0x46653a){return _0x1cd65c===_0x46653a;},'xwdcl':_0x16ceab(0x52a),'HYbZe':_0x16ceab(0x49e),'URZTc':function(_0x5965aa,_0x2f925a){return _0x5965aa===_0x2f925a;},'TZRdC':_0x16ceab(0x51f),'Ukyfl':_0x16ceab(0x41f),'LUTKm':_0x16ceab(0x1e8),'PvWef':function(_0x5238cb,_0x541db1){return _0x5238cb!==_0x541db1;},'uqxcy':_0x16ceab(0x318),'UCiXx':_0x16ceab(0x28f),'BhvUa':_0x16ceab(0x353),'ClgWq':_0x16ceab(0x215),'GCqJG':function(_0x25e63f,_0x16d5f4){return _0x25e63f===_0x16d5f4;},'stLbY':_0x16ceab(0x4e4),'kRfMZ':_0x16ceab(0x2f8),'zEnJP':_0x16ceab(0x20d),'pYtAx':_0x16ceab(0x323),'CpDie':function(_0x4fb0c5,_0x2f8e76){return _0x4fb0c5===_0x2f8e76;},'rvdhH':_0x16ceab(0x2b7),'tjlMt':function(_0x24a8ac,_0x2c6679){return _0x24a8ac==_0x2c6679;},'mNpBE':'email','hZbVA':_0x16ceab(0x2c8),'aIyey':_0x16ceab(0x400),'Zrbsr':_0x16ceab(0x2c2)};let _0x3c9dfb=this;if(!_0x2dd720){if(_0x1f21a7[_0x16ceab(0x2a9)](_0x1f21a7[_0x16ceab(0x590)],_0x1f21a7[_0x16ceab(0x257)]))return _0x1f21a7[_0x16ceab(0x36a)](_0x28ab3e,null,_0x471788);else{const _0x379b19=_0x556060[_0x16ceab(0x221)];if(_0x379b19)return _0x3dddc0[_0x16ceab(0x3ac)](_0x16ceab(0x516))[_0x16ceab(0x514)](_0x30c8a6[_0x16ceab(0x3df)][_0x16ceab(0x1dd)],_0x238e40[_0x16ceab(0x3df)][_0x16ceab(0x1dd)],_0x1f21a7['IZVyS'],_0x379b19[_0x16ceab(0x584)]||_0x379b19['error']||_0x379b19,null,{'id_app':_0x2027aa[_0x16ceab(0x3df)][_0x16ceab(0x3a1)]},!![],_0x59f663[_0x16ceab(0x4d9)],!![]);_0x2a4f67[_0x16ceab(0x3ac)](_0x1f21a7['WPXtu'])[_0x16ceab(0x514)](_0x1990a7[_0x16ceab(0x3df)]['email'],_0x2a9523[_0x16ceab(0x3df)][_0x16ceab(0x1dd)],'Chương\x20trình\x20đã\x20cập\x20nhật\x20lại\x20sổ\x20sách\x20xong',_0x16ceab(0x5c7),null,{'id_app':_0x270e59[_0x16ceab(0x3df)][_0x16ceab(0x3a1)]},!![],_0x10c758[_0x16ceab(0x4d9)],!![]);}}let _0x5bd89b;_0x471788['toObject']?_0x5bd89b=utils['convertObjectIdsToStrings'](_0x471788[_0x16ceab(0x4de)]()):_0x5bd89b=_[_0x16ceab(0x3a5)](_0x471788);_0x5bd89b[_0x16ceab(0x2f3)]=_0x5bd89b[_0x16ceab(0x2f3)]||_0x3c9dfb[_0x16ceab(0x2c8)];let _0x61b7d1=[];const _0x241435=_0x5bd89b[_0x16ceab(0x33e)]||_0x3c9dfb['name'];if(!_0x257449)_0x257449=(await OptionsModel[_0x16ceab(0x58f)]({'id_app':_0x5bd89b[_0x16ceab(0x312)],'id_func':_0x241435},{'option':0x1})[_0x16ceab(0x3ed)]()||{})['option'];_0x257449&&_0x257449[_0x16ceab(0x2e9)]&&_0x257449['custom_approve_user'][_0x16ceab(0x254)](_0x53f56f=>{const _0x5001d8=_0x16ceab,_0x290b2d={'gIyHj':function(_0x1c53ba,_0x49dc9f){const _0x57d9c3=_0x53c7;return _0x1f21a7[_0x57d9c3(0x4d7)](_0x1c53ba,_0x49dc9f);},'hkRzS':function(_0xf437c4){return _0x1f21a7['XUonk'](_0xf437c4);}};let _0x3f27c9,_0x3d9481;if(_0x53f56f[_0x5001d8(0x4ae)])try{let _0x4435f6=_0x53f56f['update_after_approve'];if(_0x4435f6[_0x5001d8(0x393)](_0x1f21a7[_0x5001d8(0x57c)])<0x0){if(_0x1f21a7[_0x5001d8(0x34e)](_0x1f21a7[_0x5001d8(0x5c2)],_0x1f21a7['fVjHe'])){if(_0x5d5e08)return _0x290b2d[_0x5001d8(0x387)](_0x484915,_0x9744d3);_0x290b2d[_0x5001d8(0x274)](_0x41d8eb);}else _0x4435f6=_0x5001d8(0x392)+_0x4435f6;}_0x3f27c9=evalute(_0x4435f6);}catch(_0x1b1a58){console[_0x5001d8(0x221)](_0x1f21a7[_0x5001d8(0x3b4)],_0x1b1a58,_0x53f56f[_0x5001d8(0x4ae)]),_0x3f27c9={};}else{if(_0x1f21a7[_0x5001d8(0x311)]!==_0x1f21a7[_0x5001d8(0x311)])return _0x2b3eb3['status'](0x190)[_0x5001d8(0x4c2)]({'error':_0x4815d6[_0x5001d8(0x584)]||_0x5323f7[_0x5001d8(0x221)]||_0x555a62});else _0x3f27c9={};}_0x53f56f[_0x5001d8(0x4ae)]={'module':_0x3c9dfb['name'],'cho_phep_cap_nhat_khi_da_duyet':_0x53f56f[_0x5001d8(0x496)],'data':{'trang_thai':_0x53f56f[_0x5001d8(0x305)],..._0x3f27c9[_0x5001d8(0x1e6)]||{}}};if(_0x53f56f[_0x5001d8(0x563)]){if(_0x1f21a7[_0x5001d8(0x20b)](_0x1f21a7[_0x5001d8(0x4b5)],_0x1f21a7['oLGgT']))try{let _0x3e1f14=_0x53f56f[_0x5001d8(0x563)];_0x1f21a7[_0x5001d8(0x466)](_0x3e1f14[_0x5001d8(0x393)](_0x1f21a7[_0x5001d8(0x57c)]),0x0)&&(_0x3e1f14=_0x5001d8(0x392)+_0x3e1f14),_0x3d9481=evalute(_0x3e1f14);}catch(_0x125a83){console[_0x5001d8(0x221)](_0x1f21a7['QLKSg'],_0x125a83);}else _0x44becb=_0x5001d8(0x392)+_0x216d16;}(_0x3d9481||_0x53f56f[_0x5001d8(0x5bd)])&&(_0x53f56f[_0x5001d8(0x563)]={'module':_0x3c9dfb[_0x5001d8(0x2c8)],'data':{'trang_thai':_0x53f56f[_0x5001d8(0x5bd)],..._0x1f21a7[_0x5001d8(0x416)](_0x3d9481,{})[_0x5001d8(0x1e6)]||{}}}),_0x61b7d1[_0x5001d8(0x36d)](_0x53f56f);});_0x61b7d1=_0x61b7d1[_0x16ceab(0x508)](_0x1df225=>{const _0x4b678f=_0x16ceab;if(_0x1f21a7[_0x4b678f(0x2ab)]===_0x1f21a7[_0x4b678f(0x42b)])return _0x44968d[_0x4b678f(0x2d0)](0x190)['send']({'error':_0x1f21a7[_0x4b678f(0x26a)]});else{let _0x565da4=_0x1df225[_0x4b678f(0x4ee)];if(!_0x565da4)return!![];_0x1f21a7[_0x4b678f(0x469)](_0x565da4[_0x4b678f(0x393)](_0x1f21a7[_0x4b678f(0x57c)]),0x0)&&(_0x565da4=_0x4b678f(0x392)+_0x565da4);try{if(_0x1f21a7['ncurB']!==_0x1f21a7[_0x4b678f(0x4b1)])_0x5861de(_0x4c9894,this,_0x6b0a7e,_0x55a6eb,_0x210161);else return _0x1f21a7[_0x4b678f(0x552)](evalute,_0x565da4,{'master':_0x5bd89b,'data':_0x5bd89b});}catch(_0x292982){return console[_0x4b678f(0x221)](_0x1f21a7[_0x4b678f(0x48f)],_0x292982,_0x565da4),![];}}});try{for(let _0x3f6f9d of _0x61b7d1['filter'](_0x3001d7=>{const _0x41df46=_0x16ceab;return _0x3001d7[_0x41df46(0x5c5)]||_0x3001d7[_0x41df46(0x292)]||_0x3001d7[_0x41df46(0x4cd)];})){let _0x29be89=_0x3f6f9d[_0x16ceab(0x58a)]||_0x1f21a7[_0x16ceab(0x483)];if(_0x1f21a7['twRlU'](_0x29be89[_0x16ceab(0x393)](_0x1f21a7[_0x16ceab(0x57c)]),0x0)){let _0x5826f8=_0x29be89;try{_0x16ceab(0x1fa)!==_0x1f21a7[_0x16ceab(0x517)]?_0x29be89=evalute(_0x5826f8,{'master':_0x5bd89b,'data':_0x5bd89b}):_0x418fad[_0x16ceab(0x472)](_0x3eefe4)[_0x16ceab(0x402)](_0xf0bdd5);}catch(_0x41a892){console[_0x16ceab(0x221)](_0x1f21a7[_0x16ceab(0x479)],_0x41a892,_0x5826f8);}}let _0x2aaac2=_0x3f6f9d[_0x16ceab(0x5c5)],_0xbcc246=_0x3f6f9d[_0x16ceab(0x4ae)],_0x1fd352=_0x3f6f9d[_0x16ceab(0x563)];if(_['isString'](_0x2aaac2)){if(_0x1f21a7[_0x16ceab(0x406)](_0x1f21a7[_0x16ceab(0x258)],_0x1f21a7[_0x16ceab(0x258)]))try{if(_0x1f21a7[_0x16ceab(0x263)](_0x1f21a7[_0x16ceab(0x482)],_0x1f21a7[_0x16ceab(0x482)])){let _0x174043=_0x2aaac2;_0x174043[_0x16ceab(0x393)](_0x1f21a7[_0x16ceab(0x57c)])<0x0&&(_0x174043=_0x16ceab(0x392)+_0x174043);_0x2aaac2=_0x1f21a7[_0x16ceab(0x552)](evalute,_0x174043,{'master':_0x5bd89b,'data':_0x5bd89b,'preRequest':_0x4ab90b});if(!_[_0x16ceab(0x447)](_0x2aaac2)){if(_0x1f21a7[_0x16ceab(0x4a5)]('yoMNX',_0x16ceab(0x4db))){console[_0x16ceab(0x221)](_0x16ceab(0x39d),_0x2aaac2);return;}else return _0x16d74f['toString']()[_0x16ceab(0x4bb)](qerKYQ['fsrUB'])[_0x16ceab(0x4d1)]()[_0x16ceab(0x30c)](_0x539270)[_0x16ceab(0x4bb)](qerKYQ[_0x16ceab(0x56e)]);}}else{if(_0x4ad406)return _0x171145['status'](0x190)[_0x16ceab(0x4c2)](_0x9eceb6);_0x1f21a7[_0x16ceab(0x36a)](_0x47138a,_0x5486c8,_0x8ea0c6);}}catch(_0x19321b){console[_0x16ceab(0x221)](_0x16ceab(0x411),_0x19321b,_0x2aaac2);return;}else return _0x53496f['status'](0x190)[_0x16ceab(0x4c2)]({'error':_0x11aca5[_0x16ceab(0x221)]['error']||_0x5e5b15[_0x16ceab(0x221)][_0x16ceab(0x584)]||_0x55af4f[_0x16ceab(0x221)],'message':_0x485fa2[_0x16ceab(0x584)]||_0x35f834[_0x16ceab(0x221)][_0x16ceab(0x221)]||_0x4dd725[_0x16ceab(0x221)][_0x16ceab(0x584)]||_0x158c56[_0x16ceab(0x221)]});}let _0x593a53=_0x3f6f9d[_0x16ceab(0x4cd)];if(_0x593a53&&_0x5bd89b[_0x16ceab(0x256)]){let _0x17c352=await global[_0x16ceab(0x3ac)](_0x1f21a7[_0x16ceab(0x31a)])[_0x16ceab(0x58f)]({'id_app':_0x5bd89b[_0x16ceab(0x312)],'ma_nv':_0x5bd89b[_0x16ceab(0x256)]},{'ma_bp':0x1})['lean']();if(_0x17c352?.['ma_bp']){let _0x230059=await global['getModel'](_0x1f21a7[_0x16ceab(0x572)])[_0x16ceab(0x58f)]({'id_app':_0x5bd89b[_0x16ceab(0x312)],'ma_bp':_0x17c352?.['ma_bp']},{'phu_trach':0x1})[_0x16ceab(0x3ed)]();_0x230059?.[_0x16ceab(0x32d)]&&(_0x1f21a7['URZTc'](_0x1f21a7[_0x16ceab(0x503)],_0x1f21a7[_0x16ceab(0x2f4)])?_0x244f3a[_0x16ceab(0x472)](_0x460966)[_0x16ceab(0x471)](_0xb51f6):_0x2aaac2['push'](_0x230059?.[_0x16ceab(0x32d)]));}}if(_0x3f6f9d['approve_users_custom']){if(_0x1f21a7[_0x16ceab(0x4a5)](_0x1f21a7[_0x16ceab(0x3fc)],_0x1f21a7['LUTKm']))try{if(_0x1f21a7['PvWef'](_0x1f21a7[_0x16ceab(0x1f6)],_0x1f21a7[_0x16ceab(0x4b9)])){let _0x81b52b=_0x3f6f9d['approve_users_custom'];_0x1f21a7['kOmxu'](_0x81b52b[_0x16ceab(0x393)](_0x16ceab(0x392)),0x0)&&(_0x81b52b='return\x20'+_0x81b52b);let _0x3b0b9b=_0x16ceab(0x382)+_0x81b52b+_0x16ceab(0x4af),_0x3a7796=await _0x1f21a7[_0x16ceab(0x36a)](evalute,_0x3b0b9b,{'master':_0x5bd89b,'data':_0x5bd89b,'preRequest':_0x4ab90b,'utils':utils})();if(_0x3a7796){if(!_['isArray'](_0x3a7796))console[_0x16ceab(0x221)](_0x1f21a7['BhvUa'],_0x3a7796);else{if(_0x1f21a7[_0x16ceab(0x2a9)]('XRbfg',_0x1f21a7[_0x16ceab(0x5ad)])){if(_0xbbd0f3){_0x11a95d['error'](_0x1f21a7[_0x16ceab(0x4da)],_0x565e3a);if(_0x3db332[_0x16ceab(0x221)])return _0x5c97eb[_0x16ceab(0x2d0)](0x190)[_0x16ceab(0x4c2)](_0x52e4b4);return _0x471b12['status'](0x190)[_0x16ceab(0x4c2)]({'error':_0x438810[_0x16ceab(0x584)]||_0x3372fb});}_0x398ead[_0x16ceab(0x4c2)](_0x2f0299);}else _0x2aaac2=[..._0x2aaac2,..._0x3a7796];}}}else{if(_0x2c28ca)return _0x52f00b[_0x16ceab(0x2d0)](0x190)[_0x16ceab(0x4c2)]({'error':_0x2885ba['error']||_0x250569[_0x16ceab(0x584)]||_0x3b7508});_0x86362b[_0x16ceab(0x4c2)](_0x3b1ce5);}}catch(_0x418334){_0x1f21a7['GCqJG'](_0x1f21a7['stLbY'],_0x1f21a7['kRfMZ'])?_0x28a4c4={..._0x3986bb}:console[_0x16ceab(0x221)](_0x1f21a7[_0x16ceab(0x50e)],_0x418334,_0x3f6f9d[_0x16ceab(0x292)]);}else return _0x2e1104[_0x16ceab(0x5c5)]||_0xbb98c3[_0x16ceab(0x292)]||_0x3d90ad[_0x16ceab(0x4cd)];}console[_0x16ceab(0x527)](_0x1f21a7[_0x16ceab(0x4ab)],_0x2aaac2);if(!_0x2aaac2||_0x1f21a7['CpDie'](_0x2aaac2[_0x16ceab(0x271)],0x0)){if(_0x1f21a7[_0x16ceab(0x34e)](_0x16ceab(0x2ba),_0x1f21a7[_0x16ceab(0x45b)]))continue;else _0x1f21a7['HjzRx'](_0x405142,_0x4243d7);}_0x2aaac2=[...new Set(_0x2aaac2)];if(_0x1f21a7[_0x16ceab(0x3b7)](_0x5bd89b[_0x16ceab(0x5b9)],_0x3f6f9d[_0x16ceab(0x5b9)])){let _0x3d38c0=_0x2aaac2[_0x16ceab(0x4c3)](_0x562e89=>{return{'email':_0x562e89,'name':_0x562e89};});await _0x3d38c0['asyncJoinModel2'](_0x5bd89b[_0x16ceab(0x312)],Participant,{'where':_0x1f21a7['mNpBE'],'fields':_0x1f21a7[_0x16ceab(0x388)]}),await[_0xd91b64][_0x16ceab(0x276)](_0x5bd89b[_0x16ceab(0x312)],Participant,{'where':_0x1f21a7['mNpBE'],'fields':_0x1f21a7['hZbVA']}),await new Promise((_0x3c4b63,_0x141d6a)=>{const _0x34aa4c=_0x16ceab;if(_0x1f21a7[_0x34aa4c(0x3d3)]===_0x34aa4c(0x2cb)){if(_0x468496)return _0x537fd4[_0x34aa4c(0x2d0)](0x190)['send'](_0x1d3d20);_0x1cb005[_0x34aa4c(0x4c2)](_0x49dfbb);}else Approve[_0x34aa4c(0x3d1)](_0xd91b64,_0x3d38c0,_0x29be89,_0x5bd89b,_0x47252f=>{const _0x1e3d17=_0x34aa4c;if(_0x47252f)return _0x1f21a7[_0x1e3d17(0x5c0)](_0x141d6a,_0x47252f);_0x1f21a7[_0x1e3d17(0x468)](_0x3c4b63);},_0xbcc246,_0x3f6f9d[_0x34aa4c(0x473)],_0x1fd352);});}}_0x28ab3e(null,_0x5bd89b);}catch(_0x5a889b){if(_0x1f21a7[_0x16ceab(0x34e)](_0x1f21a7[_0x16ceab(0x40d)],_0x1f21a7['Zrbsr']))_0x28ab3e(_0x5a889b);else{const _0x303080=_0x208b8f[_0x16ceab(0x58b)](_0x539b6c,arguments);return _0x2cd6f5=null,_0x303080;}}}async[_0x444c5d(0x2e7)](_0x21d2bc,_0x24af1b,_0x53ec9b,_0x1b8fd8,_0x3a8461={'replace':!![],'req':null,'listinfo_code':null}){const _0xec94d1=this;importHandler(_0x21d2bc,_0xec94d1,_0x24af1b,_0x53ec9b,_0x1b8fd8,_0x3a8461);}[_0x444c5d(0x2ec)](_0x52761a,_0x292477='new',_0x3bd468=null,_0x321f6c=![],_0x2c441b={'title':'','data':{}}){const _0x206a9d=_0x444c5d,_0x532795={'yxsUz':function(_0x3af69f,_0x147d91,_0x18f437,_0x18644f,_0x163d83,_0x289a23,_0x254f96){return _0x3af69f(_0x147d91,_0x18f437,_0x18644f,_0x163d83,_0x289a23,_0x254f96);}};return _0x532795[_0x206a9d(0x550)](pushNotification,this,_0x52761a,_0x292477,_0x3bd468,_0x321f6c,_0x2c441b);}}controller[_0x444c5d(0x5b3)][_0x444c5d(0x36e)]=EventEmitter['prototype'],controller['prototype'][_0x444c5d(0x320)]=async(_0x5bca50,_0x3ef6d3,_0x5407ac=_0x444c5d(0x3b2),_0xd0c96f)=>{const _0x4a8ab9={'aBuPD':function(_0x1bf508,_0x24a715){return _0x1bf508(_0x24a715);},'wLvTa':function(_0x9c7c1f,_0x5159aa){return _0x9c7c1f*_0x5159aa;},'CUoOL':function(_0x337d21,_0x1bc021,_0x2e0e8a,_0x18f082,_0x360fe6,_0x13f626){return _0x337d21(_0x1bc021,_0x2e0e8a,_0x18f082,_0x360fe6,_0x13f626);}};return new Promise(_0x131f3f=>{const _0x44cdc2={'rQrkv':function(_0x466d42,_0x339056){const _0x27f281=_0x53c7;return _0x4a8ab9[_0x27f281(0x463)](_0x466d42,_0x339056);}};_0x4a8ab9['CUoOL'](getNextSequence,_0x5bca50,_0x3ef6d3,_0x5407ac,(_0x59ff97,_0x5a38b9)=>{const _0x2c14e8=_0x53c7;if(_0x2c14e8(0x228)===_0x2c14e8(0x363))_0x3a584f[_0x2c14e8(0x3f4)]=_0xbff94[_0x2c14e8(0x252)]||0x1,_0x50f3c4[_0x2c14e8(0x3ff)]=_0x44cdc2['rQrkv'](_0x211dd1['he_so_qd'],_0x399e31['sl_xuat']);else{if(_0x59ff97)return new Error(_0x59ff97);_0x4a8ab9[_0x2c14e8(0x4b0)](_0x131f3f,_0x5a38b9);}},_0xd0c96f);});},controller[_0x444c5d(0x5b3)][_0x444c5d(0x315)]=function(){const _0x9e227a=_0x444c5d,_0x3cfd69={'AlACN':function(_0x9131f5){return _0x9131f5();},'OftEu':function(_0x31273b,_0x3dd94f){return _0x31273b===_0x3dd94f;},'SanwW':'jhqiG','MFFJw':_0x9e227a(0x2c1),'QWLsI':function(_0x498c79,_0x459acc){return _0x498c79!==_0x459acc;},'csFMq':'ZLdFN','mVpCD':_0x9e227a(0x324)};let _0xfae142=this;this[_0x9e227a(0x4bc)][_0x9e227a(0x472)](this[_0x9e227a(0x532)]+_0x9e227a(0x296))[_0x9e227a(0x588)](async(_0x31d1dc,_0x4bb5bf)=>{const _0x53258f=_0x9e227a;let _0x955eab=_0x31d1dc[_0x53258f(0x574)][_0x53258f(0x432)];try{let _0x56a884=await permission['getFieldNotRight'](_0x31d1dc[_0x53258f(0x3df)]['current_id_app'],_0x31d1dc['user'][_0x53258f(0x1dd)],_0xfae142[_0x53258f(0x2c8)]);_0x56a884[_0x53258f(0x393)](_0x955eab)>=0x0?_0x3cfd69[_0x53258f(0x202)](_0x3cfd69[_0x53258f(0x384)],_0x3cfd69['MFFJw'])?_0x3cfd69[_0x53258f(0x32a)](_0x5c7359):_0x4bb5bf['send']({'allow':![]}):_0x3cfd69[_0x53258f(0x34d)](_0x3cfd69['csFMq'],_0x3cfd69[_0x53258f(0x2e6)])?_0x4bb5bf[_0x53258f(0x4c2)]({'allow':!![]}):_0x490c7d=_0x53258f(0x392)+_0x53bc53;}catch(_0x508c5b){_0x4bb5bf['state'](0x190)[_0x53258f(0x4c2)](_0x508c5b[_0x53258f(0x584)]);}});},controller[_0x444c5d(0x5b3)][_0x444c5d(0x3c8)]=function(_0x2c8145,_0xaf241f=![],_0x260bbe=_0x444c5d(0x1f9)){const _0x2d7d2a=_0x444c5d,_0x3d6c12={'ywbmd':function(_0x3dcc9b,_0x5416ae){return _0x3dcc9b===_0x5416ae;},'DtwEu':_0x2d7d2a(0x45f),'thZUC':_0x2d7d2a(0x41c),'YVUJr':function(_0x3532c9,_0x1700a6){return _0x3532c9===_0x1700a6;},'MTwGg':_0x2d7d2a(0x45d),'QsVkj':'Content-Type','MVFAg':_0x2d7d2a(0x5c4),'OpcRv':_0x2d7d2a(0x22d),'GPwmi':function(_0x5ee493,_0x495b67){return _0x5ee493+_0x495b67;},'zBdeu':_0x2d7d2a(0x2dd),'IneFk':'binary','rAJzA':function(_0x1805a2,_0x550954){return _0x1805a2!==_0x550954;},'hKfkM':_0x2d7d2a(0x578),'NQhfe':function(_0x3d8473,_0x3497f0,_0x59adff){return _0x3d8473(_0x3497f0,_0x59adff);},'YozUK':'x-forwarded-for','BKtGD':_0x2d7d2a(0x516),'PGkVC':_0x2d7d2a(0x33f),'nHcqA':_0x2d7d2a(0x49c),'rHVLw':'findHandler','mflDe':_0x2d7d2a(0x4a1),'PcHOT':'kYcDl','riamX':_0x2d7d2a(0x1f9),'ABdGg':'qOcZl','KSLjF':function(_0x2779b5,_0x145c60){return _0x2779b5+_0x145c60;},'CGUKD':_0x2d7d2a(0x571),'eDvVj':'NMmfJ','rZPGy':function(_0x45ac90,_0x4fc4df){return _0x45ac90+_0x4fc4df;}};let _0x85fe58=this;const _0x58a396=(_0x2aa53b,_0x346ad9)=>{const _0xa68cbe=_0x2d7d2a;if(_0x3d6c12[_0xa68cbe(0x47e)](_0xa68cbe(0x227),_0x3d6c12[_0xa68cbe(0x57b)]))_0x17c71f[_0xa68cbe(0x2d0)](0x190)[_0xa68cbe(0x4c2)](_0xf05c58);else{const {result:_0x3eb90c,dataType:_0x1ba84d}=_0x346ad9;_0x1ba84d==_0x3d6c12[_0xa68cbe(0x247)]?_0x3d6c12[_0xa68cbe(0x53e)](_0x3d6c12['MTwGg'],_0x3d6c12[_0xa68cbe(0x321)])?(_0x2aa53b['setHeader'](_0x3d6c12[_0xa68cbe(0x51e)],_0x3d6c12[_0xa68cbe(0x278)]),_0x2aa53b['setHeader'](_0x3d6c12[_0xa68cbe(0x201)],_0x3d6c12[_0xa68cbe(0x450)](_0xa68cbe(0x46e),_0x85fe58[_0xa68cbe(0x2c8)])+_0x3d6c12[_0xa68cbe(0x40f)]),_0x2aa53b[_0xa68cbe(0x561)](_0x3eb90c,_0x3d6c12[_0xa68cbe(0x268)])):_0xd61578[_0xa68cbe(0x2d0)](0x190)[_0xa68cbe(0x4c2)](_0x4cd4e3):_0x2aa53b['send'](_0x3eb90c);}},_0x42ec73=async(_0x23ef12,_0x560217)=>{const _0x4fe7fb=_0x2d7d2a,_0x5d7f8c={'oBNAh':_0x3d6c12[_0x4fe7fb(0x505)],'qglZf':_0x3d6c12[_0x4fe7fb(0x2bc)]},{query:_0x457ac9,body:_0x315357,user:_0x5458d2,params:_0x2db746,headers:_0x2443da}=_0x23ef12,_0x109fc8=_0x23ef12[_0x4fe7fb(0x3bd)](_0x3d6c12[_0x4fe7fb(0x4e1)]),_0x2d5754=_0x23ef12['ip']||_0x23ef12[_0x4fe7fb(0x5a9)][_0x3d6c12[_0x4fe7fb(0x358)]]||_0x23ef12[_0x4fe7fb(0x3c9)][_0x4fe7fb(0x586)];try{const _0x2db270={'handler':_0x3d6c12['rHVLw'],'query':_0x457ac9,'body':_0x315357,'user':_0x5458d2,'params':_0x2db746,'headers':_0x2443da,'user_agent':_0x109fc8,'ip':_0x2d5754,'shareRoute':_0xaf241f};if(global[_0x4fe7fb(0x380)]){const _0x1e57e9=_0x4fe7fb(0x34a)+crypto[_0x4fe7fb(0x25a)](0x14)['toString'](_0x3d6c12[_0x4fe7fb(0x501)]);global[_0x4fe7fb(0x380)][_0x4fe7fb(0x241)]({'id_task':_0x1e57e9,'req':_0x2db270,'module':_0x85fe58[_0x4fe7fb(0x2c8)][_0x4fe7fb(0x513)](),'configs':JSON[_0x4fe7fb(0x24b)](configs)},_0x8862f3=>{const _0x2300cb=_0x4fe7fb;if(_0x8862f3[_0x2300cb(0x221)])return _0x560217[_0x2300cb(0x2d0)](0x190)[_0x2300cb(0x4c2)]({'error':_0x8862f3[_0x2300cb(0x221)]['error']||_0x8862f3['error']['message']||_0x8862f3[_0x2300cb(0x221)],'message':_0x8862f3[_0x2300cb(0x584)]||_0x8862f3['error'][_0x2300cb(0x221)]||_0x8862f3[_0x2300cb(0x221)][_0x2300cb(0x584)]||_0x8862f3[_0x2300cb(0x221)]});else _0x58a396(_0x560217,_0x8862f3['result']);});}else{if(_0x3d6c12['ywbmd'](_0x4fe7fb(0x5ae),_0x3d6c12[_0x4fe7fb(0x5a8)]))handlers[_0x4fe7fb(0x366)](_0x85fe58,_0x2db270,(_0x1cdc05,_0x55c789)=>{const _0x2e509b=_0x4fe7fb;if(_0x3d6c12['rAJzA'](_0x3d6c12[_0x2e509b(0x3ce)],_0x2e509b(0x578)))return _0x4dc9eb[_0x2e509b(0x3ac)](_0x5d7f8c[_0x2e509b(0x3f7)])[_0x2e509b(0x514)](_0x11d966[_0x2e509b(0x3df)]['email'],_0x48c1df[_0x2e509b(0x3df)][_0x2e509b(0x1dd)],_0x5d7f8c['qglZf'],_0x148fa8[_0x2e509b(0x584)]||_0x455419[_0x2e509b(0x221)]||_0x107cf0,null,{'id_app':_0x377d60[_0x2e509b(0x3df)][_0x2e509b(0x3a1)]},!![],null,!![]);else{if(_0x1cdc05)return _0x560217[_0x2e509b(0x2d0)](0x190)[_0x2e509b(0x4c2)](_0x1cdc05);_0x3d6c12[_0x2e509b(0x352)](_0x58a396,_0x560217,_0x55c789);}});else{const {query:_0x2cdb31,body:_0x3a1508,user:_0x1a73be,params:_0x580921,headers:_0x1e3909,files:_0x1f9c71}=_0x1805f3,_0x34f659=_0x4a8bdd[_0x4fe7fb(0x3bd)]('user-agent'),_0x51eeae=_0x44480d['ip']||_0x1d26ac[_0x4fe7fb(0x5a9)][_0x3d6c12[_0x4fe7fb(0x358)]]||_0x50b95e['connection']['remoteAddress'];try{const _0x135a4d={'type_job':_0x4fe7fb(0x3e2),'query':_0x2cdb31,'body':_0x3a1508,'user':_0x1a73be,'params':_0x580921,'headers':_0x1e3909,'user_agent':_0x34f659,'ip':_0x51eeae,'files':_0x1f9c71,'originalUrl':_0x458fb3[_0x4fe7fb(0x25c)]};_0x6571b8['historyHandler'](_0x344adf,_0x135a4d,(_0x24b48e,_0x417c7e)=>{const _0x13f75d=_0x4fe7fb;if(_0x24b48e)return _0x166160[_0x13f75d(0x2d0)](0x190)[_0x13f75d(0x4c2)]({'error':_0x24b48e[_0x13f75d(0x221)]||_0x24b48e[_0x13f75d(0x584)]||_0x24b48e});_0xd315d3[_0x13f75d(0x4c2)](_0x417c7e);});}catch(_0x355084){_0x1e31d7[_0x4fe7fb(0x2d0)](0x190)[_0x4fe7fb(0x4c2)](_0x355084);}}}}catch(_0x304ed7){_0x560217['status'](0x190)[_0x4fe7fb(0x4c2)](_0x304ed7);}};let _0x5dc338=_0x2c8145||this[_0x2d7d2a(0x532)];if(_0x260bbe===_0x3d6c12['riamX']){if(_0x3d6c12['ywbmd'](_0x3d6c12[_0x2d7d2a(0x5b6)],_0x3d6c12[_0x2d7d2a(0x5b6)]))this[_0x2d7d2a(0x4bc)][_0x2d7d2a(0x472)](_0x5dc338)[_0x2d7d2a(0x588)](_0x42ec73),this['router']['route'](_0x3d6c12[_0x2d7d2a(0x2b3)](_0x5dc338,_0x3d6c12[_0x2d7d2a(0x1de)]))[_0x2d7d2a(0x588)](_0x42ec73);else{if(_0xc2ac2f)return _0x4ce6e6[_0x2d7d2a(0x2d0)](0x190)['send']({'error':_0x5e53a5[_0x2d7d2a(0x221)]||_0x2f523b[_0x2d7d2a(0x584)]||_0x488a6e});_0x4aa023[_0x2d7d2a(0x4c2)](_0x1d86d4);}}else _0x3d6c12['rAJzA'](_0x2d7d2a(0x493),_0x3d6c12[_0x2d7d2a(0x209)])?(this['router']['route'](_0x5dc338)[_0x2d7d2a(0x471)](_0x42ec73),this[_0x2d7d2a(0x4bc)][_0x2d7d2a(0x472)](_0x3d6c12['rZPGy'](_0x5dc338,_0x3d6c12[_0x2d7d2a(0x1de)]))[_0x2d7d2a(0x471)](_0x42ec73)):_0x1d3bdf[_0x2d7d2a(0x380)]['exec']({'req':_0x360875,'module':_0x2d23db[_0x2d7d2a(0x2c8)][_0x2d7d2a(0x513)](),'configs':_0x33b407[_0x2d7d2a(0x24b)](_0x3e9b10)},_0x11f523=>{const _0x27dff1=_0x2d7d2a;if(_0x11f523[_0x27dff1(0x221)])return _0x3f0b64[_0x27dff1(0x2d0)](0x190)[_0x27dff1(0x4c2)]({'error':_0x11f523[_0x27dff1(0x221)][_0x27dff1(0x221)]||_0x11f523['error'][_0x27dff1(0x584)]||_0x11f523['error'],'message':_0x11f523['message']||_0x11f523[_0x27dff1(0x221)][_0x27dff1(0x221)]||_0x11f523[_0x27dff1(0x221)][_0x27dff1(0x584)]||_0x11f523[_0x27dff1(0x221)]});else _0x24daf[_0x27dff1(0x4c2)](_0x11f523[_0x27dff1(0x20c)]);});},controller[_0x444c5d(0x5b3)]['get']=function(_0x38fc30,_0x148ae0=![]){const _0x4ba6a5=_0x444c5d,_0x411641={'gBUDb':function(_0x10d6a6,_0x5987c6){return _0x10d6a6!==_0x5987c6;},'RYaEV':'sbfoj','Kgcro':_0x4ba6a5(0x3c4),'pvUEj':function(_0x5d98fe,_0x829d20){return _0x5d98fe==_0x829d20;},'uKVeh':function(_0x17f42a,_0x32dcee){return _0x17f42a(_0x32dcee);},'JJctb':_0x4ba6a5(0x2eb),'NqebW':_0x4ba6a5(0x375),'YFLUG':_0x4ba6a5(0x269)},_0x118e71=this;this[_0x4ba6a5(0x4bc)][_0x4ba6a5(0x472)]((_0x38fc30||this[_0x4ba6a5(0x532)])+_0x4ba6a5(0x2b8))[_0x4ba6a5(0x588)](async function(_0x29dc62,_0x37974e){const _0x5a62be=_0x4ba6a5,_0x4ec748={'URHAa':function(_0x1e2327,_0x1e121f){const _0x7d69df=_0x53c7;return _0x411641[_0x7d69df(0x4a8)](_0x1e2327,_0x1e121f);}};if(_0x411641[_0x5a62be(0x24f)]!==_0x411641[_0x5a62be(0x1e3)]){let _0x35df25=_0x29dc62['params']['id'];if(!global[_0x5a62be(0x1f5)][_0x5a62be(0x45c)][_0x5a62be(0x465)][_0x5a62be(0x55c)](_0x35df25))return _0x37974e['status'](0x194)[_0x5a62be(0x4c2)]({'error':ERRORS[_0x5a62be(0x4ac)],'code':ERRORS[_0x5a62be(0x5ab)]});let _0x2ee38b={'_id':_0x35df25};const _0x84b889=_0x29dc62['header'](_0x5a62be(0x49c)),_0x4ee84f=_0x29dc62['ip']||_0x29dc62[_0x5a62be(0x5a9)][_0x411641[_0x5a62be(0x255)]]||_0x29dc62[_0x5a62be(0x3c9)][_0x5a62be(0x586)],{query:_0xddc447,user:_0x4aca7f,params:_0x3aa419,headers:_0x287bbc}=_0x29dc62;try{const _0x55fc67={'query':_0xddc447,'body':_0x2ee38b,'user':_0x4aca7f,'params':_0x3aa419,'headers':_0x287bbc,'user_agent':_0x84b889,'ip':_0x4ee84f,'shareRoute':_0x148ae0,'originalUrl':_0x29dc62[_0x5a62be(0x25c)]};handlers[_0x5a62be(0x366)](_0x118e71,_0x55fc67,(_0x45af30,_0x30d260)=>{const _0x2d8ebf=_0x5a62be;if(_0x411641[_0x2d8ebf(0x567)](_0x411641[_0x2d8ebf(0x46f)],_0x411641[_0x2d8ebf(0x459)])){if(_0x45af30)return _0x37974e['status'](0x190)[_0x2d8ebf(0x4c2)](_0x45af30);const {result:_0x2a1034}=_0x30d260;if(_0x411641[_0x2d8ebf(0x331)](_0x2a1034[_0x2d8ebf(0x271)],0x0))return _0x37974e[_0x2d8ebf(0x2d0)](0x194)[_0x2d8ebf(0x4c2)]({'error':ERRORS[_0x2d8ebf(0x1fd)],'code':ERRORS[_0x2d8ebf(0x333)]});_0x37974e[_0x2d8ebf(0x4c2)](_0x2a1034[0x0]);}else return _0xc7f69d(null,_0xc97278);});}catch(_0x2b80aa){console[_0x5a62be(0x221)](_0x2b80aa),_0x37974e['status'](0x190)[_0x5a62be(0x4c2)](_0x2b80aa);}}else _0x314ebc['onView'](_0xab42fe,_0x409c31,(_0x13d8df,_0x9575d5)=>{const _0x430ed0=_0x5a62be;if(_0x13d8df)return _0x756a78[_0x430ed0(0x221)](_0x13d8df),_0x4ec748[_0x430ed0(0x4b8)](_0x4f4d81,_0x47d9aa);_0x584e24(_0x9575d5);},_0xd63799);});},controller['prototype']['postAgainHandler']=function(_0x1ddb61,_0x3b2e27,_0x5026d7,_0x1b1883={'req':null}){const _0x32c633=_0x444c5d,_0x3e53f9={'nfHnw':_0x32c633(0x4b6),'ERnXT':function(_0x10507f,_0x295617,_0x103b20){return _0x10507f(_0x295617,_0x103b20);},'wfjXX':_0x32c633(0x551),'ShDLn':_0x32c633(0x3aa),'KiyHI':_0x32c633(0x205),'WGKAU':'PtCwf','lwnIJ':function(_0x3e6413,_0x5f574a){return _0x3e6413(_0x5f574a);},'TbdXf':_0x32c633(0x26e),'bYvYK':'ma_vt','aPJjQ':_0x32c633(0x41e),'OwTWF':function(_0x15faa1,_0x2e6806,_0x8d3a9c,_0x1cadc6,_0x2511ce){return _0x15faa1(_0x2e6806,_0x8d3a9c,_0x1cadc6,_0x2511ce);},'PxyBv':'[postAgain]:\x20Error','Rgblv':_0x32c633(0x27e),'XyHjy':_0x32c633(0x1db),'zdEGM':_0x32c633(0x385),'wmRmB':_0x32c633(0x42c),'TadwH':function(_0x2b411e,_0x56efca){return _0x2b411e(_0x56efca);},'YJPfm':function(_0x266fb0,_0x382ff9,_0x5a090b){return _0x266fb0(_0x382ff9,_0x5a090b);},'nXpAM':_0x32c633(0x476)};let _0xc45f3c=this[_0x32c633(0x214)],_0x33904c=this;if(!_0x33904c['post'])return _0x3e53f9[_0x32c633(0x44f)](_0x5026d7,null,{'message':_0x3e53f9[_0x32c633(0x28a)]});const _0x47932e=_0x3b2e27['update_tk_vt'];delete _0x3b2e27[_0x32c633(0x390)];const _0x34f44c={'date_updated':new Date(),'user_updated':_0x1ddb61[_0x32c633(0x1dd)]};_0xc45f3c[_0x32c633(0x3c8)](_0x3b2e27)[_0x32c633(0x460)]({'ngay_ct':0x1})[_0x32c633(0x3ed)]()['then'](function(_0x5b1590){const _0x4a1218=_0x32c633,_0x44b558={'eSkVR':function(_0x383172,_0x3b079e){return _0x383172!=_0x3b079e;},'ggBIr':_0x3e53f9[_0x4a1218(0x246)],'fmphK':function(_0x40e05c,_0x142d90,_0x455cae){const _0x4e4c6b=_0x4a1218;return _0x3e53f9[_0x4e4c6b(0x423)](_0x40e05c,_0x142d90,_0x455cae);},'VBmpf':_0x3e53f9[_0x4a1218(0x3a0)],'qXTaZ':_0x3e53f9[_0x4a1218(0x25e)],'frscl':_0x3e53f9[_0x4a1218(0x2d8)],'MIbys':_0x3e53f9[_0x4a1218(0x341)],'YAUJK':function(_0x5d0ebc,_0x6b8e1c){const _0x1559c0=_0x4a1218;return _0x3e53f9[_0x1559c0(0x419)](_0x5d0ebc,_0x6b8e1c);},'diRNg':function(_0x3fc708,_0x45c989){return _0x3fc708+_0x45c989;},'xpPmf':'Không\x20thể\x20xử\x20lý\x20được\x20dữ\x20liệu\x20trước\x20khi\x20repost\x20chứng\x20từ:','pnaVV':_0x3e53f9[_0x4a1218(0x360)],'uJIvu':_0x3e53f9[_0x4a1218(0x2c4)],'RCxRt':_0x4a1218(0x2fc),'rDlBY':_0x3e53f9[_0x4a1218(0x46b)],'ZbSNa':function(_0x8f4858,_0x703804){return _0x8f4858(_0x703804);},'lMebG':function(_0x1a4415,_0x18bdbb){return _0x1a4415+_0x18bdbb;},'qYisj':_0x4a1218(0x515),'BmXxq':function(_0x3d28e1,_0x5d5b88,_0x51066e,_0x4eee0b,_0x5b7dfb){const _0x428d25=_0x4a1218;return _0x3e53f9[_0x428d25(0x3ad)](_0x3d28e1,_0x5d5b88,_0x51066e,_0x4eee0b,_0x5b7dfb);},'vZPnf':_0x3e53f9['PxyBv']};console[_0x4a1218(0x527)](_0x3e53f9['Rgblv'],_0x3b2e27,_0x5b1590[_0x4a1218(0x271)],_0x3e53f9[_0x4a1218(0x593)],'by',_0x1ddb61[_0x4a1218(0x1dd)]),_0x3e53f9[_0x4a1218(0x419)](setImmediate,()=>{const _0x108bb2=_0x4a1218,_0x33b1e2={'GJqit':_0x44b558[_0x108bb2(0x399)],'UuUgz':function(_0x36727d,_0x2eeba7){return _0x36727d(_0x2eeba7);},'moXTq':'postAgain:\x20finished','syvCX':_0x108bb2(0x1db),'reQAy':function(_0x568f91,_0x50d745,_0x2c1da1){const _0x42eedb=_0x108bb2;return _0x44b558[_0x42eedb(0x31f)](_0x568f91,_0x50d745,_0x2c1da1);}};async[_0x108bb2(0x4c3)](_0x5b1590,function(_0x417690,_0x4de869){const _0x188964=_0x108bb2,_0x3c3f4e={'akKKX':function(_0x29c02f,_0x32076c){const _0x3c91a7=_0x53c7;return _0x44b558[_0x3c91a7(0x536)](_0x29c02f,_0x32076c);},'nYNAH':_0x44b558['ggBIr'],'WBhoU':function(_0x51409b,_0x383ab9){return _0x51409b+_0x383ab9;},'aKLre':_0x188964(0x5b8),'xEGmL':function(_0x9af3ec,_0x4857ab,_0x5b16e7){return _0x44b558['fmphK'](_0x9af3ec,_0x4857ab,_0x5b16e7);},'cvrbw':function(_0x112be0,_0xca6f16){return _0x112be0===_0xca6f16;},'eVqgh':_0x44b558[_0x188964(0x56f)],'HjFGD':_0x44b558['qXTaZ'],'tiZdz':_0x44b558['frscl'],'JKGZP':_0x44b558[_0x188964(0x1e7)],'GYHxG':function(_0x393116,_0x352779){const _0x10cebc=_0x188964;return _0x44b558[_0x10cebc(0x498)](_0x393116,_0x352779);},'Duxrr':function(_0x1eda1a,_0x4e2907){const _0x1e7d40=_0x188964;return _0x44b558[_0x1e7d40(0x428)](_0x1eda1a,_0x4e2907);},'adnLq':function(_0x5d1f8d,_0x43c4ce){return _0x5d1f8d+_0x43c4ce;},'UAIIs':_0x44b558[_0x188964(0x510)],'yZeQa':_0x44b558['pnaVV'],'hRlCh':_0x44b558['uJIvu'],'QbiaX':_0x44b558['RCxRt'],'xHIOI':_0x44b558[_0x188964(0x547)],'QzWbS':function(_0x55a1c7,_0x2d5222){return _0x44b558['ZbSNa'](_0x55a1c7,_0x2d5222);},'aMYAs':function(_0x419728,_0x6ab0c4){return _0x44b558['lMebG'](_0x419728,_0x6ab0c4);},'hzZfb':_0x44b558[_0x188964(0x429)],'vKWgp':function(_0x480e25,_0x476e5a,_0x3aa360,_0x40836b,_0x38b710){const _0x146032=_0x188964;return _0x44b558[_0x146032(0x421)](_0x480e25,_0x476e5a,_0x3aa360,_0x40836b,_0x38b710);}};setImmediate(async()=>{const _0x54af67=_0x188964,_0x509e9d={'zPcVy':function(_0x384542,_0x3a2639){return _0x3c3f4e['akKKX'](_0x384542,_0x3a2639);},'QKTie':_0x54af67(0x2a0),'wzZii':_0x3c3f4e[_0x54af67(0x4d3)],'PwoCh':function(_0x4ad21f,_0x337a98){const _0x333e40=_0x54af67;return _0x3c3f4e[_0x333e40(0x38f)](_0x4ad21f,_0x337a98);},'jJNDT':_0x3c3f4e[_0x54af67(0x3d9)],'DXaJd':function(_0x5f3f1c,_0x1f6708,_0x5356cf){const _0x30ca7e=_0x54af67;return _0x3c3f4e[_0x30ca7e(0x47b)](_0x5f3f1c,_0x1f6708,_0x5356cf);}};if(_0x3c3f4e[_0x54af67(0x4dc)](_0x3c3f4e[_0x54af67(0x25d)],_0x3c3f4e['HjFGD']))_0x509e9d[_0x54af67(0x56b)](_0x24bf52['return'],_0x509e9d[_0x54af67(0x2ac)])&&(_0x1203d2[_0x54af67(0x414)]=!![]),_0x1875b4[_0x54af67(0x4dd)](_0x2a0ea3,_0x29b5c1[_0x54af67(0x589)]);else{console['log'](_0x3c3f4e['tiZdz'],_0x417690['ma_ct'],_0x417690[_0x54af67(0x3b2)],_0x417690[_0x54af67(0x3de)],'by',_0x1ddb61['email']);if(_0x33904c[_0x54af67(0x541)]){if(_0x3c3f4e[_0x54af67(0x4dc)](_0x3c3f4e['JKGZP'],_0x3c3f4e[_0x54af67(0x1e5)]))try{await _0x33904c['reposting'](_0x1ddb61,_0x417690);}catch(_0x31b1d0){return _0x3c3f4e[_0x54af67(0x3d8)](_0x4de869,{'error':_0x3c3f4e[_0x54af67(0x433)](_0x3c3f4e[_0x54af67(0x33c)](_0x3c3f4e['UAIIs'],_0x417690['so_ct'])+_0x3c3f4e['yZeQa'],_0x31b1d0['message']||_0x31b1d0['error']||'')});}else _0x37126d[_0x54af67(0x4c2)](_0x3d1f04);}_0x47932e&&_0x417690[_0x54af67(0x338)]&&(console[_0x54af67(0x527)]('postAgain:\x20update\x20tk_vt...'),await _0x417690[_0x54af67(0x338)][_0x54af67(0x508)](_0x2a1133=>_0x2a1133[_0x54af67(0x2bf)])['asyncJoinModel2'](_0x417690['id_app'],global[_0x54af67(0x3ac)]('dmvt'),{'where':_0x3c3f4e['hRlCh'],'fields':_0x3c3f4e[_0x54af67(0x394)]}),_0x34f44c[_0x54af67(0x338)]=_0x417690[_0x54af67(0x338)]);try{console[_0x54af67(0x527)](_0x54af67(0x1df)),await _0xc45f3c[_0x54af67(0x3a2)]({'_id':_0x417690[_0x54af67(0x5ac)]},{..._0x34f44c});}catch(_0x1f8473){return console['error'](_0x3c3f4e[_0x54af67(0x507)],_0x1f8473),_0x3c3f4e[_0x54af67(0x5d2)](_0x4de869,{'error':_0x3c3f4e[_0x54af67(0x33c)](_0x3c3f4e[_0x54af67(0x592)](_0x3c3f4e['hzZfb'],_0x417690[_0x54af67(0x3b2)]),_0x54af67(0x1f2))+_0x1f8473[_0x54af67(0x584)]||_0x1f8473[_0x54af67(0x221)]||''});}_0x3c3f4e[_0x54af67(0x4ce)](postData,_0x417690,_0x33904c,function(_0x32673e,_0x291e06){const _0x19730d=_0x54af67;console[_0x19730d(0x527)](_0x509e9d[_0x19730d(0x3c2)],_0x417690[_0x19730d(0x2f3)],_0x417690[_0x19730d(0x3b2)],_0x417690[_0x19730d(0x3de)],'by',_0x1ddb61[_0x19730d(0x1dd)]);if(_0x32673e)return _0x4de869({'error':_0x32673e[_0x19730d(0x584)]||_0x32673e[_0x19730d(0x221)]||_0x509e9d[_0x19730d(0x1ed)](_0x509e9d[_0x19730d(0x3d6)],_0x417690[_0x19730d(0x3b2)])});_0x509e9d[_0x19730d(0x456)](_0x4de869,null,_0x291e06);},{'req':_0x1b1883['req'],'kiem_tra_han_muc_cong_no':![]});}});},function(_0x5444dd){const _0x2ed5a5=_0x108bb2;if(_0x5444dd)return console[_0x2ed5a5(0x221)](_0x33b1e2[_0x2ed5a5(0x309)],_0x5444dd),_0x33b1e2[_0x2ed5a5(0x3dc)](_0x5026d7,{'error':_0x5444dd['message']||_0x5444dd[_0x2ed5a5(0x221)]||_0x5444dd});console[_0x2ed5a5(0x527)](_0x33b1e2[_0x2ed5a5(0x337)],_0x3b2e27,_0x5b1590[_0x2ed5a5(0x271)],_0x33b1e2[_0x2ed5a5(0x267)],'by',_0x1ddb61[_0x2ed5a5(0x1dd)]),_0x33b1e2[_0x2ed5a5(0x48c)](_0x5026d7,null,{'message':_0x2ed5a5(0x569)});});});})[_0x32c633(0x22a)](_0x851b7=>{const _0x2a2444=_0x32c633;if(_0x2a2444(0x385)===_0x3e53f9[_0x2a2444(0x2d4)])return console[_0x2a2444(0x221)](_0x3e53f9['wmRmB'],_0x851b7),_0x3e53f9['TadwH'](_0x5026d7,{'error':_0x851b7['message']||_0x851b7['error']||_0x851b7});else _0x640ac9[_0x2a2444(0x472)](_0x101c0c)[_0x2a2444(0x588)](_0x647321);});},controller[_0x444c5d(0x5b3)][_0x444c5d(0x449)]=function(){const _0x1ec019=_0x444c5d,_0x123abf={'dKKWt':function(_0x3a6e5e,_0x896fd9){return _0x3a6e5e==_0x896fd9;},'bcVzp':_0x1ec019(0x454),'JBUVr':_0x1ec019(0x516),'rvAFL':'Chương\x20trình\x20đã\x20cập\x20nhật\x20lại\x20sổ\x20sách\x20xong','zvyrc':_0x1ec019(0x22b),'ujsym':_0x1ec019(0x33f),'EldNE':'4|0|3|1|2','McayA':function(_0x36c72b,_0x539be5){return _0x36c72b!==_0x539be5;},'fafjn':_0x1ec019(0x4ff),'Atmeg':'cAdrK','nfdbP':function(_0x8c0943,_0x14918b){return _0x8c0943!==_0x14918b;},'zFGab':'TMDGa','UxOrl':_0x1ec019(0x4ba),'HhjZs':_0x1ec019(0x4a1),'YXrtl':'Chương\x20trình\x20đang\x20thực\x20hiện.\x20Khi\x20hoàn\x20thành,\x20chương\x20trình\x20sẽ\x20gửi\x20cho\x20bạn\x20một\x20thông\x20báo','XOKqI':'ZtboF'};let _0x28d067=this;this[_0x1ec019(0x4bc)][_0x1ec019(0x472)](this[_0x1ec019(0x532)]+_0x1ec019(0x4d2))['get'](async(_0x333e49,_0x5c7800)=>{const _0x20af0a=_0x1ec019,_0x49372d={'uhCkK':function(_0x1c55f5,_0x452d9a){return _0x1c55f5!==_0x452d9a;},'sbBOE':_0x20af0a(0x207),'bjOcP':_0x123abf['JBUVr'],'xOdRL':_0x123abf[_0x20af0a(0x3ae)],'QLKdS':_0x123abf[_0x20af0a(0x3a6)],'trMoN':_0x123abf[_0x20af0a(0x1f7)],'TOFZD':_0x123abf[_0x20af0a(0x29b)]};if(_0x123abf[_0x20af0a(0x373)](_0x123abf[_0x20af0a(0x506)],_0x123abf[_0x20af0a(0x544)])){const {query:_0x3cbe4a,body:_0x417c92,user:_0x2104ad,params:_0x808e61,headers:_0x4ea717,files:_0x34275a}=_0x333e49,_0x449654=_0x333e49['header'](_0x20af0a(0x49c)),_0x3f7c48=_0x333e49['ip']||_0x333e49[_0x20af0a(0x5a9)]['x-forwarded-for']||_0x333e49[_0x20af0a(0x3c9)][_0x20af0a(0x586)];try{if(_0x123abf['nfdbP'](_0x123abf[_0x20af0a(0x31e)],'uqsEG')){const _0x9af3ce={'handler':_0x123abf[_0x20af0a(0x3e8)],'query':_0x3cbe4a,'body':_0x417c92,'user':_0x2104ad,'params':_0x808e61,'headers':_0x4ea717,'user_agent':_0x449654,'ip':_0x3f7c48,'files':_0x34275a,'originalUrl':_0x333e49['originalUrl']};if(global[_0x20af0a(0x260)]){const _0x2a1f94=_0x20af0a(0x4a7)+crypto[_0x20af0a(0x25a)](0x14)['toString'](_0x123abf[_0x20af0a(0x489)]),_0x598a68=(configs['api_url']||configs['domain'])+_0x20af0a(0x44d)+_0x2a1f94;_0x5c7800['status'](0xca)[_0x20af0a(0x4c2)]({'message':_0x123abf[_0x20af0a(0x3cd)],'status_task':_0x598a68}),global[_0x20af0a(0x260)]['exec']({'id_task':_0x2a1f94,'req':_0x9af3ce,'module':_0x28d067['name'][_0x20af0a(0x513)](),'configs':JSON[_0x20af0a(0x24b)](configs)},_0xc3b4c5=>{const _0x484973=_0x20af0a;if(_0x49372d[_0x484973(0x1d9)](_0x484973(0x490),_0x49372d[_0x484973(0x5c1)])){const _0x1acae0=_0xc3b4c5[_0x484973(0x221)];if(_0x1acae0)return global[_0x484973(0x3ac)](_0x49372d[_0x484973(0x442)])[_0x484973(0x514)](_0x333e49['user']['email'],_0x333e49[_0x484973(0x3df)][_0x484973(0x1dd)],_0x484973(0x564),_0x1acae0[_0x484973(0x584)]||_0x1acae0['error']||_0x1acae0,null,{'id_app':_0x333e49['user'][_0x484973(0x3a1)]},!![],_0x333e49[_0x484973(0x4d9)],!![]);global[_0x484973(0x3ac)](_0x49372d[_0x484973(0x442)])[_0x484973(0x514)](_0x333e49[_0x484973(0x3df)][_0x484973(0x1dd)],_0x333e49[_0x484973(0x3df)][_0x484973(0x1dd)],_0x49372d[_0x484973(0x427)],_0x49372d[_0x484973(0x427)],null,{'id_app':_0x333e49[_0x484973(0x3df)][_0x484973(0x3a1)]},!![],_0x333e49[_0x484973(0x4d9)],!![]);}else _0x3e5e8e[_0x484973(0x4c2)](_0x589ac5);});}else _0x5c7800[_0x20af0a(0x2d0)](0xca)[_0x20af0a(0x4c2)]({'message':_0x123abf['YXrtl']}),handlers[_0x20af0a(0x4ba)](_0x28d067,_0x9af3ce,_0x23c25e=>{const _0x543eaf=_0x20af0a;if(_0x49372d[_0x543eaf(0x1d9)]('qDomk',_0x49372d[_0x543eaf(0x1f1)])){if(_0x23c25e)return global[_0x543eaf(0x3ac)](_0x49372d[_0x543eaf(0x442)])['createNotification'](_0x333e49[_0x543eaf(0x3df)][_0x543eaf(0x1dd)],_0x333e49[_0x543eaf(0x3df)][_0x543eaf(0x1dd)],_0x543eaf(0x564),_0x23c25e[_0x543eaf(0x584)]||_0x23c25e[_0x543eaf(0x221)]||_0x23c25e,null,{'id_app':_0x333e49[_0x543eaf(0x3df)][_0x543eaf(0x3a1)]},!![],_0x333e49[_0x543eaf(0x4d9)],!![]);global[_0x543eaf(0x3ac)](_0x49372d['bjOcP'])['createNotification'](_0x333e49[_0x543eaf(0x3df)][_0x543eaf(0x1dd)],_0x333e49['user'][_0x543eaf(0x1dd)],_0x49372d[_0x543eaf(0x427)],_0x49372d[_0x543eaf(0x427)],null,{'id_app':_0x333e49[_0x543eaf(0x3df)][_0x543eaf(0x3a1)]},!![],_0x333e49[_0x543eaf(0x4d9)],!![]);}else{const _0x1747ff={'type_job':_0x543eaf(0x597),'query':_0x1e6b77,'body':_0x4c483d,'user':_0x2424b3,'params':_0x4db7ea,'headers':_0xb475c,'user_agent':_0x127b38,'ip':_0x9dde3d,'files':_0x4ac592,'originalUrl':_0x14fdb7[_0x543eaf(0x25c)]};_0x2dc1e9[_0x543eaf(0x22c)](_0x17eed1,_0x1747ff,(_0x54a60c,_0x16e5ad)=>{const _0x344491=_0x543eaf;if(_0x54a60c)return _0x36fea4['status'](0x190)[_0x344491(0x4c2)](_0x54a60c);_0x49aac5['send'](_0x16e5ad);});}});}else _0x123abf[_0x20af0a(0x3b9)](_0xa1d6de[_0x20af0a(0x53f)],_0x123abf[_0x20af0a(0x55b)])?_0x2823ca[_0x20af0a(0x472)](_0x40f623)[_0x20af0a(0x402)](_0x47b6ab):_0x213f8b['route'](_0x426ddf)[_0x20af0a(0x588)](_0x4d03da);}catch(_0x10c768){if(_0x123abf['XOKqI']!==_0x123abf['XOKqI'])return _0x1237cb['getModel']('notification')[_0x20af0a(0x514)](_0x351a8c[_0x20af0a(0x3df)]['email'],_0x144d60['user'][_0x20af0a(0x1dd)],_0x49372d[_0x20af0a(0x36b)],_0x1792c2[_0x20af0a(0x584)]||_0x5a628f[_0x20af0a(0x221)]||_0x8ea0dc,null,{'id_app':_0x122433[_0x20af0a(0x3df)][_0x20af0a(0x3a1)]},!![],null,!![]);else _0x5c7800[_0x20af0a(0x2d0)](0x190)['send'](_0x10c768);}}else{const _0x4d3e21=_0x49372d[_0x20af0a(0x2b9)][_0x20af0a(0x45e)]('|');let _0x254637=0x0;while(!![]){switch(_0x4d3e21[_0x254637++]){case'0':if(_0x517ef3[_0x20af0a(0x438)])_0x53d5e9[_0x20af0a(0x438)]=_0x3acb9a[_0x20af0a(0x438)];continue;case'1':if(_0x5b3e26[_0x20af0a(0x43d)])_0x21b8bb[_0x20af0a(0x43d)]=_0xf4e9d9[_0x20af0a(0x43d)];continue;case'2':if(_0x1bbf9b[_0x20af0a(0x270)])_0x366b90[_0x20af0a(0x270)]=_0x1fa058[_0x20af0a(0x270)];continue;case'3':if(_0x52ab03[_0x20af0a(0x37f)])_0x172df6[_0x20af0a(0x37f)]=_0x276ff6[_0x20af0a(0x37f)];continue;case'4':if(_0x4ea53f[_0x20af0a(0x233)])_0x1f05db['ma_lo']=_0x123e75[_0x20af0a(0x233)];continue;}break;}}});},controller[_0x444c5d(0x5b3)][_0x444c5d(0x4d8)]=function(){const _0x5819d9=_0x444c5d,_0x41a5b7={'nORaI':function(_0x2294b1,_0x5b379a){return _0x2294b1!==_0x5b379a;},'KQqtD':_0x5819d9(0x31b),'PVetd':_0x5819d9(0x49c),'ZEyhJ':_0x5819d9(0x269),'YJlgp':function(_0x391f8c,_0x44169f){return _0x391f8c===_0x44169f;},'vrSTW':_0x5819d9(0x2a2),'XelXU':_0x5819d9(0x2ce),'CRmnN':_0x5819d9(0x565)};let _0x4c3a8e=this;this[_0x5819d9(0x4bc)][_0x5819d9(0x472)](this[_0x5819d9(0x532)]+_0x5819d9(0x56d))['get'](async function(_0x46013f,_0x4eb7f8){const _0x112a62=_0x5819d9,_0x55d44b={'ZnlBd':function(_0x503562,_0x2f5943){return _0x41a5b7['nORaI'](_0x503562,_0x2f5943);},'DuGdl':_0x41a5b7[_0x112a62(0x4b2)],'HOCzU':_0x41a5b7[_0x112a62(0x286)],'RvCUx':_0x41a5b7[_0x112a62(0x3ec)]},{query:_0x394770,body:_0x2efe9d,user:_0x53d39f,params:_0x37f8e1,headers:_0x21db44,files:_0x5efc76}=_0x46013f,_0x4d1009=_0x46013f[_0x112a62(0x3bd)](_0x112a62(0x49c)),_0xef8833=_0x46013f['ip']||_0x46013f[_0x112a62(0x5a9)][_0x112a62(0x269)]||_0x46013f['connection']['remoteAddress'];try{if(_0x41a5b7[_0x112a62(0x50c)](_0x41a5b7[_0x112a62(0x581)],_0x41a5b7[_0x112a62(0x40b)]))_0x491354[_0x112a62(0x2d0)](0x190)[_0x112a62(0x4c2)](_0x423946);else{const _0x1d6106={'type_job':'updateKey','query':_0x394770,'body':_0x2efe9d,'user':_0x53d39f,'params':_0x37f8e1,'headers':_0x21db44,'user_agent':_0x4d1009,'ip':_0xef8833,'files':_0x5efc76,'originalUrl':_0x46013f[_0x112a62(0x25c)]};handlers[_0x112a62(0x531)](_0x4c3a8e,_0x1d6106,(_0x44bb4f,_0x320b78)=>{const _0xa75b56=_0x112a62;if(_0x55d44b[_0xa75b56(0x582)](_0x55d44b['DuGdl'],_0x55d44b[_0xa75b56(0x3cf)]))_0x409389(this['router']);else{if(_0x44bb4f)return _0x4eb7f8[_0xa75b56(0x2d0)](0x190)['send'](_0x44bb4f);_0x4eb7f8[_0xa75b56(0x4c2)](_0x320b78);}});}}catch(_0x51bc6b){if(_0x41a5b7['CRmnN']===_0x41a5b7[_0x112a62(0x3c0)])_0x4eb7f8[_0x112a62(0x2d0)](0x190)[_0x112a62(0x4c2)](_0x51bc6b);else{let _0x281b54=_0x3f3d0f['params']['id'];if(!_0x51d87d[_0x112a62(0x1f5)][_0x112a62(0x45c)][_0x112a62(0x465)]['isValid'](_0x281b54))return _0x1e0f08[_0x112a62(0x2d0)](0x194)['send']({'error':_0x53f001['ERR_ID_INVALID'],'code':_0x179e67[_0x112a62(0x5ab)]});let _0x1ede4a={'_id':_0x281b54};const _0x4be7bc=_0x371d1f['header'](_0x55d44b[_0x112a62(0x4f6)]),_0x5abbe3=_0x30c697['ip']||_0x7ddf2d['headers'][_0x55d44b[_0x112a62(0x568)]]||_0x56e995[_0x112a62(0x3c9)][_0x112a62(0x586)],{query:_0x3d0e69,user:_0x4132c8,params:_0x24594a,headers:_0x5f1a03}=_0x4ec4f2;try{const _0x5548e0={'query':_0x3d0e69,'body':_0x1ede4a,'user':_0x4132c8,'params':_0x24594a,'headers':_0x5f1a03,'user_agent':_0x4be7bc,'ip':_0x5abbe3,'shareRoute':_0x140e4b,'originalUrl':_0xf85cf2['originalUrl']};_0x3da177[_0x112a62(0x366)](_0x4dd8d7,_0x5548e0,(_0x39c5b3,_0x28b9c9)=>{const _0x6de6cc=_0x112a62;if(_0x39c5b3)return _0x44f5eb[_0x6de6cc(0x2d0)](0x190)['send'](_0x39c5b3);const {result:_0x3e0869}=_0x28b9c9;if(_0x3e0869[_0x6de6cc(0x271)]==0x0)return _0x4e2bf9[_0x6de6cc(0x2d0)](0x194)[_0x6de6cc(0x4c2)]({'error':_0x286b7f[_0x6de6cc(0x1fd)],'code':_0x14af1c[_0x6de6cc(0x333)]});_0x1d3d2e[_0x6de6cc(0x4c2)](_0x3e0869[0x0]);});}catch(_0x5caa34){_0x56804a[_0x112a62(0x221)](_0x5caa34),_0x440f5c[_0x112a62(0x2d0)](0x190)['send'](_0x5caa34);}}}});},controller[_0x444c5d(0x5b3)]['updateField']=function(){const _0x54e420=_0x444c5d,_0x9b87f3={'CplwF':_0x54e420(0x353),'tfWwV':'x-forwarded-for','ETmCV':_0x54e420(0x597)};let _0x54cd36=this;this[_0x54e420(0x4bc)][_0x54e420(0x472)](this['route_name']+_0x54e420(0x291))[_0x54e420(0x588)](async function(_0x2a7f8a,_0x124bf4){const _0x4dec21=_0x54e420,_0x5accdf={'UMIOQ':_0x9b87f3[_0x4dec21(0x211)]},{query:_0x50aa59,body:_0x5ce84e,user:_0x592588,params:_0x52a17a,headers:_0x30b6aa,files:_0x5ba4f6}=_0x2a7f8a,_0x4a7831=_0x2a7f8a[_0x4dec21(0x3bd)](_0x4dec21(0x49c)),_0x11f252=_0x2a7f8a['ip']||_0x2a7f8a[_0x4dec21(0x5a9)][_0x9b87f3[_0x4dec21(0x3b6)]]||_0x2a7f8a[_0x4dec21(0x3c9)][_0x4dec21(0x586)];try{if('nlSba'===_0x4dec21(0x512))_0x2ebb77[_0x4dec21(0x221)](_0x5accdf[_0x4dec21(0x374)],_0x467dda);else{const _0xa13fd={'type_job':_0x9b87f3[_0x4dec21(0x302)],'query':_0x50aa59,'body':_0x5ce84e,'user':_0x592588,'params':_0x52a17a,'headers':_0x30b6aa,'user_agent':_0x4a7831,'ip':_0x11f252,'files':_0x5ba4f6,'originalUrl':_0x2a7f8a['originalUrl']};handlers['updateFieldHandler'](_0x54cd36,_0xa13fd,(_0x1e560d,_0x1ab0c3)=>{const _0x4b6e95=_0x4dec21;if(_0x1e560d)return _0x124bf4[_0x4b6e95(0x2d0)](0x190)[_0x4b6e95(0x4c2)](_0x1e560d);_0x124bf4['send'](_0x1ab0c3);});}}catch(_0x41aeef){_0x124bf4[_0x4dec21(0x2d0)](0x190)[_0x4dec21(0x4c2)](_0x41aeef);}});},controller[_0x444c5d(0x5b3)][_0x444c5d(0x520)]=function(){const _0x45d547=_0x444c5d,_0x2f0cf2={'zKZjX':function(_0x2ae1c6,_0x44e9b4){return _0x2ae1c6(_0x44e9b4);},'BwpIN':_0x45d547(0x41c),'nSwiz':function(_0x5832f0,_0x4b38e3){return _0x5832f0!==_0x4b38e3;},'LlMtm':_0x45d547(0x4f2),'FRAlL':_0x45d547(0x55a),'ughDk':_0x45d547(0x2c7),'cTsib':_0x45d547(0x22d),'hFjpj':function(_0x37bdef,_0x376f54){return _0x37bdef+_0x376f54;},'AjdiB':_0x45d547(0x46e),'clnIg':_0x45d547(0x3d2),'VNhPE':function(_0x2d98fb,_0x2f3852){return _0x2d98fb+_0x2f3852;},'qJxHz':_0x45d547(0x56a),'xiVBI':_0x45d547(0x56c),'nTCDG':'json','jhCij':_0x45d547(0x240),'suknZ':'IsmQQ','xqhdr':function(_0x4f7d0e,_0x569c11,_0x439844){return _0x4f7d0e(_0x569c11,_0x439844);},'GQuHD':function(_0x4cdd9f,_0x5896c8,_0x34bed6){return _0x4cdd9f(_0x5896c8,_0x34bed6);},'ldmTl':_0x45d547(0x492),'areQb':_0x45d547(0x3ca),'OXmAx':_0x45d547(0x49c),'oCWnP':'x-forwarded-for','gwJWe':'gSgQb'};let _0x12229e=this;const _0x518d1b=(_0x35d023,_0x1094c8)=>{const _0x300a85=_0x45d547,_0x29ab63={'YgEzY':function(_0x345175,_0x3c8b33){const _0x5cf732=_0x53c7;return _0x2f0cf2[_0x5cf732(0x585)](_0x345175,_0x3c8b33);}};switch(_0x1094c8[_0x300a85(0x2fe)]){case _0x2f0cf2[_0x300a85(0x407)]:{if(_0x2f0cf2[_0x300a85(0x327)](_0x2f0cf2[_0x300a85(0x519)],_0x2f0cf2[_0x300a85(0x32f)])){_0x35d023[_0x300a85(0x434)](_0x2f0cf2['ughDk'],_0x300a85(0x5c4)),_0x35d023[_0x300a85(0x434)](_0x2f0cf2['cTsib'],_0x2f0cf2[_0x300a85(0x39e)](_0x2f0cf2[_0x300a85(0x417)]+_0x12229e[_0x300a85(0x2c8)],_0x300a85(0x2dd))),_0x35d023[_0x300a85(0x561)](_0x1094c8['data'],_0x2f0cf2[_0x300a85(0x426)]);break;}else return _0x41f28d[_0x300a85(0x221)](_0x41aaaf),_0x29ab63['YgEzY'](_0x37b6e6,_0x255fb4);}case _0x300a85(0x4e0):{_0x35d023[_0x300a85(0x434)](_0x2f0cf2['ughDk'],_0x300a85(0x355)),_0x35d023[_0x300a85(0x434)](_0x2f0cf2[_0x300a85(0x2a5)],_0x2f0cf2[_0x300a85(0x27f)](_0x2f0cf2[_0x300a85(0x417)],_0x12229e[_0x300a85(0x2c8)])+_0x300a85(0x5b2)),_0x35d023[_0x300a85(0x35c)](_0x1094c8[_0x300a85(0x1e6)],_0x2f0cf2['clnIg']),_0x35d023[_0x300a85(0x561)](null,_0x2f0cf2[_0x300a85(0x426)]);break;}case _0x2f0cf2[_0x300a85(0x20f)]:_0x35d023[_0x300a85(0x4c2)](_0x1094c8[_0x300a85(0x1e6)][_0x300a85(0x51d)](_0x2f0cf2[_0x300a85(0x2aa)]));break;case _0x2f0cf2[_0x300a85(0x1f4)]:_0x35d023['json'](_0x1094c8[_0x300a85(0x1e6)]);break;default:_0x35d023[_0x300a85(0x4c2)](_0x1094c8[_0x300a85(0x1e6)]);}};this['router'][_0x45d547(0x472)](this[_0x45d547(0x532)]+_0x45d547(0x39f))[_0x45d547(0x588)](async function(_0xb5285,_0x48b8d1){const _0x1172ab=_0x45d547,_0xbee16f={'dqCzu':function(_0x1d08bd,_0x2f4117,_0x55fb25){const _0x455770=_0x53c7;return _0x2f0cf2[_0x455770(0x281)](_0x1d08bd,_0x2f4117,_0x55fb25);}};if(_0x2f0cf2['nSwiz'](_0x2f0cf2[_0x1172ab(0x30d)],_0x2f0cf2[_0x1172ab(0x266)])){const {query:_0x1cdf1a,body:_0x133f6f,user:_0x476beb,params:_0x22f9f9,headers:_0x173e8b}=_0xb5285,_0xedc3b9=_0xb5285['header'](_0x2f0cf2[_0x1172ab(0x43c)]),_0xd0a7e0=_0xb5285['ip']||_0xb5285[_0x1172ab(0x5a9)][_0x2f0cf2[_0x1172ab(0x46a)]]||_0xb5285[_0x1172ab(0x3c9)][_0x1172ab(0x586)];try{const _0x3a4d63={'handler':_0x1172ab(0x40a),'query':_0x1cdf1a,'body':_0x133f6f,'user':_0x476beb,'params':_0x22f9f9,'headers':_0x173e8b,'user_agent':_0xedc3b9,'ip':_0xd0a7e0,'originalUrl':_0xb5285[_0x1172ab(0x25c)]};if(global['inputMainPool']){if(_0x2f0cf2[_0x1172ab(0x327)](_0x1172ab(0x328),_0x2f0cf2[_0x1172ab(0x49a)]))global[_0x1172ab(0x380)][_0x1172ab(0x241)]({'req':_0x3a4d63,'module':_0x12229e[_0x1172ab(0x2c8)][_0x1172ab(0x513)](),'configs':JSON['stringify'](configs)},_0x108b39=>{const _0x14c350=_0x1172ab;if(_0x108b39[_0x14c350(0x221)])return _0x48b8d1[_0x14c350(0x2d0)](0x190)[_0x14c350(0x4c2)]({'error':_0x108b39[_0x14c350(0x221)]['error']||_0x108b39[_0x14c350(0x221)][_0x14c350(0x584)]||_0x108b39[_0x14c350(0x221)],'message':_0x108b39[_0x14c350(0x584)]||_0x108b39[_0x14c350(0x221)][_0x14c350(0x221)]||_0x108b39[_0x14c350(0x221)]['message']||_0x108b39[_0x14c350(0x221)]});else _0xbee16f[_0x14c350(0x467)](_0x518d1b,_0x48b8d1,_0x108b39[_0x14c350(0x20c)]);});else return[_0x29d768];}else handlers[_0x1172ab(0x40a)](_0x12229e,_0x3a4d63,(_0x4ad8a1,_0x1275d1)=>{const _0x3278c7=_0x1172ab;if(_0x2f0cf2[_0x3278c7(0x2ef)]!==_0x2f0cf2[_0x3278c7(0x452)]){if(_0x4ad8a1)return _0x48b8d1[_0x3278c7(0x2d0)](0x190)[_0x3278c7(0x4c2)](_0x4ad8a1);_0x2f0cf2[_0x3278c7(0x4eb)](_0x518d1b,_0x48b8d1,_0x1275d1);}else _0x424d36[_0x3278c7(0x4c2)]({'_id':_0x5a49c5['_id'][_0x3278c7(0x4d1)]()});});}catch(_0x2df3e1){_0x48b8d1[_0x1172ab(0x2d0)](0x190)[_0x1172ab(0x4c2)](_0x2df3e1);}}else{if(_0x55f241)return _0x1576c5[_0x1172ab(0x2d0)](0x190)[_0x1172ab(0x4c2)]({'error':_0x40e460[_0x1172ab(0x221)]||_0x22f01a['message']||_0x38c7ff});_0x32a63a[_0x1172ab(0x4c2)](_0x4e8396);}});},controller[_0x444c5d(0x5b3)][_0x444c5d(0x45a)]=function(){const _0x41d291=_0x444c5d,_0x4228ae={'Iqpxn':_0x41d291(0x516),'cylbs':_0x41d291(0x208),'AUAbb':_0x41d291(0x499),'kQUBL':'Không\x20thể\x20import\x20dữ\x20liệu','UGMhb':_0x41d291(0x564),'yBttW':function(_0x523dd4,_0x27a2ff){return _0x523dd4<_0x27a2ff;},'MMSlj':'user-agent','HDQYQ':_0x41d291(0x269),'tyRZi':_0x41d291(0x345),'NAxfn':function(_0x26beca,_0x59cc3e){return _0x26beca!==_0x59cc3e;},'zzvfA':_0x41d291(0x212),'HPuKT':_0x41d291(0x36f),'pyxks':_0x41d291(0x4a1),'qRvTm':_0x41d291(0x3fd),'ySslg':function(_0x21347e,_0x2ad570){return _0x21347e*_0x2ad570;}};let _0x1daf5c=this;this['router'][_0x41d291(0x472)](this[_0x41d291(0x532)]+'/import/googlesheet')['get'](async function(_0x226dce,_0x537836){const _0xf819b7=_0x41d291,_0x257aa4={'TdEZN':function(_0x2711a0,_0x536845){const _0x4351a7=_0x53c7;return _0x4228ae[_0x4351a7(0x3b1)](_0x2711a0,_0x536845);}},{query:_0x68ae21,body:_0x360198,user:_0x4d6a15,params:_0x2c1964,headers:_0x57b18d}=_0x226dce,_0x3b4ceb=_0x226dce['header'](_0x4228ae[_0xf819b7(0x5a7)]),_0x3cfc29=_0x226dce['ip']||_0x226dce[_0xf819b7(0x5a9)][_0x4228ae[_0xf819b7(0x46c)]]||_0x226dce['connection'][_0xf819b7(0x586)];try{if(_0xf819b7(0x345)===_0x4228ae[_0xf819b7(0x265)]){const _0x361048={'handler':_0xf819b7(0x3fb),'query':_0x68ae21,'body':_0x360198,'user':_0x4d6a15,'params':_0x2c1964,'headers':_0x57b18d,'user_agent':_0x3b4ceb,'ip':_0x3cfc29,'originalUrl':_0x226dce['originalUrl']};if(global[_0xf819b7(0x260)]){if(_0x4228ae[_0xf819b7(0x33d)](_0x4228ae[_0xf819b7(0x458)],_0x4228ae[_0xf819b7(0x445)])){const _0x288d42=_0xf819b7(0x362)+crypto['randomBytes'](0x14)[_0xf819b7(0x4d1)](_0x4228ae[_0xf819b7(0x538)]),_0x20819b=(configs[_0xf819b7(0x33a)]||configs[_0xf819b7(0x259)])+_0xf819b7(0x44d)+_0x288d42;_0x361048[_0xf819b7(0x4ad)]=_0x20819b,_0x537836['status'](0xca)[_0xf819b7(0x4c2)]({'message':_0x4228ae['qRvTm'],'status_task':_0x20819b}),global[_0xf819b7(0x260)]['exec']({'id_task':_0x288d42,'req':_0x361048,'module':_0x1daf5c[_0xf819b7(0x2c8)][_0xf819b7(0x513)](),'configs':JSON[_0xf819b7(0x24b)](configs)},_0x3e4527=>{const _0x47238e=_0xf819b7,_0x171676=_0x3e4527['error'];if(_0x171676)return global[_0x47238e(0x3ac)](_0x47238e(0x516))[_0x47238e(0x514)](_0x226dce['user'][_0x47238e(0x1dd)],_0x226dce[_0x47238e(0x3df)][_0x47238e(0x1dd)],_0x47238e(0x33f),_0x171676[_0x47238e(0x584)]||_0x171676['error']||_0x171676,null,{'id_app':_0x226dce[_0x47238e(0x3df)]['current_id_app']},!![],null,!![]);global['getModel'](_0x4228ae[_0x47238e(0x448)])[_0x47238e(0x514)](_0x226dce['user'][_0x47238e(0x1dd)],_0x226dce[_0x47238e(0x3df)][_0x47238e(0x1dd)],_0x4228ae[_0x47238e(0x529)],_0x47238e(0x208),null,{'id_app':_0x226dce[_0x47238e(0x3df)][_0x47238e(0x3a1)]},!![],null,!![]);},_0x4228ae['ySslg'](_0x4228ae['ySslg'](_0x4228ae[_0xf819b7(0x365)](_0x4228ae['ySslg'](0x2,0x18),0x3c),0x3c),0x3e8));}else{let _0x3d23e3=_0x27ebc8[_0xf819b7(0x4ae)];_0x257aa4['TdEZN'](_0x3d23e3[_0xf819b7(0x393)](_0xf819b7(0x392)),0x0)&&(_0x3d23e3=_0xf819b7(0x392)+_0x3d23e3),_0x463dfd=_0x2a34a4(_0x3d23e3);}}else _0x537836[_0xf819b7(0x2d0)](0xca)[_0xf819b7(0x4c2)]({'message':_0x4228ae[_0xf819b7(0x4fb)]}),handlers['importFromGsHandler'](_0x1daf5c,_0x361048,_0x12942e=>{const _0x558f51=_0xf819b7;if(_0x12942e){if(_0x4228ae['AUAbb']!==_0x4228ae[_0x558f51(0x3dd)]){const _0x34a1ba=this;_0x33504b(_0x436e91,_0x34a1ba,_0x41ed85,_0x571b34,_0x238f9b,_0x3f0121);}else return global['getModel'](_0x4228ae[_0x558f51(0x448)])[_0x558f51(0x514)](_0x226dce[_0x558f51(0x3df)][_0x558f51(0x1dd)],_0x226dce['user'][_0x558f51(0x1dd)],_0x4228ae[_0x558f51(0x236)],_0x12942e['message']||_0x12942e[_0x558f51(0x221)]||_0x12942e,null,{'id_app':_0x226dce[_0x558f51(0x3df)][_0x558f51(0x3a1)]},!![],null,!![]);}global[_0x558f51(0x3ac)](_0x4228ae['Iqpxn'])['createNotification'](_0x226dce[_0x558f51(0x3df)]['email'],_0x226dce[_0x558f51(0x3df)][_0x558f51(0x1dd)],_0x558f51(0x208),_0x4228ae[_0x558f51(0x529)],null,{'id_app':_0x226dce['user'][_0x558f51(0x3a1)]},!![],null,!![]);});}else return _0x23776b['getModel'](_0x4228ae[_0xf819b7(0x448)])['createNotification'](_0xf838d9[_0xf819b7(0x3df)][_0xf819b7(0x1dd)],_0x53d3e7[_0xf819b7(0x3df)][_0xf819b7(0x1dd)],_0x4228ae[_0xf819b7(0x24e)],_0xb1be54[_0xf819b7(0x584)]||_0x48a2a7['error']||_0x31b777,null,{'id_app':_0x3d6a91[_0xf819b7(0x3df)][_0xf819b7(0x3a1)]},!![],_0x170e9a[_0xf819b7(0x4d9)],!![]);}catch(_0x8b1e58){_0x537836[_0xf819b7(0x2d0)](0x190)[_0xf819b7(0x4c2)](_0x8b1e58);}});},controller['prototype']['importFromJson']=function(){const _0x584e23=_0x444c5d,_0x2109ee={'NeMyb':_0x584e23(0x516),'DAxXf':'Không\x20thể\x20import\x20dữ\x20liệu','liqZB':_0x584e23(0x208),'JNOqu':function(_0x12c656,_0x2a5d07){return _0x12c656===_0x2a5d07;},'dxYYx':'danh\x20sách\x20người\x20duyệt\x20phải\x20là\x20một\x20mảng,\x20hiện\x20tại\x20đang\x20là','AUkpI':_0x584e23(0x269),'eZYlR':_0x584e23(0x340),'lCIsk':_0x584e23(0x530),'GHIYW':_0x584e23(0x3bb),'Cfcfc':_0x584e23(0x29d),'GMgHT':_0x584e23(0x3fd),'nvIhX':function(_0x511b6c,_0x564090){return _0x511b6c*_0x564090;},'BGgze':function(_0x312912,_0x25758e){return _0x312912*_0x25758e;},'qkyJp':function(_0x1f759a,_0x2de3db){return _0x1f759a*_0x2de3db;},'BvIin':function(_0x372807,_0x135426){return _0x372807*_0x135426;},'uCQBr':_0x584e23(0x1ea)};let _0x38962b=this;this['router'][_0x584e23(0x472)](this['route_name']+_0x584e23(0x23a))[_0x584e23(0x471)](async function(_0x2aa957,_0x312638){const _0x14a4ce=_0x584e23,_0x127834={'yEzMF':function(_0x2643c6,_0x1feb3d){const _0x415e06=_0x53c7;return _0x2109ee[_0x415e06(0x3f6)](_0x2643c6,_0x1feb3d);},'ACkcB':_0x14a4ce(0x1ff),'KfTee':_0x14a4ce(0x516),'ggKtP':_0x2109ee[_0x14a4ce(0x50f)],'lNago':'Chương\x20trình\x20đã\x20import\x20dữ\x20liệu\x20xong','UlzIl':_0x2109ee['dxYYx']},{query:_0x59d416,body:_0x27765f,user:_0x3f81d2,params:_0x4c66ee,headers:_0x144040,files:_0x47d1dc}=_0x2aa957,_0x5f23f4=_0x2aa957[_0x14a4ce(0x3bd)](_0x14a4ce(0x49c)),_0x439780=_0x2aa957['ip']||_0x2aa957[_0x14a4ce(0x5a9)][_0x2109ee[_0x14a4ce(0x440)]]||_0x2aa957[_0x14a4ce(0x3c9)]['remoteAddress'];try{if(_0x2109ee['eZYlR']===_0x2109ee[_0x14a4ce(0x34f)])return new _0x26a88a(_0x341cee=>{const _0x1003f7={'psphj':function(_0x58e59c,_0x4d0192){return _0x58e59c(_0x4d0192);}};_0x56f039(_0x7d4b7d,_0x270005,_0x3b04b6,(_0x13cadf,_0x158bd9)=>{const _0x74407f=_0x53c7;if(_0x13cadf)return new _0x1b715f(_0x13cadf);_0x1003f7[_0x74407f(0x4b4)](_0x341cee,_0x158bd9);},_0x51f11a);});else{const _0x3ad6eb={'handler':_0x2109ee[_0x14a4ce(0x4bd)],'query':_0x59d416,'body':_0x27765f,'user':_0x3f81d2,'params':_0x4c66ee,'headers':_0x144040,'user_agent':_0x5f23f4,'ip':_0x439780,'files':_0x47d1dc,'originalUrl':_0x2aa957['originalUrl']};if(global[_0x14a4ce(0x260)]){if('nYGIy'===_0x2109ee[_0x14a4ce(0x549)]){const _0x594e88=_0x14a4ce(0x443)+crypto[_0x14a4ce(0x25a)](0x14)[_0x14a4ce(0x4d1)](_0x14a4ce(0x4a1)),_0x341956=(configs[_0x14a4ce(0x33a)]||configs[_0x14a4ce(0x259)])+_0x14a4ce(0x44d)+_0x594e88;_0x3ad6eb[_0x14a4ce(0x4ad)]=_0x341956,_0x312638[_0x14a4ce(0x2d0)](0xca)[_0x14a4ce(0x4c2)]({'message':_0x2109ee[_0x14a4ce(0x53b)],'status_task':_0x341956}),global['importDataMainPool'][_0x14a4ce(0x241)]({'id_task':_0x594e88,'req':_0x3ad6eb,'module':_0x38962b[_0x14a4ce(0x2c8)]['toUpperCase'](),'configs':JSON[_0x14a4ce(0x24b)](configs)},_0x141fba=>{const _0x4c57f4=_0x14a4ce;if(_0x127834['yEzMF'](_0x127834[_0x4c57f4(0x2d7)],_0x127834['ACkcB'])){const _0x2152c6=_0x141fba[_0x4c57f4(0x221)];if(_0x2152c6)return global['getModel'](_0x127834[_0x4c57f4(0x42e)])[_0x4c57f4(0x514)](_0x2aa957[_0x4c57f4(0x3df)]['email'],_0x2aa957[_0x4c57f4(0x3df)][_0x4c57f4(0x1dd)],_0x127834[_0x4c57f4(0x435)],_0x2152c6[_0x4c57f4(0x584)]||_0x2152c6['error']||_0x2152c6,null,{'id_app':_0x2aa957[_0x4c57f4(0x3df)]['current_id_app']},!![],null,!![]);global[_0x4c57f4(0x3ac)](_0x127834[_0x4c57f4(0x42e)])[_0x4c57f4(0x514)](_0x2aa957[_0x4c57f4(0x3df)][_0x4c57f4(0x1dd)],_0x2aa957[_0x4c57f4(0x3df)]['email'],_0x4c57f4(0x208),_0x127834['lNago'],null,{'id_app':_0x2aa957['user'][_0x4c57f4(0x3a1)]},!![],null,!![]);}else _0x74953c=_0x2942cd[_0x4c57f4(0x32c)](_0x2d8db6,_0x37e8f8[_0x4c57f4(0x535)]);},_0x2109ee[_0x14a4ce(0x2f0)](_0x2109ee[_0x14a4ce(0x2e8)](_0x2109ee[_0x14a4ce(0x367)](_0x2109ee[_0x14a4ce(0x1fc)](0x2,0x18),0x3c),0x3c),0x3e8));}else return _0x558579[_0x14a4ce(0x2d0)](0x190)[_0x14a4ce(0x4c2)]({'error':_0x1c933c[_0x14a4ce(0x221)][_0x14a4ce(0x221)]||_0x4be161['error'][_0x14a4ce(0x584)]||_0x36f897[_0x14a4ce(0x221)],'message':_0x2ae2ab['message']||_0x170aad['error'][_0x14a4ce(0x221)]||_0x220d3e['error'][_0x14a4ce(0x584)]||_0x8736cb[_0x14a4ce(0x221)]});}else{if(_0x2109ee[_0x14a4ce(0x3f6)](_0x14a4ce(0x48a),_0x2109ee['uCQBr'])){_0x3cbef6[_0x14a4ce(0x221)](_0x127834[_0x14a4ce(0x528)],_0x452fd7);return;}else _0x312638['status'](0xca)[_0x14a4ce(0x4c2)]({'message':'Chương\x20trình\x20đang\x20thực\x20hiện.\x20Khi\x20hoàn\x20thành,\x20chương\x20trình\x20sẽ\x20gửi\x20cho\x20bạn\x20một\x20thông\x20báo'}),handlers[_0x14a4ce(0x3bb)](_0x38962b,_0x3ad6eb,_0x47ae22=>{const _0x3b7ad8=_0x14a4ce;if(_0x47ae22)return global['getModel'](_0x2109ee[_0x3b7ad8(0x525)])[_0x3b7ad8(0x514)](_0x2aa957['user'][_0x3b7ad8(0x1dd)],_0x2aa957[_0x3b7ad8(0x3df)][_0x3b7ad8(0x1dd)],_0x2109ee[_0x3b7ad8(0x50f)],_0x47ae22[_0x3b7ad8(0x584)]||_0x47ae22[_0x3b7ad8(0x221)]||_0x47ae22,null,{'id_app':_0x2aa957[_0x3b7ad8(0x3df)][_0x3b7ad8(0x3a1)]},!![],null,!![]);global[_0x3b7ad8(0x3ac)](_0x2109ee['NeMyb'])['createNotification'](_0x2aa957[_0x3b7ad8(0x3df)][_0x3b7ad8(0x1dd)],_0x2aa957[_0x3b7ad8(0x3df)][_0x3b7ad8(0x1dd)],_0x3b7ad8(0x208),_0x2109ee[_0x3b7ad8(0x25b)],null,{'id_app':_0x2aa957['user'][_0x3b7ad8(0x3a1)]},!![],null,!![]);});}}}catch(_0x3af06d){console[_0x14a4ce(0x221)](_0x2109ee[_0x14a4ce(0x50f)],_0x3af06d),_0x312638[_0x14a4ce(0x2d0)](0x190)[_0x14a4ce(0x4c2)](_0x3af06d);}});},controller[_0x444c5d(0x5b3)][_0x444c5d(0x404)]=function(){const _0x540a2a=_0x444c5d,_0x46ed23={'FyKxa':function(_0x2d6250,_0x4eb49e){return _0x2d6250!==_0x4eb49e;},'ROBkj':_0x540a2a(0x244),'BQhEe':_0x540a2a(0x516),'avPFr':_0x540a2a(0x2d3),'UwmxK':_0x540a2a(0x33f),'oeRuA':_0x540a2a(0x4d8),'wRQYz':'user-agent','xtnmy':_0x540a2a(0x269),'uQtYc':'importFromExcelHandler','bAyOH':function(_0x24db53,_0x5ba84f){return _0x24db53!==_0x5ba84f;},'AhvIx':_0x540a2a(0x57f),'DzMyS':_0x540a2a(0x4a1),'UQMpR':function(_0x138bc2,_0x2b20cf){return _0x138bc2*_0x2b20cf;},'LKaxH':function(_0x13bd96,_0x2f3865){return _0x13bd96*_0x2f3865;},'BfSwa':function(_0x105d33,_0x511028){return _0x105d33!==_0x511028;},'Yondx':_0x540a2a(0x30f),'Enqij':'FCsOA','PsbPo':_0x540a2a(0x3fd),'YYQFG':function(_0xfbd9ff,_0x4ad331){return _0xfbd9ff!==_0x4ad331;},'ieRvT':'PdZle'};let _0x3f4642=this;this['router']['route'](this[_0x540a2a(0x532)]+_0x540a2a(0x332))['post'](async function(_0x2128b0,_0x1872d6){const _0x1cd852=_0x540a2a,_0x10e5d4={'asskU':_0x46ed23[_0x1cd852(0x222)],'jrhlM':_0x1cd852(0x516),'krPXc':_0x46ed23[_0x1cd852(0x555)],'SDXsn':_0x46ed23['oeRuA']},{query:_0x5c7e90,body:_0xcd723e,user:_0x240ad2,params:_0xce0170,headers:_0x2c144b,files:_0x4a349a}=_0x2128b0,_0x2cfd77=_0x2128b0[_0x1cd852(0x3bd)](_0x46ed23[_0x1cd852(0x21c)]),_0x25efd2=_0x2128b0['ip']||_0x2128b0[_0x1cd852(0x5a9)][_0x46ed23[_0x1cd852(0x4b7)]]||_0x2128b0['connection'][_0x1cd852(0x586)];try{const _0x4e6ed0={'handler':_0x46ed23[_0x1cd852(0x249)],'query':_0x5c7e90,'body':_0xcd723e,'user':_0x240ad2,'params':_0xce0170,'headers':_0x2c144b,'user_agent':_0x2cfd77,'ip':_0x25efd2,'files':_0x4a349a,'originalUrl':_0x2128b0[_0x1cd852(0x25c)]};if(global[_0x1cd852(0x260)]){if(_0x46ed23[_0x1cd852(0x23e)](_0x46ed23[_0x1cd852(0x4cc)],_0x46ed23[_0x1cd852(0x4cc)]))_0x2f32c6[_0x1cd852(0x2d0)](0x190)[_0x1cd852(0x4c2)](_0x242b2b);else{const _0x4488fc=_0x1cd852(0x3bc)+crypto['randomBytes'](0x14)[_0x1cd852(0x4d1)](_0x46ed23[_0x1cd852(0x1eb)]),_0x6d0e22=(configs[_0x1cd852(0x33a)]||configs[_0x1cd852(0x259)])+'/task-status/'+_0x4488fc;_0x4e6ed0[_0x1cd852(0x4ad)]=_0x6d0e22,_0x1872d6[_0x1cd852(0x2d0)](0xca)[_0x1cd852(0x4c2)]({'message':_0x1cd852(0x3fd),'status_task':_0x6d0e22}),global[_0x1cd852(0x260)][_0x1cd852(0x241)]({'id_task':_0x4488fc,'req':_0x4e6ed0,'module':_0x3f4642[_0x1cd852(0x2c8)][_0x1cd852(0x513)](),'configs':JSON[_0x1cd852(0x24b)](configs)},_0x21de37=>{const _0x4eb1a4=_0x1cd852;if(_0x46ed23[_0x4eb1a4(0x3a8)](_0x4eb1a4(0x244),_0x46ed23['ROBkj']))return _0xbf47d[_0x4eb1a4(0x2d0)](0x190)['send']({'error':_0x454e84['error'][_0x4eb1a4(0x221)]||_0x59f7ec['error'][_0x4eb1a4(0x584)]||_0x487593[_0x4eb1a4(0x221)],'message':_0x359d69['message']||_0x8bb04e[_0x4eb1a4(0x221)][_0x4eb1a4(0x221)]||_0x22a5cd[_0x4eb1a4(0x221)][_0x4eb1a4(0x584)]||_0x1a03e2['error']});else{const _0x5a46cb=_0x21de37[_0x4eb1a4(0x221)];if(_0x5a46cb)return global[_0x4eb1a4(0x3ac)](_0x46ed23[_0x4eb1a4(0x368)])[_0x4eb1a4(0x514)](_0x2128b0[_0x4eb1a4(0x3df)][_0x4eb1a4(0x1dd)],_0x2128b0['user']['email'],_0x4eb1a4(0x33f),_0x5a46cb[_0x4eb1a4(0x584)]||_0x5a46cb[_0x4eb1a4(0x221)]||_0x5a46cb,null,{'id_app':_0x2128b0[_0x4eb1a4(0x3df)]['current_id_app']},!![],null,!![]);global[_0x4eb1a4(0x3ac)]('notification')[_0x4eb1a4(0x514)](_0x2128b0[_0x4eb1a4(0x3df)][_0x4eb1a4(0x1dd)],_0x2128b0[_0x4eb1a4(0x3df)][_0x4eb1a4(0x1dd)],_0x4eb1a4(0x208),_0x4eb1a4(0x208),null,{'id_app':_0x2128b0[_0x4eb1a4(0x3df)]['current_id_app']},!![],null,!![]);}},_0x46ed23[_0x1cd852(0x52f)](_0x46ed23[_0x1cd852(0x4fe)](0x2*0x18,0x3c),0x3c)*0x3e8);}}else{if(_0x46ed23[_0x1cd852(0x2b2)](_0x46ed23[_0x1cd852(0x2e1)],_0x46ed23[_0x1cd852(0x48b)]))_0x1872d6[_0x1cd852(0x2d0)](0xca)[_0x1cd852(0x4c2)]({'message':_0x46ed23[_0x1cd852(0x5af)]}),handlers[_0x1cd852(0x3d4)](_0x3f4642,_0x4e6ed0,_0x2187d0=>{const _0x360aba=_0x1cd852;if(_0x2187d0)return _0x10e5d4[_0x360aba(0x57a)]!=='ZeGzC'?{'email':_0x5b0164,'name':_0x24858d}:global[_0x360aba(0x3ac)](_0x10e5d4[_0x360aba(0x2ed)])[_0x360aba(0x514)](_0x2128b0[_0x360aba(0x3df)][_0x360aba(0x1dd)],_0x2128b0[_0x360aba(0x3df)][_0x360aba(0x1dd)],_0x10e5d4[_0x360aba(0x4d5)],_0x2187d0[_0x360aba(0x584)]||_0x2187d0[_0x360aba(0x221)]||_0x2187d0,null,{'id_app':_0x2128b0[_0x360aba(0x3df)]['current_id_app']},!![],null,!![]);global[_0x360aba(0x3ac)]('notification')['createNotification'](_0x2128b0['user'][_0x360aba(0x1dd)],_0x2128b0[_0x360aba(0x3df)][_0x360aba(0x1dd)],'Chương\x20trình\x20đã\x20import\x20dữ\x20liệu\x20xong',_0x360aba(0x208),null,{'id_app':_0x2128b0['user'][_0x360aba(0x3a1)]},!![],null,!![]);});else{const _0x1fe5fa={'type_job':'history','query':_0x5a2f5e,'body':_0x25a020,'user':_0xefe57,'params':_0x54232c,'headers':_0x55790a,'user_agent':_0x279487,'ip':_0x36000a,'files':_0xb78f75,'originalUrl':_0x27acc8[_0x1cd852(0x25c)]};_0x27d14b[_0x1cd852(0x41d)](_0x34e8b4,_0x1fe5fa,(_0x1ec382,_0x184a8c)=>{const _0x518367=_0x1cd852;if(_0x1ec382)return _0x491238[_0x518367(0x2d0)](0x190)[_0x518367(0x4c2)]({'error':_0x1ec382[_0x518367(0x221)]||_0x1ec382[_0x518367(0x584)]||_0x1ec382});_0xd5b33[_0x518367(0x4c2)](_0x184a8c);});}}}catch(_0xdadeaf){if(_0x46ed23[_0x1cd852(0x347)](_0x46ed23[_0x1cd852(0x24c)],_0x1cd852(0x5a2))){const _0x2ac03e={'type_job':_0x10e5d4[_0x1cd852(0x543)],'query':_0x30b60f,'body':_0x21e76e,'user':_0x35b068,'params':_0xed7e59,'headers':_0xde78fe,'user_agent':_0x220ba4,'ip':_0x4ceaa2,'files':_0x500753,'originalUrl':_0x13ea15[_0x1cd852(0x25c)]};_0x587caa[_0x1cd852(0x531)](_0x34ee25,_0x2ac03e,(_0x357fa2,_0x52e85b)=>{const _0x444c73=_0x1cd852;if(_0x357fa2)return _0x8cd545[_0x444c73(0x2d0)](0x190)['send'](_0x357fa2);_0x29eb52[_0x444c73(0x4c2)](_0x52e85b);});}else _0x1872d6[_0x1cd852(0x2d0)](0x190)['send'](_0xdadeaf);}});},controller[_0x444c5d(0x5b3)][_0x444c5d(0x2e5)]=function(){const _0x4bee10=_0x444c5d,_0x1880a5={'RlKlC':function(_0x264b39,_0x5125c3){return _0x264b39===_0x5125c3;},'hyXsx':_0x4bee10(0x526),'zxJIZ':function(_0x15e065,_0x46e28f){return _0x15e065!==_0x46e28f;},'ZuCpD':_0x4bee10(0x41a),'jNDqJ':function(_0x40f413,_0x5545bb,_0x25241a,_0x512311,_0x59228b,_0x305550,_0x3dec4f){return _0x40f413(_0x5545bb,_0x25241a,_0x512311,_0x59228b,_0x305550,_0x3dec4f);},'ErAzC':'new','UVlXR':function(_0x43910a,_0x132c67){return _0x43910a===_0x132c67;},'ssyPb':'orCrx','DylgA':_0x4bee10(0x3c3),'gmxfH':'VPuPP','hZQBj':_0x4bee10(0x49c),'Jkksg':'x-forwarded-for','sNBSC':'updateField','tJTTW':_0x4bee10(0x5ca),'Wgknu':function(_0x5e40d2,_0x4b2213){return _0x5e40d2!=_0x4b2213;},'JdUff':_0x4bee10(0x24d),'BeyUj':'CsoIe','qwdfb':function(_0xf7704e,_0x459c7d){return _0xf7704e!==_0x459c7d;},'Vmxwu':_0x4bee10(0x44c)};let _0xba123=this;this['router'][_0x4bee10(0x472)](this['route_name'])[_0x4bee10(0x471)](async function(_0x3cb734,_0x2ca553){const _0x38a739=_0x4bee10,_0x132489={'gWbrG':_0x1880a5[_0x38a739(0x44b)],'xtSUN':_0x1880a5[_0x38a739(0x4e6)],'GufZA':_0x1880a5[_0x38a739(0x232)],'oAqAC':function(_0x1bf0ad,_0x578ddf){const _0x4b0d59=_0x38a739;return _0x1880a5[_0x4b0d59(0x396)](_0x1bf0ad,_0x578ddf);},'NiBTM':_0x1880a5['tJTTW'],'sCaEE':_0x38a739(0x397),'zJyur':_0x38a739(0x225)};let _0x3da0b9=_0x3cb734['body'];if(!_0x3da0b9)return _0x2ca553[_0x38a739(0x2d0)](0x19b)['send']({'error':_0x38a739(0x4e7)});_0x3cb734[_0x38a739(0x589)]&&_[_0x38a739(0x2c3)](_0x3cb734[_0x38a739(0x589)])['length']>0x0&&(_0x1880a5[_0x38a739(0x28e)](_0x3da0b9[_0x38a739(0x444)],_0x38a739(0x2a0))&&(_0x1880a5[_0x38a739(0x3fe)]!==_0x1880a5['BeyUj']?_0x3cb734[_0x38a739(0x414)]=!![]:_0x593f5e['send'](_0x51adb5)),_[_0x38a739(0x4dd)](_0x3da0b9,_0x3cb734[_0x38a739(0x589)]));const {query:_0xd0cf3b,user:_0x2bce42,params:_0x465856,files:_0x2cf014,uploadFile:_0x39d619,headers:_0x4d729c}=_0x3cb734,_0x40cdf3=_0x3cb734[_0x38a739(0x3bd)](_0x1880a5[_0x38a739(0x44b)]),_0x57bccb=_0x3cb734['ip']||_0x3cb734[_0x38a739(0x5a9)][_0x1880a5['Jkksg']]||_0x3cb734[_0x38a739(0x3c9)][_0x38a739(0x586)];try{const _0x1a25cc={'handler':_0x38a739(0x5c6),'query':_0xd0cf3b,'data':_0x3da0b9,'user':_0x2bce42,'params':_0x465856,'headers':_0x4d729c,'user_agent':_0x40cdf3,'ip':_0x57bccb,'files':_0x2cf014,'uploadFile':_0x39d619,'originalUrl':_0x3cb734[_0x38a739(0x25c)]};global[_0x38a739(0x380)]?global[_0x38a739(0x380)][_0x38a739(0x241)]({'req':_0x1a25cc,'module':_0xba123[_0x38a739(0x2c8)][_0x38a739(0x513)](),'configs':JSON[_0x38a739(0x24b)](configs)},_0x163a90=>{const _0x5c9826=_0x38a739;if(_0x1880a5[_0x5c9826(0x33b)](_0x1880a5[_0x5c9826(0x304)],_0x5c9826(0x4ea)))this[_0x5c9826(0x43b)]=_0x46af9f[_0x5c9826(0x43b)];else{if(_0x163a90['error']){if(_0x1880a5['zxJIZ'](_0x1880a5['ZuCpD'],'zqHmC'))_0x4cf212='return\x20'+_0x56c311;else return _0x2ca553[_0x5c9826(0x2d0)](0x190)[_0x5c9826(0x4c2)]({'error':_0x163a90[_0x5c9826(0x221)][_0x5c9826(0x221)]||_0x163a90['error'][_0x5c9826(0x584)]||_0x163a90['error'],'message':_0x163a90[_0x5c9826(0x584)]||_0x163a90['error'][_0x5c9826(0x221)]||_0x163a90[_0x5c9826(0x221)][_0x5c9826(0x584)]||_0x163a90['error']});}else{const {obj_created:_0x40a1fd}=_0x163a90[_0x5c9826(0x20c)];_0x1880a5['jNDqJ'](pushNotification,_0xba123,_0x40a1fd,_0x1880a5['ErAzC'],null,null,{'exclude_token':(_0x3cb734[_0x5c9826(0x31d)]||{})[_0x5c9826(0x4d9)]});if(_0x1880a5[_0x5c9826(0x396)](_0x3cb734['query'][_0x5c9826(0x59a)],![]))_0x1880a5[_0x5c9826(0x395)]!==_0x1880a5[_0x5c9826(0x395)]?_0x529844[_0x5c9826(0x4c2)](_0x29f5a3[_0x5c9826(0x20c)]):_0x2ca553['send']({'_id':_0x40a1fd[_0x5c9826(0x5ac)][_0x5c9826(0x4d1)]()});else{if(_0x1880a5[_0x5c9826(0x33b)](_0x1880a5[_0x5c9826(0x210)],_0x1880a5['gmxfH'])){const {query:_0x342e35,body:_0x36dcae,user:_0x3edac8,params:_0x16cce1,headers:_0x52048d,files:_0x45814d}=_0x192930,_0x50c057=_0x55bd05[_0x5c9826(0x3bd)](_0x132489[_0x5c9826(0x4fa)]),_0x51a02c=_0x22e962['ip']||_0x28c226['headers'][_0x132489[_0x5c9826(0x275)]]||_0x40c4d8[_0x5c9826(0x3c9)]['remoteAddress'];try{const _0x3686b4={'type_job':_0x132489[_0x5c9826(0x4c9)],'query':_0x342e35,'body':_0x36dcae,'user':_0x3edac8,'params':_0x16cce1,'headers':_0x52048d,'user_agent':_0x50c057,'ip':_0x51a02c,'files':_0x45814d,'originalUrl':_0xc72706[_0x5c9826(0x25c)]};_0xf4f245[_0x5c9826(0x22c)](_0x34086e,_0x3686b4,(_0x5b1ae2,_0x129bc7)=>{const _0x3e9b57=_0x5c9826;if(_0x5b1ae2)return _0x1f7450[_0x3e9b57(0x2d0)](0x190)[_0x3e9b57(0x4c2)](_0x5b1ae2);_0x1b0b67[_0x3e9b57(0x4c2)](_0x129bc7);});}catch(_0x4cd7ca){_0x2bcde2[_0x5c9826(0x2d0)](0x190)[_0x5c9826(0x4c2)](_0x4cd7ca);}}else _0x2ca553[_0x5c9826(0x4c2)](_0x40a1fd);}}}}):handlers['createHandler'](_0xba123,_0x1a25cc,(_0x4d5e55,_0x15c6c7)=>{const _0x451d27=_0x38a739;if(_0x132489['oAqAC'](_0x132489['NiBTM'],_0x132489[_0x451d27(0x599)])){if(_0x18b613)return _0x155ea6[_0x451d27(0x2d0)](0x190)[_0x451d27(0x4c2)](_0x31872f);_0x208ea2['send'](_0x49f9c1);}else{if(_0x4d5e55)return _0x2ca553[_0x451d27(0x2d0)](0x190)['send'](_0x4d5e55);const {obj_created:_0x3b0279}=_0x15c6c7;pushNotification(_0xba123,_0x3b0279,_0x132489[_0x451d27(0x1da)],null,null,{'exclude_token':(_0x3cb734[_0x451d27(0x31d)]||{})[_0x451d27(0x4d9)]}),_0x132489[_0x451d27(0x523)](_0x3cb734['query'][_0x451d27(0x59a)],![])?_0x2ca553[_0x451d27(0x4c2)]({'_id':_0x3b0279[_0x451d27(0x5ac)][_0x451d27(0x4d1)]()}):_0x2ca553[_0x451d27(0x4c2)](_0x3b0279);}});}catch(_0x43d569){_0x1880a5['qwdfb'](_0x38a739(0x44c),_0x1880a5['Vmxwu'])?_0x47ec0c[_0x38a739(0x2d0)](0x190)['send'](_0x363a0b):_0x2ca553[_0x38a739(0x2d0)](0x190)[_0x38a739(0x4c2)](_0x43d569);}});},controller[_0x444c5d(0x5b3)][_0x444c5d(0x356)]=function(){const _0x903690=_0x444c5d,_0x211496={'JXlBC':function(_0x3b0d06,_0x3d863e,_0x5eb38c){return _0x3b0d06(_0x3d863e,_0x5eb38c);},'gWbvC':_0x903690(0x516),'dbwav':function(_0x55981a){return _0x55981a();},'rhRJX':function(_0x4b94ad,_0x284a4c){return _0x4b94ad!==_0x284a4c;},'LksYx':'WYuSN','EOFSp':function(_0x4efd74,_0x148fab,_0x3a7889,_0x402353,_0x111b71,_0x34c642,_0x42c55a){return _0x4efd74(_0x148fab,_0x3a7889,_0x402353,_0x111b71,_0x34c642,_0x42c55a);},'pdjLT':function(_0x2dbc23,_0x7baee7){return _0x2dbc23===_0x7baee7;},'Fpvva':_0x903690(0x4f5),'TWqwg':function(_0x53d423,_0x90dcb5){return _0x53d423!==_0x90dcb5;},'XSbGO':'DMEeX','uBkel':_0x903690(0x300),'XwsVy':function(_0xfd3b1e,_0x29e06b){return _0xfd3b1e!==_0x29e06b;},'IvlCo':_0x903690(0x537),'LZiHN':_0x903690(0x2fb),'YjcEe':_0x903690(0x5cc),'GPDYh':function(_0x49eecd,_0x5d1226){return _0x49eecd===_0x5d1226;},'lUvrV':_0x903690(0x4d9),'UfqOa':function(_0xb0fec2,_0x3509b4){return _0xb0fec2===_0x3509b4;},'pwjLP':_0x903690(0x2fd),'AYgLV':_0x903690(0x5ac),'muskw':_0x903690(0x59f),'zIxOz':_0x903690(0x49c),'VCOpD':'x-forwarded-for','vUoEh':_0x903690(0x21e),'kdTmc':_0x903690(0x4b6),'dCbyz':function(_0x491ddf,_0x54b35d){return _0x491ddf(_0x54b35d);},'suNEV':function(_0x8f2d47,_0x150be4){return _0x8f2d47+_0x150be4;},'CSVAx':_0x903690(0x5cf),'CxASI':function(_0x47736b,_0x10b21a,_0x4f72d1){return _0x47736b(_0x10b21a,_0x4f72d1);}};let _0x391f15=this['model'],_0x42bcc4=this[_0x903690(0x2c8)],_0x4953ae=this,_0x4cf2e8=async(_0x401b48,_0x30583b,_0x5ad7fc)=>{const _0x22477f=_0x903690,_0x595f2d={'EwwIN':function(_0x24c1d1){return _0x211496['dbwav'](_0x24c1d1);},'TGOzq':function(_0x4a7847,_0xe534c5){const _0x45daa7=_0x53c7;return _0x211496[_0x45daa7(0x4e5)](_0x4a7847,_0xe534c5);},'vGdcL':_0x211496['LksYx'],'CxjVP':function(_0x4eef5c,_0x4be398,_0x656152,_0x334a95,_0x42a39e,_0x3cf972,_0x24c14d){return _0x211496['EOFSp'](_0x4eef5c,_0x4be398,_0x656152,_0x334a95,_0x42a39e,_0x3cf972,_0x24c14d);},'yRnDi':_0x22477f(0x225),'EnTem':function(_0x1323f2,_0x1e7b7b){const _0x3c9d8a=_0x22477f;return _0x211496[_0x3c9d8a(0x3d0)](_0x1323f2,_0x1e7b7b);}};if(_0x211496[_0x22477f(0x4e5)](_0x211496[_0x22477f(0x2e4)],_0x211496[_0x22477f(0x2e4)])){if(_0x280cfe)return _0x4563f6[_0x22477f(0x2d0)](0x190)[_0x22477f(0x4c2)](_0xf9eaeb);_0x211496['JXlBC'](_0x41d7a5,_0x369166,_0x8019db);}else{if(!_0x5ad7fc){if(_0x211496[_0x22477f(0x3f3)](_0x211496[_0x22477f(0x52c)],_0x211496['uBkel'])){let _0x356a9a=_0x401b48[_0x22477f(0x574)][_0x22477f(0x4c5)];if(!_0x356a9a)return _0x211496[_0x22477f(0x224)](_0x22477f(0x369),_0x22477f(0x5c8))?_0x30583b[_0x22477f(0x2d0)](0x190)[_0x22477f(0x4c2)]({'error':_0x211496[_0x22477f(0x2d6)]}):_0x595f2d[_0x22477f(0x231)](_0x66a2c2);let _0x397ce8={'id_app':_0x401b48['user'][_0x22477f(0x3a1)],'voucher_code':_0x42bcc4['toUpperCase'](),'code':_0x356a9a};_0x5ad7fc=await templatevoucher[_0x22477f(0x58f)](_0x397ce8)['lean']();if(!_0x5ad7fc)return _0x211496[_0x22477f(0x3f3)](_0x211496[_0x22477f(0x410)],_0x211496[_0x22477f(0x410)])?_0x2c2081[_0x22477f(0x3ac)](_0x211496[_0x22477f(0x230)])[_0x22477f(0x514)](_0x18aab6[_0x22477f(0x3df)][_0x22477f(0x1dd)],_0x55e6ac[_0x22477f(0x3df)][_0x22477f(0x1dd)],'Không\x20thể\x20import\x20dữ\x20liệu',_0x5857fa[_0x22477f(0x584)]||_0x3ddf26[_0x22477f(0x221)]||_0x8115ec,null,{'id_app':_0x1596d6[_0x22477f(0x3df)][_0x22477f(0x3a1)]},!![],null,!![]):_0x30583b[_0x22477f(0x2d0)](0x190)[_0x22477f(0x4c2)]({'error':_0x22477f(0x537)});}else _0x1419c6[_0x22477f(0x2d0)](0x190)[_0x22477f(0x4c2)](_0x3ac20e);}let _0x1c0247=_0x5ad7fc[_0x22477f(0x1e6)]||{};delete _0x1c0247[_0x22477f(0x3b2)],delete _0x1c0247[_0x22477f(0x3de)],delete _0x1c0247['user_created'],delete _0x1c0247[_0x22477f(0x50a)],delete _0x1c0247[_0x22477f(0x504)],delete _0x1c0247[_0x22477f(0x42a)],delete _0x1c0247[_0x22477f(0x5ac)],delete _0x1c0247[_0x22477f(0x4c8)],delete _0x1c0247[_0x22477f(0x3b3)];let _0x160702=_0x401b48['query'];_0x401b48[_0x22477f(0x535)]&&(_0x211496[_0x22477f(0x3d0)](_0x211496[_0x22477f(0x398)],_0x211496[_0x22477f(0x398)])?_0x160702=Object[_0x22477f(0x32c)](_0x160702,_0x401b48[_0x22477f(0x535)]):(this[_0x22477f(0x23f)]=![],this[_0x22477f(0x532)]='/'+this['module']));for(let _0xeed15c in _0x160702){if(!_0x160702[_0xeed15c]||_0x211496[_0x22477f(0x3ba)](_0xeed15c,_0x211496[_0x22477f(0x5bb)])||_0x211496[_0x22477f(0x43a)](_0xeed15c,_0x211496[_0x22477f(0x200)])||_0xeed15c===_0x211496['AYgLV'])continue;_[_0x22477f(0x5d0)](_0x391f15['schema'][_0x22477f(0x470)],_0xeed15c)&&(_0x1c0247[_0xeed15c]=_0x160702[_0xeed15c]),_0x1c0247[_0x22477f(0x338)]&&(_0x211496[_0x22477f(0x3d0)]('JtJwz',_0x211496['muskw'])?_0x2a84dc[_0x22477f(0x38d)](_0x13f453,_0x521a0e,(_0x3fda1d,_0x475a37)=>{const _0x224ceb=_0x22477f;if(_0x3fda1d)return _0x18ccf6[_0x224ceb(0x2d0)](0x190)[_0x224ceb(0x4c2)]({'error':_0x3fda1d[_0x224ceb(0x221)]||_0x3fda1d['message']||_0x3fda1d});_0x425fcc[_0x224ceb(0x4c2)](_0x475a37);}):_0x1c0247[_0x22477f(0x338)][_0x22477f(0x254)](_0x51cf51=>{_0x51cf51[_0xeed15c]=_0x160702[_0xeed15c];}));}const {query:_0x16ed81,user:_0x12a1f0,params:_0x40b9ef,files:_0x5d5e35,uploadFile:_0x4f09aa,headers:_0x2f49e1}=_0x401b48,_0x5cbfec=_0x401b48[_0x22477f(0x3bd)](_0x211496[_0x22477f(0x28d)]),_0x25f0a8=_0x401b48['ip']||_0x401b48[_0x22477f(0x5a9)][_0x211496[_0x22477f(0x280)]]||_0x401b48[_0x22477f(0x3c9)][_0x22477f(0x586)];try{if(_0x211496[_0x22477f(0x3e4)]===_0x22477f(0x322)){_0xf2757['error'](_0x22477f(0x411),_0x131953,_0x325a89);return;}else{const _0x45a80f={'query':_0x16ed81,'body':_0x1c0247,'user':_0x12a1f0,'params':_0x40b9ef,'headers':_0x2f49e1,'user_agent':_0x5cbfec,'ip':_0x25f0a8,'files':_0x5d5e35,'uploadFile':_0x4f09aa,'originalUrl':_0x401b48[_0x22477f(0x25c)]};handlers['createHandler'](_0x4953ae,_0x45a80f,(_0x1250e8,_0x31879f)=>{const _0x3695ec=_0x22477f;if(_0x595f2d[_0x3695ec(0x2da)](_0x595f2d[_0x3695ec(0x478)],_0x595f2d[_0x3695ec(0x478)])){const _0x385280={'fCMCh':function(_0x56543f,_0x565406){return _0x56543f*_0x565406;}};return _0x3097a3[_0x3695ec(0x3c6)][_0x3695ec(0x4c3)](_0x31fa4d=>{const _0x4d9dd2=_0x3695ec;return _0x31fa4d[_0x4d9dd2(0x4de)]?_0x31fa4d=_0x4e5286[_0x4d9dd2(0x3b8)](_0x31fa4d['toObject']()):_0x31fa4d={..._0x31fa4d},_0x31fa4d[_0x4d9dd2(0x298)]=_0x385280['fCMCh'](_0x31fa4d[_0x4d9dd2(0x298)],_0x5171b0[_0x4d9dd2(0x298)]),_0x31fa4d['ma_kho']=_0x28c739[_0x4d9dd2(0x2ca)],_0x31fa4d;});}else{if(_0x1250e8)return _0x30583b['status'](0x190)[_0x3695ec(0x4c2)](_0x1250e8);const {obj_created:_0x598b7a}=_0x31879f;_0x595f2d[_0x3695ec(0x560)](pushNotification,_0x4953ae,_0x598b7a,_0x595f2d[_0x3695ec(0x49d)],null,null,{'exclude_token':(_0x401b48[_0x3695ec(0x31d)]||{})[_0x3695ec(0x4d9)]}),_0x595f2d[_0x3695ec(0x2a8)](_0x401b48[_0x3695ec(0x31d)][_0x3695ec(0x59a)],![])?_0x30583b['send']({'_id':_0x598b7a['_id']['toString']()}):_0x30583b['send'](_0x598b7a);}});}}catch(_0x4f7942){_0x30583b[_0x22477f(0x2d0)](0x190)[_0x22477f(0x4c2)](_0x4f7942);}}};this['router'][_0x903690(0x472)](this['route_name']+_0x903690(0x53d))['get'](function(_0x547ecd,_0x3ed577){const _0x37380c=_0x903690;if(_0x211496[_0x37380c(0x224)](_0x211496[_0x37380c(0x251)],'mPHXo'))_0x211496[_0x37380c(0x284)](_0x4cf2e8,_0x547ecd,_0x3ed577);else{_0x2dafcb[_0x37380c(0x527)](_0x211496[_0x37380c(0x2c9)],_0x6ad220['ma_ct'],_0x16c4e3[_0x37380c(0x3b2)],_0x109586[_0x37380c(0x3de)],'by',_0x574d0b[_0x37380c(0x1dd)]);if(_0x88d0cf)return _0x211496[_0x37380c(0x364)](_0x47bcd0,{'error':_0x21c6c8[_0x37380c(0x584)]||_0x4573fd[_0x37380c(0x221)]||_0x211496['suNEV'](_0x37380c(0x5b8),_0x4eb0c0['so_ct'])});_0x567e1c(null,_0x1b4ff1);}}),this[_0x903690(0x4bc)][_0x903690(0x472)](this[_0x903690(0x532)]+'/quickcreate/:template_code')[_0x903690(0x471)](function(_0x5d2bed,_0x3e1e1c){_0x4cf2e8(_0x5d2bed,_0x3e1e1c);});},controller[_0x444c5d(0x5b3)][_0x444c5d(0x2b5)]=function(){const _0xe93314=_0x444c5d,_0x58bee1={'zsVam':function(_0x596445,_0x4a2a18){return _0x596445+_0x4a2a18;},'rrnvz':function(_0x7f9b56,_0x1c34f9){return _0x7f9b56<_0x1c34f9;},'lvbjx':function(_0xad5ca4,_0x48e273){return _0xad5ca4(_0x48e273);},'vasDN':'request\x20approve','ZJOQN':function(_0x1bb9ed,_0x2158fc){return _0x1bb9ed===_0x2158fc;},'kLyVo':_0xe93314(0x461),'ovWMH':_0xe93314(0x409),'cvYIq':function(_0x5a26fa,_0x519c01){return _0x5a26fa===_0x519c01;},'APUTY':function(_0x42d500,_0x4a9e04){return _0x42d500===_0x4a9e04;},'MkWUv':function(_0x1f868e,_0x57159c){return _0x1f868e===_0x57159c;},'hblPu':_0xe93314(0x548),'qnDOy':function(_0x58d0f2,_0x1ec77c,_0x58093b){return _0x58d0f2(_0x1ec77c,_0x58093b);},'cjrpP':function(_0x55de6b,_0x233786,_0x224dc5,_0xf02872,_0x383f52,_0x9317b8,_0x15524f){return _0x55de6b(_0x233786,_0x224dc5,_0xf02872,_0x383f52,_0x9317b8,_0x15524f);},'GLcSJ':function(_0x50b1e9,_0x15f6b4){return _0x50b1e9===_0x15f6b4;},'NPKyu':function(_0x1dd6cb,_0x3feb38){return _0x1dd6cb!==_0x3feb38;},'NqimE':_0xe93314(0x273),'PGJZF':_0xe93314(0x533),'GQYHI':_0xe93314(0x500),'oTbUg':function(_0x988d06,_0x3ddf7d){return _0x988d06(_0x3ddf7d);},'wVYvE':_0xe93314(0x464),'fEzdt':'jjLif','tKcYS':_0xe93314(0x49c),'NtsNr':'x-forwarded-for','yaAfe':_0xe93314(0x2b5),'XtYfJ':function(_0x49ad3f,_0xd1da37){return _0x49ad3f===_0xd1da37;},'TAzJq':'aYmrm','tdkUD':function(_0x4ce590,_0x2084e1){return _0x4ce590===_0x2084e1;},'aEBRt':_0xe93314(0x38b),'GurSn':_0xe93314(0x2b8)};let _0x3ede05=this;this[_0xe93314(0x4bc)][_0xe93314(0x472)](_0x58bee1[_0xe93314(0x2ae)](this['route_name'],_0x58bee1[_0xe93314(0x59d)]))[_0xe93314(0x402)](async function(_0x12f064,_0x4de00e){const _0x4e60b0=_0xe93314;if(_0x58bee1[_0x4e60b0(0x1d7)](_0x58bee1['PGJZF'],_0x58bee1[_0x4e60b0(0x2f5)]))this[_0x4e60b0(0x4bc)][_0x4e60b0(0x472)](_0x29df56)['post'](_0xfc983c),this[_0x4e60b0(0x4bc)][_0x4e60b0(0x472)](_0x58bee1[_0x4e60b0(0x2ae)](_0x1ba733,_0x4e60b0(0x571)))[_0x4e60b0(0x471)](_0x3aac4a);else{let _0x1c6c22=_0x12f064['body'];_0x12f064['files']&&_['extend'](_0x1c6c22,_0x12f064['files']);let _0x3a15cb;try{_0x3a15cb=_0x58bee1[_0x4e60b0(0x2bb)](bodyToJson,_0x1c6c22);}catch(_0x3fcb3b){if(_0x58bee1[_0x4e60b0(0x1d7)](_0x58bee1[_0x4e60b0(0x4f7)],_0x58bee1[_0x4e60b0(0x50b)]))!_0x371bfa[_0x4e60b0(0x3c6)]&&_0x1d3320['cb']&&(_0x44c22c[_0x4e60b0(0x3c6)]=_0x1d045e['cb']);else return _0x4de00e[_0x4e60b0(0x2d0)](0x190)[_0x4e60b0(0x4c2)]({'error':_0x3fcb3b[_0x4e60b0(0x584)]||_0x3fcb3b['error']||_0x3fcb3b});}let {query:_0x52eb47,user:_0x51b961,params:_0x2c4023,files:_0x1b14da,uploadFile:_0x43121b,headers:_0x2bceeb}=_0x12f064;_0x2c4023=_['cloneDeep'](_0x2c4023),_0x52eb47=_[_0x4e60b0(0x3a5)](_0x52eb47);const _0x21056a=_0x12f064['header'](_0x58bee1[_0x4e60b0(0x481)]),_0x167c02=_0x12f064['ip']||_0x12f064[_0x4e60b0(0x5a9)][_0x58bee1[_0x4e60b0(0x2db)]]||_0x12f064['connection'][_0x4e60b0(0x586)],_0x5371e1=_0x12f064[_0x4e60b0(0x574)]['id'];let _0xa9f0ad=_0x58bee1[_0x4e60b0(0x4e2)];try{const _0x4bd3f7={'handler':_0x4e60b0(0x357),'query':_0x52eb47,'headers':_0x2bceeb,'_action':_0xa9f0ad,'id':_0x5371e1,'data':_0x3a15cb,'body':_0x1c6c22,'user':_0x51b961,'params':_0x2c4023,'user_agent':_0x21056a,'ip':_0x167c02,'files':_0x1b14da,'uploadFile':_0x43121b,'originalUrl':_0x12f064['originalUrl']};global[_0x4e60b0(0x380)]?_0x58bee1['XtYfJ'](_0x58bee1[_0x4e60b0(0x223)],_0x58bee1[_0x4e60b0(0x223)])?global['inputMainPool']['exec']({'req':_0x4bd3f7,'module':_0x3ede05['name'][_0x4e60b0(0x513)](),'configs':JSON[_0x4e60b0(0x24b)](configs)},_0x136ea7=>{const _0x3e68d7=_0x4e60b0,_0x437a9f={'MYZtJ':function(_0x5a2c3d,_0xaf7bdc){const _0x368e4a=_0x53c7;return _0x58bee1[_0x368e4a(0x354)](_0x5a2c3d,_0xaf7bdc);},'ZWtwJ':function(_0x9a9039,_0x33c6a9){const _0x2b6058=_0x53c7;return _0x58bee1[_0x2b6058(0x3e9)](_0x9a9039,_0x33c6a9);},'GlkCG':_0x58bee1['vasDN']};if(_0x58bee1[_0x3e68d7(0x381)](_0x58bee1[_0x3e68d7(0x576)],_0x58bee1['ovWMH']))this['keyValues']={};else{if(_0x136ea7['error'])return _0x4de00e[_0x3e68d7(0x2d0)](0x190)[_0x3e68d7(0x4c2)]({'error':_0x136ea7[_0x3e68d7(0x221)][_0x3e68d7(0x221)]||_0x136ea7['error']['message']||_0x136ea7[_0x3e68d7(0x221)],'message':_0x136ea7[_0x3e68d7(0x584)]||_0x136ea7[_0x3e68d7(0x221)][_0x3e68d7(0x221)]||_0x136ea7['error'][_0x3e68d7(0x584)]||_0x136ea7[_0x3e68d7(0x221)]});else{let {new_obj:_0x302340,old_obj:_0x3b9f90}=_0x136ea7[_0x3e68d7(0x20c)];pushNotification(_0x3ede05,_0x302340,_0xa9f0ad,_0x3b9f90,null,{'exclude_token':_0x12f064[_0x3e68d7(0x31d)][_0x3e68d7(0x4d9)]});if(_0x58bee1[_0x3e68d7(0x1d7)](_0x12f064['query']['return_data'],![])){if(_0x58bee1['APUTY']('LeXWf',_0x3e68d7(0x3f5)))_0x4de00e[_0x3e68d7(0x4c2)]({'_id':_0x302340[_0x3e68d7(0x5ac)][_0x3e68d7(0x4d1)]()});else return _0x3422b1[_0x3e68d7(0x2d0)](0x190)['send']({'error':_0x14897b[_0x3e68d7(0x221)]['error']||_0x1f9c8b[_0x3e68d7(0x221)][_0x3e68d7(0x584)]||_0x46b4a0['error'],'message':_0x49e87a['message']||_0x2fce5d[_0x3e68d7(0x221)][_0x3e68d7(0x221)]||_0xbaca24[_0x3e68d7(0x221)][_0x3e68d7(0x584)]||_0x19d8f9['error']});}else{if(_0x58bee1['MkWUv'](_0x58bee1[_0x3e68d7(0x289)],_0x58bee1[_0x3e68d7(0x289)]))_0x4de00e[_0x3e68d7(0x4c2)](_0x302340);else try{let _0x49efcd=_0x14b08d['update_after_deny'];_0x437a9f[_0x3e68d7(0x451)](_0x49efcd[_0x3e68d7(0x393)](_0x3e68d7(0x392)),0x0)&&(_0x49efcd=_0x3e68d7(0x392)+_0x49efcd),_0x808539=_0x437a9f['ZWtwJ'](_0x2ca501,_0x49efcd);}catch(_0x4e934b){_0x357dae['error'](_0x437a9f[_0x3e68d7(0x38e)],_0x4e934b);}}}}}):_0x58bee1[_0x4e60b0(0x494)](_0x55a350,_0x4d7e60,_0x4ffa00['result']):_0x58bee1[_0x4e60b0(0x371)](_0x58bee1['aEBRt'],_0x58bee1[_0x4e60b0(0x59c)])?handlers[_0x4e60b0(0x357)](_0x3ede05,_0x4bd3f7,(_0x5f03f1,_0x3d8158)=>{const _0x305c1c=_0x4e60b0;if(_0x5f03f1)return _0x4de00e[_0x305c1c(0x2d0)](0x190)[_0x305c1c(0x4c2)]({'error':_0x5f03f1[_0x305c1c(0x221)]||_0x5f03f1[_0x305c1c(0x584)]||_0x5f03f1});let {new_obj:_0x3ffdf7,old_obj:_0x4fd549}=_0x3d8158;_0x58bee1[_0x305c1c(0x20e)](pushNotification,_0x3ede05,_0x3ffdf7,_0xa9f0ad,_0x4fd549,null,{'exclude_token':_0x12f064[_0x305c1c(0x31d)][_0x305c1c(0x4d9)]});if(_0x58bee1[_0x305c1c(0x285)](_0x12f064[_0x305c1c(0x31d)][_0x305c1c(0x59a)],![]))_0x4de00e[_0x305c1c(0x4c2)]({'_id':_0x3ffdf7[_0x305c1c(0x5ac)][_0x305c1c(0x4d1)]()});else{if(_0x58bee1[_0x305c1c(0x577)](_0x305c1c(0x273),_0x58bee1[_0x305c1c(0x1dc)]))return _0x483340[_0x305c1c(0x2d0)](0x190)['send']({'error':_0x305c1c(0x537)});else _0x4de00e['send'](_0x3ffdf7);}}):_0x2c2ef0[_0x4e60b0(0x4dd)](_0x2acb76,_0x131307[_0x4e60b0(0x589)]);}catch(_0xa37377){_0x4de00e[_0x4e60b0(0x2d0)](0x190)[_0x4e60b0(0x4c2)](_0xa37377);}}});},controller[_0x444c5d(0x5b3)][_0x444c5d(0x5bc)]=function(){const _0x7d7128=_0x444c5d,_0x1d3fc7={'qACKM':function(_0x124109,_0x30d006){return _0x124109!==_0x30d006;},'WVQMy':'TUizY','jeqxT':_0x7d7128(0x4e3),'xHBax':'user-agent','GxvPg':'x-forwarded-for','zpYyh':function(_0x4b9719,_0x4cb786){return _0x4b9719===_0x4cb786;},'hELLH':_0x7d7128(0x44a),'JWttX':'FurjQ','XFOnK':function(_0x23ec73,_0x472c7f){return _0x23ec73+_0x472c7f;},'pGcPd':_0x7d7128(0x2b8)};let _0x2af47d=this;this['router'][_0x7d7128(0x472)](_0x1d3fc7[_0x7d7128(0x4aa)](this[_0x7d7128(0x532)],_0x1d3fc7[_0x7d7128(0x403)]))[_0x7d7128(0x5bc)](async(_0x3468a3,_0x188188)=>{const _0x57aaad=_0x7d7128;if(_0x1d3fc7[_0x57aaad(0x4c7)](_0x1d3fc7['WVQMy'],_0x1d3fc7[_0x57aaad(0x3e5)])){const {query:_0x3eca64,body:_0x45a395,user:_0x356df2,params:_0x5ef67a,headers:_0x3a200d,files:_0x393dad}=_0x3468a3,_0x4cfcb8=_0x3468a3[_0x57aaad(0x3bd)](_0x1d3fc7[_0x57aaad(0x2af)]),_0x2692c2=_0x3468a3['ip']||_0x3468a3[_0x57aaad(0x5a9)][_0x1d3fc7[_0x57aaad(0x4ec)]]||_0x3468a3['connection'][_0x57aaad(0x586)];try{if(_0x1d3fc7[_0x57aaad(0x235)](_0x1d3fc7[_0x57aaad(0x562)],_0x1d3fc7[_0x57aaad(0x480)]))_0x23320a['send'](_0x343150);else{const _0x1e8802={'query':_0x3eca64,'body':_0x45a395,'user':_0x356df2,'params':_0x5ef67a,'headers':_0x3a200d,'user_agent':_0x4cfcb8,'ip':_0x2692c2,'files':_0x393dad,'originalUrl':_0x3468a3[_0x57aaad(0x25c)]};handlers[_0x57aaad(0x336)](_0x2af47d,_0x1e8802,(_0x1787bf,_0x418e21)=>{const _0x5a7644=_0x57aaad;if(_0x1787bf)return _0x188188[_0x5a7644(0x2d0)](0x190)[_0x5a7644(0x4c2)]({'error':_0x1787bf[_0x5a7644(0x221)]||_0x1787bf[_0x5a7644(0x584)]||_0x1787bf});_0x188188[_0x5a7644(0x4c2)](_0x418e21);});}}catch(_0x57d106){_0x188188['status'](0x190)[_0x57aaad(0x4c2)](_0x57d106);}}else{const _0x2e1fe1={'query':_0x660dc0,'body':_0x4ad386,'user':_0x1a2b9c,'params':_0x2c2fd7,'headers':_0x51d17c,'user_agent':_0x1b0b00,'ip':_0x3ffeed,'files':_0x3cd5fa,'originalUrl':_0x422db9['originalUrl']};_0x31c159[_0x57aaad(0x336)](_0x2cfd18,_0x2e1fe1,(_0x1218f7,_0xe70f94)=>{const _0x91e043=_0x57aaad;if(_0x1218f7)return _0x41e9b6['status'](0x190)[_0x91e043(0x4c2)]({'error':_0x1218f7[_0x91e043(0x221)]||_0x1218f7['message']||_0x1218f7});_0x457a16[_0x91e043(0x4c2)](_0xe70f94);});}});},controller[_0x444c5d(0x5b3)][_0x444c5d(0x4ef)]=function(_0x45843c){const _0x23af24=_0x444c5d,_0x7fbe3b={'gvMFb':function(_0xd038f,_0x13734d){return _0xd038f!==_0x13734d;},'ZbXJx':_0x23af24(0x238),'YDWAt':_0x23af24(0x476),'qmJjQ':_0x23af24(0x33f),'VXtgE':function(_0xbfc191,_0x1bb276){return _0xbfc191!==_0x1bb276;},'MRWKn':_0x23af24(0x299),'kfqpZ':'user-agent','gBFkI':_0x23af24(0x269),'vBzNZ':_0x23af24(0x38d),'EuJKM':function(_0x5e377f,_0xb33ff1){return _0x5e377f!==_0xb33ff1;},'awSGO':_0x23af24(0x47f),'YMhUB':_0x23af24(0x4f9)};let _0xd128b1=this;const _0x153430=async(_0x5a9b58,_0x428867)=>{const _0x5024a1=_0x23af24,_0x2f3aaf={'tYyRT':function(_0x3f6f1e,_0x1af05d,_0x33091b){return _0x3f6f1e(_0x1af05d,_0x33091b);},'DwOQo':_0x7fbe3b[_0x5024a1(0x310)],'WRcdy':_0x7fbe3b[_0x5024a1(0x342)],'YWlFe':function(_0x568bab,_0x543d98){return _0x7fbe3b['VXtgE'](_0x568bab,_0x543d98);},'XtEgb':_0x7fbe3b[_0x5024a1(0x54b)]},{query:_0x1fab7e,body:_0x471cfb,user:_0xe8d200,params:_0x363224,headers:_0x2372a8}=_0x5a9b58,_0x1cdd5c=_0x5a9b58[_0x5024a1(0x3bd)](_0x7fbe3b[_0x5024a1(0x4c4)]),_0x3a1f9d=_0x5a9b58['ip']||_0x5a9b58[_0x5024a1(0x5a9)][_0x7fbe3b[_0x5024a1(0x277)]]||_0x5a9b58['connection'][_0x5024a1(0x586)];try{const _0x2d0963={'handler':_0x7fbe3b[_0x5024a1(0x475)],'query':_0x1fab7e,'body':_0x471cfb,'user':_0xe8d200,'params':_0x363224,'headers':_0x2372a8,'user_agent':_0x1cdd5c,'ip':_0x3a1f9d,'originalUrl':_0x5a9b58[_0x5024a1(0x25c)]};global[_0x5024a1(0x380)]?_0x7fbe3b[_0x5024a1(0x5b5)](_0x7fbe3b['awSGO'],_0x7fbe3b[_0x5024a1(0x239)])?global[_0x5024a1(0x380)]['exec']({'req':_0x2d0963,'module':_0xd128b1[_0x5024a1(0x2c8)][_0x5024a1(0x513)](),'configs':JSON['stringify'](configs)},_0x15ea6a=>{const _0x164502=_0x5024a1;if(_0x15ea6a[_0x164502(0x221)])return _0x428867[_0x164502(0x2d0)](0x190)['send']({'error':_0x15ea6a[_0x164502(0x221)]['error']||_0x15ea6a[_0x164502(0x221)][_0x164502(0x584)]||_0x15ea6a[_0x164502(0x221)],'message':_0x15ea6a[_0x164502(0x584)]||_0x15ea6a[_0x164502(0x221)][_0x164502(0x221)]||_0x15ea6a['error'][_0x164502(0x584)]||_0x15ea6a[_0x164502(0x221)]});else{if(_0x7fbe3b[_0x164502(0x2a7)](_0x7fbe3b['ZbXJx'],_0x7fbe3b['ZbXJx']))return _0x2f3aaf['tYyRT'](_0x697edc,null,{'message':_0x2f3aaf['DwOQo']});else _0x428867['send'](_0x15ea6a['result']);}}):_0x3349a1=_0x88427d[_0x5024a1(0x3b8)](_0xa6c352[_0x5024a1(0x4de)]()):handlers[_0x5024a1(0x38d)](_0xd128b1,_0x2d0963,(_0x4f3dc1,_0x10892b)=>{const _0x4d638f=_0x5024a1,_0x53c5b2={'OcgpU':_0x4d638f(0x516),'kagMT':_0x2f3aaf[_0x4d638f(0x48d)]};if(_0x2f3aaf['YWlFe'](_0x2f3aaf[_0x4d638f(0x3d7)],_0x4d638f(0x4e9))){if(_0x4f3dc1)return _0x428867[_0x4d638f(0x2d0)](0x190)[_0x4d638f(0x4c2)]({'error':_0x4f3dc1['error']||_0x4f3dc1['message']||_0x4f3dc1});_0x428867[_0x4d638f(0x4c2)](_0x10892b);}else return _0x529fad[_0x4d638f(0x3ac)](_0x53c5b2[_0x4d638f(0x243)])[_0x4d638f(0x514)](_0x56c468[_0x4d638f(0x3df)][_0x4d638f(0x1dd)],_0x190f02['user'][_0x4d638f(0x1dd)],_0x53c5b2[_0x4d638f(0x1e4)],_0x439e61[_0x4d638f(0x584)]||_0x48265a[_0x4d638f(0x221)]||_0x342e59,null,{'id_app':_0x1f3644[_0x4d638f(0x3df)][_0x4d638f(0x3a1)]},!![],null,!![]);});}catch(_0x22f806){_0x428867[_0x5024a1(0x2d0)](0x190)['send'](_0x22f806);}};let _0x3ddb4c=_0x45843c||this[_0x23af24(0x532)];this[_0x23af24(0x4bc)][_0x23af24(0x472)](_0x3ddb4c+_0x23af24(0x5a4))[_0x23af24(0x471)](_0x153430);},controller[_0x444c5d(0x5b3)][_0x444c5d(0x3e2)]=function(){const _0x5f0754=_0x444c5d,_0x5b8588={'HFycr':function(_0xb4f02d,_0x58a994){return _0xb4f02d!==_0x58a994;},'ORsJg':_0x5f0754(0x5a6),'oDyPa':function(_0x2128fd,_0x5efc73){return _0x2128fd===_0x5efc73;},'BWsKm':_0x5f0754(0x29c),'uLWTG':_0x5f0754(0x558),'JGbsC':_0x5f0754(0x49c),'YDtxv':_0x5f0754(0x3e2),'uiTLy':function(_0x469add,_0x52b416){return _0x469add!==_0x52b416;},'BEgxm':_0x5f0754(0x35f),'UwOwl':_0x5f0754(0x2ad),'VQixe':function(_0x2a16de,_0x539eef){return _0x2a16de+_0x539eef;},'rcEkt':_0x5f0754(0x2e2)};let _0x122ed8=this;this[_0x5f0754(0x4bc)][_0x5f0754(0x472)](_0x5b8588[_0x5f0754(0x306)](this[_0x5f0754(0x532)],_0x5b8588[_0x5f0754(0x23d)]))[_0x5f0754(0x588)](async function(_0x477715,_0xce2dce){const _0x470e26=_0x5f0754;if(_0x5b8588[_0x470e26(0x2b6)](_0x5b8588[_0x470e26(0x3e6)],_0x5b8588[_0x470e26(0x272)]))_0x3c96b6['send'](_0x3d43a2);else{const {query:_0x36520c,body:_0x282756,user:_0x94ac32,params:_0x1cca81,headers:_0x4608a2,files:_0x39e02e}=_0x477715,_0x2df0a5=_0x477715[_0x470e26(0x3bd)](_0x5b8588[_0x470e26(0x40c)]),_0x26b7f5=_0x477715['ip']||_0x477715[_0x470e26(0x5a9)][_0x470e26(0x269)]||_0x477715['connection'][_0x470e26(0x586)];try{const _0xb5c5d2={'type_job':_0x5b8588[_0x470e26(0x54f)],'query':_0x36520c,'body':_0x282756,'user':_0x94ac32,'params':_0x1cca81,'headers':_0x4608a2,'user_agent':_0x2df0a5,'ip':_0x26b7f5,'files':_0x39e02e,'originalUrl':_0x477715['originalUrl']};handlers[_0x470e26(0x41d)](_0x122ed8,_0xb5c5d2,(_0x2c2056,_0x538f70)=>{const _0x3f9dab=_0x470e26;if(_0x5b8588[_0x3f9dab(0x54e)](_0x5b8588[_0x3f9dab(0x5b7)],_0x5b8588[_0x3f9dab(0x5b7)]))_0x1ed63d[_0x3f9dab(0x4c2)]({'allow':![]});else{if(_0x2c2056)return _0xce2dce[_0x3f9dab(0x2d0)](0x190)[_0x3f9dab(0x4c2)]({'error':_0x2c2056[_0x3f9dab(0x221)]||_0x2c2056[_0x3f9dab(0x584)]||_0x2c2056});_0xce2dce[_0x3f9dab(0x4c2)](_0x538f70);}});}catch(_0xb91f37){_0x5b8588[_0x470e26(0x378)](_0x5b8588[_0x470e26(0x4fd)],_0x5b8588[_0x470e26(0x27d)])?_0xce2dce['status'](0x190)[_0x470e26(0x4c2)](_0xb91f37):_0x23a4ca[_0x470e26(0x4c2)]({[_0x49aeb6]:_0x3679f3});}}});},controller['prototype'][_0x444c5d(0x1ec)]=function(){const _0x3071bd=_0x444c5d,_0x4e6c37={'bzVTn':function(_0x59d48a,_0x34d34d){return _0x59d48a+_0x34d34d;},'rSzuK':_0x3071bd(0x26e),'iwsDI':function(_0x2fb59b,_0x534ded){return _0x2fb59b!==_0x534ded;},'DpuRs':_0x3071bd(0x3be),'igXvc':_0x3071bd(0x49c),'wPBEi':'x-forwarded-for','BuAQp':_0x3071bd(0x405),'ABNNh':_0x3071bd(0x377),'cAJkF':_0x3071bd(0x527)};let _0x1b9501=this;this[_0x3071bd(0x4bc)][_0x3071bd(0x472)](_0x4e6c37[_0x3071bd(0x39b)](this[_0x3071bd(0x532)],_0x3071bd(0x26b)))[_0x3071bd(0x588)](async function(_0x2fd16a,_0x3e331c){const _0x145380=_0x3071bd,_0x2bfe95={'fdKNW':function(_0x316a2f,_0x226df3){return _0x316a2f(_0x226df3);},'oFtTo':function(_0x3c2905,_0x2cba54){return _0x4e6c37['bzVTn'](_0x3c2905,_0x2cba54);},'afWYd':_0x145380(0x226),'oiJtF':_0x4e6c37[_0x145380(0x5aa)]};if(_0x4e6c37[_0x145380(0x34b)](_0x4e6c37['DpuRs'],_0x4e6c37[_0x145380(0x598)]))return _0x2bfe95[_0x145380(0x38a)](_0x273d31,{'error':_0x2bfe95['oFtTo'](_0x2bfe95[_0x145380(0x5b0)](_0x2bfe95['afWYd'],_0x40c568['so_ct'])+_0x2bfe95[_0x145380(0x2cd)],_0xc82f49[_0x145380(0x584)]||_0x3c9531[_0x145380(0x221)]||'')});else{const {query:_0x57997b,body:_0x5788fc,user:_0x3fc0c0,params:_0x369253,headers:_0xd062b1,files:_0x5af9d9}=_0x2fd16a,_0x452310=_0x2fd16a[_0x145380(0x3bd)](_0x4e6c37['igXvc']),_0x4e4e92=_0x2fd16a['ip']||_0x2fd16a[_0x145380(0x5a9)][_0x4e6c37['wPBEi']]||_0x2fd16a[_0x145380(0x3c9)][_0x145380(0x586)];try{if(_0x4e6c37[_0x145380(0x34b)](_0x4e6c37[_0x145380(0x5cb)],_0x4e6c37['ABNNh'])){const _0x33995c={'type_job':_0x4e6c37[_0x145380(0x3e3)],'query':_0x57997b,'body':_0x5788fc,'user':_0x3fc0c0,'params':_0x369253,'headers':_0xd062b1,'user_agent':_0x452310,'ip':_0x4e4e92,'files':_0x5af9d9,'originalUrl':_0x2fd16a[_0x145380(0x25c)]};handlers[_0x145380(0x2ee)](_0x1b9501,_0x33995c,(_0x4c7ff1,_0x450093)=>{const _0x2e0f7a=_0x145380;if(_0x4c7ff1)return _0x3e331c[_0x2e0f7a(0x2d0)](0x190)[_0x2e0f7a(0x4c2)]({'error':_0x4c7ff1[_0x2e0f7a(0x221)]||_0x4c7ff1[_0x2e0f7a(0x584)]||_0x4c7ff1});_0x3e331c[_0x2e0f7a(0x4c2)](_0x450093);});}else _0x488503['update_after_deny']={'module':_0x400304[_0x145380(0x2c8)],'data':{'trang_thai':_0x4fc4ef['trang_thai3'],...(_0x3cebd2||{})[_0x145380(0x1e6)]||{}}};}catch(_0x462f35){_0x3e331c[_0x145380(0x2d0)](0x190)['send'](_0x462f35);}}});},controller[_0x444c5d(0x5b3)]['postData']=function(_0x44fe2a,_0x195ce8,_0x1ba7fc={}){const _0x3acd0=_0x444c5d,_0x1c8b77={'fGVKH':'[controller]\x20postData','iixfd':function(_0x3b6888,_0xc3cbe6,_0xd61586,_0x3bb552,_0x54f683){return _0x3b6888(_0xc3cbe6,_0xd61586,_0x3bb552,_0x54f683);}};return console['log'](_0x1c8b77[_0x3acd0(0x359)],this[_0x3acd0(0x2c8)]),_0x1c8b77['iixfd'](postData,_0x44fe2a,this,_0x195ce8,_0x1ba7fc);},controller[_0x444c5d(0x5b3)][_0x444c5d(0x472)]=function(_0x5e21df){const _0x349809=_0x444c5d,_0x2e1edc={'ibbZG':function(_0x111d95,_0x178c6a,_0x30642c){return _0x111d95(_0x178c6a,_0x30642c);},'vBHJr':_0x349809(0x4a1),'soHTU':_0x349809(0x49b),'bIywF':_0x349809(0x59b),'yfnLp':function(_0x44a84e,_0x532195){return _0x44a84e(_0x532195);}};if(configs['lite'])return;this[_0x349809(0x3e2)](),this['logs'](),this['find'](_0x349809(0x376)+this[_0x349809(0x532)],![],_0x2e1edc[_0x349809(0x2fa)]),this[_0x349809(0x3c8)](),this[_0x349809(0x588)](),this['find']('/'+this[_0x349809(0x3ab)]+_0x349809(0x282),!![]),this[_0x349809(0x588)]('/'+this['module']+_0x349809(0x282),!![]),this[_0x349809(0x315)](),this[_0x349809(0x2e5)](),this[_0x349809(0x356)](),this[_0x349809(0x2b5)](),this[_0x349809(0x5bc)](),this[_0x349809(0x4ef)](),this[_0x349809(0x349)](),this[_0x349809(0x520)](),this[_0x349809(0x404)](),this[_0x349809(0x2d9)](),this['importFromGoogleSheet'](),this[_0x349809(0x597)](),this[_0x349809(0x4d8)](),this[_0x349809(0x449)]();if(_0x5e21df){if(_0x2e1edc[_0x349809(0x3ea)]===_0x2e1edc[_0x349809(0x3ea)])_0x2e1edc[_0x349809(0x23c)](_0x5e21df,this['router']);else{const _0x268c8b=_0x349809(0x34a)+_0x4b72a6[_0x349809(0x25a)](0x14)[_0x349809(0x4d1)](_0x2e1edc[_0x349809(0x29e)]);_0x221b8d[_0x349809(0x380)]['exec']({'id_task':_0x268c8b,'req':_0x57e7bd,'module':_0x35ac13[_0x349809(0x2c8)][_0x349809(0x513)](),'configs':_0x359af9[_0x349809(0x24b)](_0x544b13)},_0xe01b4e=>{const _0x54649b=_0x349809;if(_0xe01b4e['error'])return _0x284dd1[_0x54649b(0x2d0)](0x190)[_0x54649b(0x4c2)]({'error':_0xe01b4e[_0x54649b(0x221)][_0x54649b(0x221)]||_0xe01b4e[_0x54649b(0x221)][_0x54649b(0x584)]||_0xe01b4e[_0x54649b(0x221)],'message':_0xe01b4e[_0x54649b(0x584)]||_0xe01b4e[_0x54649b(0x221)][_0x54649b(0x221)]||_0xe01b4e[_0x54649b(0x221)][_0x54649b(0x584)]||_0xe01b4e['error']});else _0x2e1edc[_0x54649b(0x325)](_0x44171d,_0x462d6b,_0xe01b4e[_0x54649b(0x20c)]);});}}},controller['runWebhooks']=runWebhooks,controller['postData']=postData,controller[_0x444c5d(0x2ec)]=pushNotification,controller['create']=async(_0x2f0c4a,_0x2611ec,_0x2b9159,_0x446e27,_0x1dbc1e=undefined,_0x47ef10=undefined,_0x3a5825=_0x444c5d(0x1f0))=>{const _0x402e5b=_0x444c5d,_0x4f4672={'MOrBq':function(_0x37da37,_0x4aff0f){return _0x37da37(_0x4aff0f);},'cpDFE':function(_0x50541d,_0xf63525,_0x332482){return _0x50541d(_0xf63525,_0x332482);},'HGVUd':function(_0xb34d88,_0x33b085){return _0xb34d88||_0x33b085;}};_0x47ef10=_0x4f4672[_0x402e5b(0x5be)](_0x47ef10,{}),_0x47ef10[_0x402e5b(0x3df)]=_0x2f0c4a,_0x47ef10[_0x402e5b(0x1e6)]=_0x2b9159,_0x47ef10[_0x402e5b(0x290)]=_0x1dbc1e,_0x47ef10[_0x402e5b(0x412)]=_0x3a5825,handlers[_0x402e5b(0x5c6)](_0x2611ec,_0x47ef10,(_0x50b88b,_0x21c4e7)=>{const _0x4445ed=_0x402e5b;if(_0x50b88b)return _0x4f4672[_0x4445ed(0x2df)](_0x446e27,_0x50b88b);const {obj_created:_0x2a5887}=_0x21c4e7;pushNotification(_0x2611ec,_0x2a5887,_0x4445ed(0x225),null,null,{'exclude_token':(_0x47ef10[_0x4445ed(0x31d)]||{})[_0x4445ed(0x4d9)]}),_0x4f4672[_0x4445ed(0x217)](_0x446e27,null,_0x2a5887);});},module[_0x444c5d(0x234)]=controller;