flexbiz-server 12.4.21 → 12.4.23

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
+ function _0x5430(_0x135c8a,_0x1d8837){const _0x158448=_0x1584();return _0x5430=function(_0x5430fc,_0x26c0e8){_0x5430fc=_0x5430fc-0xda;let _0x39ac71=_0x158448[_0x5430fc];if(_0x5430['QuniwN']===undefined){var _0x31899a=function(_0x4ca6b8){const _0x5141b9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1060f6='',_0x6691ee='';for(let _0x91970=0x0,_0x233c0b,_0x3d7cd2,_0x49895a=0x0;_0x3d7cd2=_0x4ca6b8['charAt'](_0x49895a++);~_0x3d7cd2&&(_0x233c0b=_0x91970%0x4?_0x233c0b*0x40+_0x3d7cd2:_0x3d7cd2,_0x91970++%0x4)?_0x1060f6+=String['fromCharCode'](0xff&_0x233c0b>>(-0x2*_0x91970&0x6)):0x0){_0x3d7cd2=_0x5141b9['indexOf'](_0x3d7cd2);}for(let _0x51d632=0x0,_0x218bf9=_0x1060f6['length'];_0x51d632<_0x218bf9;_0x51d632++){_0x6691ee+='%'+('00'+_0x1060f6['charCodeAt'](_0x51d632)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6691ee);};_0x5430['oOoEAc']=_0x31899a,_0x135c8a=arguments,_0x5430['QuniwN']=!![];}const _0x17fd06=_0x158448[0x0],_0x3c99b7=_0x5430fc+_0x17fd06,_0x27f0c5=_0x135c8a[_0x3c99b7];return!_0x27f0c5?(_0x39ac71=_0x5430['oOoEAc'](_0x39ac71),_0x135c8a[_0x3c99b7]=_0x39ac71):_0x39ac71=_0x27f0c5,_0x39ac71;},_0x5430(_0x135c8a,_0x1d8837);}const _0x7ea2d4=_0x5430;(function(_0x3957c8,_0x39f6e2){const _0x301026=_0x5430,_0x3fa440=_0x3957c8();while(!![]){try{const _0x5f109a=parseInt(_0x301026(0x1d0))/0x1+-parseInt(_0x301026(0x384))/0x2*(-parseInt(_0x301026(0x4ad))/0x3)+-parseInt(_0x301026(0x40e))/0x4*(parseInt(_0x301026(0x4b0))/0x5)+parseInt(_0x301026(0x3cd))/0x6*(-parseInt(_0x301026(0x412))/0x7)+-parseInt(_0x301026(0x316))/0x8+-parseInt(_0x301026(0x342))/0x9*(parseInt(_0x301026(0x259))/0xa)+parseInt(_0x301026(0x16c))/0xb*(parseInt(_0x301026(0x47f))/0xc);if(_0x5f109a===_0x39f6e2)break;else _0x3fa440['push'](_0x3fa440['shift']());}catch(_0x2b856b){_0x3fa440['push'](_0x3fa440['shift']());}}}(_0x1584,0xb1f9e));const EventEmitter=require(_0x7ea2d4(0x13c))[_0x7ea2d4(0x152)],_=require(_0x7ea2d4(0x162)),ckvt=require(_0x7ea2d4(0x48e)),OptionsModel=global[_0x7ea2d4(0x32a)](_0x7ea2d4(0x30d)),Approve=global[_0x7ea2d4(0x32a)](_0x7ea2d4(0x4a5)),trangthai=global[_0x7ea2d4(0x32a)](_0x7ea2d4(0x27f)),Participant=global[_0x7ea2d4(0x32a)]('participant'),async=require(_0x7ea2d4(0x139)),crypto=require(_0x7ea2d4(0x376)),permission=require('../libs/permission'),utils=require('../libs/utils'),templatevoucher=global[_0x7ea2d4(0x32a)]('templatevoucher'),{evalute}=require(_0x7ea2d4(0x34b)),redisCache=require(_0x7ea2d4(0x46e)),dmqddvt=global[_0x7ea2d4(0x32a)](_0x7ea2d4(0x33e)),importHandler=require(_0x7ea2d4(0x194)),viewHandler=require(_0x7ea2d4(0x2c9)),{bodyToJson,ERRORS,getNextSequence,postData,pushNotification,runWebhooks}=require('./controllerUtils'),handlers=require(_0x7ea2d4(0x461));function _0x1584(){const _0x246bae=['C2v0','y3j5ChrV','CM91Dgu','vLjcwLi','vwv5ChO','AeT3tLa','AhPsB0G','CvfjsNm','z2v0DgLUzW','r0HuwNa','uKvuyLa','Bvz6DeW','mhWXFdj8m3W0','EeHor0y','BgDtsva','ndyXnJKYwgzwEhnj','Dvr5rKq','DxbKyxrLqM9VA0HHBMrSzxi','Egf6uw4','q051EwS','BvfmELO','uLjfAfm','DgfZAY1MAw5Klq','B3bICeC','ChvZAa','s3zjCMe','BwfFA2HV','rvjsx05pvf9gt1vorf9dt0rf','y3vYCMvUDf9Pzf9HCha','s25su3y','BMfTzq','wxzxy2O','t3LnzMC','wgHNzLi','Du5NsuO','EujyqNa','t1DdEMS','BwfFDhqX','sxz1t1m','qM1Ls3C','y2HRAw8','tvrZEMy','Ahnszwi','l2CVAgLZDg9YEs86Awq','D2LiD3a','tLHuDeC','y3PAExC','vM9pr1i','CMvX','AxrSzgW','CNnwAfy','DfzxuuS','twnWu0i','zgvSzxrLza','swnbCNe','EKjbvuy','AeL3y3O','BwfFA2HVx3G','uuHZEeC','sgPcA2O','y2HLy2SGy29UzgL0Aw9UigfWChjVDMu','y2f0y2G','DxbKyxrLx2fMDgvYx2fWChjVDMu','A1DerKm','wwfTyxe','t2jQzwn0swq','tevgBwy','BM90tMvLzfjPz2H0','qLrSy2G','uxbqChu','BvPXB3u','ALrpv0m','z1zvseK','CNLIrgS','vM9wwuq','qLvnshq','DxjWrw0','ELf5vhO','zxHWB3j0vg9fEgnLBa','C1Hdzxm','rvjsx0Lex0LovKfmsuq','DKr2txa','CMPhtfi','zgf0zv91CgrHDgvK','qLrIEhq','qvrZCwC','EKneEuW','q0n2q0O','ntqZmdbkyNjOrMO','EK1WvMq','sNrWsu4','zKflz2G','tMjVtu0','y29UzgL0Aw9U','zgvSzxrLtwfUEq','AfjLsxa','BwTeAum','sfb4t0e','l3nLyxjJAa','ExHpq0G','seTuzhm','A2DFA2LLBv90CMfFDg9Ux2TOBW','C1L1twS','vKDWvhG','uvfSr0S','uezOALy','DxbKyxrLs2v5sgfUzgXLCG','qwfoyKm','rg9OAM4','wKzAuhe','s2HRwKe','BMv3','DgTmwgi','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNDVCMrWCM9JzxnZAw5NBwWUzg9JDw1LBNq','ufvu','tMLutM8','ChP3re8','BeHzsey','Certreu','zuTjwuK','CLvsyKO','DKLgzNC','Bw9KzwXoyw1L','yxzes0q','BgPKEw0','BMLfvgW','CMvZDwX0','tNfWD0e','DxrxugO','EMz4s1a','q2JgSmAHBMCGDhldRg5OimsrW6mGy+g6RxaGBMJHUQ10igZHUQfPihpHU5uGC8oHy2GGEg9UzW','yxbWCM92zv91C2vYCW','uwX6Dfe','yKTIBu8','rhbVuvC','C29Fy3q','ue9bzeW','tvLmA2m','CMvXDwvZDcbHChbYB3zL','DMPrr3e','w2nVBNrYB2XSzxjDw3jLCxvLC3rHChbYB3zLxsa','uKHHvKm','quHktvy','AKPMwuu','wM1Rre4','CMvWBgfJzuLMrxHPC3rZ','C2XFEhvHDa','zg9TywLU','DgPnA0i','CxvPy2TdCMvHDgu','BerUt3a','DMfSAwrHDgLUzW','vxLQu1G','mtm2ntzsqujJsLu','y29SBgvJDgLVBL9Uyw1L','tK1ss0m','DxbKyxrL','nZC3CM1dy2Tj','EvboDxK','ChjVDg90ExbL','zgfUAcbZW6fJAcbUz8AW4BUDAsbKDxNHU4D0ihbO4BQJAsbSW6aGBEg7MxqGBEg6O25NlcbOAEg7H24GDog6OwKGXjfHBMCGBmoG','BwfFyNa','tfnoEgC','rhDesfO','BhbWwKK','A2v5vMfSDwvZ','DhjHBMDFDgHHAq','t2jhrNu','zgf0yq','t21Nquu','B3jPz2LUywXvCMW','wgHPEhe','t2rhwgm','CLzZreC','zvnMqLi','v0rhEMq','C1vtuMm','uMvXEgC','qKLuzg8','yxbWCM92zv91C2vYC19JDxn0B20','CKHMwhq','svrSCvO','EhL6u0S','v0Dct28','r01Lwwy','DgDFDgS','DgXqzuK','uuXqwu8','z2v0rMLLBgroB1jPz2H0','C3rHDhvZ','vfb5AMS','t0fRyNC','CgjNy3a','CKjTBwe','DgTFDNq','rfDoCfC','AuTdzgS','s0r5Ew4','tNPUs3e','A2HVBMDFEhvHDf9RAg9Fyw0','lNHSC3G','zMLUzev4ywn0','Du1KENi','y1Lwvgy','vfvuBvK','wwDnqwG','vxzVzMm','q2JgSmAHBMCGDhldRg5OimsrW6mGAw1WB3j0igtHU68GBgNHU4D1ihHVBMC','uhjeEwi','BwfFBg8','r0T0ugG','t0rhCw4','ufrWA3G','rvjsx05pvf9gt1vora','tLHTvum','s2JdTg5NigpdSYbU4BUzAsbKDw5NigpHUQDUigZgShu','zffws04','AxnbCNjHEq','q2JgSmAHBMCGDhldRg5OimsrW6mGDgJHU7fJigHP4BUhBIb4B25N','AwrFyxbW','ENvftvG','t29Hq3e','Dg9pyMPLy3q','Cg9ZDerHDge','wfrIyLe','ExHwwKm','C2XFEhvHDf9Xza','Du1uugS','AhLJCgK','vKjmEKm','tKzUvMy','Cg9ZDefNywLUoIbLCNjVCIb1CgrHDguGzgf0ysbIzwzVCMuGCMvWB3n0','tvbbB3O','AgvFC29FCwq','D1fkBgK','zw5K','lI9Oyw5KBgvYCW','C2f2Aw5N','tNzqAfC','DLn5BK8','zwD0yuK','CNvUv2vIAg9VA3m','zgvsEvm','r1rXq1q','BfjWwxG','BfD4t1e','uNndzhi','u2LdzLe','DhLFBgvFCwq','lI4VBgLICY9YzwrPCY1JywnOzq','y29UDMvYDe9IAMvJDeLKC1rVu3rYAw5NCW','AKPNuve','s0TdCwi','DfrvsvC','zLj0yNO','AgPWA0S','Aw5duLi','AeXnvfe','C29RAg8','BunLtKy','y2HVx3bOzxbFy2fWx25OyxrFA2HPx2rHx2r1Ewv0','BwfFzhz0','zeLcD2G','Cg9ZDefNywLUoIbMAw5PC2HLza','Cg9ZDa','B09zDvG','mJyWmdG5mdHwyNjLsxi','Bffut3C','y29TyM8','rxDpy2q','zvvmBKu','wvzmqMW','EgL1z0K','wMrOtMK','AM5izKC','Ehfjzxm','tgrrEM0','uKjxDfi','B0LUuuO','t2j2zfe','BgvHBG','lI4VBgLICY9JA3z0','y1zXCw4','x2LK','Bg9NCW','BhnssM8','ChvZAe5VDgLMAwnHDgLVBG','D2Hjwfq','B2fZsKK','ELLcvNy','EKnwy2u','Aw1WB3j0rNjVBuv4y2vS','wMzds2i','Cg9ZDefNywLUoIbYzxbVCNrLza','B25wAwv3','wKfmwfC','C0DJzfG','CfvrEKC','DMLLD1jLCxvPCMvK','vhHZA2S','sLn0A1y','CgH1x3rYywnO','zeTTqwe','EgXZEa','yxbWCM92zq','CMjztfm','whvcBK0','quDqsvC','AhLkuwu','zwHhCKy','l25LEhqVoMzPzwXK','u0Lptxu','m3vnvND6ta','zMLLBgq','uejVuKq','mtG2merUwhfzwq','uerdt2S','wK5LzhG','Buzmtve','BwfFy3q','uLnPteS','y3jLyxrPBMC','EezMqNO','uhrNEwW','uhDAquu','DgfZAY1PBxbVCNqTzxHJzwWT','A2nHBKy','tg9TtKS','DwX6z3e','BfPJy3a','vgDWsNK','EMDyuMy','qwvdwhu','vwrmALK','DevOC2e','AKfds2y','s1P4s2m','EM12r1u','vhbSB0W','y3jLyxrLuM91Dgviyw5KBgvY','uNPwrvC','BfPwswu','Ae12wKu','rNn0wfC','BNvzrLu','uMXuCva','Dw5PCxvL','yLr3sxm','C2HrqvO','vKHPCMy','BxPkseS','ChDhEge','reDxv28','y2HLy2TFC3rVy2S','D2rmrK0','EuT0reW','zg1UDG','yKjlAwK','AxngDw5JDgLVBG','rg9lwxu','zgvSzxrPBMC','r0LnAhC','tuvqC1C','thrbt2W','s29Vsg8','BwLnuve','Aw5WDxrnywLUug9VBa','zvfuzhG','Agv4','zMHrwfO','uNrfz1y','CKHpvfe','zgvSzxrL','B05eywW','y2vkuKe','sLnptG','rhrUAhG','sgHTs1m','zxbSr2C','u+g6O24GCgJHUQLTia','C2nOzw1H','CM91DgvFywn0Aw9UxW','Bw9KzwXFBMfTzq','ue9tva','Chv0','yM9KEq','D3jgtM4','l2LTCg9YDc9LEgnLBa','wfzlteu','DxbKyxrLza','u0DPuMe','uNDru28','B25dCMvHDgvK','ihzVDwnOzxjZ','DgfZAY11CgrHDguTyM9VAY0','ru1tBve','uhjbDMq','y3n1Bq','A3rdr20','DxbKyxrLrMLLBgq','B25ezwXLDgvK','BufuyMK','sxjrt1a','wLjdv0W','qM5IC3u','uK9qChC','zgv0ywLSCW','qw9qwha','rgvLC2u','y2XVBMvezwvW','q0zctgS','Cw5Mt24','zejcuK0','tfDUyu0','y3bPv3m','DxHICNm','Dg9U','swDcChK','s2T6ELO','CM91BMq','suX1ru4','rg9KqLi','AeLZuNC','zM91BMq','Cg9ZDefNywLUoIbMAw5K','qwvtt28','yxn5BMm','rvDyzLK','C25uDfG','zxzLBNrZ','Cwjzy28','CgXYruG','r2Xjqxu','qw9ZB3q','DgToEeW','thzJBhq','wxzSrNm','C2v0sgvHzgvY','v3jzuvC','z3jst2S','AwflEe8','BwvZC2fNzq','BwX4Buu','x19WCM90B19F','vfruB28','CgfYyw1Z','DLnlzem','yNDTzfK','DNzezhO','uMP1q1e','zxz4Afy','rxzLBNrfBwL0DgvY','s3D1EKS','z2v0tMv4DeLK','CMvTB3zL','wxLeq1K','weL1wLG','zgjYA00','zLb0Ege','BwfW','CMvTB3rLqwrKCMvZCW','C0DKCKu','AwrFyMvFC3vWCgX5x2j5x3vZzxi','zMLSDgvY','Dfn2Buq','ww5iwxO','v2fiDxC','Bg9KyxnO','B0jhsfO','zgvSzxrLtwfUEuHHBMrSzxi','tLjpA24','l2v4y2vSlZPYChrFAwq','AgvHzgvY','C1DMtLu','Bwv0Ag9K','u1L1zLy','sgnwvgi','mJjXExH1u1O','Cg9ZDefNywLUoIb1CgrHDguGDM91y2HLCI4UlG','vw1jwMW','yxn5BMnkB2LUtw9KzwWY','yuzhy20','A2LkqMO','wfLeAgS','vvzkCfO','nxW4FdeYFdb8m3WXFde0Fdz8mJf8nhWXohWXnNWXoxW5FdeWFdeZFdiYFde1FdD8mtD8mJb8mNWXmq','u1DSz3G','v2PrCKC','s0fjr0y','q2zbs3u','surZtLm','BwfFBNy','A09uCuO','zMLUze9Uzq','C0nAB2O','sen4C0G','BxnXCgC','Ew9trw0','wxfqvgy','uufdv28','y3jLyxrLtM90AwzPy2f0Aw9U','CMvWB3n0Aw5N','DMHvzwW','vwXXzLq','r1jRtuC','Auf5wvi','yMrKrNC','vwvAvM4','DgfZAY1PBxbVCNqTANnVBI0','v0PPtNC','B25wAwv3uMvXDwLYzwq','D1vuufy','tMTczxK','zwfiv3e','q1LXqKq','sgHmEfm','Ahzprvq','lI9PBxbVCNriyw5KBgvY','BgL0zq','BvPVvLa','Def5zgS','sefHyvK','DM1Az0q','CxvLCNK','Bg9NsgfUzgXLCG','y29UDhjVBgXLCNm','zeruDuK','renIC1O','A2PPvge','ANzbvfe','EM5dAwi','Be52q0K','AgfUx3nK','tgLZC20','u3vwtKi','sLLzEu8','rMjbBxi','sKDHsvu','EuDzqum','s2H5EgG','zgX0tNK','u0vhtM4','vuLOAfG','BwfFDhqZ','vg10zfu','EfPUq0G','wfPZuKS','y3jLyxrL','Bw9KzwW','uwnbuKC','CezpBfy','DxbKyxrLqM9VAW','zNf1z2m','DKrNBLq','q29UDgvUDc1uExbL','wwHewhi','BffXyvC','qxzjv2K','rfz0zw0','l3nOyxjLza','D0PjEha','r051BNm','rMTmzLG','zMLUzgLUzW','uwnhrK4','CMfXA1O','ugzMrMK','CxHPsvC','wLH2zg0','tNDmtLe','BMTJC0K','s0jYCwy','Ewrfq1u','z2v0','rLbRChe','sKrAueu','Ec1MB3j3yxjKzwqTzM9Y','nte1ntGWtMvLEMj6','CgLYsey','C2vUza','Cw9ZAuC','Dun6r1O','rurkzM8','CM91DgvFBMfTzq','DxLrDfO','s2JdTg5NihrO4BUdigpHUQ1Wig5O4BQTDcbS4BQHAsbZ4BUvihpdOwnO','AxfsvLa','u0f6svy','l3f1AwnRy3jLyxrLlZP0zw1WBgf0zv9JB2rL','DxnLCL9JCMvHDgvK','BfrjrwO','DKvkvLm','vhLWzxm','BeDwvNu','zhrJB3y','tMT5v0i','yuPcDLe','zxjYB3i','Aw1WB3j0rNjVBuPZB24','EeHmv3O','EKzhA1a','vhHbtgK','tEg6Q3uGzog7RYbSAEg7H3uGA2JdTg5NihtHU5nUihtHUQfP','DxnLCG','swHXD0e','zLPRB1e','ywvLs1e','C3rHDgu','tM16yvO','C29YDa','A3P2wLa','z0zrvuu','zg9JEa','vNDcquO','CfHbq2W','B25hzxr0Aw5N','w2nVBNrYB2XSzxjDw3jLCxvLC3rbChbYB3zLxsbYzxf1zxn0igfWChjVDMu','BNbfDee','u29UugG','zxH0','CMv0DxjUia','r2nTAuW','seDhA0y','t1jMzuO','zxH0zw5K','vMfXC0C','yxbWCM92zurHDge','teDoA0e','BffpC2G','C3rHDhvZx3rHC2S','ic0G','surfruO','yLfSEgK','ugrxs0q','C3bSAxq','rg1Zsg0','C1nJAwi','CMLewwe','qK5fr1i','wNvnuK0','DvL0rfy','AK55vue','l3rHC2STC3rHDhvZlW','y2nLufO','AhLfv0G','rgjzy1y','DxbSB2fKrMLSzq','CvbdqNm','sw55rxu','zLfmzKe','B25gAw5KAw5N','swTLuwG','t1D5BfO','B1zetwi','CgPmz3C','ufvWtfO','yKjYtMy','rerzzMS','v3bAt0e','Dg9tDhjPBMC','BgTVy2O','quDtsuO','B25vCgrHDgLUzW','yxn5BMnhCM91Cej5','CMvXDwvZDefWChjVDMu','zMLUza','Bw9ytui','Cg9ZDefNywLUoIbOyw5KBguGzgf0ysbIzwzVCMuGCg9ZDa','z0P3Bem','BgLZDgLUzM9Fy29Kzq','zK1buKi','weHxA3y','Aw1WB3j0rNjVBuv4y2vSsgfUzgXLCG','z2v0rMLLBgroB3rsAwDODa','B0XtruG','revmrvrf','ChzuzeG','yxn5BMnwAwv3','C2zWufq','zxHWB3j0CW','qxHmrxC','B25Nv3a','zMLSzxm','wuXfvLO','qNzUB1C','q3vfqNe','DMLLDW','yxr0ywnOBwvUDdSGzMLSzw5HBwu9','wxn4AMq','q2JgSmAHBMCGDhldRg5Oimsryw5NihrO4BUXyYbOAEg7H24UieTOAsbOB8oGBIb0AmoGBMGSignOXRdgOw5NihrYW6XUAcbZ4BQ9igFHU61PignOBYbI4BQHBIbT4BUzDcb0Amo0BMCGySoHBW','qMnjuNa','y2HLy2TeyxrH','zMLUzeHHBMrSzxi','CMvXDwLYzv9Pzf9HCha','y2fJAgu','BM9YzhK','CeXUwfy','txvyBfa','y29UBMvJDgLVBG','thbdvKK','sgDJt2K','ugPPALy','DuHnA1u','EKPMr3y','DhnSsKu','CvvtBgC','shnPC2K','zg1ICa','AgLZDg9YEuHHBMrSzxi','levYCM9YoG','B1fZBfy','vuzfywe','zhP5ufi','ANnVBG','mtbNANbQsfO','ExfAtNK','DgvUx3z0','Dw1HAeW','wfDhzMy','u1nbC1G','z2v0uhjVCgvYDhK','CMv0DxjUx2rHDge','thfgu0G','r3rKuKC','B1vSBui','zfLRzuS','l3vWzgf0zwTLEs86x2LKlZPMAwvSzc86BMv3x3zHBhvL','r0vu','C1fWyuG','BNjLAg8','BwfFDhqY','rLvSqwG','ue9Jrei','CvnvyMu','Cfz3ugC','sMHvDgK','B3fuAeO','tu9Kvfi','C3j2q0S','BwfkB3O','vLbqCuq','ru9Tz3i','Cu9xAe4','whPgANi','rfbMrMi','CLHNwuK','B0jIvwC','zg12Da','De1WB0q','DgfZAY1PBxbVCNqTz29Vz2XLlxnOzwv0lq','A2DFA2LLBv90CMfFDg9Ux2TOB190Da','CM91DgvY','DhjHBMD0AgfP','uxrODwS','v3fIDwm','s29sB0u','z3zbCLC','wunxCgC','sgrNwhq','CgTLEq','u01us1G','DhjHBMDFDgHHAtm','CvDYBfq','wND4vvm','ksbS4BUBBIbOXQfUihpHU5eGBmAW4BUJBMCGDog7K24GCxv5imsr4BUvAsaO','s0Dnu1i','AxntDhjPBMC','Cg9WDwXHDgu','l2v4y2vS','CMvKDwnL','DwnkBhe','Ew9NELq','tvjuzKW','qNfWqu8','ugXXqvK','Au91qLK','wKrsDLi','EgLqCeC','quPSshq','ExzZswy','Aw1WB3j0rNjVBuDZsgfUzgXLCG','q29UDgvUDc1eAxnWB3nPDgLVBG','EgXOBem','wuLkugC','v1vxyLy','y29Uy2f0','z2H0r2C','uMTbyKi','s1Pmuhi','veTushq','B25fEgnLBfbHCNnL','qMH4yvy','rwjztgy','runjt0i','ywnJzxnZx3rVA2vU','ChbADwS','z2X0yuy','yLPNtgO','sMLsy2G','wvjxs3C','DxbKyxrLs2v5','BhzVzwe','zM9YrwfJAa','rMrgwM4','zxHLyW','BMDHEv9JDa','BwzosMS','r1DQuvi','uNv4tK4','CMfUzg9TqNL0zxm','B0Xoq0W','Aw1WB3j0rNjVBuPZB25iyw5KBgvY','AxbpB0W','BgvUz3rO','BK92s0q','rNjqDfq','s2JdTg5NihrO4BUdigpHUQ1Wig5O4BQTDcdeKCAW4BUJyYbK4BUVigXP4BUhDsbJAog7Qw5NihtHU6SG','BvrerwW','B0zVDLG','Ae1RC1G','ve1sq1K','rMjxy3y','u2TxBKy','CMv0DxjU','ug1syMK','t1jVwxu','lI92Awv3sgfUzgXLCG','l2fJDgLVBI9WB3n0ywDHAw4','zgvSzxrLsgfUzgXLCG','B3b0Aw9U','C05Hy1e','A2fuAvq','tuPAuuu','zgHIrfC','v1v3sMq','D3jPDgu','CwjVrvu','sxb1t1i','s2JdTg5NihrO4BUdihbVC3qGC+g7LsbZW6fJAcbJAog7Qw5NihtHU6S6','CgLItK8','DgL0Bgu','BM90AwzPy2f0Aw9U','BNvlELe','CLbqDfq','wfDkte4','BKjzwu4','vKvbBgC','sxnVsxq','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZ','AKTVz3y','wuTeEhe','zeDWCLq','s2JdTg5NihrO4BUdihJHU60GBmo9imsrXRdHU6nJigtHU68GBgNHU4D1ihrYXRdHU5TJigTOAsbYzxbVC3qGy2JHU6LUzYb04BURoG','z0HmELC','AgrnuMm','Bw9Uz29VC2u','ANDTqKS','Ehbkr2C','Dg9vChbLCKnHC2u','DxbKyxrLx2fMDgvYx2rLBNK','ue5PzvG','BNn5qwO','AuHotfi','Dvjmyve','DxbKyxrLsgfUzgXLCG','zvfvtfy','BwLJDKG','BfP3tuG','sg10qLa','D05NCLK','DgvTCgXHDgvFy29Kzq','yur2Bue','t3fnAge','yxbWCM92zv9WAhvFDhjHy2HFyNa','AxLgBhK','zu14suC','AxLzz2O','A2r6yNm','tuHRANm','rfPzDM8','tg1Ht3K','Du5mBvq','zw1HAwW','u1jVELe','w2nVBNrYB2XSzxjDw3jLCxvLC3rHChbYB3zLxsbKyw5OihpdOwnOig5NXRdHU51Pigr1EEg7H3qGCgJHUQnPigZdOcbT4BUzDcbT4BQJBMCSigHP4BUhBIb04BQHAsdeKwfUzYbSW6a','yNPjEfu','zvzgvvO','zNzXvfi','C3f4Aee','qMXdt0W','q2JgSmAHBMCGDhldRg5Oimsryw5NihrO4BUXyYbOAEg7H24GEg9UzW','A0XXwwO','EMX0Eum','vKXQqNK','B3b0Aw9UCW','Bw9KDwXL','y2LevfG','yMnRAee','DvrdCeu','y1Hou1e','ALvNquy','l3vWzgf0zs86zMLLBgq','tffttwi','otaYodi5nLbSBe9rEG','BLDnv0K','wenfCwi','y3jLyxrLza','C1PZB1G','tLjiC1y','mNWXFdb8m3W0','tNnztva','v2Plvgu','BMj6Efe','A2fjrfG','DxnLCL91CgrHDgvK','AvL3D2q','AgvHzgvYCW','AgvYu00','vgP1sLa','l2fJDgLVBI9KzwXLDgu','AgLZDg9YEq','BwfFDNq','s2jnugq','z2v0tw9KzwW','zw1Atfu','vg9tAva','ruH4A3K','BvLQv0e','Bvjju3O','ywn0Aw9U','rNvQtuW','DuDzr3u','DxbKyxrLrMLLBgriyw5KBgvY','A2LAvha','rgHRvNC','Cg9ZDefNywLUsgfUzgXLCG','yNL0vNq','z2vysKW','Aw1WB3j0','BNnQDeC','DxbKyxrLt25L','y0LVDgS','ENjuC04','zg1Xzgr2Da','DhjPBq','tLnIDvi','Avrjq0O','odu0mJqZmuTXy3vxqW','y3vZDg9Tx2fWChjVDMvFDxnLCG','yxnZAwDU','ru9OtNO','lZPPza','uePmsgK','z0vet0i','t2fzy3e','Aw1WB3j0rNjVBuDVB2DSzvnOzwv0','lI4VBgLICY91DgLSCW','BM90x3vZzv93B3jRzxi','CMvXDwvZDa','rfLTy0C','Bxfsuuu','A2v5CW','vNH4rKC','yxbPx3vYBa','twH2sNe','Aw1WB3j0rgf0yu1HAw5qB29S','vunAuKK','yLDsu2i','CNnAEMy','quTvC3m','zxHWB3j0sgfUzgXLCG','C3rYAw5NAwz5','yK1JAK0','uM1ys2i','y3jLyxrLsgfUzgXLCG','w2nVBNrYB2XSzxjDihbVC3reyxrH','u0LIyNK','z3ffAeu','yMLUyxj5','DxbKyxrLx3rRx3z0','s2JdTg5NihrO4BUdigLTCg9YDcbK4BUVigXP4BUhDq','Dg9mB3DLCKnHC2u','CMv0DxjUicHHC3LUyYaOkt0+EWOGicaGicaGicaGicaGihrYExSkicaGicaGicaGicaGicaGia','v1HdEfC','v3rsAgi','Bg9N','lZPPzf9HChaV','D3HKtfe','w2nVBNrYB2XSzxjDw3jLCxvLC3rHChbYB3zLxsbeyw5OihnHy2GGBMFgSog7NwKGzhv54BUhDcdeKEg6P3KGXjhHU6C','qxvrtKK','DgvTCgXHDgvFy29UDgvUDa','reXntfe','Aw5KzxHpzG','rMzIyxK','DxnLCI1Hz2vUDa','DuThv0K','AgnkEK4','Ce5MDhK'];_0x1584=function(){return _0x246bae;};return _0x1584();}class controller{constructor(_0x4925da,_0x51a473,_0x45eac4,_0x56b72f={'isVoucher':undefined,'sort':undefined,'check_stock':undefined,'unique':undefined,'require_id_app':undefined,'notNeedRight':undefined,'onPopulate':undefined}){const _0x289b5a=_0x7ea2d4,_0x256e00={'xiPpG':function(_0xeb69f8,_0x296222){return _0xeb69f8(_0x296222);},'itldl':function(_0x315ebe,_0x46d032){return _0x315ebe===_0x46d032;},'OTwQQ':function(_0x1755ff,_0x2961f8){return _0x1755ff===_0x2961f8;},'egtaI':_0x289b5a(0x45f),'fqugc':_0x289b5a(0x39d),'SYdOc':function(_0xfc8694,_0x2f9b9f){return _0xfc8694!==_0x2f9b9f;},'wrrcx':'cDySV','BUMHt':'ZhBzX'};this[_0x289b5a(0x393)]=_0x45eac4,this[_0x289b5a(0x1b3)]=_0x51a473,this[_0x289b5a(0x10d)]=_0x51a473[_0x289b5a(0x3ef)][_0x289b5a(0x364)](),this['router']=_0x4925da,this[_0x289b5a(0x30e)]=this[_0x289b5a(0x393)],global[_0x289b5a(0x19c)][_0x45eac4[_0x289b5a(0x33f)]()['toUpperCase']()]=this;!_0x56b72f[_0x289b5a(0x43e)]&&(_0x56b72f[_0x289b5a(0x43e)]={});this[_0x289b5a(0x41a)]=_0x56b72f[_0x289b5a(0x41a)];!this[_0x289b5a(0x41a)]&&(this[_0x289b5a(0x41a)]={});if(_0x256e00[_0x289b5a(0x3a6)](_0x56b72f[_0x289b5a(0x244)],undefined)||_0x256e00[_0x289b5a(0x3a6)](_0x56b72f[_0x289b5a(0x244)],!![]))this[_0x289b5a(0x244)]=!![],this['route_name']=_0x289b5a(0x369)+this[_0x289b5a(0x30e)];else{if(_0x256e00['OTwQQ'](_0x256e00[_0x289b5a(0x465)],_0x256e00[_0x289b5a(0x1b7)])){if(_0x44a1af)return _0x192981[_0x289b5a(0x1e4)](_0x47bdef),_0x1e54e5(_0x10d785);_0x256e00[_0x289b5a(0x298)](_0x3b6044,_0x2d61f8);}else this[_0x289b5a(0x244)]=![],this[_0x289b5a(0x1d6)]='/'+this[_0x289b5a(0x30e)];}_0x56b72f[_0x289b5a(0x40f)]?_0x256e00['SYdOc'](_0x256e00['wrrcx'],_0x256e00[_0x289b5a(0x3c0)])?this[_0x289b5a(0x40f)]=_0x56b72f['collection_name']:_0x907731[_0x289b5a(0x1d2)](_0x228b91):this[_0x289b5a(0x40f)]=_0x45eac4,this[_0x289b5a(0x1f0)]=_0x56b72f[_0x289b5a(0x1f0)],this['unique']=_0x56b72f[_0x289b5a(0xe9)],this[_0x289b5a(0x37d)]=_0x56b72f[_0x289b5a(0x1f6)],this[_0x289b5a(0x1c2)]=_0x56b72f[_0x289b5a(0x219)],this[_0x289b5a(0x136)]=_0x56b72f['onFound'],this[_0x289b5a(0x40c)]=_0x56b72f['onValidating'],this[_0x289b5a(0x462)]=_0x56b72f['onSaving'],this[_0x289b5a(0x4b6)]=_0x56b72f['onCreating'],this[_0x289b5a(0x319)]=_0x56b72f[_0x289b5a(0x117)],this['updating']=_0x56b72f[_0x289b5a(0x225)],this[_0x289b5a(0x114)]=_0x56b72f['onUpdated'],this[_0x289b5a(0xf7)]=_0x56b72f['onDeleting'],this[_0x289b5a(0x3aa)]=_0x56b72f[_0x289b5a(0x11f)],this[_0x289b5a(0x201)]=_0x56b72f[_0x289b5a(0x201)],this[_0x289b5a(0x28e)]=_0x56b72f['onPopulate'],this[_0x289b5a(0x23d)]=_0x56b72f[_0x289b5a(0x49b)],this[_0x289b5a(0x49f)]=_0x56b72f[_0x289b5a(0x18d)],this['cache']=_0x56b72f[_0x289b5a(0x245)],this['excelParse']=_0x56b72f[_0x289b5a(0x2a5)],this[_0x289b5a(0x30d)]=_0x56b72f,this['replaceIfExists']=_0x56b72f[_0x289b5a(0x406)];}async[_0x7ea2d4(0x234)](_0x4cd501,_0x396b35,_0x26adc0){const _0x29a15d={'DCbsZ':function(_0x17f1bd,_0x17a8a4){return _0x17f1bd(_0x17a8a4);}},_0x3fe295=this;return new Promise(_0xca48ff=>{const _0x444680=_0x5430,_0x5eb51e={'ATsqg':function(_0x4a8757,_0x3d9a85){const _0x285951=_0x5430;return _0x29a15d[_0x285951(0x19e)](_0x4a8757,_0x3d9a85);}};_0x3fe295[_0x444680(0x49b)](_0x4cd501,_0x396b35,(_0x530a0f,_0x3558d1)=>{const _0x1ed1ac=_0x444680;if(_0x530a0f)return console[_0x1ed1ac(0x1e4)](_0x530a0f),_0x5eb51e[_0x1ed1ac(0x3ca)](_0xca48ff,_0x396b35);_0xca48ff(_0x3558d1);},_0x26adc0);});}async[_0x7ea2d4(0x49b)](_0x206c79,_0x117522,_0x379b62,_0x5e2ef3){const _0x52c1d5={'ODTSK':function(_0x35936e,_0x36fb85,_0x5f3069,_0x259791,_0x57b66b,_0x8ad6a3){return _0x35936e(_0x36fb85,_0x5f3069,_0x259791,_0x57b66b,_0x8ad6a3);}};_0x52c1d5['ODTSK'](viewHandler,_0x206c79,this,_0x117522,_0x379b62,_0x5e2ef3);}async['notNeedRight'](_0x3711e5,_0x27c8bd={}){const _0x251b21=_0x7ea2d4,_0x42e026={'AvIWi':function(_0x33f0e4,_0x5056d3,_0x2603e5){return _0x33f0e4(_0x5056d3,_0x2603e5);}};let _0x58c405=this['options'][_0x251b21(0x3b8)];return _[_0x251b21(0xf5)](_0x58c405)&&(_0x58c405=_0x42e026[_0x251b21(0x1bc)](_0x58c405,_0x3711e5,_0x27c8bd)),_0x58c405;}[_0x7ea2d4(0x25f)](_0x45ef75){return this[_0x45ef75];}[_0x7ea2d4(0x154)](){const _0x510810=_0x7ea2d4,_0xd3ec24={'AaNbC':_0x510810(0x444),'wdLFM':_0x510810(0x492),'lZwMH':_0x510810(0x3ad),'uMdzr':'NkyWB','BNEGR':function(_0x738876,_0x519280){return _0x738876===_0x519280;},'RzVEW':function(_0x2150d2,_0x49de78,_0x54093c,_0x105e04,_0x506dd0){return _0x2150d2(_0x49de78,_0x54093c,_0x105e04,_0x506dd0);}};let _0x279809=this[_0x510810(0x393)];this[_0x510810(0x27e)]['route'](this[_0x510810(0x1d6)]+_0x510810(0x4ab))[_0x510810(0x1cc)]((_0x54f186,_0x55d825)=>{const _0x4f9f5c=_0x510810,_0x49b4de={'iQQdz':'notification','YgMAh':_0xd3ec24[_0x4f9f5c(0x3e0)],'EOmgr':_0xd3ec24[_0x4f9f5c(0xf1)],'wUTPV':_0xd3ec24[_0x4f9f5c(0x2f2)],'kOTqJ':function(_0x4e34a4,_0x435208){return _0x4e34a4!==_0x435208;},'mYjWA':_0xd3ec24[_0x4f9f5c(0x43f)]};let _0x5765b0=_0x54f186[_0x4f9f5c(0x1ea)][_0x4f9f5c(0x391)],_0x27f896=_0x54f186[_0x4f9f5c(0x14c)][_0x4f9f5c(0x4ae)];_0xd3ec24[_0x4f9f5c(0x20d)](_0x27f896,_0x4f9f5c(0x3fc))?_0x55d825[_0x4f9f5c(0x1d2)]({[_0x27f896]:_0x279809}):_0xd3ec24[_0x4f9f5c(0xe3)](getNextSequence,_0x5765b0,_0x279809,_0x27f896,(_0x3a15eb,_0x3bebfc)=>{const _0x27e575=_0x4f9f5c;if(_0x49b4de[_0x27e575(0x274)]===_0x49b4de[_0x27e575(0x18e)])_0x2b2463[_0x27e575(0x1d2)]({'_id':_0x30ead0[_0x27e575(0x490)][_0x27e575(0x222)]()});else{if(_0x3a15eb){console[_0x27e575(0x1e4)]('getNextId',_0x3a15eb);if(_0x3a15eb[_0x27e575(0x1e4)]){if(_0x49b4de[_0x27e575(0x17b)](_0x27e575(0x1e2),_0x49b4de[_0x27e575(0x32e)])){if(_0x38ece2)return _0xb498a8[_0x27e575(0x32a)](_0x27e575(0x2d8))['createNotification'](_0x96ac94['user'][_0x27e575(0x301)],_0x3fe6f9[_0x27e575(0x1ea)]['email'],'Không\x20thể\x20import\x20dữ\x20liệu',_0x15bf1c['message']||_0x2ad115[_0x27e575(0x1e4)]||_0x266c98,null,{'id_app':_0x3af5e7[_0x27e575(0x1ea)]['current_id_app']},!![],null,!![]);_0x414e93[_0x27e575(0x32a)](_0x49b4de['iQQdz'])[_0x27e575(0x183)](_0x3c08d2[_0x27e575(0x1ea)][_0x27e575(0x301)],_0xca6e78[_0x27e575(0x1ea)]['email'],_0x49b4de[_0x27e575(0x442)],_0x27e575(0x444),null,{'id_app':_0x3d8339[_0x27e575(0x1ea)][_0x27e575(0x391)]},!![],null,!![]);}else return _0x55d825[_0x27e575(0x432)](0x190)[_0x27e575(0x1d2)](_0x3a15eb);}return _0x55d825['status'](0x190)['send']({'error':_0x3a15eb[_0x27e575(0x148)]||_0x3a15eb});}_0x55d825[_0x27e575(0x1d2)](_0x3bebfc);}});});}async[_0x7ea2d4(0x242)](_0x25cef6,_0x3e6ad0,_0x1799ca){const _0x28fd9f=_0x7ea2d4,_0x4754ed={'AGPIW':_0x28fd9f(0x2d8),'sfpPT':_0x28fd9f(0x363),'VaqsG':_0x28fd9f(0x29c),'KYhXY':function(_0x3d1f4f,_0x4543bb){return _0x3d1f4f+_0x4543bb;},'DmsHm':function(_0x5d2cb6,_0x1b0779){return _0x5d2cb6+_0x1b0779;},'ORoYu':'.xlsx','zMpVd':'/excel','sCZoj':function(_0x3213fd,_0x3c6e02){return _0x3213fd>_0x3c6e02;},'ToSiP':_0x28fd9f(0x3f4),'lSKnN':'PmzMQ','ITlqZ':'TRfuZ','LdQzm':function(_0x252ba8,_0x35b226,_0x3026b9,_0x3f4690,_0x44a56c,_0x81c2ce,_0xbd8958){return _0x252ba8(_0x35b226,_0x3026b9,_0x3f4690,_0x44a56c,_0x81c2ce,_0xbd8958);},'vvDdz':'new','XCEqb':_0x28fd9f(0x109),'BqpAO':_0x28fd9f(0x2fd),'PBoRD':_0x28fd9f(0x4b8),'AeSOo':function(_0x3eefce,_0x12ce64){return _0x3eefce*_0x12ce64;},'WaHuw':_0x28fd9f(0x158),'lUUwc':function(_0x54d9c5,_0x4a8a00){return _0x54d9c5>_0x4a8a00;},'tjzYr':function(_0x5c1ea9,_0x3109a2){return _0x5c1ea9+_0x3109a2;},'OmgAE':function(_0x4708a3){return _0x4708a3();},'XbRnh':_0x28fd9f(0x24e),'oBQxz':_0x28fd9f(0x46d),'DLMLQ':_0x28fd9f(0x331),'ulzgq':_0x28fd9f(0x477),'JUPjB':_0x28fd9f(0x25b),'GRkMG':function(_0x365460,_0x4509a2){return _0x365460===_0x4509a2;},'OoaCq':_0x28fd9f(0x287),'WMENX':function(_0x16c45f,_0x5cc9f1){return _0x16c45f!=_0x5cc9f1;},'jwmBK':_0x28fd9f(0x45b),'LukNW':function(_0x106e29,_0x573219){return _0x106e29!==_0x573219;},'LXmmW':'NWvIS','eKIYI':function(_0xa91fc){return _0xa91fc();},'Xaizn':function(_0x1b8820,_0x530521){return _0x1b8820(_0x530521);},'CCvCJ':function(_0x144cef,_0xf9bb23){return _0x144cef!==_0xf9bb23;},'EDJfo':_0x28fd9f(0x257),'mQLzZ':_0x28fd9f(0x24b)},_0x19d258=this[_0x28fd9f(0x30d)];if(_0x3e6ad0[_0x28fd9f(0x41b)]&&_0x3e6ad0['ma_ct']){if(_0x4754ed[_0x28fd9f(0x3cc)](_0x4754ed[_0x28fd9f(0x1d5)],_0x4754ed[_0x28fd9f(0x389)])){let _0x192117=await trangthai[_0x28fd9f(0x17c)]({'ma_ct':_0x3e6ad0[_0x28fd9f(0x4b4)],'ma_trang_thai':_0x3e6ad0[_0x28fd9f(0x41b)]},{'check_data':0x1})[_0x28fd9f(0x48d)]();if(_0x192117&&_0x192117['check_data']==![])return _0x4754ed[_0x28fd9f(0x41e)](_0x1799ca);}else _0x31c465[_0x28fd9f(0x432)](0x190)[_0x28fd9f(0x1d2)](_0x279da3);}async['series']({'checkTonKho':_0x212c2a=>{const _0x28b82=_0x28fd9f,_0xcf9275={'tlPeI':_0x28b82(0x1b9),'uHMkU':_0x4754ed[_0x28b82(0x200)],'rXgYI':function(_0x4b5851,_0x165574){return _0x4754ed['KYhXY'](_0x4b5851,_0x165574);},'dYquC':function(_0x326e96,_0x1ad79a){const _0x3cc1d3=_0x28b82;return _0x4754ed[_0x3cc1d3(0x20a)](_0x326e96,_0x1ad79a);},'lWxOQ':_0x28b82(0x23e),'GlIAu':_0x4754ed[_0x28b82(0x2c8)],'rBmma':_0x4754ed[_0x28b82(0x3ce)],'RtEgV':function(_0x47dd5c,_0x5b1622){const _0x33981f=_0x28b82;return _0x4754ed[_0x33981f(0x17d)](_0x47dd5c,_0x5b1622);},'oLNCL':function(_0x20eee2,_0x427a84){return _0x20eee2!==_0x427a84;},'mZoVP':_0x28b82(0x305),'NwLNQ':_0x4754ed[_0x28b82(0x32c)],'DoKYu':_0x4754ed['lSKnN'],'ktCGm':function(_0x4fe9eb,_0x491c8c,_0x36dbe1){return _0x4fe9eb(_0x491c8c,_0x36dbe1);},'qHwrP':_0x4754ed[_0x28b82(0x42a)],'oOYuX':function(_0x32e656,_0x5d96a6,_0x57f1ba,_0x10edac,_0x4df5e9,_0x45dbf9,_0x1b5134){const _0x7a2931=_0x28b82;return _0x4754ed[_0x7a2931(0x489)](_0x32e656,_0x5d96a6,_0x57f1ba,_0x10edac,_0x4df5e9,_0x45dbf9,_0x1b5134);},'QcGFN':_0x4754ed[_0x28b82(0x14f)],'uNLmT':_0x4754ed[_0x28b82(0x318)],'Fvtxc':_0x4754ed[_0x28b82(0x294)],'IeQIJ':_0x4754ed[_0x28b82(0x4af)],'TUTmY':function(_0x40b9a8,_0x57ac0d){return _0x40b9a8*_0x57ac0d;},'zYBVv':function(_0x1af7d0,_0xa84759){const _0x2baa9c=_0x28b82;return _0x4754ed[_0x2baa9c(0x138)](_0x1af7d0,_0xa84759);},'JiRch':_0x4754ed[_0x28b82(0x161)],'pvTdH':function(_0x225960,_0x283c37){return _0x4754ed['lUUwc'](_0x225960,_0x283c37);},'mVztL':function(_0x241c0,_0x11bea4){return _0x4754ed['tjzYr'](_0x241c0,_0x11bea4);},'GNuns':function(_0x4f3759){const _0x541a87=_0x28b82;return _0x4754ed[_0x541a87(0x41e)](_0x4f3759);},'AGSIJ':_0x4754ed['XbRnh'],'FvJpq':_0x28b82(0x3da),'mfNJk':_0x28b82(0x328),'eaBIv':_0x28b82(0x47a),'BlCOL':_0x4754ed['oBQxz'],'YqPTf':function(_0x4b2bae,_0xa24f94){return _0x4b2bae===_0xa24f94;},'PlqAY':_0x4754ed[_0x28b82(0x36e)],'CFBLk':_0x28b82(0x475),'BPvsN':_0x4754ed[_0x28b82(0x4bd)],'cpiWs':_0x4754ed['JUPjB']};if(_0x4754ed[_0x28b82(0x187)](_0x28b82(0x2c7),_0x4754ed[_0x28b82(0x452)]))_0x5356e5[_0x28b82(0x144)](_0xcf9275[_0x28b82(0x42f)],_0x28b82(0x2df)),_0x29983c['setHeader'](_0xcf9275[_0x28b82(0x24d)],_0xcf9275[_0x28b82(0x278)](_0xcf9275['dYquC'](_0xcf9275[_0x28b82(0x46a)],_0x42a0e7[_0x28b82(0x393)]),_0xcf9275[_0x28b82(0x13f)])),_0x5bda63[_0x28b82(0x460)](_0x399f48,'binary');else{if(_0x3e6ad0[_0x28b82(0x125)]&&_0x25cef6&&_0x25cef6[_0x28b82(0x30d)]&&_0x25cef6['options'][_0x28b82(0x43c)]&&_0x4754ed['WMENX'](_0x19d258[_0x28b82(0xf0)],![])){if(_0x4754ed[_0x28b82(0x187)](_0x4754ed[_0x28b82(0x2e7)],_0x4754ed[_0x28b82(0x2e7)]))((async()=>{const _0x3c36df=_0x28b82,_0xb002b8={'KvIra':function(_0x5d228b,_0x24698a){return _0x5d228b===_0x24698a;},'UmIZl':_0xcf9275['qHwrP'],'XzFjr':function(_0x17363d,_0x58e3c9,_0x46902d,_0x4ae13e,_0x268ee9,_0x55957d,_0x2796f1){const _0x5933e4=_0x5430;return _0xcf9275[_0x5933e4(0x47e)](_0x17363d,_0x58e3c9,_0x46902d,_0x4ae13e,_0x268ee9,_0x55957d,_0x2796f1);},'JhUti':_0xcf9275[_0x3c36df(0x1c3)],'maJoz':_0xcf9275[_0x3c36df(0x300)],'wxdLQ':_0xcf9275['Fvtxc'],'NsYMP':_0xcf9275['IeQIJ'],'aJBvQ':function(_0x325347,_0x1ac0eb){const _0x153911=_0x3c36df;return _0xcf9275[_0x153911(0x441)](_0x325347,_0x1ac0eb);},'YvWcj':function(_0xc1bb34,_0x139ae8){const _0x487e4c=_0x3c36df;return _0xcf9275[_0x487e4c(0x496)](_0xc1bb34,_0x139ae8);},'sQpaH':_0xcf9275[_0x3c36df(0x2ad)],'VLjBy':'ixNoe','yKtDL':_0x3c36df(0x248),'sUSRc':_0x3c36df(0x12f),'mqRQE':function(_0x5a52db,_0x1ac43c){const _0x2dbcc4=_0x3c36df;return _0xcf9275[_0x2dbcc4(0x233)](_0x5a52db,_0x1ac43c);},'pXACl':function(_0x374659,_0x3000ca){const _0x222215=_0x3c36df;return _0xcf9275[_0x222215(0x380)](_0x374659,_0x3000ca);},'Dohjn':function(_0x5273e6){const _0x292947=_0x3c36df;return _0xcf9275[_0x292947(0x1c0)](_0x5273e6);}};if(_0xcf9275[_0x3c36df(0x224)]===_0xcf9275[_0x3c36df(0x224)]){let _0x548cc3=_0x3e6ad0[_0x3c36df(0x125)][_0x3c36df(0x15e)](_0x3538e0=>_0x3538e0[_0x3c36df(0x328)]&&_0x3538e0[_0x3c36df(0x407)]);await _0x548cc3['asyncJoinModel2'](_0x25cef6[_0x3c36df(0x490)],_0x3c36df(0x27a),{'where':{'ma_vt':'ma_vt'},'fields':[_0x3c36df(0x42e),_0xcf9275['FvJpq'],_0x3c36df(0x27d),{'cb':_0x3c36df(0x481)},_0x3c36df(0x25b)]}),_0x548cc3[_0x3c36df(0x2b1)](_0x129de0=>{const _0x37322c=_0x3c36df;if(!_0x129de0[_0x37322c(0x481)]&&_0x129de0['cb']){if(_0xb002b8[_0x37322c(0x38e)](_0xb002b8['UmIZl'],_0xb002b8[_0x37322c(0x16e)]))_0x129de0['combo']=_0x129de0['cb'];else return _0x4de5ca[_0x37322c(0x432)](0x190)[_0x37322c(0x1d2)]({'error':_0x230390[_0x37322c(0x1e4)][_0x37322c(0x1e4)]||_0x4794e3[_0x37322c(0x1e4)][_0x37322c(0x148)]||_0x423b48['error'],'message':_0x1f23d4[_0x37322c(0x148)]||_0x370761[_0x37322c(0x1e4)]['error']||_0x243dea[_0x37322c(0x1e4)]['message']||_0x15be98[_0x37322c(0x1e4)]});}}),_0x548cc3=_0x548cc3[_0x3c36df(0x15e)](_0x11cd63=>_0x11cd63[_0x3c36df(0x42e)]&&!_0x11cd63[_0x3c36df(0x3da)]||(_0x11cd63[_0x3c36df(0x481)]||[])[_0x3c36df(0x2bc)]>0x0),_0x548cc3=_0x548cc3[_0x3c36df(0x15a)](_0xb7462b=>{const _0x360f48=_0x3c36df,_0x552e47={'TKTHt':function(_0xbe5e9b,_0x12b9a0){const _0x3cdee2=_0x5430;return _0xcf9275[_0x3cdee2(0x278)](_0xbe5e9b,_0x12b9a0);},'ssuth':_0xcf9275[_0x360f48(0x436)]};if(_0xb7462b[_0x360f48(0x481)]&&_0xcf9275[_0x360f48(0x101)](_0xb7462b[_0x360f48(0x481)][_0x360f48(0x2bc)],0x0))return _0xb7462b['combo'][_0x360f48(0x15a)](_0x461103=>{const _0x3e2096=_0x360f48,_0x2a2b39={'KBrqf':function(_0x5e5aef,_0xc25883,_0x358f41,_0x3bb4c9,_0x500123,_0x5c5e27,_0x2f41a){const _0x1e86d3=_0x5430;return _0xb002b8[_0x1e86d3(0x276)](_0x5e5aef,_0xc25883,_0x358f41,_0x3bb4c9,_0x500123,_0x5c5e27,_0x2f41a);},'siSvr':_0xb002b8[_0x3e2096(0x26e)],'KAIGF':function(_0x1b7055,_0x24b32f){return _0x1b7055===_0x24b32f;}};if(_0x461103[_0x3e2096(0x453)])_0xb002b8[_0x3e2096(0x272)]===_0xb002b8[_0x3e2096(0x272)]?_0x461103=utils['convertObjectIdsToStrings'](_0x461103[_0x3e2096(0x453)]()):this['collection_name']=_0x233c0b;else{if(_0xb002b8[_0x3e2096(0x38e)](_0xb002b8[_0x3e2096(0x36a)],_0xb002b8[_0x3e2096(0x31d)])){const _0x5a1926={'query':_0x38f964,'body':_0x7a0e6,'user':_0x1ab418,'params':_0x2954a5,'headers':_0xb4ff20,'user_agent':_0x3248c0,'ip':_0x5b3544,'files':_0x4f779d,'uploadFile':_0xc0cf68,'originalUrl':_0x28ad33[_0x3e2096(0x41f)]};_0x5e87dc[_0x3e2096(0x35d)](_0x3fc34a,_0x5a1926,(_0x31b8f3,_0x46fd68)=>{const _0x231911=_0x3e2096;if(_0x31b8f3)return _0x345a8a[_0x231911(0x432)](0x190)[_0x231911(0x1d2)](_0x31b8f3);const {obj_created:_0x4b3d4f}=_0x46fd68;_0x2a2b39[_0x231911(0x1ca)](_0x25ad79,_0x23a8ce,_0x4b3d4f,_0x2a2b39['siSvr'],null,null,{'exclude_token':(_0x1219c7[_0x231911(0x19a)]||{})[_0x231911(0x2a9)]}),_0x2a2b39[_0x231911(0x177)](_0x1e0034[_0x231911(0x19a)][_0x231911(0x260)],![])?_0x451d16[_0x231911(0x1d2)]({'_id':_0x4b3d4f[_0x231911(0x490)]['toString']()}):_0x1beeff[_0x231911(0x1d2)](_0x4b3d4f);});}else _0x461103={..._0x461103};}return _0x461103[_0x3e2096(0x407)]=_0xb002b8[_0x3e2096(0x1e3)](_0x461103[_0x3e2096(0x407)],_0xb7462b['sl_xuat']),_0x461103[_0x3e2096(0x38f)]=_0xb7462b['ma_kho'],_0x461103;});else{if(_0xcf9275[_0x360f48(0x2b9)](_0xcf9275[_0x360f48(0x196)],_0xcf9275[_0x360f48(0x1c8)]))return[_0xb7462b];else this[_0x360f48(0x27e)]['route'](_0x53138e)[_0x360f48(0x1cc)](_0x2d160b),this[_0x360f48(0x27e)][_0x360f48(0x377)](_0x552e47[_0x360f48(0x2a4)](_0x3e9c5f,_0x552e47['ssuth']))[_0x360f48(0x1cc)](_0x292d28);}})[_0x3c36df(0x290)]((_0x3645a4,_0xf2132)=>_0x3645a4[_0x3c36df(0x2a0)](_0xf2132),[]),await _0x548cc3[_0x3c36df(0x16f)](_0x25cef6[_0x3c36df(0x490)],dmqddvt,{'where':{'ma_vt':_0xcf9275[_0x3c36df(0x2b5)],'ma_dvt':_0xcf9275['eaBIv']},'fields':_0xcf9275[_0x3c36df(0x308)]});let _0x343855=[];_0x3e6ad0[_0x3c36df(0x490)]&&(_0xcf9275[_0x3c36df(0x181)](_0xcf9275[_0x3c36df(0x295)],_0xcf9275[_0x3c36df(0x129)])?_0x51b317['status'](0x190)[_0x3c36df(0x1d2)](_0x11661a):_0x343855=await global[_0x3c36df(0x32a)](_0xcf9275['BPvsN'])[_0x3c36df(0x228)]({'id_ct':_0x3e6ad0[_0x3c36df(0x490)][_0x3c36df(0x222)]()})[_0x3c36df(0x48d)]()),_0x548cc3[_0x3c36df(0x2b1)](_0x28c5a0=>{const _0x4e449d=_0x3c36df;_0x28c5a0[_0x4e449d(0x45e)]=_0x28c5a0[_0x4e449d(0x46d)]||0x1,_0x28c5a0[_0x4e449d(0x457)]=_0xb002b8[_0x4e449d(0x394)](_0x28c5a0[_0x4e449d(0x45e)],_0x28c5a0[_0x4e449d(0x407)]);}),_0x548cc3=await _0x548cc3[_0x3c36df(0x226)]([_0xcf9275[_0x3c36df(0x2b5)],'ma_kho',_0xcf9275[_0x3c36df(0x12d)]],[_0x3c36df(0x457)]),async['map'](_0x548cc3,(_0x55c003,_0xddd185)=>{const _0x58450d=_0x3c36df;if(_0xcf9275[_0x58450d(0x2b9)](_0x58450d(0x423),'AwgYq')){let _0x2ef5d0=_0x55c003[_0x58450d(0x38f)]||_0x3e6ad0[_0x58450d(0x38f)]||_0x3e6ad0[_0x58450d(0x3ae)],_0x4d039f={'ma_vt':_0x55c003[_0x58450d(0x328)],'ma_kho':_0x2ef5d0,'ngay':new Date(),'id_app':_0x25cef6[_0x58450d(0x490)]};if(!_0x55c003[_0x58450d(0x27d)]){if(_0xcf9275['DoKYu']===_0xcf9275[_0x58450d(0xf6)]){const _0x475ec4=_0x58450d(0x31c)[_0x58450d(0x209)]('|');let _0x3026ef=0x0;while(!![]){switch(_0x475ec4[_0x3026ef++]){case'0':if(_0x55c003['ma_tt1'])_0x4d039f['ma_tt1']=_0x55c003[_0x58450d(0x39a)];continue;case'1':if(_0x55c003[_0x58450d(0x1a3)])_0x4d039f[_0x58450d(0x1a3)]=_0x55c003[_0x58450d(0x1a3)];continue;case'2':if(_0x55c003[_0x58450d(0x446)])_0x4d039f['ma_lo']=_0x55c003[_0x58450d(0x446)];continue;case'3':if(_0x55c003[_0x58450d(0x269)])_0x4d039f['ma_tt2']=_0x55c003[_0x58450d(0x269)];continue;case'4':if(_0x55c003[_0x58450d(0x1ae)])_0x4d039f['ma_tt3']=_0x55c003['ma_tt3'];continue;}break;}}else _0x43928f[_0x58450d(0x432)](0x190)['send'](_0x294bf6);}_0xcf9275[_0x58450d(0x11d)](ckvt,_0x4d039f,function(_0x134d0c,_0x381a73){const _0x39cc90=_0x58450d;if(_0xb002b8[_0x39cc90(0x267)]===_0xb002b8[_0x39cc90(0x30c)])return _0x37305e[_0x39cc90(0x32a)](_0x39cc90(0x2d8))[_0x39cc90(0x183)](_0x42c9c7[_0x39cc90(0x1ea)][_0x39cc90(0x301)],_0x10ea0e[_0x39cc90(0x1ea)][_0x39cc90(0x301)],'Không\x20thể\x20cập\x20nhật\x20lại\x20sổ\x20sách',_0x105e4a['message']||_0x5b34be['error']||_0xaf6f5a,null,{'id_app':_0x29baa5[_0x39cc90(0x1ea)]['current_id_app']},!![],_0x119176[_0x39cc90(0x2a9)],!![]);else{if(_0x134d0c)return _0xddd185(_0x134d0c);if(_0x381a73){if(_0xb002b8['yKtDL']===_0xb002b8[_0x39cc90(0xf2)]){let _0xaebfa6=_0x381a73[_0x39cc90(0x11c)](_0xb002b8[_0x39cc90(0x425)]),_0x46db88=_0x343855[_0x39cc90(0x15e)](_0x50dbc8=>_0x50dbc8[_0x39cc90(0x328)]===_0x55c003[_0x39cc90(0x328)]&&_0x50dbc8['ma_kho']===_0x2ef5d0)[_0x39cc90(0x290)]((_0x52da43,_0x5beffd)=>(_0x52da43[_0x39cc90(0x457)]||0x0)+(_0x5beffd[_0x39cc90(0x457)]||0x0),0x0);_0xb002b8[_0x39cc90(0x34f)](_0x55c003[_0x39cc90(0x457)],utils[_0x39cc90(0x132)](_0xb002b8[_0x39cc90(0x1f5)](_0xaebfa6,_0x46db88),0x2))?_0xddd185(_0x39cc90(0x10a)+_0x55c003['ma_vt']+_0x39cc90(0x205)+_0x55c003['ten_vt']+'\x20có\x20số\x20lượng\x20xuất\x20quy\x20đổi\x20('+_0x55c003[_0x39cc90(0x457)]+')\x20lớn\x20hơn\x20số\x20lượng\x20tồn\x20quy\x20đổi\x20('+_0xb002b8[_0x39cc90(0x1f5)](_0xaebfa6,_0x46db88)+')'):_0xddd185();}else _0x390dfc[_0x39cc90(0x1d2)]({'_id':_0x2afb90[_0x39cc90(0x490)][_0x39cc90(0x222)]()});}else _0xb002b8[_0x39cc90(0x3e1)](_0xddd185);}});}else{_0x501051['error']('danh\x20sách\x20người\x20duyệt\x20phải\x20là\x20một\x20mảng,\x20hiện\x20tại\x20đang\x20là',_0x48a194);return;}},_0x374621=>{_0x212c2a(_0x374621);});}else this[_0x3c36df(0x244)]=![],this[_0x3c36df(0x1d6)]='/'+this[_0x3c36df(0x30e)];})());else return _0x19fe56[_0x28b82(0x1e4)](_0x28b82(0x3b1),_0x1a69f8,_0x5266cc),![];}else{if(_0x4754ed['LukNW'](_0x28b82(0x3db),_0x4754ed['LXmmW']))_0x4754ed[_0x28b82(0x3ec)](_0x212c2a);else return _0xdb45f0[_0x28b82(0x32a)](_0x4754ed[_0x28b82(0x4a8)])['createNotification'](_0x528513[_0x28b82(0x1ea)]['email'],_0x1abb9e[_0x28b82(0x1ea)]['email'],_0x4754ed[_0x28b82(0x235)],_0x47efbe['message']||_0x1f9114[_0x28b82(0x1e4)]||_0x5d2106,null,{'id_app':_0x22ae03[_0x28b82(0x1ea)]['current_id_app']},!![],null,!![]);}}}},_0x1faac1=>{_0x4754ed['Xaizn'](_0x1799ca,_0x1faac1);});}async['cacheData'](_0x5c5b6b,_0x3d8a0a){const _0xe3f5af=_0x7ea2d4;if(_0x5c5b6b&&_0x5c5b6b[_0xe3f5af(0x453)])_0x5c5b6b=utils[_0xe3f5af(0x46f)](_0x5c5b6b['toObject']());await redisCache[_0xe3f5af(0x375)](this[_0xe3f5af(0x10d)],_0x5c5b6b,_0x3d8a0a);}async['deleteData'](_0x4f09bd,_0x30f8f8){const _0x579e33=_0x7ea2d4;if(_0x4f09bd&&_0x4f09bd[_0x579e33(0x453)])_0x4f09bd=utils[_0x579e33(0x46f)](_0x4f09bd[_0x579e33(0x453)]());await redisCache[_0x579e33(0x155)](this[_0x579e33(0x10d)],_0x4f09bd,_0x30f8f8);}['createRoute'](_0x34af79,_0x460d65,_0x8facb2={'method':_0x7ea2d4(0x266),'not_use_worker':![]}){const _0x2b9c86=_0x7ea2d4,_0x488adc={'VHirf':function(_0x376897,_0x3a3fad){return _0x376897===_0x3a3fad;},'UFEaa':'klvst','bzIxU':_0x2b9c86(0x471),'RXHtI':_0x2b9c86(0x485),'YbNNu':function(_0x48569a,_0x21b15e,_0x132831,_0x2c316b,_0x2c7c9a,_0x18ee3f,_0x4a5925){return _0x48569a(_0x21b15e,_0x132831,_0x2c316b,_0x2c7c9a,_0x18ee3f,_0x4a5925);},'tkLXb':_0x2b9c86(0x371),'UlqfT':'x-forwarded-for','DodBR':_0x2b9c86(0x2aa),'HcVTb':_0x2b9c86(0x474),'FbAmr':_0x2b9c86(0x266),'WDQxJ':function(_0x5f0217,_0xcbf2e8){return _0x5f0217==_0xcbf2e8;},'zFGkP':_0x2b9c86(0x232),'aeeKQ':_0x2b9c86(0x392),'nsjtG':function(_0x3b1e45,_0x5baaf0){return _0x3b1e45==_0x5baaf0;},'YnHYz':'POST','SGiRa':_0x2b9c86(0x3e7),'jvATQ':function(_0x1722b8,_0x280cec){return _0x1722b8!==_0x280cec;},'VRBZR':_0x2b9c86(0x1b1)},_0x4f7375=this;!_0x8facb2[_0x2b9c86(0x169)]?_0x8facb2[_0x2b9c86(0x169)]=_0x488adc[_0x2b9c86(0x1a7)]:_0x8facb2['method']=_0x8facb2[_0x2b9c86(0x169)][_0x2b9c86(0x2e9)]();const _0x21262f=_0x2b9c86(0x10c)+_0x4f7375[_0x2b9c86(0x393)]+'_'+_0x34af79+'_'+_0x8facb2[_0x2b9c86(0x169)];_0x4f7375[_0x21262f]=_0x460d65;const _0x4fae20=async function(_0x29d7cd,_0x2fd452){const _0x4f7c8f=_0x2b9c86,_0x3da712={'SIbby':function(_0x2bdcd9,_0x3af35d){return _0x488adc['VHirf'](_0x2bdcd9,_0x3af35d);},'pjLgw':_0x4f7c8f(0x30f),'LqFSH':function(_0x3815e6,_0x2c4598){const _0x1e7722=_0x4f7c8f;return _0x488adc[_0x1e7722(0xec)](_0x3815e6,_0x2c4598);},'PwZAE':_0x488adc[_0x4f7c8f(0x256)],'oUlmB':_0x488adc[_0x4f7c8f(0x304)],'Dtnhx':_0x488adc['RXHtI'],'HKXaM':function(_0x178d42,_0x2d7f39,_0x26b8fe,_0x42bf46,_0x53e3c2,_0x1badf8,_0x23896e){return _0x488adc['YbNNu'](_0x178d42,_0x2d7f39,_0x26b8fe,_0x42bf46,_0x53e3c2,_0x1badf8,_0x23896e);}},{query:_0x2ed1db,body:_0x28b9d6,user:_0x1cd428,params:_0xed866c,headers:_0x170554,files:_0x353857}=_0x29d7cd,_0xbeade9=_0x29d7cd[_0x4f7c8f(0x167)](_0x488adc[_0x4f7c8f(0x3e5)]),_0x5cf1d7=_0x29d7cd['ip']||_0x29d7cd[_0x4f7c8f(0x323)][_0x488adc[_0x4f7c8f(0x186)]]||_0x29d7cd[_0x4f7c8f(0x249)]['remoteAddress'];try{if(_0x488adc[_0x4f7c8f(0x134)]!==_0x488adc[_0x4f7c8f(0x16b)]){const _0x5037a0={'handler':_0x4f7c8f(0xe2),'routeName':_0x34af79,'_options':_0x8facb2,'route_action_key':_0x21262f,'query':_0x2ed1db,'body':_0x28b9d6,'user':_0x1cd428,'params':_0xed866c,'headers':_0x170554,'user_agent':_0xbeade9,'ip':_0x5cf1d7,'files':_0x353857,'originalUrl':_0x29d7cd[_0x4f7c8f(0x41f)]};global[_0x4f7c8f(0xfd)]&&!_0x8facb2[_0x4f7c8f(0x34c)]?global[_0x4f7c8f(0xfd)][_0x4f7c8f(0x2b3)]({'req':_0x5037a0,'module':_0x4f7375[_0x4f7c8f(0x393)][_0x4f7c8f(0x2e9)](),'configs':JSON[_0x4f7c8f(0x35a)](configs)},_0x40a63f=>{const _0x65f8ae=_0x4f7c8f;if(_0x3da712[_0x65f8ae(0x35f)](_0x3da712[_0x65f8ae(0x21d)],_0x65f8ae(0x30f))){if(_0x40a63f[_0x65f8ae(0x1e4)]){if(_0x3da712[_0x65f8ae(0x261)](_0x3da712[_0x65f8ae(0x4b9)],_0x3da712[_0x65f8ae(0x263)]))_0x4d6412[_0x65f8ae(0x377)](_0x4e6fe1)[_0x65f8ae(0x1cc)](_0x595029);else return _0x2fd452[_0x65f8ae(0x432)](0x190)[_0x65f8ae(0x1d2)]({'error':_0x40a63f[_0x65f8ae(0x1e4)][_0x65f8ae(0x1e4)]||_0x40a63f[_0x65f8ae(0x1e4)]['message']||_0x40a63f[_0x65f8ae(0x1e4)],'message':_0x40a63f[_0x65f8ae(0x148)]||_0x40a63f[_0x65f8ae(0x1e4)][_0x65f8ae(0x1e4)]||_0x40a63f[_0x65f8ae(0x1e4)]['message']||_0x40a63f['error']});}else{if(_0x65f8ae(0x2f1)===_0x3da712[_0x65f8ae(0x107)]){if(_0x4ad37a[_0x65f8ae(0x1e4)])return _0x17e016[_0x65f8ae(0x432)](0x190)[_0x65f8ae(0x1d2)]({'error':_0x4c389d[_0x65f8ae(0x1e4)]['error']||_0x4f8ba0[_0x65f8ae(0x1e4)][_0x65f8ae(0x148)]||_0x5d49f4['error'],'message':_0xbb5c1f['message']||_0x381e68[_0x65f8ae(0x1e4)][_0x65f8ae(0x1e4)]||_0x8d3b7e[_0x65f8ae(0x1e4)][_0x65f8ae(0x148)]||_0x31a114[_0x65f8ae(0x1e4)]});else _0x5f38b1['send'](_0x593248['result']);}else _0x2fd452[_0x65f8ae(0x1d2)](_0x40a63f[_0x65f8ae(0x3f3)]);}}else return this[_0x56874b];}):handlers[_0x4f7c8f(0xe2)](_0x4f7375,_0x5037a0,(_0x58e9a6,_0x1f36b1)=>{const _0x569cb8=_0x4f7c8f;if(_0x58e9a6)return _0x2fd452[_0x569cb8(0x432)](0x190)[_0x569cb8(0x1d2)](_0x58e9a6);_0x2fd452[_0x569cb8(0x1d2)](_0x1f36b1);});}else{let {new_obj:_0x36d4af,old_obj:_0x47d962}=_0x3115d2[_0x4f7c8f(0x3f3)];_0x3da712['HKXaM'](_0x1ee3f8,_0x5dd5d7,_0x36d4af,_0x2bd1df,_0x47d962,null,{'exclude_token':_0x292ded[_0x4f7c8f(0x19a)]['access_token']}),_0x3da712[_0x4f7c8f(0x261)](_0x504995['query'][_0x4f7c8f(0x260)],![])?_0x15cd6a[_0x4f7c8f(0x1d2)]({'_id':_0x36d4af[_0x4f7c8f(0x490)][_0x4f7c8f(0x222)]()}):_0x37832a[_0x4f7c8f(0x1d2)](_0x36d4af);}}catch(_0x23014e){_0x2fd452['status'](0x190)[_0x4f7c8f(0x1d2)](_0x23014e);}};let _0x2d7e8e=this[_0x2b9c86(0x1d6)]+'/'+_0x34af79,_0x202fcf=this[_0x2b9c86(0x27e)];_0x488adc['WDQxJ'](_0x8facb2[_0x2b9c86(0x169)],_0x488adc[_0x2b9c86(0x1e7)])?_0x202fcf[_0x2b9c86(0x377)](_0x2d7e8e)[_0x2b9c86(0x103)](_0x4fae20):_0x488adc[_0x2b9c86(0x1ed)]===_0x2b9c86(0x33c)?_0x3d25ca[_0x2b9c86(0x481)]=_0x1b2e3a['cb']:_0x488adc[_0x2b9c86(0x33a)](_0x8facb2['method'],_0x488adc[_0x2b9c86(0x160)])?_0x202fcf['route'](_0x2d7e8e)[_0x2b9c86(0x47d)](_0x4fae20):_0x488adc[_0x2b9c86(0x33a)](_0x8facb2[_0x2b9c86(0x169)],_0x488adc[_0x2b9c86(0x115)])?_0x488adc[_0x2b9c86(0x1a0)](_0x488adc[_0x2b9c86(0x378)],_0x488adc[_0x2b9c86(0x378)])?_0x13ef08[_0x2b9c86(0x1ee)](0x190)[_0x2b9c86(0x1d2)](_0x4284df['message']):_0x202fcf[_0x2b9c86(0x377)](_0x2d7e8e)[_0x2b9c86(0x10f)](_0x4fae20):_0x202fcf['route'](_0x2d7e8e)[_0x2b9c86(0x1cc)](_0x4fae20);}async[_0x7ea2d4(0x227)](_0x3589fc,_0x4ae8cd,_0x15b4b2,_0x302d1e,_0x20cceb,_0x57843d){const _0x2f32ca=_0x7ea2d4,_0x675ea5={'eaHWq':function(_0x438eb5,_0x51caa9){return _0x438eb5<_0x51caa9;},'zrTsN':'return\x20','OZqkj':_0x2f32ca(0x415),'iaKxO':_0x2f32ca(0x2d8),'Recle':_0x2f32ca(0x444),'SWlgx':_0x2f32ca(0xff),'oqThJ':_0x2f32ca(0x240),'KDyyn':function(_0x4dff6d,_0xbe91d8){return _0x4dff6d*_0xbe91d8;},'hMvZE':_0x2f32ca(0x1de),'eQTdx':'DaKBQ','LEFmf':function(_0x48bd0f,_0x3363f9){return _0x48bd0f(_0x3363f9);},'lkocj':function(_0x1cd6f7,_0x535b10){return _0x1cd6f7===_0x535b10;},'SuVNB':_0x2f32ca(0x179),'dYkeK':_0x2f32ca(0x46b),'iyFly':_0x2f32ca(0x213),'lppZI':function(_0x10bf6c,_0x1eeb34){return _0x10bf6c<_0x1eeb34;},'sLSqD':function(_0xfb4f0,_0x58f9aa){return _0xfb4f0(_0x58f9aa);},'lDnOp':_0x2f32ca(0x3ff),'gvArW':function(_0x466449,_0x2c1361){return _0x466449===_0x2c1361;},'GcmiL':'jkBaL','evOMO':'qjPGe','ROPpw':function(_0x5c7a66,_0x195722){return _0x5c7a66==_0x195722;},'pirHF':function(_0x54ab69,_0x1e2022){return _0x54ab69!==_0x1e2022;},'KZxKc':_0x2f32ca(0x482),'iTICJ':function(_0x89cd6e,_0x59d4db,_0x47587c){return _0x89cd6e(_0x59d4db,_0x47587c);},'CfAKu':function(_0x3279d8,_0x886b3){return _0x3279d8===_0x886b3;},'JStkV':_0x2f32ca(0x2ce),'peTxB':_0x2f32ca(0x37e),'zQyTz':_0x2f32ca(0x1ba),'ykYhT':_0x2f32ca(0x363),'KZLPr':_0x2f32ca(0x371),'KbMPd':_0x2f32ca(0x1cf),'ijqxk':_0x2f32ca(0x1d8),'YIJPg':_0x2f32ca(0x3f7),'ucJlq':_0x2f32ca(0x3e7),'GKtPh':'VorTi','JtpIN':_0x2f32ca(0x238),'msqpg':_0x2f32ca(0x3d0),'lvoea':function(_0x348232,_0x3d33ed){return _0x348232===_0x3d33ed;},'opbpG':_0x2f32ca(0x1a2),'mZqou':_0x2f32ca(0x3f5),'OWylZ':'Yêu\x20cầu\x20duyệt','IgBpy':function(_0x57c0ca,_0x1273cc,_0x660c3a){return _0x57c0ca(_0x1273cc,_0x660c3a);},'lRpYx':function(_0x64c3fd,_0x4b224a){return _0x64c3fd!==_0x4b224a;},'tjMkB':_0x2f32ca(0x3eb),'jTOWC':function(_0x3ef8fe,_0x1a6b89){return _0x3ef8fe===_0x1a6b89;},'EoLrX':_0x2f32ca(0x23c),'DwDHZ':_0x2f32ca(0xf3),'VPPqD':function(_0x3f0299,_0x5a46d8){return _0x3f0299!==_0x5a46d8;},'jACKf':_0x2f32ca(0x445),'RjuCQ':_0x2f32ca(0x113),'ZmkDN':'oDJLM','pzwDO':function(_0x4161d2,_0x254689){return _0x4161d2<_0x254689;},'OfWKT':'iaDsB','WLSeo':_0x2f32ca(0x21e),'fhQXZ':_0x2f32ca(0x3f2),'HhmKS':_0x2f32ca(0x1bb),'hycpi':_0x2f32ca(0x303),'IDEEJ':_0x2f32ca(0x1c9),'wJIxp':'[controller][requestapprove]\x20','ZuMRM':_0x2f32ca(0x301),'WjQrG':'name','HmtBP':function(_0x2437d1,_0x21517b){return _0x2437d1(_0x21517b);}};let _0x108cf5=this;if(!_0x3589fc){if(_0x675ea5['gvArW'](_0x675ea5[_0x2f32ca(0x17f)],_0x2f32ca(0x3d0)))return _0x302d1e(null,_0x15b4b2);else{let _0x2f8097=_0x22f39d;_0x675ea5[_0x2f32ca(0x190)](_0x2f8097[_0x2f32ca(0x36f)](_0x675ea5[_0x2f32ca(0x33d)]),0x0)&&(_0x2f8097=_0x2f32ca(0x1fb)+_0x2f8097);_0xff9ead=_0x2b3a74(_0x2f8097,{'master':_0x48404b,'data':_0x3393c5,'preRequest':_0x43af44});if(!_0x11562b['isArray'](_0x3ed277)){_0xd76c17[_0x2f32ca(0x1e4)](_0x675ea5['OZqkj'],_0x5c30d8);return;}}}let _0x285770;_0x15b4b2[_0x2f32ca(0x453)]?_0x285770=utils[_0x2f32ca(0x46f)](_0x15b4b2[_0x2f32ca(0x453)]()):_0x285770=_[_0x2f32ca(0x128)](_0x15b4b2);_0x285770[_0x2f32ca(0x4b4)]=_0x285770['ma_ct']||_0x108cf5[_0x2f32ca(0x393)];let _0x57f845=[];const _0x360f33=_0x285770[_0x2f32ca(0x22c)]||_0x108cf5[_0x2f32ca(0x393)];if(!_0x20cceb)_0x20cceb=(await OptionsModel['findOne']({'id_app':_0x285770['id_app'],'id_func':_0x360f33},{'option':0x1})[_0x2f32ca(0x48d)]()||{})[_0x2f32ca(0x2cc)];if(_0x20cceb&&_0x20cceb[_0x2f32ca(0x343)]){if(_0x675ea5[_0x2f32ca(0x2b0)](_0x675ea5[_0x2f32ca(0x38c)],_0x675ea5[_0x2f32ca(0x38c)]))_0x20cceb['custom_approve_user'][_0x2f32ca(0x2b1)](_0x228b53=>{const _0x57e665=_0x2f32ca;let _0x3bc07c,_0x131bc8;if(_0x228b53['update_after_approve']){if(_0x675ea5[_0x57e665(0xe5)]!==_0x675ea5[_0x57e665(0xfe)])try{let _0xb02cc8=_0x228b53[_0x57e665(0x3b3)];_0x675ea5['eaHWq'](_0xb02cc8['indexOf'](_0x57e665(0x1fb)),0x0)&&(_0xb02cc8='return\x20'+_0xb02cc8),_0x3bc07c=_0x675ea5[_0x57e665(0x3b7)](evalute,_0xb02cc8);}catch(_0x113511){if(_0x675ea5[_0x57e665(0x223)](_0x675ea5[_0x57e665(0x1a5)],_0x675ea5[_0x57e665(0x264)])){const _0x45fbc8={'ukXTx':_0x675ea5[_0x57e665(0x147)],'LSNxg':_0x57e665(0x363),'kcanF':_0x675ea5['Recle']},_0x4668d9='task-import-excel-'+_0x505ed7[_0x57e665(0x2b8)](0x14)[_0x57e665(0x222)](_0x675ea5[_0x57e665(0x175)]),_0x4d1aa8=(_0x1795d0['api_url']||_0x3c4381['domain'])+_0x57e665(0x211)+_0x4668d9;_0x11f06e['status_task']=_0x4d1aa8,_0x5b6e54[_0x57e665(0x432)](0xca)[_0x57e665(0x1d2)]({'message':_0x675ea5[_0x57e665(0x26f)],'status_task':_0x4d1aa8}),_0x53bb21['importDataMainPool']['exec']({'id_task':_0x4668d9,'req':_0xdcc597,'module':_0x565552[_0x57e665(0x393)][_0x57e665(0x2e9)](),'configs':_0x4a789a[_0x57e665(0x35a)](_0x1374c1)},_0x179d65=>{const _0x4248d7=_0x57e665,_0x14534f=_0x179d65[_0x4248d7(0x1e4)];if(_0x14534f)return _0x205e0c[_0x4248d7(0x32a)](_0x45fbc8['ukXTx'])[_0x4248d7(0x183)](_0x4762da['user']['email'],_0x569c52['user']['email'],_0x45fbc8[_0x4248d7(0x417)],_0x14534f[_0x4248d7(0x148)]||_0x14534f['error']||_0x14534f,null,{'id_app':_0x348624[_0x4248d7(0x1ea)][_0x4248d7(0x391)]},!![],null,!![]);_0x47f3d2[_0x4248d7(0x32a)](_0x45fbc8['ukXTx'])[_0x4248d7(0x183)](_0x28273b[_0x4248d7(0x1ea)]['email'],_0x10d729[_0x4248d7(0x1ea)][_0x4248d7(0x301)],_0x45fbc8[_0x4248d7(0x4bb)],_0x45fbc8[_0x4248d7(0x4bb)],null,{'id_app':_0x5265f1[_0x4248d7(0x1ea)][_0x4248d7(0x391)]},!![],null,!![]);},_0x675ea5[_0x57e665(0x43a)](0x2*0x18*0x3c*0x3c,0x3e8));}else console[_0x57e665(0x1e4)]('[controller][requestApprove]\x20request\x20approve',_0x113511,_0x228b53[_0x57e665(0x3b3)]),_0x3bc07c={};}else _0x39c0c2[_0x57e665(0x432)](0x190)[_0x57e665(0x1d2)](_0x4a3d7a);}else _0x675ea5[_0x57e665(0x2f9)]===_0x675ea5[_0x57e665(0x2f9)]?_0x3bc07c={}:_0x58f3d0[_0x57e665(0x377)](_0x496246)[_0x57e665(0x47d)](_0x276899);_0x228b53['update_after_approve']={'module':_0x108cf5[_0x57e665(0x393)],'cho_phep_cap_nhat_khi_da_duyet':_0x228b53[_0x57e665(0x479)],'data':{'trang_thai':_0x228b53['trang_thai2'],..._0x3bc07c[_0x57e665(0x41d)]||{}}};if(_0x228b53[_0x57e665(0x2ea)])try{let _0x1f46ac=_0x228b53['update_after_deny'];_0x675ea5[_0x57e665(0x419)](_0x1f46ac[_0x57e665(0x36f)](_0x675ea5['zrTsN']),0x0)&&(_0x1f46ac=_0x57e665(0x1fb)+_0x1f46ac),_0x131bc8=_0x675ea5['sLSqD'](evalute,_0x1f46ac);}catch(_0x32b9a5){console[_0x57e665(0x1e4)](_0x675ea5[_0x57e665(0x40b)],_0x32b9a5);}(_0x131bc8||_0x228b53['trang_thai3'])&&(_0x675ea5[_0x57e665(0x283)](_0x675ea5[_0x57e665(0x1fc)],_0x675ea5['evOMO'])?_0x38b4b6['send'](_0x22ac2f):_0x228b53[_0x57e665(0x2ea)]={'module':_0x108cf5[_0x57e665(0x393)],'data':{'trang_thai':_0x228b53[_0x57e665(0x288)],...(_0x131bc8||{})[_0x57e665(0x41d)]||{}}}),_0x57f845[_0x57e665(0x38d)](_0x228b53);});else{if(_0x4b9569)return new _0x2e8317(_0x47ad2b);_0x675ea5[_0x2f32ca(0x3b7)](_0x5f498e,_0x15639e);}}_0x57f845=_0x57f845[_0x2f32ca(0x15e)](_0x4486b9=>{const _0x22bc00=_0x2f32ca,_0x402ada={'jJgQQ':function(_0x5cea9e,_0x11309c){const _0x58805d=_0x5430;return _0x675ea5[_0x58805d(0x124)](_0x5cea9e,_0x11309c);}};if(_0x675ea5[_0x22bc00(0x1d1)](_0x675ea5[_0x22bc00(0xdf)],_0x675ea5[_0x22bc00(0xdf)]))_0x4e875d=_0x8c86f4['convertObjectIdsToStrings'](_0x49dc19[_0x22bc00(0x453)]());else{let _0x557657=_0x4486b9[_0x22bc00(0x3d2)];if(!_0x557657)return!![];_0x557657['indexOf'](_0x675ea5[_0x22bc00(0x33d)])<0x0&&(_0x557657=_0x22bc00(0x1fb)+_0x557657);try{return _0x675ea5[_0x22bc00(0x341)](evalute,_0x557657,{'master':_0x285770,'data':_0x285770});}catch(_0x1bc1ec){if(_0x675ea5[_0x22bc00(0x178)](_0x675ea5[_0x22bc00(0x4a1)],_0x675ea5['JStkV']))return console[_0x22bc00(0x1e4)](_0x22bc00(0x3b1),_0x1bc1ec,_0x557657),![];else{if(_0x2d79f3)return _0x31c7d3[_0x22bc00(0x432)](0x190)[_0x22bc00(0x1d2)](_0x543cea);const {result:_0x55effb}=_0x27ab34;if(_0x402ada[_0x22bc00(0x470)](_0x55effb[_0x22bc00(0x2bc)],0x0))return _0x1b2a60[_0x22bc00(0x432)](0x194)['send']({'error':_0x5026e3['ERR_NOT_FOUND'],'code':_0x474abc[_0x22bc00(0x390)]});_0x5531e2[_0x22bc00(0x1d2)](_0x55effb[0x0]);}}}});try{if(_0x675ea5['pirHF'](_0x675ea5[_0x2f32ca(0x3bb)],_0x675ea5[_0x2f32ca(0x3bb)]))_0x5f57c5[_0x2f32ca(0x432)](0x190)['send'](_0x5896f6);else{for(let _0x4c2004 of _0x57f845['filter'](_0xe32cd6=>{const _0x26e0d2=_0x2f32ca,_0x933fce={'TjuJP':function(_0x33fc6e,_0x27a178,_0x41181b){const _0x1a56d5=_0x5430;return _0x675ea5[_0x1a56d5(0x341)](_0x33fc6e,_0x27a178,_0x41181b);}};if(_0x675ea5['gvArW'](_0x675ea5['peTxB'],_0x675ea5[_0x26e0d2(0x3c2)]))_0x205292[_0x26e0d2(0xfd)][_0x26e0d2(0x2b3)]({'req':_0x337155,'module':_0x26222d[_0x26e0d2(0x393)]['toUpperCase'](),'configs':_0x25ea08[_0x26e0d2(0x35a)](_0x302b82)},_0x3bcf65=>{const _0x594676=_0x26e0d2;if(_0x3bcf65['error'])return _0x2c5aeb[_0x594676(0x432)](0x190)[_0x594676(0x1d2)]({'error':_0x3bcf65[_0x594676(0x1e4)]['error']||_0x3bcf65[_0x594676(0x1e4)][_0x594676(0x148)]||_0x3bcf65[_0x594676(0x1e4)],'message':_0x3bcf65[_0x594676(0x148)]||_0x3bcf65[_0x594676(0x1e4)][_0x594676(0x1e4)]||_0x3bcf65[_0x594676(0x1e4)][_0x594676(0x148)]||_0x3bcf65[_0x594676(0x1e4)]});else _0x933fce[_0x594676(0x325)](_0x2f2b80,_0x197a5a,_0x3bcf65[_0x594676(0x3f3)]);});else return _0xe32cd6[_0x26e0d2(0x3f8)]||_0xe32cd6[_0x26e0d2(0x428)]||_0xe32cd6[_0x26e0d2(0x2f8)];})){let _0x1e6b98=_0x4c2004[_0x2f32ca(0x2d7)]||_0x675ea5[_0x2f32ca(0x21b)];if(_0x1e6b98[_0x2f32ca(0x36f)](_0x675ea5[_0x2f32ca(0x33d)])>=0x0){let _0x122cf0=_0x1e6b98;try{_0x1e6b98=_0x675ea5[_0x2f32ca(0x130)](evalute,_0x122cf0,{'master':_0x285770,'data':_0x285770});}catch(_0x1537f2){if(_0x675ea5[_0x2f32ca(0x469)](_0x2f32ca(0x165),_0x2f32ca(0x478)))console['error'](_0x2f32ca(0x3ff),_0x1537f2,_0x122cf0);else{const _0x3ac012={'PNieX':function(_0x485df6,_0xff7661,_0x4ab9d6,_0x43dfed,_0x405d08,_0x18aa57,_0x2fdef8){return _0x485df6(_0xff7661,_0x4ab9d6,_0x43dfed,_0x405d08,_0x18aa57,_0x2fdef8);},'LtAOl':function(_0x24e180,_0x29407d){return _0x675ea5['lkocj'](_0x24e180,_0x29407d);}};_0x806755[_0x2f32ca(0x2ef)](_0x32a07f,_0x4aeef6,(_0x56087f,_0x5541ac)=>{const _0x288389=_0x2f32ca;if(_0x56087f)return _0x1cdb6d[_0x288389(0x432)](0x190)[_0x288389(0x1d2)]({'error':_0x56087f[_0x288389(0x1e4)]||_0x56087f[_0x288389(0x148)]||_0x56087f});let {new_obj:_0x27c44f,old_obj:_0x2ef6d0}=_0x5541ac;_0x3ac012[_0x288389(0x2eb)](_0x4a74cd,_0x3e8b3f,_0x27c44f,_0x1cc1c3,_0x2ef6d0,null,{'exclude_token':_0x164f82['query'][_0x288389(0x2a9)]}),_0x3ac012[_0x288389(0xfa)](_0x4048f7['query'][_0x288389(0x260)],![])?_0x4dc0a4[_0x288389(0x1d2)]({'_id':_0x27c44f[_0x288389(0x490)]['toString']()}):_0x242cb9[_0x288389(0x1d2)](_0x27c44f);});}}}let _0x4f0ee3=_0x4c2004[_0x2f32ca(0x3f8)],_0x5e3d57=_0x4c2004[_0x2f32ca(0x3b3)],_0x2d9074=_0x4c2004[_0x2f32ca(0x2ea)];if(_[_0x2f32ca(0x28d)](_0x4f0ee3))try{let _0x13ac99=_0x4f0ee3;_0x675ea5[_0x2f32ca(0x419)](_0x13ac99['indexOf'](_0x675ea5[_0x2f32ca(0x33d)]),0x0)&&(_0x13ac99=_0x2f32ca(0x1fb)+_0x13ac99);_0x4f0ee3=_0x675ea5[_0x2f32ca(0x341)](evalute,_0x13ac99,{'master':_0x285770,'data':_0x285770,'preRequest':_0x57843d});if(!_[_0x2f32ca(0x44e)](_0x4f0ee3)){if(_0x675ea5[_0x2f32ca(0x469)](_0x675ea5[_0x2f32ca(0x409)],_0x675ea5[_0x2f32ca(0x409)]))return _0x5e8a2c[_0x2f32ca(0x32a)]('notification')['createNotification'](_0x8acb26['user'][_0x2f32ca(0x301)],_0x30f7aa[_0x2f32ca(0x1ea)][_0x2f32ca(0x301)],_0x675ea5['ykYhT'],_0x48d318['message']||_0x48b95f[_0x2f32ca(0x1e4)]||_0x67fd50,null,{'id_app':_0x1dd43e[_0x2f32ca(0x1ea)][_0x2f32ca(0x391)]},!![],null,!![]);else{console[_0x2f32ca(0x1e4)](_0x675ea5['OZqkj'],_0x4f0ee3);return;}}}catch(_0x1a0d3f){if(_0x675ea5[_0x2f32ca(0x3bc)]('CuEBq',_0x675ea5['EoLrX'])){console[_0x2f32ca(0x1e4)](_0x675ea5[_0x2f32ca(0x40b)],_0x1a0d3f,_0x4f0ee3);return;}else{const {query:_0x43baf7,body:_0x3a60c1,user:_0x2b786,params:_0x45c33d,headers:_0x55c229,files:_0x48f33a}=_0xb357f2,_0x1d349b=_0x352370[_0x2f32ca(0x167)](_0x675ea5[_0x2f32ca(0x2a3)]),_0x560906=_0x4aebeb['ip']||_0x5f589d[_0x2f32ca(0x323)][_0x675ea5[_0x2f32ca(0x329)]]||_0x44b9b9['connection']['remoteAddress'];try{const _0x1af69b={'query':_0x43baf7,'body':_0x3a60c1,'user':_0x2b786,'params':_0x45c33d,'headers':_0x55c229,'user_agent':_0x1d349b,'ip':_0x560906,'files':_0x48f33a,'originalUrl':_0x2bf585['originalUrl']};_0x34ee71['deleteHandler'](_0x30dcab,_0x1af69b,(_0x5718f0,_0x47ca62)=>{const _0xa9d278=_0x2f32ca;if(_0x5718f0)return _0x161b0d[_0xa9d278(0x432)](0x190)[_0xa9d278(0x1d2)]({'error':_0x5718f0[_0xa9d278(0x1e4)]||_0x5718f0[_0xa9d278(0x148)]||_0x5718f0});_0x59ca47['send'](_0x47ca62);});}catch(_0x1d9987){_0x2bc1c5[_0x2f32ca(0x432)](0x190)[_0x2f32ca(0x1d2)](_0x1d9987);}}}let _0x1337d7=_0x4c2004['approve_phu_trach_bp'];if(_0x1337d7&&_0x285770['ma_nv']){let _0x41ffba=await global[_0x2f32ca(0x32a)](_0x675ea5[_0x2f32ca(0x418)])[_0x2f32ca(0x17c)]({'id_app':_0x285770[_0x2f32ca(0x450)],'ma_nv':_0x285770[_0x2f32ca(0x17a)]},{'ma_bp':0x1})[_0x2f32ca(0x48d)]();if(_0x41ffba?.[_0x2f32ca(0x416)]){if(_0x675ea5[_0x2f32ca(0x273)]('PrDyb',_0x675ea5[_0x2f32ca(0xde)]))_0x1bd390=_0x5257be[_0x2f32ca(0x128)](_0x15d2d9);else{let _0x2f6fb2=await global[_0x2f32ca(0x32a)](_0x2f32ca(0x252))['findOne']({'id_app':_0x285770[_0x2f32ca(0x450)],'ma_bp':_0x41ffba?.[_0x2f32ca(0x416)]},{'phu_trach':0x1})[_0x2f32ca(0x48d)]();_0x2f6fb2?.[_0x2f32ca(0x4a2)]&&(_0x675ea5['VPPqD'](_0x675ea5[_0x2f32ca(0x150)],_0x675ea5[_0x2f32ca(0x405)])?_0x4f0ee3[_0x2f32ca(0x38d)](_0x2f6fb2?.['phu_trach']):_0x28966e[_0x2f32ca(0x1d2)]({'allow':![]}));}}}if(_0x4c2004[_0x2f32ca(0x428)])try{let _0x213efa=_0x4c2004[_0x2f32ca(0x428)];_0x675ea5[_0x2f32ca(0x3e9)](_0x213efa[_0x2f32ca(0x36f)](_0x675ea5[_0x2f32ca(0x33d)]),0x0)&&(_0x675ea5[_0x2f32ca(0x1d1)](_0x675ea5['OfWKT'],_0x675ea5['WLSeo'])?_0x213efa=_0x2f32ca(0x1fb)+_0x213efa:_0x15476e['inputMainPool'][_0x2f32ca(0x2b3)]({'req':_0x343fc4,'module':_0x491303[_0x2f32ca(0x393)]['toUpperCase'](),'configs':_0xabb639[_0x2f32ca(0x35a)](_0x51ee44)},_0x3e7cfb=>{const _0x3fe80e=_0x2f32ca;if(_0x3e7cfb['error'])return _0x5c45ff[_0x3fe80e(0x432)](0x190)['send']({'error':_0x3e7cfb[_0x3fe80e(0x1e4)][_0x3fe80e(0x1e4)]||_0x3e7cfb[_0x3fe80e(0x1e4)][_0x3fe80e(0x148)]||_0x3e7cfb[_0x3fe80e(0x1e4)],'message':_0x3e7cfb[_0x3fe80e(0x148)]||_0x3e7cfb[_0x3fe80e(0x1e4)][_0x3fe80e(0x1e4)]||_0x3e7cfb[_0x3fe80e(0x1e4)][_0x3fe80e(0x148)]||_0x3e7cfb[_0x3fe80e(0x1e4)]});else _0x2c6f69[_0x3fe80e(0x1d2)](_0x3e7cfb[_0x3fe80e(0x3f3)]);}));let _0x39a98d=_0x2f32ca(0x365)+_0x213efa+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}catch(e){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20{error:e}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20})',_0x4b1a55=await evalute(_0x39a98d,{'master':_0x285770,'data':_0x285770,'preRequest':_0x57843d,'utils':utils})();_0x4b1a55&&(!_[_0x2f32ca(0x44e)](_0x4b1a55)?_0x675ea5[_0x2f32ca(0x100)]!==_0x675ea5[_0x2f32ca(0x108)]?console[_0x2f32ca(0x1e4)](_0x675ea5[_0x2f32ca(0x459)],_0x4b1a55):_0x133d48[_0x2f32ca(0x169)]=_0x19c675[_0x2f32ca(0x169)][_0x2f32ca(0x2e9)]():_0x4f0ee3=[..._0x4f0ee3,..._0x4b1a55]);}catch(_0x11991e){if(_0x2f32ca(0x3f0)!==_0x675ea5[_0x2f32ca(0x206)])console[_0x2f32ca(0x1e4)](_0x675ea5[_0x2f32ca(0x1bf)],_0x11991e,_0x4c2004[_0x2f32ca(0x428)]);else{const _0x3ffee9=_0xf7a94c[_0x2f32ca(0x1e4)];if(_0x3ffee9)return _0x224d01[_0x2f32ca(0x32a)](_0x2f32ca(0x2d8))[_0x2f32ca(0x183)](_0x2d65fe[_0x2f32ca(0x1ea)][_0x2f32ca(0x301)],_0x11b3ec[_0x2f32ca(0x1ea)][_0x2f32ca(0x301)],_0x675ea5['ijqxk'],_0x3ffee9[_0x2f32ca(0x148)]||_0x3ffee9[_0x2f32ca(0x1e4)]||_0x3ffee9,null,{'id_app':_0x3591b7[_0x2f32ca(0x1ea)][_0x2f32ca(0x391)]},!![],_0x1e1580[_0x2f32ca(0x2a9)],!![]);_0xf40857[_0x2f32ca(0x32a)](_0x2f32ca(0x2d8))[_0x2f32ca(0x183)](_0x4946c8[_0x2f32ca(0x1ea)]['email'],_0x2c825f[_0x2f32ca(0x1ea)][_0x2f32ca(0x301)],_0x675ea5[_0x2f32ca(0x29e)],_0x675ea5[_0x2f32ca(0x29e)],null,{'id_app':_0x1a59d8[_0x2f32ca(0x1ea)][_0x2f32ca(0x391)]},!![],_0x242c82[_0x2f32ca(0x2a9)],!![]);}}console[_0x2f32ca(0x368)](_0x2f32ca(0x36b),_0x4f0ee3);if(!_0x4f0ee3||_0x4f0ee3[_0x2f32ca(0x2bc)]===0x0)continue;_0x4f0ee3=[...new Set(_0x4f0ee3)];if(_0x675ea5[_0x2f32ca(0x124)](_0x285770['trang_thai'],_0x4c2004[_0x2f32ca(0x41b)])){let _0x32a7c4=_0x4f0ee3['map'](_0x2ff0f9=>{return{'email':_0x2ff0f9,'name':_0x2ff0f9};});await _0x32a7c4['asyncJoinModel2'](_0x285770[_0x2f32ca(0x450)],Participant,{'where':_0x675ea5[_0x2f32ca(0x20e)],'fields':_0x2f32ca(0x393)}),await[_0x4ae8cd][_0x2f32ca(0x16f)](_0x285770[_0x2f32ca(0x450)],Participant,{'where':_0x675ea5[_0x2f32ca(0x20e)],'fields':_0x675ea5[_0x2f32ca(0x176)]}),await new Promise((_0x48e5b0,_0x572c6f)=>{const _0x417b9a=_0x2f32ca,_0x49481d={'ErjzC':_0x675ea5[_0x417b9a(0x447)],'kdzbs':function(_0x1492b5,_0x1a4029){return _0x1492b5(_0x1a4029);},'dXgrG':function(_0x66e5cc){return _0x66e5cc();}};_0x675ea5[_0x417b9a(0x3cf)]!==_0x675ea5['JtpIN']?_0x675ea5['ROPpw'](_0x54bcc5[_0x417b9a(0x169)],_0x675ea5[_0x417b9a(0x291)])?_0x2cea28[_0x417b9a(0x377)](_0x3ddd94)[_0x417b9a(0x10f)](_0x29222c):_0x56506a[_0x417b9a(0x377)](_0xe2401d)[_0x417b9a(0x1cc)](_0x741ca4):Approve[_0x417b9a(0x34d)](_0x4ae8cd,_0x32a7c4,_0x1e6b98,_0x285770,_0x345914=>{const _0x2b9b43=_0x417b9a;if(_0x49481d['ErjzC']===_0x49481d['ErjzC']){if(_0x345914)return _0x49481d[_0x2b9b43(0x2fc)](_0x572c6f,_0x345914);_0x49481d['dXgrG'](_0x48e5b0);}else!_0x5172b3[_0x2b9b43(0x44e)](_0xef8b0)?_0x2d12b0[_0x2b9b43(0x1e4)]('[controller][requestapprove]\x20danh\x20sách\x20người\x20duyệt\x20phải\x20là\x20một\x20mảng,\x20hiện\x20tại\x20đang\x20là',_0x39db37):_0x55fb8d=[..._0x438831,..._0xcbeaf6];},_0x5e3d57,_0x4c2004[_0x417b9a(0x36d)],_0x2d9074);});}}_0x302d1e(null,_0x285770);}}catch(_0x2858cc){_0x675ea5[_0x2f32ca(0x2f3)](_0x302d1e,_0x2858cc);}}async[_0x7ea2d4(0x339)](_0xc00dc2,_0x77f554,_0x48ea34,_0x11ed99,_0x389158={'replace':!![],'req':null,'listinfo_code':null}){const _0x5cad4f={'eKDip':function(_0x28a3f7,_0x5a0a1b,_0x475471,_0x282dc2,_0x753357,_0x4a26d3,_0x310052){return _0x28a3f7(_0x5a0a1b,_0x475471,_0x282dc2,_0x753357,_0x4a26d3,_0x310052);}},_0x4e85a4=this;_0x5cad4f['eKDip'](importHandler,_0xc00dc2,_0x4e85a4,_0x77f554,_0x48ea34,_0x11ed99,_0x389158);}[_0x7ea2d4(0x493)](_0x7e5e4d,_0x4dda07=_0x7ea2d4(0x3e4),_0x2a0b49=null,_0x1ac4c4=![],_0x1d8255={'title':'','data':{}}){const _0xf6f0bb=_0x7ea2d4,_0x53c554={'RBWtR':function(_0xa85abd,_0x34c6d5,_0x101cb9,_0x2a7b08,_0x2322ed,_0x4d5fc4,_0x12f938){return _0xa85abd(_0x34c6d5,_0x101cb9,_0x2a7b08,_0x2322ed,_0x4d5fc4,_0x12f938);}};return _0x53c554[_0xf6f0bb(0x48a)](pushNotification,this,_0x7e5e4d,_0x4dda07,_0x2a0b49,_0x1ac4c4,_0x1d8255);}}controller[_0x7ea2d4(0x414)][_0x7ea2d4(0x14a)]=EventEmitter[_0x7ea2d4(0x414)],controller[_0x7ea2d4(0x414)]['asyncGetNextSequence']=async(_0x1dac11,_0x464b99,_0x3ea3c2='so_ct',_0x5af341)=>{const _0x1bf569={'mRISz':function(_0x2d2083,_0x499bc0){return _0x2d2083===_0x499bc0;},'QlztQ':'Khyxh','JYYyO':function(_0x2dae47,_0x42aa44,_0x3c2666,_0x4ff1c9,_0x3f8196,_0x4897eb){return _0x2dae47(_0x42aa44,_0x3c2666,_0x4ff1c9,_0x3f8196,_0x4897eb);}};return new Promise(_0x30f498=>{const _0x12322a=_0x5430,_0x2ed12e={'SiCfQ':function(_0x43b10d,_0x377cac,_0x487077){return _0x43b10d(_0x377cac,_0x487077);}};if(_0x1bf569[_0x12322a(0x32f)](_0x1bf569[_0x12322a(0x3f9)],_0x12322a(0x1aa)))_0x1bf569[_0x12322a(0x1a6)](getNextSequence,_0x1dac11,_0x464b99,_0x3ea3c2,(_0x2172bd,_0x149284)=>{if(_0x2172bd)return new Error(_0x2172bd);_0x30f498(_0x149284);},_0x5af341);else{if(_0x34cb96)return _0x346c7d['status'](0x190)[_0x12322a(0x1d2)](_0x17dc62);_0x2ed12e[_0x12322a(0x46c)](_0x4a99eb,_0x32cb77,_0x2ebf7d);}});},controller[_0x7ea2d4(0x414)][_0x7ea2d4(0x431)]=function(){const _0xb8c1d2=_0x7ea2d4,_0x59d37d={'QpPpu':_0xb8c1d2(0x327),'zgXRf':function(_0x28acf7,_0x5001fa){return _0x28acf7+_0x5001fa;},'Ueypz':function(_0x29004e,_0x5eea48){return _0x29004e!==_0x5eea48;},'dltNy':_0xb8c1d2(0x4b5),'NXmUC':function(_0x9d2169,_0x565a12){return _0x9d2169>=_0x565a12;},'SSAsX':function(_0x47ff28,_0xe1372f){return _0x47ff28!==_0xe1372f;},'BhxaV':'rIoOk','vIFfw':'tJuWF'};let _0x23545e=this;this[_0xb8c1d2(0x27e)][_0xb8c1d2(0x377)](this['route_name']+'/field-not-right/:fieldName')[_0xb8c1d2(0x1cc)](async(_0xadcdcc,_0x449655)=>{const _0x3d9e32=_0xb8c1d2,_0x5d833b={'DPLXX':_0x59d37d[_0x3d9e32(0x3ba)],'bddFw':function(_0x408a22,_0x4ffb86){const _0x356357=_0x3d9e32;return _0x59d37d[_0x356357(0xda)](_0x408a22,_0x4ffb86);}};if(_0x59d37d[_0x3d9e32(0x379)](_0x59d37d[_0x3d9e32(0x1ab)],_0x3d9e32(0x142))){let _0x37bc75=_0xadcdcc[_0x3d9e32(0x14c)]['fieldName'];try{let _0x27dae3=await permission[_0x3d9e32(0x230)](_0xadcdcc[_0x3d9e32(0x1ea)][_0x3d9e32(0x391)],_0xadcdcc['user'][_0x3d9e32(0x301)],_0x23545e[_0x3d9e32(0x393)]);if(_0x59d37d[_0x3d9e32(0x44b)](_0x27dae3[_0x3d9e32(0x36f)](_0x37bc75),0x0))_0x449655[_0x3d9e32(0x1d2)]({'allow':![]});else{if(_0x59d37d[_0x3d9e32(0x25e)](_0x59d37d[_0x3d9e32(0x2a6)],_0x59d37d[_0x3d9e32(0x3ee)]))_0x449655[_0x3d9e32(0x1d2)]({'allow':!![]});else{const _0x183532={'type_job':_0x5d833b['DPLXX'],'query':_0x2cb084,'body':_0xce52a1,'user':_0x4bfd39,'params':_0x125ae6,'headers':_0x59ed2a,'user_agent':_0x2e48fc,'ip':_0x119f7f,'files':_0x2c842a,'originalUrl':_0x4864d1[_0x3d9e32(0x41f)]};_0x45d798[_0x3d9e32(0x253)](_0x3d5d0d,_0x183532,(_0x4efaed,_0x26b223)=>{const _0x13a147=_0x3d9e32;if(_0x4efaed)return _0x44e694[_0x13a147(0x432)](0x190)[_0x13a147(0x1d2)]({'error':_0x4efaed[_0x13a147(0x1e4)]||_0x4efaed[_0x13a147(0x148)]||_0x4efaed});_0x568c27[_0x13a147(0x1d2)](_0x26b223);});}}}catch(_0x34f667){_0x449655[_0x3d9e32(0x1ee)](0x190)[_0x3d9e32(0x1d2)](_0x34f667[_0x3d9e32(0x148)]);}}else _0x3ec34a(_0x3d9e32(0x10a)+_0x2874f6[_0x3d9e32(0x328)]+_0x3d9e32(0x205)+_0x4cefab['ten_vt']+'\x20có\x20số\x20lượng\x20xuất\x20quy\x20đổi\x20('+_0x204362[_0x3d9e32(0x457)]+_0x3d9e32(0x28b)+_0x5d833b[_0x3d9e32(0x189)](_0x18922e,_0x163a4f)+')');});},controller[_0x7ea2d4(0x414)][_0x7ea2d4(0x228)]=function(_0x4180f6,_0xb97bd=![],_0x8cba61=_0x7ea2d4(0x266)){const _0x39ae69=_0x7ea2d4,_0x533056={'vjQGq':_0x39ae69(0x2d8),'raqkZ':_0x39ae69(0x240),'zuEMX':function(_0xc2424d,_0x372677){return _0xc2424d===_0x372677;},'RHaVC':_0x39ae69(0x217),'FUlAh':function(_0x556d53,_0x2b96aa){return _0x556d53==_0x2b96aa;},'PfIjM':_0x39ae69(0x2df),'pUQzG':_0x39ae69(0x29c),'oBGHZ':function(_0x48a885,_0x3d75b0){return _0x48a885+_0x3d75b0;},'OAkbw':function(_0x434264,_0x1cdb8d){return _0x434264+_0x1cdb8d;},'bMcjM':_0x39ae69(0x23e),'dKmAa':_0x39ae69(0x43d),'xqIes':function(_0x517ae9,_0x9634b){return _0x517ae9(_0x9634b);},'QmgcR':_0x39ae69(0x2cf),'jNyUA':_0x39ae69(0x440),'deRyS':function(_0x3a4909,_0x5ed841){return _0x3a4909!==_0x5ed841;},'GWjQR':_0x39ae69(0x2db),'bQlxi':'gRZyA','ZfCKb':_0x39ae69(0x1cf),'eRnkL':'hex','WGBOo':function(_0x377d6e,_0x29a51e){return _0x377d6e===_0x29a51e;},'cbOZN':_0x39ae69(0x1c6),'OgkDA':'GET','SYufV':_0x39ae69(0x28f),'CGNNh':_0x39ae69(0x42d),'Lissm':function(_0x4ac584,_0x368c59){return _0x4ac584+_0x368c59;}};let _0x4edc2d=this;const _0x11dedc=(_0x3ac5f3,_0x2820f0)=>{const _0xe8d63=_0x39ae69,_0x5a2192={'yogzT':_0x533056[_0xe8d63(0x400)],'bKbmO':_0xe8d63(0x3f7),'OqMha':_0x533056[_0xe8d63(0x1c4)]};if(_0x533056[_0xe8d63(0x451)](_0x533056[_0xe8d63(0x402)],_0xe8d63(0x217))){const {result:_0x3959e5,dataType:_0x4cc703}=_0x2820f0;_0x533056[_0xe8d63(0x26a)](_0x4cc703,_0xe8d63(0x4a4))?(_0x3ac5f3['setHeader'](_0xe8d63(0x1b9),_0x533056['PfIjM']),_0x3ac5f3['setHeader'](_0x533056[_0xe8d63(0x49e)],_0x533056[_0xe8d63(0x163)](_0x533056[_0xe8d63(0x434)](_0x533056[_0xe8d63(0x35b)],_0x4edc2d['name']),_0x533056[_0xe8d63(0x4a3)])),_0x3ac5f3[_0xe8d63(0x460)](_0x3959e5,'binary')):_0x3ac5f3['send'](_0x3959e5);}else{const _0x54ba87={'iHNLR':_0x5a2192[_0xe8d63(0x292)],'SRsTP':_0xe8d63(0x1d8),'GZpna':_0x5a2192[_0xe8d63(0x3fa)]};_0x4adda1['status'](0xca)[_0xe8d63(0x1d2)]({'message':_0x5a2192[_0xe8d63(0x2f7)]}),_0x3b7536[_0xe8d63(0x386)](_0x5cdc63,_0x40465d,_0x310103=>{const _0x53d628=_0xe8d63;if(_0x310103)return _0x4f57ea[_0x53d628(0x32a)](_0x54ba87['iHNLR'])[_0x53d628(0x183)](_0x472eb7[_0x53d628(0x1ea)]['email'],_0x4b659a['user'][_0x53d628(0x301)],_0x54ba87['SRsTP'],_0x310103[_0x53d628(0x148)]||_0x310103['error']||_0x310103,null,{'id_app':_0x3e68d5[_0x53d628(0x1ea)][_0x53d628(0x391)]},!![],_0x43cf2a['access_token'],!![]);_0x15f3ce[_0x53d628(0x32a)](_0x54ba87[_0x53d628(0x2ed)])[_0x53d628(0x183)](_0x1c7b71[_0x53d628(0x1ea)]['email'],_0x4afc85['user'][_0x53d628(0x301)],_0x54ba87['GZpna'],_0x53d628(0x3f7),null,{'id_app':_0x29c637['user']['current_id_app']},!![],_0x387069[_0x53d628(0x2a9)],!![]);});}},_0x102e03=async(_0x5e93a4,_0x137fd6)=>{const _0x55adca=_0x39ae69,_0x43297c={'HPxOA':function(_0x24c22f,_0x591be7){const _0x99eb84=_0x5430;return _0x533056[_0x99eb84(0x488)](_0x24c22f,_0x591be7);},'plrEH':_0x533056['QmgcR'],'HKTds':function(_0x540ca7,_0x59eb2f,_0x1178e6){return _0x540ca7(_0x59eb2f,_0x1178e6);},'jcPei':function(_0x59887c,_0x508159){const _0x187a70=_0x5430;return _0x533056[_0x187a70(0x451)](_0x59887c,_0x508159);},'uTyFD':_0x533056[_0x55adca(0x210)]};if(_0x533056[_0x55adca(0x467)](_0x533056[_0x55adca(0x2b6)],_0x533056[_0x55adca(0x207)])){const {query:_0x1da745,body:_0x25fa86,user:_0x50886a,params:_0x486e76,headers:_0x4aa85f}=_0x5e93a4,_0x362f18=_0x5e93a4[_0x55adca(0x167)](_0x55adca(0x371)),_0xc300b8=_0x5e93a4['ip']||_0x5e93a4[_0x55adca(0x323)][_0x533056[_0x55adca(0x499)]]||_0x5e93a4['connection'][_0x55adca(0x15b)];try{const _0x4fbb41={'handler':_0x55adca(0x243),'query':_0x1da745,'body':_0x25fa86,'user':_0x50886a,'params':_0x486e76,'headers':_0x4aa85f,'user_agent':_0x362f18,'ip':_0xc300b8,'shareRoute':_0xb97bd};if(global[_0x55adca(0xfd)]){const _0x1a727b=_0x55adca(0x38b)+crypto['randomBytes'](0x14)[_0x55adca(0x222)](_0x533056['eRnkL']);global[_0x55adca(0xfd)][_0x55adca(0x2b3)]({'id_task':_0x1a727b,'req':_0x4fbb41,'module':_0x4edc2d[_0x55adca(0x393)][_0x55adca(0x2e9)](),'configs':JSON['stringify'](configs)},_0x10a4e2=>{const _0x19cdc0=_0x55adca;if(_0x10a4e2['error'])return _0x137fd6[_0x19cdc0(0x432)](0x190)['send']({'error':_0x10a4e2[_0x19cdc0(0x1e4)]['error']||_0x10a4e2[_0x19cdc0(0x1e4)][_0x19cdc0(0x148)]||_0x10a4e2[_0x19cdc0(0x1e4)],'message':_0x10a4e2[_0x19cdc0(0x148)]||_0x10a4e2[_0x19cdc0(0x1e4)][_0x19cdc0(0x1e4)]||_0x10a4e2[_0x19cdc0(0x1e4)]['message']||_0x10a4e2[_0x19cdc0(0x1e4)]});else{if(_0x43297c[_0x19cdc0(0x13e)]!==_0x43297c[_0x19cdc0(0x13e)])return _0x464d08[_0x19cdc0(0x1e4)](_0x3b6c7c),_0x43297c[_0x19cdc0(0x3d6)](_0xaa3750,_0x2a9a60);else _0x43297c[_0x19cdc0(0x3d9)](_0x11dedc,_0x137fd6,_0x10a4e2[_0x19cdc0(0x3f3)]);}});}else handlers[_0x55adca(0x243)](_0x4edc2d,_0x4fbb41,(_0x58d656,_0x3af96e)=>{const _0x36bb82=_0x55adca;if(_0x43297c['jcPei'](_0x43297c[_0x36bb82(0x385)],_0x43297c[_0x36bb82(0x385)])){if(_0x58d656)return _0x137fd6[_0x36bb82(0x432)](0x190)[_0x36bb82(0x1d2)](_0x58d656);_0x43297c[_0x36bb82(0x3d9)](_0x11dedc,_0x137fd6,_0x3af96e);}else _0x10cd60[_0x36bb82(0x1e4)](_0x36bb82(0x1f7),_0x3f529f,_0x5723b6['update_after_approve']),_0x34760e={};});}catch(_0x51ab58){if(_0x533056[_0x55adca(0x42c)](_0x533056['cbOZN'],_0x533056['cbOZN']))_0x137fd6[_0x55adca(0x432)](0x190)['send'](_0x51ab58);else return _0x3bcf43[_0x55adca(0x432)](0x190)[_0x55adca(0x1d2)]({'error':_0x23df65[_0x55adca(0x148)]||_0x583969['error']||_0x26d1d1});}}else _0x18b1a7=_0x55adca(0x1fb)+_0xd85416;};let _0x5d04bc=_0x4180f6||this[_0x39ae69(0x1d6)];if(_0x533056[_0x39ae69(0x451)](_0x8cba61,_0x533056['OgkDA']))this[_0x39ae69(0x27e)]['route'](_0x5d04bc)[_0x39ae69(0x1cc)](_0x102e03),this[_0x39ae69(0x27e)][_0x39ae69(0x377)](_0x5d04bc+_0x533056['SYufV'])['get'](_0x102e03);else{if(_0x533056[_0x39ae69(0x42c)](_0x533056['CGNNh'],'ofgIR')){const _0x3f2018=_0x39ae69(0x381)['split']('|');let _0x3e6392=0x0;while(!![]){switch(_0x3f2018[_0x3e6392++]){case'0':if(_0x1a79e9['ma_lo'])_0x17da1a[_0x39ae69(0x446)]=_0x3e7a91[_0x39ae69(0x446)];continue;case'1':if(_0x2b1408['han_sd'])_0x389737[_0x39ae69(0x1a3)]=_0x49756d['han_sd'];continue;case'2':if(_0x367c48['ma_tt1'])_0xff04ec[_0x39ae69(0x39a)]=_0x4ac721['ma_tt1'];continue;case'3':if(_0x234121[_0x39ae69(0x269)])_0x37686a['ma_tt2']=_0x656906[_0x39ae69(0x269)];continue;case'4':if(_0x5f583['ma_tt3'])_0x17c48a[_0x39ae69(0x1ae)]=_0x3527ae[_0x39ae69(0x1ae)];continue;}break;}}else this[_0x39ae69(0x27e)][_0x39ae69(0x377)](_0x5d04bc)[_0x39ae69(0x47d)](_0x102e03),this[_0x39ae69(0x27e)][_0x39ae69(0x377)](_0x533056[_0x39ae69(0x1a4)](_0x5d04bc,_0x533056[_0x39ae69(0x16a)]))['post'](_0x102e03);}},controller['prototype'][_0x7ea2d4(0x1cc)]=function(_0x5d1a6c,_0x5ee100=![]){const _0x8724a3=_0x7ea2d4,_0x35d370={'MTszf':function(_0xdbc460,_0x1ea91d,_0x164f27){return _0xdbc460(_0x1ea91d,_0x164f27);},'uxbrs':function(_0x5bd0fe,_0x4bb9da){return _0x5bd0fe==_0x4bb9da;},'OaYcq':_0x8724a3(0x29c),'AxLEw':function(_0x53ee70,_0x4ed214){return _0x53ee70+_0x4ed214;},'QQlGK':'attachment;\x20filename=','yqZNy':_0x8724a3(0x361),'wNgrY':_0x8724a3(0x3b9),'OEfCA':function(_0x1aeed0,_0x2c070e){return _0x1aeed0==_0x2c070e;},'UVJpZ':function(_0x23cb95,_0x3029d3){return _0x23cb95!==_0x3029d3;},'XuBnM':_0x8724a3(0x3d4),'OMZMj':_0x8724a3(0x1cf),'evxhV':function(_0x5b9a33,_0x465d82){return _0x5b9a33!==_0x465d82;},'WIzOv':_0x8724a3(0x37f)},_0x3ad4c6=this;this['router'][_0x8724a3(0x377)]((_0x5d1a6c||this['route_name'])+_0x8724a3(0x346))['get'](async function(_0xa571f8,_0x2950fa){const _0x3c8547=_0x8724a3,_0x4b5bb7={'HJnWY':function(_0x11b966,_0x26e75a){const _0xdab79e=_0x5430;return _0x35d370[_0xdab79e(0x12e)](_0x11b966,_0x26e75a);},'eMxIG':_0x3c8547(0x4a4),'shQAZ':_0x3c8547(0x1b9),'SCfXL':_0x35d370[_0x3c8547(0x349)],'hzRoH':function(_0x34fb71,_0x25e3af){return _0x34fb71+_0x25e3af;},'PrAvd':function(_0x372000,_0x1e29ce){const _0x423536=_0x3c8547;return _0x35d370[_0x423536(0x237)](_0x372000,_0x1e29ce);},'FbWcv':_0x35d370[_0x3c8547(0x3dd)],'znCib':_0x35d370[_0x3c8547(0x25a)],'UyjSX':_0x35d370[_0x3c8547(0x2f4)],'oVDMb':function(_0x1c5fdf,_0x7ad981){return _0x35d370['OEfCA'](_0x1c5fdf,_0x7ad981);}};if(_0x35d370[_0x3c8547(0x173)](_0x35d370[_0x3c8547(0x4a7)],_0x3c8547(0x413))){let _0x500afd=_0xa571f8[_0x3c8547(0x14c)]['id'];if(!global[_0x3c8547(0x2e6)][_0x3c8547(0x1df)][_0x3c8547(0x3b6)]['isValid'](_0x500afd))return _0x2950fa[_0x3c8547(0x432)](0x194)[_0x3c8547(0x1d2)]({'error':ERRORS[_0x3c8547(0x3c5)],'code':ERRORS['ERR_ID_INVALID_CODE']});let _0x247720={'_id':_0x500afd};const _0x46545c=_0xa571f8[_0x3c8547(0x167)]('user-agent'),_0xbdd87f=_0xa571f8['ip']||_0xa571f8[_0x3c8547(0x323)][_0x35d370['OMZMj']]||_0xa571f8[_0x3c8547(0x249)][_0x3c8547(0x15b)],{query:_0x319bc1,user:_0x25e747,params:_0x56b1d0,headers:_0x291208}=_0xa571f8;try{if(_0x35d370[_0x3c8547(0x151)](_0x3c8547(0x271),_0x35d370['WIzOv'])){const _0x2a7828={'query':_0x319bc1,'body':_0x247720,'user':_0x25e747,'params':_0x56b1d0,'headers':_0x291208,'user_agent':_0x46545c,'ip':_0xbdd87f,'shareRoute':_0x5ee100,'originalUrl':_0xa571f8[_0x3c8547(0x41f)]};handlers[_0x3c8547(0x243)](_0x3ad4c6,_0x2a7828,(_0x576bc2,_0x41b4e3)=>{const _0xf0bbbd=_0x3c8547;if(_0xf0bbbd(0x338)!==_0x4b5bb7[_0xf0bbbd(0x40d)]){if(_0x576bc2)return _0x2950fa[_0xf0bbbd(0x432)](0x190)[_0xf0bbbd(0x1d2)](_0x576bc2);const {result:_0x5ee02f}=_0x41b4e3;if(_0x4b5bb7[_0xf0bbbd(0x21c)](_0x5ee02f[_0xf0bbbd(0x2bc)],0x0))return _0x2950fa[_0xf0bbbd(0x432)](0x194)[_0xf0bbbd(0x1d2)]({'error':ERRORS['ERR_NOT_FOUND'],'code':ERRORS[_0xf0bbbd(0x390)]});_0x2950fa['send'](_0x5ee02f[0x0]);}else{const {result:_0x159dc0,dataType:_0x588676}=_0x50dcdb;_0x4b5bb7['HJnWY'](_0x588676,_0x4b5bb7[_0xf0bbbd(0x2fa)])?(_0x3b37e9[_0xf0bbbd(0x144)](_0x4b5bb7[_0xf0bbbd(0xeb)],_0xf0bbbd(0x2df)),_0x364c33[_0xf0bbbd(0x144)](_0x4b5bb7['SCfXL'],_0x4b5bb7[_0xf0bbbd(0x37b)](_0x4b5bb7[_0xf0bbbd(0x11b)](_0x4b5bb7[_0xf0bbbd(0x2c4)],_0x21c15a[_0xf0bbbd(0x393)]),_0xf0bbbd(0x43d))),_0x5f0bb0[_0xf0bbbd(0x460)](_0x159dc0,_0x4b5bb7[_0xf0bbbd(0x1a1)])):_0x1dad3e[_0xf0bbbd(0x1d2)](_0x159dc0);}});}else _0x4f2b66[_0x3c8547(0x1d2)]({'allow':!![]});}catch(_0x5dc86c){console['error'](_0x5dc86c),_0x2950fa[_0x3c8547(0x432)](0x190)[_0x3c8547(0x1d2)](_0x5dc86c);}}else{if(_0x57bfa3['error'])return _0x56b8e8['status'](0x190)[_0x3c8547(0x1d2)]({'error':_0x1cdebc[_0x3c8547(0x1e4)][_0x3c8547(0x1e4)]||_0xba1af7['error']['message']||_0x3a556f[_0x3c8547(0x1e4)],'message':_0x529dc9[_0x3c8547(0x148)]||_0x44f414[_0x3c8547(0x1e4)]['error']||_0x515361[_0x3c8547(0x1e4)]['message']||_0x2cb56a[_0x3c8547(0x1e4)]});else _0x35d370[_0x3c8547(0x39e)](_0x23f437,_0x56ce47,_0x53388d[_0x3c8547(0x3f3)]);}});},controller[_0x7ea2d4(0x414)][_0x7ea2d4(0x336)]=function(_0x3c3d80,_0x42f793,_0x53606b,_0x576768={'req':null}){const _0x4f448d=_0x7ea2d4,_0xd762f={'ORfeJ':_0x4f448d(0x240),'UeZVn':function(_0x2ed091,_0x557033){return _0x2ed091===_0x557033;},'nreho':'NmzaZ','WUWbV':_0x4f448d(0x2d9),'LwyLd':function(_0x399535,_0xd277d1){return _0x399535(_0xd277d1);},'jJfYE':function(_0x4fd742,_0x11c560){return _0x4fd742+_0x11c560;},'nuYFU':_0x4f448d(0x2e3),'TgpJy':',\x20Lỗi:\x20','WjKTe':'postAgain:\x20update\x20tk_vt...','rHfXt':'ma_vt','GuZNt':_0x4f448d(0x45c),'XLTQe':function(_0x3720a2,_0x49827f){return _0x3720a2(_0x49827f);},'xHNGF':function(_0x26e9fb,_0x4a5ede,_0x535a14,_0x4febea,_0x4c82d6){return _0x26e9fb(_0x4a5ede,_0x535a14,_0x4febea,_0x4c82d6);},'pibNO':function(_0x213693,_0x19ea5f){return _0x213693(_0x19ea5f);},'qQIJs':'osSMF','GvGmD':'[postAgain]:\x20Error','qPCBs':_0x4f448d(0x47c),'fRrda':_0x4f448d(0x118),'GtdRG':_0x4f448d(0x309),'yBXBp':function(_0x4ef347,_0x15f934){return _0x4ef347(_0x15f934);},'IsoIt':function(_0x8d9d01,_0x252ed5){return _0x8d9d01(_0x252ed5);},'fRtbz':function(_0x26a4e5,_0x17818f){return _0x26a4e5===_0x17818f;},'TMRCY':'Ioksj','hcJzN':function(_0x46bc86,_0x418019,_0x51a7ba){return _0x46bc86(_0x418019,_0x51a7ba);},'PdWKD':_0x4f448d(0x44f)};let _0x27217f=this[_0x4f448d(0x1b3)],_0x161bae=this;if(!_0x161bae[_0x4f448d(0x47d)]){if(_0xd762f[_0x4f448d(0x473)](_0xd762f[_0x4f448d(0x2c3)],_0xd762f[_0x4f448d(0x2c3)]))return _0xd762f[_0x4f448d(0x373)](_0x53606b,null,{'message':_0xd762f[_0x4f448d(0x208)]});else{if(_0x1e5d35)return _0x106449[_0x4f448d(0x432)](0x190)[_0x4f448d(0x1d2)]({'error':_0x3cde9f[_0x4f448d(0x1e4)]||_0x2ee8e0[_0x4f448d(0x148)]||_0x561d49});_0x1ac2b5[_0x4f448d(0x1d2)](_0x361ea4);}}const _0x5a1533=_0x42f793['update_tk_vt'];delete _0x42f793[_0x4f448d(0x362)];const _0x59be24={'date_updated':new Date(),'user_updated':_0x3c3d80[_0x4f448d(0x301)]};_0x27217f[_0x4f448d(0x228)](_0x42f793)[_0x4f448d(0x1f0)]({'ngay_ct':0x1})['lean']()['then'](function(_0x325434){const _0x5f240b=_0x4f448d,_0x590e9f={'dBBRM':function(_0x47caf0,_0x274fec){return _0x47caf0!==_0x274fec;},'ZXvdm':_0xd762f[_0x5f240b(0x37c)],'BIDjJ':_0xd762f['GvGmD'],'ljdym':_0xd762f[_0x5f240b(0x216)],'vonjC':_0xd762f['fRrda'],'HAaaY':_0xd762f[_0x5f240b(0x262)]};console['log']('[postagain]\x20start\x20repost',_0x42f793,_0x325434[_0x5f240b(0x2bc)],'\x20vouchers','by',_0x3c3d80[_0x5f240b(0x301)]),_0xd762f[_0x5f240b(0x398)](setImmediate,()=>{const _0x534f56=_0x5f240b,_0x1a8cf3={'dQVKN':_0x534f56(0x2d8),'hsReb':_0xd762f[_0x534f56(0x1fe)],'xZnCH':_0x534f56(0x22a),'moXMB':function(_0x5a1d36,_0x37e703){const _0x42b793=_0x534f56;return _0xd762f[_0x42b793(0x18a)](_0x5a1d36,_0x37e703);},'PhHEU':_0xd762f[_0x534f56(0x268)],'uZUdt':function(_0x2af1de,_0x183ab8){return _0x2af1de===_0x183ab8;},'RREhS':_0xd762f[_0x534f56(0x29f)],'NXTtG':function(_0x4963dd,_0x5e9038){return _0xd762f['LwyLd'](_0x4963dd,_0x5e9038);},'YKDxq':function(_0x2d3eff,_0x3eeac0){const _0x388e3f=_0x534f56;return _0xd762f[_0x388e3f(0x404)](_0x2d3eff,_0x3eeac0);},'fBdCe':_0xd762f[_0x534f56(0xe7)],'oRXiT':_0xd762f[_0x534f56(0x4bf)],'zRudG':_0xd762f[_0x534f56(0x31e)],'IpuOR':_0x534f56(0x27a),'heLfU':_0xd762f[_0x534f56(0x429)],'OFgms':_0xd762f['GuZNt'],'iAyYR':function(_0x29e3dc,_0x133dc1){return _0xd762f['XLTQe'](_0x29e3dc,_0x133dc1);},'nBYYN':function(_0x484879,_0x2d1eff){const _0x393feb=_0x534f56;return _0xd762f[_0x393feb(0x404)](_0x484879,_0x2d1eff);},'EHxky':_0x534f56(0x2bf),'pVwPg':function(_0x14b18d,_0x4afc90,_0x37afa7,_0xd4756e,_0x4ad61f){const _0x52c11a=_0x534f56;return _0xd762f[_0x52c11a(0x382)](_0x14b18d,_0x4afc90,_0x37afa7,_0xd4756e,_0x4ad61f);},'iKCdk':function(_0x55f093,_0x56005a){const _0x4d9a98=_0x534f56;return _0xd762f[_0x4d9a98(0x2d6)](_0x55f093,_0x56005a);}};async['map'](_0x325434,function(_0x2d63c9,_0x2091af){const _0x2a31e5={'yvsIf':function(_0x49cddf,_0x4fec95){const _0x524b10=_0x5430;return _0x1a8cf3[_0x524b10(0x439)](_0x49cddf,_0x4fec95);},'YyDCY':function(_0x598662,_0x18d4c9){const _0x63bb3e=_0x5430;return _0x1a8cf3[_0x63bb3e(0x2dc)](_0x598662,_0x18d4c9);}};setImmediate(async()=>{const _0x203a0e=_0x5430,_0x155139={'OyMfg':_0x1a8cf3[_0x203a0e(0x44d)],'GTqCT':_0x203a0e(0x363),'YVTNo':_0x203a0e(0x444),'uyQtZ':_0x1a8cf3[_0x203a0e(0x39f)]};console[_0x203a0e(0x368)](_0x1a8cf3[_0x203a0e(0x1b0)],_0x2d63c9[_0x203a0e(0x4b4)],_0x2d63c9[_0x203a0e(0x3fc)],_0x2d63c9[_0x203a0e(0x2b4)],'by',_0x3c3d80[_0x203a0e(0x301)]);if(_0x161bae[_0x203a0e(0x184)]){if(_0x1a8cf3[_0x203a0e(0x229)](_0x1a8cf3['PhHEU'],_0x203a0e(0x1ef)))try{if(_0x1a8cf3['uZUdt'](_0x1a8cf3[_0x203a0e(0x38a)],_0x1a8cf3['RREhS']))await _0x161bae[_0x203a0e(0x184)](_0x3c3d80,_0x2d63c9);else{const _0x16acaf={'ccePZ':_0x155139[_0x203a0e(0x395)],'eULnE':_0x155139[_0x203a0e(0x468)],'VEAlg':_0x155139['YVTNo']};_0x312455[_0x203a0e(0x432)](0xca)[_0x203a0e(0x1d2)]({'message':_0x155139[_0x203a0e(0x1d7)]}),_0x5b3e35['importFromExcelHandler'](_0x25be2e,_0x9a33c0,_0x568051=>{const _0xbd6e04=_0x203a0e;if(_0x568051)return _0x48b883[_0xbd6e04(0x32a)](_0x16acaf['ccePZ'])[_0xbd6e04(0x183)](_0x1736af[_0xbd6e04(0x1ea)][_0xbd6e04(0x301)],_0x2ee2f0[_0xbd6e04(0x1ea)][_0xbd6e04(0x301)],_0x16acaf[_0xbd6e04(0x483)],_0x568051[_0xbd6e04(0x148)]||_0x568051[_0xbd6e04(0x1e4)]||_0x568051,null,{'id_app':_0x18547a[_0xbd6e04(0x1ea)]['current_id_app']},!![],null,!![]);_0x368fe5['getModel'](_0x16acaf[_0xbd6e04(0x212)])[_0xbd6e04(0x183)](_0x55ab99['user'][_0xbd6e04(0x301)],_0x4852e6[_0xbd6e04(0x1ea)][_0xbd6e04(0x301)],_0x16acaf[_0xbd6e04(0x2dd)],_0x16acaf[_0xbd6e04(0x2dd)],null,{'id_app':_0x101b8c[_0xbd6e04(0x1ea)][_0xbd6e04(0x391)]},!![],null,!![]);});}}catch(_0x32e20b){return _0x1a8cf3[_0x203a0e(0x3a2)](_0x2091af,{'error':_0x1a8cf3['YKDxq'](_0x1a8cf3[_0x203a0e(0x2e1)](_0x1a8cf3['fBdCe'],_0x2d63c9[_0x203a0e(0x3fc)])+_0x1a8cf3['oRXiT'],_0x32e20b[_0x203a0e(0x148)]||_0x32e20b[_0x203a0e(0x1e4)]||'')});}else _0xdfdbf8['push'](_0x4dc6be?.[_0x203a0e(0x4a2)]);}_0x5a1533&&_0x2d63c9[_0x203a0e(0x125)]&&(_0x1a8cf3[_0x203a0e(0x229)](_0x203a0e(0x32b),'emZLU')?(console['log'](_0x1a8cf3['zRudG']),await _0x2d63c9[_0x203a0e(0x125)][_0x203a0e(0x15e)](_0x3cfa30=>_0x3cfa30[_0x203a0e(0x328)])['asyncJoinModel2'](_0x2d63c9['id_app'],global['getModel'](_0x1a8cf3[_0x203a0e(0x2d4)]),{'where':_0x1a8cf3['heLfU'],'fields':_0x203a0e(0x437)}),_0x59be24[_0x203a0e(0x125)]=_0x2d63c9[_0x203a0e(0x125)]):_0x2963b0=[..._0xf69f01,..._0x5aef8e]);try{console['log'](_0x203a0e(0x16d)),await _0x27217f[_0x203a0e(0x33b)]({'_id':_0x2d63c9[_0x203a0e(0x490)]},{..._0x59be24});}catch(_0x217a40){return console['error'](_0x1a8cf3['OFgms'],_0x217a40),_0x1a8cf3[_0x203a0e(0x188)](_0x2091af,{'error':_0x1a8cf3[_0x203a0e(0x2e1)](_0x1a8cf3[_0x203a0e(0x2dc)](_0x1a8cf3['YKDxq'](_0x1a8cf3[_0x203a0e(0x32d)],_0x2d63c9[_0x203a0e(0x3fc)]),',Error:'),_0x217a40[_0x203a0e(0x148)])||_0x217a40[_0x203a0e(0x1e4)]||''});}_0x1a8cf3[_0x203a0e(0x26d)](postData,_0x2d63c9,_0x161bae,function(_0x1921d9,_0x245ca0){const _0x1959a4=_0x203a0e;console['log'](_0x1959a4(0x49a),_0x2d63c9[_0x1959a4(0x4b4)],_0x2d63c9['so_ct'],_0x2d63c9[_0x1959a4(0x2b4)],'by',_0x3c3d80['email']);if(_0x1921d9)return _0x2a31e5[_0x1959a4(0x29a)](_0x2091af,{'error':_0x1921d9[_0x1959a4(0x148)]||_0x1921d9[_0x1959a4(0x1e4)]||_0x2a31e5[_0x1959a4(0x156)](_0x1959a4(0x2d5),_0x2d63c9[_0x1959a4(0x3fc)])});_0x2091af(null,_0x245ca0);},{'req':_0x576768[_0x203a0e(0x3a5)],'kiem_tra_han_muc_cong_no':![]});});},function(_0x29ee4b){const _0x19ed31=_0x534f56;if(_0x29ee4b){if(_0x590e9f[_0x19ed31(0x12b)](_0x590e9f[_0x19ed31(0x1c7)],_0x590e9f[_0x19ed31(0x1c7)])){if(_0xb8a274)return _0x463c9d[_0x19ed31(0x432)](0x190)[_0x19ed31(0x1d2)](_0x2a5d63);_0x541e08['send'](_0x500d15);}else return console[_0x19ed31(0x1e4)](_0x590e9f['BIDjJ'],_0x29ee4b),_0x53606b({'error':_0x29ee4b[_0x19ed31(0x148)]||_0x29ee4b[_0x19ed31(0x1e4)]||_0x29ee4b});}console['log'](_0x590e9f[_0x19ed31(0x3f1)],_0x42f793,_0x325434['length'],_0x590e9f['vonjC'],'by',_0x3c3d80['email']),_0x53606b(null,{'message':_0x590e9f[_0x19ed31(0x198)]});});});})[_0x4f448d(0x3b2)](_0x25e7e3=>{const _0x493a60=_0x4f448d;return console['error'](_0x493a60(0x137),_0x25e7e3),_0xd762f[_0x493a60(0x2de)](_0x53606b,{'error':_0x25e7e3['message']||_0x25e7e3['error']||_0x25e7e3});});},controller['prototype'][_0x7ea2d4(0x1b6)]=function(){const _0x1d232d=_0x7ea2d4,_0x562bba={'YJvLg':function(_0x53af72,_0x2bcd45){return _0x53af72!==_0x2bcd45;},'OdGXc':_0x1d232d(0x3e8),'yxVZC':'notification','XWGff':_0x1d232d(0x1d8),'vSKdC':_0x1d232d(0x3f7),'fPtxa':_0x1d232d(0x266),'rsZzf':function(_0x28637f,_0x139f8f){return _0x28637f!==_0x139f8f;},'czZyw':_0x1d232d(0x430),'EOhNz':function(_0x4fe2fe,_0x3cc993){return _0x4fe2fe===_0x3cc993;},'PjijV':_0x1d232d(0x21a),'zCDyL':_0x1d232d(0x371),'awHkE':_0x1d232d(0x1cf),'vhUel':'hex','hKwNP':'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','qmrfT':_0x1d232d(0x4b7)};let _0x532970=this;this[_0x1d232d(0x27e)][_0x1d232d(0x377)](this[_0x1d232d(0x1d6)]+_0x1d232d(0x2ca))[_0x1d232d(0x1cc)](async(_0x4afede,_0xd28ae5)=>{const _0x51a77c=_0x1d232d;if(_0x562bba[_0x51a77c(0x345)](_0x51a77c(0x30a),_0x562bba[_0x51a77c(0x24c)]))_0x319e8c[_0x51a77c(0x1ff)](_0x5fc410,_0x546079[_0x51a77c(0x239)]);else{const {query:_0x1f0d2c,body:_0x1d94c8,user:_0x5c5e3c,params:_0x5f14c0,headers:_0x1a311f,files:_0x6203aa}=_0x4afede,_0x3512c5=_0x4afede[_0x51a77c(0x167)](_0x562bba[_0x51a77c(0x3cb)]),_0x50f9ce=_0x4afede['ip']||_0x4afede[_0x51a77c(0x323)][_0x562bba['awHkE']]||_0x4afede['connection']['remoteAddress'];try{const _0x12a6b9={'handler':_0x51a77c(0x386),'query':_0x1f0d2c,'body':_0x1d94c8,'user':_0x5c5e3c,'params':_0x5f14c0,'headers':_0x1a311f,'user_agent':_0x3512c5,'ip':_0x50f9ce,'files':_0x6203aa,'originalUrl':_0x4afede[_0x51a77c(0x41f)]};if(global['importDataMainPool']){const _0x54b0e4=_0x51a77c(0x119)+crypto[_0x51a77c(0x2b8)](0x14)[_0x51a77c(0x222)](_0x562bba[_0x51a77c(0x185)]),_0x41d6cb=(configs[_0x51a77c(0x352)]||configs[_0x51a77c(0x408)])+_0x51a77c(0x211)+_0x54b0e4;_0xd28ae5[_0x51a77c(0x432)](0xca)[_0x51a77c(0x1d2)]({'message':_0x562bba[_0x51a77c(0x37a)],'status_task':_0x41d6cb}),global[_0x51a77c(0x354)][_0x51a77c(0x2b3)]({'id_task':_0x54b0e4,'req':_0x12a6b9,'module':_0x532970[_0x51a77c(0x393)][_0x51a77c(0x2e9)](),'configs':JSON['stringify'](configs)},_0x391d1f=>{const _0x302421=_0x51a77c,_0x2fac2a={'WplJF':function(_0x2304fe,_0x19cbd5,_0x1892cb,_0x3a46d0,_0x4416c1){return _0x2304fe(_0x19cbd5,_0x1892cb,_0x3a46d0,_0x4416c1);}},_0xaa093d=_0x391d1f[_0x302421(0x1e4)];if(_0xaa093d){if(_0x562bba['YJvLg'](_0x562bba[_0x302421(0x421)],_0x562bba[_0x302421(0x421)])){const _0x2d4328={'HnzTI':'getNextId'};_0x2fac2a['WplJF'](_0x4d6c25,_0x49e24a,_0x37465a,_0x474bf7,(_0x204207,_0x5d505a)=>{const _0x25bc50=_0x302421;if(_0x204207){_0x3b92bb[_0x25bc50(0x1e4)](_0x2d4328['HnzTI'],_0x204207);if(_0x204207[_0x25bc50(0x1e4)])return _0x12a832[_0x25bc50(0x432)](0x190)['send'](_0x204207);return _0x15dcc4[_0x25bc50(0x432)](0x190)[_0x25bc50(0x1d2)]({'error':_0x204207[_0x25bc50(0x148)]||_0x204207});}_0x1c0a57[_0x25bc50(0x1d2)](_0x5d505a);});}else return global['getModel'](_0x562bba['yxVZC'])[_0x302421(0x183)](_0x4afede[_0x302421(0x1ea)][_0x302421(0x301)],_0x4afede[_0x302421(0x1ea)][_0x302421(0x301)],_0x562bba[_0x302421(0x25d)],_0xaa093d[_0x302421(0x148)]||_0xaa093d['error']||_0xaa093d,null,{'id_app':_0x4afede[_0x302421(0x1ea)][_0x302421(0x391)]},!![],_0x4afede[_0x302421(0x2a9)],!![]);}global['getModel'](_0x562bba[_0x302421(0x456)])[_0x302421(0x183)](_0x4afede[_0x302421(0x1ea)][_0x302421(0x301)],_0x4afede[_0x302421(0x1ea)]['email'],_0x562bba['vSKdC'],_0x562bba[_0x302421(0x14d)],null,{'id_app':_0x4afede['user'][_0x302421(0x391)]},!![],_0x4afede[_0x302421(0x2a9)],!![]);});}else _0xd28ae5[_0x51a77c(0x432)](0xca)[_0x51a77c(0x1d2)]({'message':_0x562bba[_0x51a77c(0x37a)]}),handlers['updateBookHandler'](_0x532970,_0x12a6b9,_0x524884=>{const _0x553fd9=_0x51a77c,_0x37c523={'BITdo':_0x562bba[_0x553fd9(0x159)]};if(_0x524884){if(_0x562bba[_0x553fd9(0x357)](_0x562bba['czZyw'],_0x562bba[_0x553fd9(0x3a3)]))_0x546d00['method']=_0x37c523[_0x553fd9(0x427)];else return global[_0x553fd9(0x32a)](_0x562bba[_0x553fd9(0x456)])[_0x553fd9(0x183)](_0x4afede[_0x553fd9(0x1ea)][_0x553fd9(0x301)],_0x4afede[_0x553fd9(0x1ea)]['email'],_0x562bba[_0x553fd9(0x25d)],_0x524884[_0x553fd9(0x148)]||_0x524884[_0x553fd9(0x1e4)]||_0x524884,null,{'id_app':_0x4afede[_0x553fd9(0x1ea)]['current_id_app']},!![],_0x4afede[_0x553fd9(0x2a9)],!![]);}global[_0x553fd9(0x32a)](_0x562bba[_0x553fd9(0x456)])[_0x553fd9(0x183)](_0x4afede[_0x553fd9(0x1ea)]['email'],_0x4afede[_0x553fd9(0x1ea)][_0x553fd9(0x301)],_0x562bba[_0x553fd9(0x14d)],_0x562bba['vSKdC'],null,{'id_app':_0x4afede[_0x553fd9(0x1ea)][_0x553fd9(0x391)]},!![],_0x4afede['access_token'],!![]);});}catch(_0x4ca491){if(_0x562bba['rsZzf'](_0x51a77c(0x4b7),_0x562bba['qmrfT'])){if(_0x1f9580[_0x51a77c(0x1e4)])return _0x1a0425['status'](0x190)[_0x51a77c(0x1d2)]({'error':_0x30667b[_0x51a77c(0x1e4)][_0x51a77c(0x1e4)]||_0x53affd['error'][_0x51a77c(0x148)]||_0x4b8942[_0x51a77c(0x1e4)],'message':_0x5e888f['message']||_0x393db7[_0x51a77c(0x1e4)][_0x51a77c(0x1e4)]||_0x3ced97['error'][_0x51a77c(0x148)]||_0x14ef8f[_0x51a77c(0x1e4)]});else _0x73f3d6[_0x51a77c(0x1d2)](_0x285dff[_0x51a77c(0x3f3)]);}else _0xd28ae5[_0x51a77c(0x432)](0x190)[_0x51a77c(0x1d2)](_0x4ca491);}}});},controller[_0x7ea2d4(0x414)][_0x7ea2d4(0x2af)]=function(){const _0x21b5d2=_0x7ea2d4,_0x4f36ed={'pbYcJ':function(_0x42cd5a,_0x36ff79){return _0x42cd5a!==_0x36ff79;},'HVZTR':'pZGcI','CyuDo':_0x21b5d2(0x23a),'snTtX':function(_0x82eb4,_0x54b8a7,_0x16f72a){return _0x82eb4(_0x54b8a7,_0x16f72a);},'ZdhNi':'request\x20approve','YVLBl':function(_0x31d565,_0x4aeb7f){return _0x31d565(_0x4aeb7f);},'UmEvU':'user-agent','XKTih':_0x21b5d2(0x1cf),'EWXfY':function(_0xd12879,_0x51edc2){return _0xd12879!==_0x51edc2;},'JGaIU':_0x21b5d2(0x487),'iqRVP':_0x21b5d2(0x2af),'IKYev':_0x21b5d2(0x3b4)};let _0x3552f7=this;this[_0x21b5d2(0x27e)][_0x21b5d2(0x377)](this['route_name']+_0x21b5d2(0x265))['get'](async function(_0x54ac52,_0x51a038){const _0x343a18=_0x21b5d2,_0x477810={'gVUHI':function(_0x2aa16c,_0x4938dd){return _0x2aa16c(_0x4938dd);},'lfYld':function(_0x3d4bfa,_0x29c111){const _0x52a08b=_0x5430;return _0x4f36ed[_0x52a08b(0x484)](_0x3d4bfa,_0x29c111);}},{query:_0x1d1554,body:_0x4078d1,user:_0x2ea3f9,params:_0x557113,headers:_0x2602a0,files:_0xbe2036}=_0x54ac52,_0x28cee7=_0x54ac52['header'](_0x4f36ed['UmEvU']),_0x3fc4db=_0x54ac52['ip']||_0x54ac52[_0x343a18(0x323)][_0x4f36ed['XKTih']]||_0x54ac52[_0x343a18(0x249)][_0x343a18(0x15b)];try{if(_0x4f36ed[_0x343a18(0x13a)](_0x343a18(0x20f),_0x4f36ed[_0x343a18(0x1a8)])){const _0x15b9fd={'type_job':_0x4f36ed[_0x343a18(0x1d9)],'query':_0x1d1554,'body':_0x4078d1,'user':_0x2ea3f9,'params':_0x557113,'headers':_0x2602a0,'user_agent':_0x28cee7,'ip':_0x3fc4db,'files':_0xbe2036,'originalUrl':_0x54ac52[_0x343a18(0x41f)]};handlers[_0x343a18(0x3df)](_0x3552f7,_0x15b9fd,(_0x1e1584,_0x1eb3c1)=>{const _0x3cd157=_0x343a18;if(_0x4f36ed['pbYcJ'](_0x4f36ed['HVZTR'],_0x4f36ed['CyuDo'])){if(_0x1e1584)return _0x51a038[_0x3cd157(0x432)](0x190)[_0x3cd157(0x1d2)](_0x1e1584);_0x51a038[_0x3cd157(0x1d2)](_0x1eb3c1);}else _0x57cb57[_0x3cd157(0x432)](0x190)['send'](_0x3849b2);});}else{let _0x5b3f24=_0x16b1a1;try{_0x98d7fe=_0x4f36ed[_0x343a18(0x13b)](_0xf3119a,_0x5b3f24,{'master':_0x4d52c6,'data':_0xe8fb2f});}catch(_0x5c715c){_0x3e9951[_0x343a18(0x1e4)](_0x4f36ed[_0x343a18(0x486)],_0x5c715c,_0x5b3f24);}}}catch(_0x1a120c){if(_0x4f36ed['IKYev']===_0x343a18(0x3b4))_0x51a038['status'](0x190)[_0x343a18(0x1d2)](_0x1a120c);else{const _0xd55d73={'UIhhX':function(_0x2a96d8,_0x69f1f6){const _0x560570=_0x343a18;return _0x477810[_0x560570(0x3bd)](_0x2a96d8,_0x69f1f6);},'bckhA':function(_0x2e1f93,_0x3ccf7c){return _0x477810['lfYld'](_0x2e1f93,_0x3ccf7c);}};_0x1386e8[_0x343a18(0x49b)](_0xac0cc9,_0x57ab37,(_0x419367,_0x21629d)=>{const _0x4e344e=_0x343a18;if(_0x419367)return _0x3b99ae[_0x4e344e(0x1e4)](_0x419367),_0xd55d73[_0x4e344e(0x1ad)](_0x1c2734,_0x328906);_0xd55d73[_0x4e344e(0x310)](_0x38712a,_0x21629d);},_0x482e62);}}});},controller['prototype'][_0x7ea2d4(0x11e)]=function(){const _0xc476d1=_0x7ea2d4,_0x2cb0bf={'rnCHI':function(_0x283688,_0x3d4959){return _0x283688===_0x3d4959;},'uRLaQ':_0xc476d1(0x1fd),'FstXW':_0xc476d1(0x396),'urpEm':_0xc476d1(0x1cf),'tTUIW':'updateField','KhkZA':function(_0x4c31f5,_0x8969a7){return _0x4c31f5===_0x8969a7;},'zOpdc':'fTAXr','IhqwA':_0xc476d1(0x3be)};let _0x1ba21e=this;this[_0xc476d1(0x27e)][_0xc476d1(0x377)](this[_0xc476d1(0x1d6)]+_0xc476d1(0x314))[_0xc476d1(0x1cc)](async function(_0x425d42,_0x5db292){const _0x17f181=_0xc476d1,_0x3cfe92={'OlhhS':function(_0x58b186,_0x1e8b1c){return _0x58b186(_0x1e8b1c);}};if(_0x2cb0bf['rnCHI'](_0x2cb0bf[_0x17f181(0x2ee)],_0x2cb0bf[_0x17f181(0xe6)]))return _0x4b947b(_0x704220,{'master':_0x528fda,'data':_0x1af8eb});else{const {query:_0x228115,body:_0x1299d6,user:_0x1e80a9,params:_0x1b976e,headers:_0x1a8d85,files:_0x18f8a8}=_0x425d42,_0x3b231c=_0x425d42[_0x17f181(0x167)](_0x17f181(0x371)),_0x44275b=_0x425d42['ip']||_0x425d42[_0x17f181(0x323)][_0x2cb0bf[_0x17f181(0x3c1)]]||_0x425d42[_0x17f181(0x249)]['remoteAddress'];try{const _0x4f4b11={'type_job':_0x2cb0bf[_0x17f181(0x472)],'query':_0x228115,'body':_0x1299d6,'user':_0x1e80a9,'params':_0x1b976e,'headers':_0x1a8d85,'user_agent':_0x3b231c,'ip':_0x44275b,'files':_0x18f8a8,'originalUrl':_0x425d42[_0x17f181(0x41f)]};handlers[_0x17f181(0x333)](_0x1ba21e,_0x4f4b11,(_0x1ac07a,_0x74b64c)=>{const _0x18febb=_0x17f181;if(_0x1ac07a)return _0x5db292[_0x18febb(0x432)](0x190)[_0x18febb(0x1d2)](_0x1ac07a);_0x5db292[_0x18febb(0x1d2)](_0x74b64c);});}catch(_0x161ec3){_0x2cb0bf[_0x17f181(0x3e3)](_0x2cb0bf['zOpdc'],_0x2cb0bf[_0x17f181(0x1eb)])?_0x3cfe92['OlhhS'](_0x4d7655,_0xd9a50e):_0x5db292['status'](0x190)[_0x17f181(0x1d2)](_0x161ec3);}}});},controller[_0x7ea2d4(0x414)][_0x7ea2d4(0x3c3)]=function(){const _0x44de0d=_0x7ea2d4,_0x52f9b9={'fwlVD':_0x44de0d(0x4a4),'RwQSo':_0x44de0d(0x1b9),'Txskk':'application/vnd.openxmlformats','NSbuR':_0x44de0d(0x29c),'yxOCH':function(_0x205f5d,_0x3a192d){return _0x205f5d+_0x3a192d;},'XTbbQ':_0x44de0d(0x23e),'HdgXt':'binary','WtRhb':_0x44de0d(0x1f3),'oFovX':_0x44de0d(0x3e6),'tslJE':'.docx','tAydk':'print','KUfwq':'<p\x20style=\x22page-break-before:\x20always\x22></p>','ZwxUS':function(_0x5757a8,_0x58e6ba){return _0x5757a8!==_0x58e6ba;},'dGprT':_0x44de0d(0xe4),'kjiTa':_0x44de0d(0x2d8),'DhkVw':_0x44de0d(0x1d8),'jZSMw':function(_0x3dbb15,_0x5aa8a1){return _0x3dbb15!==_0x5aa8a1;},'uNgIJ':_0x44de0d(0x2a1),'FdFZn':_0x44de0d(0x371),'uKGWI':_0x44de0d(0x359),'PDCOk':function(_0x196716,_0x13ac9d){return _0x196716!==_0x13ac9d;},'potZJ':_0x44de0d(0x4a6),'audoJ':function(_0x51af78,_0x184d89){return _0x51af78!==_0x184d89;},'Deese':_0x44de0d(0x168)};let _0x57a7fb=this;const _0x32786b=(_0x55d767,_0x31cb01)=>{const _0x4a302f=_0x44de0d;switch(_0x31cb01[_0x4a302f(0x1fa)]){case _0x52f9b9['fwlVD']:{_0x55d767[_0x4a302f(0x144)](_0x52f9b9[_0x4a302f(0x116)],_0x52f9b9[_0x4a302f(0x4a0)]),_0x55d767[_0x4a302f(0x144)](_0x52f9b9[_0x4a302f(0x340)],_0x52f9b9[_0x4a302f(0x3d8)](_0x52f9b9[_0x4a302f(0x3d8)](_0x52f9b9[_0x4a302f(0x455)],_0x57a7fb['name']),_0x4a302f(0x43d))),_0x55d767[_0x4a302f(0x460)](_0x31cb01[_0x4a302f(0x41d)],_0x52f9b9[_0x4a302f(0x285)]);break;}case _0x52f9b9[_0x4a302f(0x367)]:{_0x55d767['setHeader'](_0x52f9b9[_0x4a302f(0x116)],_0x52f9b9[_0x4a302f(0x2c1)]),_0x55d767[_0x4a302f(0x144)](_0x4a302f(0x29c),_0x52f9b9['yxOCH'](_0x52f9b9[_0x4a302f(0x3d8)](_0x4a302f(0x23e),_0x57a7fb['name']),_0x52f9b9[_0x4a302f(0x24f)])),_0x55d767[_0x4a302f(0x2d2)](_0x31cb01[_0x4a302f(0x41d)],_0x52f9b9[_0x4a302f(0x285)]),_0x55d767[_0x4a302f(0x460)](null,_0x52f9b9[_0x4a302f(0x285)]);break;}case _0x52f9b9[_0x4a302f(0x197)]:_0x55d767['send'](_0x31cb01['data']['join'](_0x52f9b9['KUfwq']));break;case _0x4a302f(0x258):_0x55d767['json'](_0x31cb01['data']);break;default:_0x55d767[_0x4a302f(0x1d2)](_0x31cb01[_0x4a302f(0x41d)]);}};this[_0x44de0d(0x27e)]['route'](this['route_name']+_0x44de0d(0x166))[_0x44de0d(0x1cc)](async function(_0x40cc90,_0x3a888f){const _0x2f64c8=_0x44de0d,_0x352c3f={'ipOoL':_0x2f64c8(0x11e),'tIUfF':function(_0x9ca306,_0x42864f){const _0xb502b8=_0x2f64c8;return _0x52f9b9[_0xb502b8(0x28a)](_0x9ca306,_0x42864f);},'grROk':_0x52f9b9[_0x2f64c8(0x2e2)],'gJwlC':function(_0x56d5f0,_0x28a03a,_0x95d3cd){return _0x56d5f0(_0x28a03a,_0x95d3cd);},'SkWnF':_0x52f9b9[_0x2f64c8(0x19f)],'FPkpq':_0x52f9b9[_0x2f64c8(0x335)]};if(_0x52f9b9['jZSMw'](_0x52f9b9[_0x2f64c8(0x397)],_0x52f9b9[_0x2f64c8(0x397)])){if(_0x1e2c00)return _0x3830de[_0x2f64c8(0x432)](0x190)[_0x2f64c8(0x1d2)]({'error':_0x14598a['error']||_0x510d97[_0x2f64c8(0x148)]||_0x46fc55});_0x12e844[_0x2f64c8(0x1d2)](_0x34dd22);}else{const {query:_0x3d1417,body:_0x33a704,user:_0x3703c1,params:_0x579b0c,headers:_0x18befb}=_0x40cc90,_0x2cc707=_0x40cc90[_0x2f64c8(0x167)](_0x52f9b9[_0x2f64c8(0x2b2)]),_0x4dbf4b=_0x40cc90['ip']||_0x40cc90[_0x2f64c8(0x323)][_0x2f64c8(0x1cf)]||_0x40cc90[_0x2f64c8(0x249)][_0x2f64c8(0x15b)];try{const _0x1e50b3={'handler':_0x52f9b9[_0x2f64c8(0x372)],'query':_0x3d1417,'body':_0x33a704,'user':_0x3703c1,'params':_0x579b0c,'headers':_0x18befb,'user_agent':_0x2cc707,'ip':_0x4dbf4b,'originalUrl':_0x40cc90['originalUrl']};if(global[_0x2f64c8(0xfd)])global[_0x2f64c8(0xfd)][_0x2f64c8(0x2b3)]({'req':_0x1e50b3,'module':_0x57a7fb[_0x2f64c8(0x393)][_0x2f64c8(0x2e9)](),'configs':JSON[_0x2f64c8(0x35a)](configs)},_0x2e2fde=>{const _0x2f5067=_0x2f64c8,_0xb4a1be={'MOdTR':_0x352c3f[_0x2f5067(0x2bb)]};if(_0x2e2fde[_0x2f5067(0x1e4)])return _0x3a888f[_0x2f5067(0x432)](0x190)[_0x2f5067(0x1d2)]({'error':_0x2e2fde[_0x2f5067(0x1e4)]['error']||_0x2e2fde[_0x2f5067(0x1e4)][_0x2f5067(0x148)]||_0x2e2fde[_0x2f5067(0x1e4)],'message':_0x2e2fde['message']||_0x2e2fde[_0x2f5067(0x1e4)]['error']||_0x2e2fde[_0x2f5067(0x1e4)][_0x2f5067(0x148)]||_0x2e2fde[_0x2f5067(0x1e4)]});else{if(_0x352c3f['tIUfF'](_0x352c3f[_0x2f5067(0x146)],_0x352c3f[_0x2f5067(0x146)])){const _0x423457={'type_job':_0xb4a1be[_0x2f5067(0x270)],'query':_0x856ff6,'body':_0x1c34c0,'user':_0x394871,'params':_0x42d47c,'headers':_0x289f92,'user_agent':_0x192f70,'ip':_0x7e7bc9,'files':_0x48b9bd,'originalUrl':_0x286912[_0x2f5067(0x41f)]};_0x55965b[_0x2f5067(0x333)](_0x5f4b8c,_0x423457,(_0x1a826d,_0x46288e)=>{const _0x2724b4=_0x2f5067;if(_0x1a826d)return _0x59eaf6[_0x2724b4(0x432)](0x190)[_0x2724b4(0x1d2)](_0x1a826d);_0x264a05[_0x2724b4(0x1d2)](_0x46288e);});}else _0x352c3f[_0x2f5067(0x22b)](_0x32786b,_0x3a888f,_0x2e2fde['result']);}});else{if(_0x52f9b9[_0x2f64c8(0x4b1)](_0x52f9b9['potZJ'],_0x2f64c8(0x4a6)))return _0x58a41a['getModel'](_0x352c3f[_0x2f64c8(0x2c5)])[_0x2f64c8(0x183)](_0x3ac5f1[_0x2f64c8(0x1ea)][_0x2f64c8(0x301)],_0x54175c[_0x2f64c8(0x1ea)][_0x2f64c8(0x301)],_0x352c3f[_0x2f64c8(0x1cd)],_0x334e81[_0x2f64c8(0x148)]||_0x4221b3['error']||_0x2045cd,null,{'id_app':_0xf71798[_0x2f64c8(0x1ea)][_0x2f64c8(0x391)]},!![],_0x177120['access_token'],!![]);else handlers[_0x2f64c8(0x359)](_0x57a7fb,_0x1e50b3,(_0xbefd9,_0x1c6d4d)=>{const _0x222da6=_0x2f64c8;if(_0xbefd9)return _0x3a888f[_0x222da6(0x432)](0x190)[_0x222da6(0x1d2)](_0xbefd9);_0x352c3f[_0x222da6(0x22b)](_0x32786b,_0x3a888f,_0x1c6d4d);});}}catch(_0xbc1191){if(_0x52f9b9['audoJ'](_0x52f9b9[_0x2f64c8(0x127)],_0x52f9b9['Deese']))return _0x469f3c[_0x2f64c8(0x32a)](_0x352c3f[_0x2f64c8(0x2c5)])[_0x2f64c8(0x183)](_0x3a282c[_0x2f64c8(0x1ea)][_0x2f64c8(0x301)],_0x4dc130['user']['email'],'Không\x20thể\x20import\x20dữ\x20liệu',_0x5e88a0[_0x2f64c8(0x148)]||_0x156186[_0x2f64c8(0x1e4)]||_0x2051c9,null,{'id_app':_0x43f69e[_0x2f64c8(0x1ea)][_0x2f64c8(0x391)]},!![],null,!![]);else _0x3a888f[_0x2f64c8(0x432)](0x190)[_0x2f64c8(0x1d2)](_0xbc1191);}}});},controller['prototype'][_0x7ea2d4(0x34a)]=function(){const _0x173313=_0x7ea2d4,_0x506e41={'mlfnp':_0x173313(0x363),'WpZOA':_0x173313(0x2d8),'POGFK':_0x173313(0x444),'uYMcE':function(_0x59f844,_0x33db36){return _0x59f844(_0x33db36);},'KGMSR':function(_0x9884df){return _0x9884df();},'ECIOB':_0x173313(0x29b),'UCZRI':_0x173313(0xff),'cUGKL':function(_0x2977e3,_0x1e9244){return _0x2977e3*_0x1e9244;},'wrFNn':function(_0x527c38,_0x165af4){return _0x527c38*_0x165af4;},'SIfpN':function(_0xcd2258,_0x21f91a){return _0xcd2258*_0x21f91a;},'lQOsh':function(_0x3d1724,_0x3ea1c4){return _0x3d1724!==_0x3ea1c4;},'iyYgj':'UlRHg','bTwIs':'tXYDw','oLSEH':_0x173313(0x240)};let _0x44315d=this;this[_0x173313(0x27e)][_0x173313(0x377)](this[_0x173313(0x1d6)]+'/import/googlesheet')[_0x173313(0x1cc)](async function(_0x15ea40,_0x176638){const _0x1e254c=_0x173313,_0x31d7d2={'DYmcG':function(_0x3b32e5,_0x4258c6){return _0x506e41['uYMcE'](_0x3b32e5,_0x4258c6);},'rjGLR':function(_0x53b32c){const _0xd9a977=_0x5430;return _0x506e41[_0xd9a977(0x28c)](_0x53b32c);}},{query:_0x421625,body:_0x13631a,user:_0x1bfd77,params:_0x553dc5,headers:_0x5304a2}=_0x15ea40,_0x5d97c0=_0x15ea40[_0x1e254c(0x167)]('user-agent'),_0x36c155=_0x15ea40['ip']||_0x15ea40[_0x1e254c(0x323)][_0x1e254c(0x1cf)]||_0x15ea40[_0x1e254c(0x249)]['remoteAddress'];try{const _0x3160ac={'handler':_0x506e41[_0x1e254c(0x2a8)],'query':_0x421625,'body':_0x13631a,'user':_0x1bfd77,'params':_0x553dc5,'headers':_0x5304a2,'user_agent':_0x5d97c0,'ip':_0x36c155,'originalUrl':_0x15ea40[_0x1e254c(0x41f)]};if(global[_0x1e254c(0x354)]){const _0x29d998=_0x1e254c(0x27c)+crypto[_0x1e254c(0x2b8)](0x14)[_0x1e254c(0x222)](_0x506e41[_0x1e254c(0x355)]),_0x3d47dd=(configs[_0x1e254c(0x352)]||configs[_0x1e254c(0x408)])+_0x1e254c(0x211)+_0x29d998;_0x3160ac['status_task']=_0x3d47dd,_0x176638['status'](0xca)[_0x1e254c(0x1d2)]({'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','status_task':_0x3d47dd}),global['importDataMainPool'][_0x1e254c(0x2b3)]({'id_task':_0x29d998,'req':_0x3160ac,'module':_0x44315d[_0x1e254c(0x393)][_0x1e254c(0x2e9)](),'configs':JSON[_0x1e254c(0x35a)](configs)},_0x2948e3=>{const _0x5aab61=_0x1e254c,_0x4bae69=_0x2948e3[_0x5aab61(0x1e4)];if(_0x4bae69)return global['getModel'](_0x5aab61(0x2d8))[_0x5aab61(0x183)](_0x15ea40['user']['email'],_0x15ea40[_0x5aab61(0x1ea)][_0x5aab61(0x301)],_0x506e41['mlfnp'],_0x4bae69[_0x5aab61(0x148)]||_0x4bae69[_0x5aab61(0x1e4)]||_0x4bae69,null,{'id_app':_0x15ea40[_0x5aab61(0x1ea)]['current_id_app']},!![],null,!![]);global['getModel'](_0x506e41['WpZOA'])['createNotification'](_0x15ea40[_0x5aab61(0x1ea)][_0x5aab61(0x301)],_0x15ea40[_0x5aab61(0x1ea)][_0x5aab61(0x301)],_0x506e41['POGFK'],_0x5aab61(0x444),null,{'id_app':_0x15ea40['user'][_0x5aab61(0x391)]},!![],null,!![]);},_0x506e41['cUGKL'](_0x506e41[_0x1e254c(0x111)](_0x506e41['SIfpN'](0x2,0x18),0x3c),0x3c)*0x3e8);}else{if(_0x506e41[_0x1e254c(0x203)](_0x506e41[_0x1e254c(0x2fb)],_0x506e41[_0x1e254c(0xea)]))_0x176638[_0x1e254c(0x432)](0xca)[_0x1e254c(0x1d2)]({'message':_0x506e41[_0x1e254c(0x231)]}),handlers['importFromGsHandler'](_0x44315d,_0x3160ac,_0xbbc5b6=>{const _0x39e4fd=_0x1e254c;if(_0xbbc5b6)return global[_0x39e4fd(0x32a)](_0x506e41[_0x39e4fd(0x221)])[_0x39e4fd(0x183)](_0x15ea40[_0x39e4fd(0x1ea)][_0x39e4fd(0x301)],_0x15ea40[_0x39e4fd(0x1ea)][_0x39e4fd(0x301)],_0x39e4fd(0x363),_0xbbc5b6[_0x39e4fd(0x148)]||_0xbbc5b6[_0x39e4fd(0x1e4)]||_0xbbc5b6,null,{'id_app':_0x15ea40[_0x39e4fd(0x1ea)][_0x39e4fd(0x391)]},!![],null,!![]);global[_0x39e4fd(0x32a)](_0x506e41[_0x39e4fd(0x221)])[_0x39e4fd(0x183)](_0x15ea40[_0x39e4fd(0x1ea)][_0x39e4fd(0x301)],_0x15ea40[_0x39e4fd(0x1ea)]['email'],_0x39e4fd(0x444),_0x506e41['POGFK'],null,{'id_app':_0x15ea40[_0x39e4fd(0x1ea)][_0x39e4fd(0x391)]},!![],null,!![]);});else{if(_0x54e277)return _0x31d7d2[_0x1e254c(0x34e)](_0x368d2d,_0x4f17d6);_0x31d7d2[_0x1e254c(0x3c7)](_0x319d35);}}}catch(_0x1babcb){_0x176638[_0x1e254c(0x432)](0x190)[_0x1e254c(0x1d2)](_0x1babcb);}});},controller['prototype'][_0x7ea2d4(0x1e5)]=function(){const _0x4bdafe=_0x7ea2d4,_0x2f7a42={'xlhlC':_0x4bdafe(0x3a9),'QRehD':function(_0x423f7c,_0x21ed8e){return _0x423f7c===_0x21ed8e;},'YvlFs':_0x4bdafe(0x199),'NboMM':'notification','DPfFb':_0x4bdafe(0x444),'VUvrx':function(_0x234405,_0x4d6496){return _0x234405<_0x4d6496;},'fMARB':function(_0x564c8a,_0x40b695){return _0x564c8a(_0x40b695);},'MOLUd':_0x4bdafe(0x3ff),'szycs':_0x4bdafe(0x363),'kzvZP':_0x4bdafe(0xdc),'uKTKQ':'x-forwarded-for','DWNpW':_0x4bdafe(0x240),'MRTfL':function(_0x198406,_0x3c5dfa){return _0x198406*_0x3c5dfa;}};let _0x180a0e=this;this[_0x4bdafe(0x27e)]['route'](this[_0x4bdafe(0x1d6)]+'/import/json')[_0x4bdafe(0x47d)](async function(_0x26c3ee,_0x45ebea){const _0xa670dd=_0x4bdafe,_0x14b4e6={'DpoQW':function(_0x3e259c,_0x18c548){return _0x3e259c(_0x18c548);},'aDvmA':_0x2f7a42['NboMM'],'AeCXu':_0x2f7a42['szycs'],'YCWpg':_0xa670dd(0x444)};if('UdLjY'===_0x2f7a42[_0xa670dd(0x1f1)]){const {query:_0xd2d151,body:_0x33e9d9,user:_0x15bfd9,params:_0x5e8d21,headers:_0x416334,files:_0x5a53f4}=_0x26c3ee,_0x4b7780=_0x26c3ee['header']('user-agent'),_0x3a7264=_0x26c3ee['ip']||_0x26c3ee[_0xa670dd(0x323)][_0x2f7a42['uKTKQ']]||_0x26c3ee[_0xa670dd(0x249)][_0xa670dd(0x15b)];try{const _0x25a0b2={'handler':'importFromJsonHandler','query':_0xd2d151,'body':_0x33e9d9,'user':_0x15bfd9,'params':_0x5e8d21,'headers':_0x416334,'user_agent':_0x4b7780,'ip':_0x3a7264,'files':_0x5a53f4,'originalUrl':_0x26c3ee[_0xa670dd(0x41f)]};if(global[_0xa670dd(0x354)]){const _0x42d9a3=_0xa670dd(0x18b)+crypto[_0xa670dd(0x2b8)](0x14)[_0xa670dd(0x222)](_0xa670dd(0xff)),_0x519db1=(configs[_0xa670dd(0x352)]||configs[_0xa670dd(0x408)])+_0xa670dd(0x211)+_0x42d9a3;_0x25a0b2[_0xa670dd(0x204)]=_0x519db1,_0x45ebea[_0xa670dd(0x432)](0xca)['send']({'message':_0x2f7a42[_0xa670dd(0x438)],'status_task':_0x519db1}),global[_0xa670dd(0x354)]['exec']({'id_task':_0x42d9a3,'req':_0x25a0b2,'module':_0x180a0e[_0xa670dd(0x393)][_0xa670dd(0x2e9)](),'configs':JSON[_0xa670dd(0x35a)](configs)},_0x254ba3=>{const _0x567a9b=_0xa670dd;if(_0x2f7a42[_0x567a9b(0x29d)]===_0x567a9b(0x3a9)){const _0x268ece=_0x254ba3['error'];if(_0x268ece){if(_0x2f7a42['QRehD'](_0x567a9b(0x3e2),_0x2f7a42[_0x567a9b(0x143)]))_0x498866[_0x567a9b(0x432)](0x190)[_0x567a9b(0x1d2)](_0x58dc9e);else return global[_0x567a9b(0x32a)](_0x2f7a42[_0x567a9b(0x3d1)])[_0x567a9b(0x183)](_0x26c3ee[_0x567a9b(0x1ea)][_0x567a9b(0x301)],_0x26c3ee[_0x567a9b(0x1ea)][_0x567a9b(0x301)],'Không\x20thể\x20import\x20dữ\x20liệu',_0x268ece[_0x567a9b(0x148)]||_0x268ece[_0x567a9b(0x1e4)]||_0x268ece,null,{'id_app':_0x26c3ee[_0x567a9b(0x1ea)][_0x567a9b(0x391)]},!![],null,!![]);}global[_0x567a9b(0x32a)]('notification')[_0x567a9b(0x183)](_0x26c3ee[_0x567a9b(0x1ea)]['email'],_0x26c3ee[_0x567a9b(0x1ea)]['email'],_0x2f7a42['DPfFb'],_0x2f7a42[_0x567a9b(0x277)],null,{'id_app':_0x26c3ee[_0x567a9b(0x1ea)]['current_id_app']},!![],null,!![]);}else _0x14b4e6[_0x567a9b(0x3fb)](_0x33917d,this[_0x567a9b(0x27e)]);},_0x2f7a42[_0xa670dd(0x293)](_0x2f7a42[_0xa670dd(0x293)](_0x2f7a42['MRTfL'](_0x2f7a42[_0xa670dd(0x293)](0x2,0x18),0x3c),0x3c),0x3e8));}else _0x45ebea['status'](0xca)[_0xa670dd(0x1d2)]({'message':_0x2f7a42[_0xa670dd(0x438)]}),handlers[_0xa670dd(0x2ba)](_0x180a0e,_0x25a0b2,_0x5edcff=>{const _0x5b2574=_0xa670dd;if(_0x5edcff)return global[_0x5b2574(0x32a)](_0x14b4e6[_0x5b2574(0x2f6)])[_0x5b2574(0x183)](_0x26c3ee['user']['email'],_0x26c3ee[_0x5b2574(0x1ea)][_0x5b2574(0x301)],_0x14b4e6[_0x5b2574(0xdb)],_0x5edcff[_0x5b2574(0x148)]||_0x5edcff[_0x5b2574(0x1e4)]||_0x5edcff,null,{'id_app':_0x26c3ee[_0x5b2574(0x1ea)]['current_id_app']},!![],null,!![]);global[_0x5b2574(0x32a)](_0x5b2574(0x2d8))[_0x5b2574(0x183)](_0x26c3ee['user'][_0x5b2574(0x301)],_0x26c3ee[_0x5b2574(0x1ea)][_0x5b2574(0x301)],_0x5b2574(0x444),_0x14b4e6[_0x5b2574(0x284)],null,{'id_app':_0x26c3ee[_0x5b2574(0x1ea)][_0x5b2574(0x391)]},!![],null,!![]);});}catch(_0x1d7504){console['error'](_0xa670dd(0x363),_0x1d7504),_0x45ebea[_0xa670dd(0x432)](0x190)['send'](_0x1d7504);}}else try{let _0x4f36c9=_0x10f894[_0xa670dd(0x2ea)];_0x2f7a42['VUvrx'](_0x4f36c9[_0xa670dd(0x36f)](_0xa670dd(0x1fb)),0x0)&&(_0x4f36c9=_0xa670dd(0x1fb)+_0x4f36c9),_0x335cec=_0x2f7a42[_0xa670dd(0x22d)](_0x4be06a,_0x4f36c9);}catch(_0x193236){_0x508c6e['error'](_0x2f7a42['MOLUd'],_0x193236);}});},controller[_0x7ea2d4(0x414)][_0x7ea2d4(0x498)]=function(){const _0x3448cf=_0x7ea2d4,_0x3d8987={'TTToo':_0x3448cf(0x3ff),'umahL':_0x3448cf(0x363),'DVtem':'notification','tSvmD':_0x3448cf(0x444),'ZxvKq':function(_0x379840,_0x445821){return _0x379840(_0x445821);},'fvqTR':'[controller][requestApprove]\x20request\x20approve','bwmdY':_0x3448cf(0x443),'SXRln':_0x3448cf(0x2a7),'hLMTQ':_0x3448cf(0x1cf),'xHLWz':function(_0x910ba7,_0x428181){return _0x910ba7===_0x428181;},'mATbi':'cWObt','AvhSv':_0x3448cf(0xff),'ObvdQ':function(_0x5ed042,_0x153e3d){return _0x5ed042*_0x153e3d;},'pLnXV':_0x3448cf(0x240)};let _0x53d482=this;this[_0x3448cf(0x27e)][_0x3448cf(0x377)](this['route_name']+_0x3448cf(0x112))[_0x3448cf(0x47d)](async function(_0x2f4d6e,_0x50be97){const _0x429007=_0x3448cf,_0x3685b6={'aFGcm':function(_0x2518ea,_0x11b428){return _0x3d8987['ZxvKq'](_0x2518ea,_0x11b428);},'rsVhV':_0x3d8987[_0x429007(0x306)],'ObGFu':_0x3d8987[_0x429007(0x14e)],'Amvxy':_0x3d8987['SXRln'],'qosiG':_0x3d8987[_0x429007(0x25c)],'XZYzj':_0x3d8987[_0x429007(0x1bd)],'QcARG':_0x3d8987[_0x429007(0x15f)]},{query:_0xaea2ec,body:_0x36164f,user:_0x1f6a11,params:_0x3afdac,headers:_0x1403a3,files:_0x34edaa}=_0x2f4d6e,_0xd4ae3=_0x2f4d6e['header']('user-agent'),_0x26254d=_0x2f4d6e['ip']||_0x2f4d6e[_0x429007(0x323)][_0x3d8987[_0x429007(0x476)]]||_0x2f4d6e[_0x429007(0x249)]['remoteAddress'];try{if(_0x3d8987[_0x429007(0x1e6)](_0x3d8987[_0x429007(0x120)],'CvrmI')){_0x404497['error'](_0x3d8987[_0x429007(0x14b)],_0x3a8748,_0x10539a);return;}else{const _0x4cb902={'handler':_0x429007(0x22f),'query':_0xaea2ec,'body':_0x36164f,'user':_0x1f6a11,'params':_0x3afdac,'headers':_0x1403a3,'user_agent':_0xd4ae3,'ip':_0x26254d,'files':_0x34edaa,'originalUrl':_0x2f4d6e[_0x429007(0x41f)]};if(global['importDataMainPool']){const _0x3167d1=_0x429007(0x4ba)+crypto[_0x429007(0x2b8)](0x14)['toString'](_0x3d8987['AvhSv']),_0x1ffcf0=(configs['api_url']||configs[_0x429007(0x408)])+'/task-status/'+_0x3167d1;_0x4cb902['status_task']=_0x1ffcf0,_0x50be97[_0x429007(0x432)](0xca)[_0x429007(0x1d2)]({'message':_0x429007(0x240),'status_task':_0x1ffcf0}),global['importDataMainPool'][_0x429007(0x2b3)]({'id_task':_0x3167d1,'req':_0x4cb902,'module':_0x53d482[_0x429007(0x393)][_0x429007(0x2e9)](),'configs':JSON[_0x429007(0x35a)](configs)},_0x5b4c52=>{const _0x38fd26=_0x429007,_0x24a3ff={'pgIBF':function(_0x389924,_0xc29651){const _0xcc50f8=_0x5430;return _0x3685b6[_0xcc50f8(0x170)](_0x389924,_0xc29651);},'sNacQ':_0x3685b6[_0x38fd26(0x3a7)]};if(_0x3685b6[_0x38fd26(0x41c)]!==_0x3685b6['Amvxy']){const _0x47dc0c=_0x5b4c52['error'];if(_0x47dc0c)return global[_0x38fd26(0x32a)]('notification')['createNotification'](_0x2f4d6e[_0x38fd26(0x1ea)][_0x38fd26(0x301)],_0x2f4d6e[_0x38fd26(0x1ea)]['email'],_0x3685b6[_0x38fd26(0x1d3)],_0x47dc0c[_0x38fd26(0x148)]||_0x47dc0c[_0x38fd26(0x1e4)]||_0x47dc0c,null,{'id_app':_0x2f4d6e['user'][_0x38fd26(0x391)]},!![],null,!![]);global[_0x38fd26(0x32a)](_0x3685b6['XZYzj'])[_0x38fd26(0x183)](_0x2f4d6e[_0x38fd26(0x1ea)][_0x38fd26(0x301)],_0x2f4d6e[_0x38fd26(0x1ea)][_0x38fd26(0x301)],_0x3685b6[_0x38fd26(0x1b4)],_0x3685b6[_0x38fd26(0x1b4)],null,{'id_app':_0x2f4d6e[_0x38fd26(0x1ea)][_0x38fd26(0x391)]},!![],null,!![]);}else try{let _0x29ce48=_0x5b694e[_0x38fd26(0x3b3)];_0x29ce48[_0x38fd26(0x36f)](_0x38fd26(0x1fb))<0x0&&(_0x29ce48='return\x20'+_0x29ce48),_0x409420=_0x24a3ff['pgIBF'](_0x342c37,_0x29ce48);}catch(_0x2b227a){_0xc5c035[_0x38fd26(0x1e4)](_0x24a3ff[_0x38fd26(0x2cd)],_0x2b227a,_0x32333f[_0x38fd26(0x3b3)]),_0x340c24={};}},_0x3d8987[_0x429007(0x48c)](_0x3d8987[_0x429007(0x48c)](0x2,0x18)*0x3c,0x3c)*0x3e8);}else _0x50be97['status'](0xca)['send']({'message':_0x3d8987[_0x429007(0x247)]}),handlers[_0x429007(0x22f)](_0x53d482,_0x4cb902,_0x5d0c03=>{const _0x3cdc58=_0x429007;if(_0x5d0c03)return global['getModel'](_0x3cdc58(0x2d8))['createNotification'](_0x2f4d6e[_0x3cdc58(0x1ea)]['email'],_0x2f4d6e[_0x3cdc58(0x1ea)]['email'],_0x3d8987[_0x3cdc58(0x25c)],_0x5d0c03[_0x3cdc58(0x148)]||_0x5d0c03['error']||_0x5d0c03,null,{'id_app':_0x2f4d6e[_0x3cdc58(0x1ea)]['current_id_app']},!![],null,!![]);global[_0x3cdc58(0x32a)](_0x3d8987[_0x3cdc58(0x1bd)])[_0x3cdc58(0x183)](_0x2f4d6e['user'][_0x3cdc58(0x301)],_0x2f4d6e[_0x3cdc58(0x1ea)][_0x3cdc58(0x301)],_0x3d8987[_0x3cdc58(0x15f)],_0x3d8987[_0x3cdc58(0x15f)],null,{'id_app':_0x2f4d6e[_0x3cdc58(0x1ea)]['current_id_app']},!![],null,!![]);});}}catch(_0x27030d){_0x50be97[_0x429007(0x432)](0x190)[_0x429007(0x1d2)](_0x27030d);}});},controller['prototype'][_0x7ea2d4(0x1b2)]=function(){const _0x1ebf43=_0x7ea2d4,_0x546f42={'Ffbay':'notification','cXNSQ':'Không\x20thể\x20import\x20dữ\x20liệu','hMksX':'Chương\x20trình\x20đã\x20import\x20dữ\x20liệu\x20xong','LcWUp':'qZvkC','qOrga':_0x1ebf43(0x23b),'DDYfk':_0x1ebf43(0x3e4),'AHJMV':function(_0x254444,_0x532cf2){return _0x254444!==_0x532cf2;},'uMTPk':_0x1ebf43(0x3ab),'qnfOn':_0x1ebf43(0x3ea),'UIKCn':function(_0x3f6008,_0x304a68,_0x22a248,_0x761ff7,_0x1235bf,_0x50140d,_0x484444){return _0x3f6008(_0x304a68,_0x22a248,_0x761ff7,_0x1235bf,_0x50140d,_0x484444);},'miMQQ':function(_0x56abe6,_0x38a4b5){return _0x56abe6===_0x38a4b5;},'TPyjk':function(_0x1e0c52,_0x55fb87){return _0x1e0c52===_0x55fb87;},'zBAUF':_0x1ebf43(0x135),'kiZTp':_0x1ebf43(0x401),'rHOTQ':_0x1ebf43(0x44c),'MPAoz':function(_0x5556d8,_0x98fafb){return _0x5556d8>_0x98fafb;},'MYLkc':_0x1ebf43(0x106),'dByRd':function(_0x18282d,_0x18b7d6){return _0x18282d!==_0x18b7d6;},'AuQNI':_0x1ebf43(0x2f0),'EMSmQ':_0x1ebf43(0x371),'yoSEm':_0x1ebf43(0x35d),'bytVt':function(_0x2928fd,_0x263b13){return _0x2928fd===_0x263b13;},'WHfsR':_0x1ebf43(0x3c6)};let _0x4a5ccb=this;this[_0x1ebf43(0x27e)][_0x1ebf43(0x377)](this[_0x1ebf43(0x1d6)])['post'](async function(_0x4b9c8f,_0x2fadc3){const _0x1cd6aa=_0x1ebf43,_0x1cf67b={'sGcdX':_0x546f42[_0x1cd6aa(0x334)]};let _0x3ce426=_0x4b9c8f['body'];if(!_0x3ce426)return _0x2fadc3[_0x1cd6aa(0x432)](0x19b)[_0x1cd6aa(0x1d2)]({'error':_0x546f42[_0x1cd6aa(0x102)]});if(_0x4b9c8f['files']&&_0x546f42[_0x1cd6aa(0x45d)](_[_0x1cd6aa(0x350)](_0x4b9c8f[_0x1cd6aa(0x239)])['length'],0x0)){if(_0x3ce426[_0x1cd6aa(0x2c6)]!=_0x546f42[_0x1cd6aa(0x3fe)]){if(_0x546f42['dByRd'](_0x546f42[_0x1cd6aa(0x36c)],_0x546f42[_0x1cd6aa(0x36c)])){const _0x2a8002=_0x31a6d2['error'];if(_0x2a8002)return _0x2c2fba[_0x1cd6aa(0x32a)](_0x546f42[_0x1cd6aa(0x370)])[_0x1cd6aa(0x183)](_0x1754f0[_0x1cd6aa(0x1ea)][_0x1cd6aa(0x301)],_0x29c07b[_0x1cd6aa(0x1ea)][_0x1cd6aa(0x301)],_0x546f42[_0x1cd6aa(0x312)],_0x2a8002[_0x1cd6aa(0x148)]||_0x2a8002[_0x1cd6aa(0x1e4)]||_0x2a8002,null,{'id_app':_0x169403[_0x1cd6aa(0x1ea)][_0x1cd6aa(0x391)]},!![],null,!![]);_0x8cdda7[_0x1cd6aa(0x32a)](_0x1cd6aa(0x2d8))[_0x1cd6aa(0x183)](_0x3e6958['user'][_0x1cd6aa(0x301)],_0x1bcdae[_0x1cd6aa(0x1ea)][_0x1cd6aa(0x301)],_0x1cd6aa(0x444),_0x546f42[_0x1cd6aa(0x2c2)],null,{'id_app':_0x3248eb[_0x1cd6aa(0x1ea)][_0x1cd6aa(0x391)]},!![],null,!![]);}else _0x4b9c8f['uploadFile']=!![];}_[_0x1cd6aa(0x1ff)](_0x3ce426,_0x4b9c8f[_0x1cd6aa(0x239)]);}const {query:_0x49d2fc,user:_0x4beb6b,params:_0x3f850e,files:_0x5b86bc,uploadFile:_0x3a7757,headers:_0x467293}=_0x4b9c8f,_0x198bea=_0x4b9c8f[_0x1cd6aa(0x167)](_0x546f42[_0x1cd6aa(0x11a)]),_0x41e7c4=_0x4b9c8f['ip']||_0x4b9c8f[_0x1cd6aa(0x323)][_0x1cd6aa(0x1cf)]||_0x4b9c8f[_0x1cd6aa(0x249)][_0x1cd6aa(0x15b)];try{const _0x5715ce={'handler':_0x546f42[_0x1cd6aa(0x180)],'query':_0x49d2fc,'data':_0x3ce426,'user':_0x4beb6b,'params':_0x3f850e,'headers':_0x467293,'user_agent':_0x198bea,'ip':_0x41e7c4,'files':_0x5b86bc,'uploadFile':_0x3a7757,'originalUrl':_0x4b9c8f[_0x1cd6aa(0x41f)]};if(global[_0x1cd6aa(0xfd)])global[_0x1cd6aa(0xfd)][_0x1cd6aa(0x2b3)]({'req':_0x5715ce,'module':_0x4a5ccb[_0x1cd6aa(0x393)]['toUpperCase'](),'configs':JSON[_0x1cd6aa(0x35a)](configs)},_0x226d19=>{const _0xc95671=_0x1cd6aa,_0x407ada={'uTCpE':function(_0x2b688c,_0x304834){return _0x2b688c*_0x304834;},'DGWWo':_0x546f42['Ffbay'],'Reqxg':_0x546f42[_0xc95671(0x312)],'IrQOP':_0x546f42[_0xc95671(0x2c2)]};if(_0x226d19[_0xc95671(0x1e4)])return _0x2fadc3[_0xc95671(0x432)](0x190)['send']({'error':_0x226d19['error']['error']||_0x226d19[_0xc95671(0x1e4)]['message']||_0x226d19['error'],'message':_0x226d19[_0xc95671(0x148)]||_0x226d19['error'][_0xc95671(0x1e4)]||_0x226d19['error'][_0xc95671(0x148)]||_0x226d19[_0xc95671(0x1e4)]});else{if(_0x546f42['LcWUp']===_0x546f42['qOrga'])return _0x2d2f4a[_0xc95671(0x481)][_0xc95671(0x15a)](_0xaa4571=>{const _0x1cb118=_0xc95671;return _0xaa4571[_0x1cb118(0x453)]?_0xaa4571=_0x4e5ad7[_0x1cb118(0x46f)](_0xaa4571[_0x1cb118(0x453)]()):_0xaa4571={..._0xaa4571},_0xaa4571[_0x1cb118(0x407)]=_0x407ada[_0x1cb118(0x311)](_0xaa4571[_0x1cb118(0x407)],_0x1dd956[_0x1cb118(0x407)]),_0xaa4571[_0x1cb118(0x38f)]=_0x4b594c[_0x1cb118(0x38f)],_0xaa4571;});else{const {obj_created:_0x424437}=_0x226d19[_0xc95671(0x3f3)];pushNotification(_0x4a5ccb,_0x424437,_0x546f42['DDYfk'],null,null,{'exclude_token':(_0x4b9c8f[_0xc95671(0x19a)]||{})[_0xc95671(0x2a9)]});if(_0x4b9c8f[_0xc95671(0x19a)]['return_data']===![]){if(_0x546f42[_0xc95671(0x403)](_0x546f42[_0xc95671(0x458)],_0x546f42[_0xc95671(0x12a)]))_0x2fadc3[_0xc95671(0x1d2)]({'_id':_0x424437[_0xc95671(0x490)][_0xc95671(0x222)]()});else{const _0x5eff7f=_0x1cc5e8[_0xc95671(0x1e4)];if(_0x5eff7f)return _0x3ce007[_0xc95671(0x32a)](_0x407ada[_0xc95671(0xef)])[_0xc95671(0x183)](_0x5f36ad[_0xc95671(0x1ea)][_0xc95671(0x301)],_0x1b2376['user'][_0xc95671(0x301)],_0x407ada[_0xc95671(0x426)],_0x5eff7f['message']||_0x5eff7f[_0xc95671(0x1e4)]||_0x5eff7f,null,{'id_app':_0x9fc4d1['user'][_0xc95671(0x391)]},!![],null,!![]);_0x5436b3['getModel']('notification')[_0xc95671(0x183)](_0x4f1a04[_0xc95671(0x1ea)][_0xc95671(0x301)],_0x4ea942[_0xc95671(0x1ea)][_0xc95671(0x301)],_0x407ada[_0xc95671(0x121)],_0x407ada[_0xc95671(0x121)],null,{'id_app':_0x15dcd9[_0xc95671(0x1ea)][_0xc95671(0x391)]},!![],null,!![]);}}else _0x2fadc3[_0xc95671(0x1d2)](_0x424437);}}});else{if(_0x546f42[_0x1cd6aa(0x337)](_0x1cd6aa(0x172),_0x546f42['WHfsR']))return _0x292921[_0x1cd6aa(0x432)](0x190)[_0x1cd6aa(0x1d2)]({'error':_0x2dccba['error'][_0x1cd6aa(0x1e4)]||_0x5def86[_0x1cd6aa(0x1e4)][_0x1cd6aa(0x148)]||_0x5cd824[_0x1cd6aa(0x1e4)],'message':_0x302837[_0x1cd6aa(0x148)]||_0x33df5d['error'][_0x1cd6aa(0x1e4)]||_0x1a6012[_0x1cd6aa(0x1e4)]['message']||_0x1de182[_0x1cd6aa(0x1e4)]});else handlers[_0x1cd6aa(0x35d)](_0x4a5ccb,_0x5715ce,(_0x2c7544,_0x2ccd94)=>{const _0x3f4aae=_0x1cd6aa;if(_0x2c7544)return _0x2fadc3['status'](0x190)[_0x3f4aae(0x1d2)](_0x2c7544);const {obj_created:_0x1bdd6a}=_0x2ccd94;_0x546f42['UIKCn'](pushNotification,_0x4a5ccb,_0x1bdd6a,_0x546f42[_0x3f4aae(0x220)],null,null,{'exclude_token':(_0x4b9c8f[_0x3f4aae(0x19a)]||{})[_0x3f4aae(0x2a9)]}),_0x546f42[_0x3f4aae(0xfc)](_0x4b9c8f[_0x3f4aae(0x19a)][_0x3f4aae(0x260)],![])?_0x2fadc3[_0x3f4aae(0x1d2)]({'_id':_0x1bdd6a[_0x3f4aae(0x490)]['toString']()}):_0x546f42[_0x3f4aae(0x433)](_0x3f4aae(0x135),_0x546f42[_0x3f4aae(0x3ac)])?_0x2fadc3[_0x3f4aae(0x1d2)](_0x1bdd6a):_0x1a276c[_0x3f4aae(0x1e4)](_0x1cf67b[_0x3f4aae(0x49d)],_0x226601,_0x2ab19f[_0x3f4aae(0x428)]);});}}catch(_0x57f890){_0x2fadc3[_0x1cd6aa(0x432)](0x190)['send'](_0x57f890);}});},controller['prototype'][_0x7ea2d4(0x40a)]=function(){const _0x5ae61c=_0x7ea2d4,_0x54b103={'zlXpF':function(_0x57994a,_0x1cc853){return _0x57994a!=_0x1cc853;},'rVsDG':'JSON','ILuEN':function(_0x32c625,_0x215184,_0x359166,_0x48a4fd,_0x4c9183,_0x215a78,_0x4197fc){return _0x32c625(_0x215184,_0x359166,_0x48a4fd,_0x4c9183,_0x215a78,_0x4197fc);},'KkzzZ':_0x5ae61c(0x3e4),'tVWQK':function(_0x4b57e1,_0xb76306){return _0x4b57e1===_0xb76306;},'DbYcV':function(_0x4c24de,_0x124e15){return _0x4c24de===_0x124e15;},'SonPh':_0x5ae61c(0x2e4),'RmXKb':_0x5ae61c(0x18c),'HCxsH':function(_0x58f6f0,_0x1f9544){return _0x58f6f0===_0x1f9544;},'dhbDW':'OPaVu','sZsoX':_0x5ae61c(0x1e9),'Bnbsu':function(_0x5e2fae,_0x247f73){return _0x5e2fae===_0x247f73;},'LomNK':'qOWhN','qUSlg':function(_0x2ff6c6,_0x1180b3){return _0x2ff6c6===_0x1180b3;},'kYBxq':_0x5ae61c(0x2a9),'dESuT':'token','lgSIP':function(_0x4747ed,_0x87b526){return _0x4747ed===_0x87b526;},'npEtA':_0x5ae61c(0x490),'zltyC':function(_0x5cdf38,_0x269fa1){return _0x5cdf38!==_0x269fa1;},'QHsxG':'PFmHm','hyJQe':_0x5ae61c(0x371),'NznKq':_0x5ae61c(0x1cf),'rURbJ':'kHSJu','YRWKw':_0x5ae61c(0x279),'qboEU':'bUahp','twKtb':function(_0x57e209,_0x309e88,_0x250cd3){return _0x57e209(_0x309e88,_0x250cd3);},'VBLzC':function(_0x34cb8a,_0xaff2da,_0xaf4bcc){return _0x34cb8a(_0xaff2da,_0xaf4bcc);}};let _0xb6561=this[_0x5ae61c(0x1b3)],_0x363cd0=this[_0x5ae61c(0x393)],_0x305764=this,_0x4b8353=async(_0x4d86b5,_0x85f964,_0x194e36)=>{const _0x490921=_0x5ae61c;if(_0x54b103['RmXKb']===_0x54b103[_0x490921(0x35c)]){if(!_0x194e36){let _0x133e35=_0x4d86b5[_0x490921(0x14c)][_0x490921(0x2f5)];if(!_0x133e35){if(_0x54b103[_0x490921(0x17e)](_0x54b103[_0x490921(0x2d0)],_0x54b103[_0x490921(0x2d0)]))return _0x85f964[_0x490921(0x432)](0x190)['send']({'error':_0x54b103[_0x490921(0x31a)]});else _0x824f99[_0x490921(0x45e)]=_0x18683f[_0x490921(0x46d)]||0x1,_0x1cb75a[_0x490921(0x457)]=_0x59f769[_0x490921(0x45e)]*_0x5bcd95[_0x490921(0x407)];}let _0x1d2c4c={'id_app':_0x4d86b5['user'][_0x490921(0x391)],'voucher_code':_0x363cd0[_0x490921(0x2e9)](),'code':_0x133e35};_0x194e36=await templatevoucher['findOne'](_0x1d2c4c)[_0x490921(0x48d)]();if(!_0x194e36){if(_0x54b103[_0x490921(0x123)](_0x490921(0x275),_0x54b103[_0x490921(0x4bc)]))return _0x85f964[_0x490921(0x432)](0x190)[_0x490921(0x1d2)]({'error':_0x54b103[_0x490921(0x31a)]});else _0x343519['send']({'_id':_0x3f27e5[_0x490921(0x490)][_0x490921(0x222)]()});}}let _0x315670=_0x194e36[_0x490921(0x41d)]||{};delete _0x315670[_0x490921(0x3fc)],delete _0x315670[_0x490921(0x2b4)],delete _0x315670[_0x490921(0x1dc)],delete _0x315670['date_created'],delete _0x315670[_0x490921(0x321)],delete _0x315670[_0x490921(0x3c8)],delete _0x315670[_0x490921(0x490)],delete _0x315670[_0x490921(0x286)],delete _0x315670['__v'];let _0x364680=_0x4d86b5[_0x490921(0x19a)];_0x4d86b5[_0x490921(0x110)]&&(_0x364680=Object[_0x490921(0x344)](_0x364680,_0x4d86b5['body']));for(let _0x1e5c67 in _0x364680){if(!_0x364680[_0x1e5c67]||_0x54b103[_0x490921(0x250)](_0x1e5c67,_0x54b103['kYBxq'])||_0x54b103[_0x490921(0x123)](_0x1e5c67,_0x54b103['dESuT'])||_0x54b103[_0x490921(0x383)](_0x1e5c67,_0x54b103[_0x490921(0x1f8)]))continue;if(_['has'](_0xb6561[_0x490921(0x10b)]['paths'],_0x1e5c67)){if(_0x54b103['zltyC'](_0x54b103['QHsxG'],_0x54b103[_0x490921(0x3af)])){const _0x2322f2={'RkAbB':function(_0x112f07,_0x515736){return _0x112f07==_0x515736;}},_0x4bc6a5={'query':_0x334479,'body':_0x237d52,'user':_0xa6e1eb,'params':_0x7fa630,'headers':_0x2cc450,'user_agent':_0x5383da,'ip':_0x3319c9,'shareRoute':_0x5c0cbd,'originalUrl':_0x25a812[_0x490921(0x41f)]};_0x4ce5ee[_0x490921(0x243)](_0x4851f2,_0x4bc6a5,(_0x1317b3,_0x287da8)=>{const _0xc4ddef=_0x490921;if(_0x1317b3)return _0x35af8f[_0xc4ddef(0x432)](0x190)[_0xc4ddef(0x1d2)](_0x1317b3);const {result:_0x226f8e}=_0x287da8;if(_0x2322f2[_0xc4ddef(0x2a2)](_0x226f8e[_0xc4ddef(0x2bc)],0x0))return _0x4c8c03[_0xc4ddef(0x432)](0x194)[_0xc4ddef(0x1d2)]({'error':_0x10752d[_0xc4ddef(0x44a)],'code':_0x460326['ERR_NOT_FOUND_CODE']});_0x837bf4['send'](_0x226f8e[0x0]);});}else _0x315670[_0x1e5c67]=_0x364680[_0x1e5c67];}_0x315670[_0x490921(0x125)]&&_0x315670[_0x490921(0x125)][_0x490921(0x2b1)](_0x491eb5=>{_0x491eb5[_0x1e5c67]=_0x364680[_0x1e5c67];});}const {query:_0x250212,user:_0x48294f,params:_0x34cf29,files:_0x215476,uploadFile:_0x42d80f,headers:_0x2562ce}=_0x4d86b5,_0x3418ab=_0x4d86b5[_0x490921(0x167)](_0x54b103[_0x490921(0x4a9)]),_0x268d08=_0x4d86b5['ip']||_0x4d86b5[_0x490921(0x323)][_0x54b103[_0x490921(0x43b)]]||_0x4d86b5[_0x490921(0x249)][_0x490921(0x15b)];try{if(_0x54b103[_0x490921(0x30b)](_0x54b103['rURbJ'],_0x54b103[_0x490921(0x3ed)])){let _0x2c1ecc=this[_0x490921(0x30d)][_0x490921(0x3b8)];return _0x3d47a3[_0x490921(0xf5)](_0x2c1ecc)&&(_0x2c1ecc=_0x2c1ecc(_0x4587cb,_0x2ce360)),_0x2c1ecc;}else{const _0x5be3fa={'query':_0x250212,'body':_0x315670,'user':_0x48294f,'params':_0x34cf29,'headers':_0x2562ce,'user_agent':_0x3418ab,'ip':_0x268d08,'files':_0x215476,'uploadFile':_0x42d80f,'originalUrl':_0x4d86b5[_0x490921(0x41f)]};handlers[_0x490921(0x35d)](_0x305764,_0x5be3fa,(_0x22ce91,_0x3e7789)=>{const _0x254486=_0x490921,_0x2368d7={'iOuBY':function(_0x166fbc,_0x33260a){return _0x54b103['zlXpF'](_0x166fbc,_0x33260a);},'qSUbe':_0x54b103[_0x254486(0x422)]};if(_0x22ce91)return _0x85f964[_0x254486(0x432)](0x190)[_0x254486(0x1d2)](_0x22ce91);const {obj_created:_0x131212}=_0x3e7789;_0x54b103[_0x254486(0x133)](pushNotification,_0x305764,_0x131212,_0x54b103[_0x254486(0x131)],null,null,{'exclude_token':(_0x4d86b5[_0x254486(0x19a)]||{})[_0x254486(0x2a9)]}),_0x54b103[_0x254486(0x3a8)](_0x4d86b5[_0x254486(0x19a)][_0x254486(0x260)],![])?_0x85f964[_0x254486(0x1d2)]({'_id':_0x131212[_0x254486(0x490)][_0x254486(0x222)]()}):_0x54b103[_0x254486(0x214)](_0x54b103[_0x254486(0x1f9)],_0x54b103[_0x254486(0x1f9)])?_0x85f964[_0x254486(0x1d2)](_0x131212):(_0x2368d7[_0x254486(0x296)](_0x3b55a7['return'],_0x2368d7[_0x254486(0x26c)])&&(_0x3e2866['uploadFile']=!![]),_0x467598[_0x254486(0x1ff)](_0x38a104,_0x5b86c9[_0x254486(0x239)]));});}}catch(_0x15fbcc){_0x85f964[_0x490921(0x432)](0x190)[_0x490921(0x1d2)](_0x15fbcc);}}else _0x1c0ec2[_0x490921(0x215)]=!![];};this[_0x5ae61c(0x27e)][_0x5ae61c(0x377)](this[_0x5ae61c(0x1d6)]+'/quickcreate/:template_code')[_0x5ae61c(0x1cc)](function(_0x18e992,_0x514bf4){const _0x461a70=_0x5ae61c,_0x5b9ab0={'VwBAJ':function(_0x5503a8){return _0x5503a8();}};_0x54b103[_0x461a70(0x30b)](_0x54b103[_0x461a70(0x2ae)],_0x54b103[_0x461a70(0x2d3)])?_0x54b103['twKtb'](_0x4b8353,_0x18e992,_0x514bf4):_0x5b9ab0[_0x461a70(0x1f4)](_0xa7f387);}),this[_0x5ae61c(0x27e)][_0x5ae61c(0x377)](this[_0x5ae61c(0x1d6)]+_0x5ae61c(0x1db))['post'](function(_0x2776e8,_0x2d934f){const _0x38be60=_0x5ae61c;_0x54b103[_0x38be60(0x45a)](_0x4b8353,_0x2776e8,_0x2d934f);});},controller[_0x7ea2d4(0x414)][_0x7ea2d4(0x411)]=function(){const _0x3dac3a=_0x7ea2d4,_0x1dd70e={'FERpV':_0x3dac3a(0x12f),'wjvde':function(_0x26f47b,_0x16a15f){return _0x26f47b>_0x16a15f;},'SAzIV':function(_0x42b46f){return _0x42b46f();},'gqEhE':'notification','rHXvI':_0x3dac3a(0x1d8),'vDgnT':_0x3dac3a(0x3f7),'PTpkx':function(_0x1784fb,_0x4d4dcd){return _0x1784fb!==_0x4d4dcd;},'PJLHi':_0x3dac3a(0xee),'nbHEr':function(_0x57830f,_0x1bb43b,_0x2bc956,_0x3d8c3,_0x4321a3,_0x322a40,_0x65574){return _0x57830f(_0x1bb43b,_0x2bc956,_0x3d8c3,_0x4321a3,_0x322a40,_0x65574);},'VxxFG':function(_0x6dbd98,_0x510090){return _0x6dbd98===_0x510090;},'BcIRp':_0x3dac3a(0x1cf),'mkDiC':_0x3dac3a(0x327),'SIOMu':_0x3dac3a(0x45c),'oNDal':function(_0x3488e2,_0x4c27bf){return _0x3488e2(_0x4c27bf);},'CNuyk':function(_0x985ff7,_0x43f4ff){return _0x985ff7+_0x43f4ff;},'dIBwh':'Không\x20thể\x20cập\x20nhật\x20được\x20dữ\x20liệu\x20chứng\x20từ\x20','nsyAj':_0x3dac3a(0x254),'IIcdU':_0x3dac3a(0x3ff),'WXCxW':function(_0x4e51bb,_0x2f6743,_0x338ec9){return _0x4e51bb(_0x2f6743,_0x338ec9);},'rPPtT':_0x3dac3a(0x31f),'OMBNr':_0x3dac3a(0x193),'kCJno':function(_0x27e940,_0x2a0903){return _0x27e940!==_0x2a0903;},'GiEtM':_0x3dac3a(0x26b),'fSUmp':_0x3dac3a(0xf4),'Yamaq':function(_0x985b11,_0x638152){return _0x985b11===_0x638152;},'pFOlV':_0x3dac3a(0xdd),'SEGNn':_0x3dac3a(0x297),'jUgAF':function(_0x40f94b,_0xa939eb){return _0x40f94b===_0xa939eb;},'LWnaM':_0x3dac3a(0x19d),'yGYAC':function(_0x5dc381,_0x1fe101){return _0x5dc381===_0x1fe101;},'KwuzK':_0x3dac3a(0x280),'EGARg':_0x3dac3a(0x371),'BmeKw':_0x3dac3a(0x411),'gFQUE':_0x3dac3a(0x2ef),'zwoCX':'AEvnR','IvuOS':_0x3dac3a(0x141),'wiHwp':function(_0x838164,_0x3f4227){return _0x838164!==_0x3f4227;},'XIuZX':_0x3dac3a(0x302),'hdMRc':_0x3dac3a(0x353),'oInQJ':'/:id'};let _0x56fd57=this;this[_0x3dac3a(0x27e)][_0x3dac3a(0x377)](_0x1dd70e[_0x3dac3a(0x388)](this[_0x3dac3a(0x1d6)],_0x1dd70e[_0x3dac3a(0x48b)]))[_0x3dac3a(0x10f)](async function(_0x5a1b8b,_0xcea9e9){const _0x14ba35=_0x3dac3a,_0xb28b6a={'tgtNy':_0x1dd70e[_0x14ba35(0x241)],'KooHo':_0x1dd70e[_0x14ba35(0x3d5)],'ODGqn':_0x1dd70e[_0x14ba35(0x4ac)],'POAdL':function(_0x98dff7,_0xd552d7){const _0x35298d=_0x14ba35;return _0x1dd70e[_0x35298d(0x104)](_0x98dff7,_0xd552d7);},'sScib':function(_0x4f88fe,_0x378429){const _0x3a09bb=_0x14ba35;return _0x1dd70e[_0x3a09bb(0x388)](_0x4f88fe,_0x378429);},'KoRoE':function(_0x2c99fe,_0x4893d4){return _0x1dd70e['CNuyk'](_0x2c99fe,_0x4893d4);},'voUvl':_0x1dd70e[_0x14ba35(0x47b)],'CYqBD':_0x1dd70e[_0x14ba35(0x2ec)],'ydECU':_0x1dd70e['IIcdU'],'ehGrF':function(_0xd2bf43,_0x190390,_0x3759dc){const _0x25a066=_0x14ba35;return _0x1dd70e[_0x25a066(0x366)](_0xd2bf43,_0x190390,_0x3759dc);},'nordy':function(_0x1827da,_0x23c7f9){return _0x1827da!==_0x23c7f9;},'cVqqn':_0x1dd70e[_0x14ba35(0x2da)],'FCxtT':_0x1dd70e['OMBNr'],'XHWkv':function(_0x4ae45c,_0x249f47){const _0x22dff8=_0x14ba35;return _0x1dd70e[_0x22dff8(0x449)](_0x4ae45c,_0x249f47);},'zfxKP':_0x14ba35(0x322),'kiJBj':function(_0x5b6f71,_0xd9d8bd){return _0x1dd70e['kCJno'](_0x5b6f71,_0xd9d8bd);},'FkLfX':_0x1dd70e['GiEtM'],'NRHsV':_0x1dd70e['fSUmp'],'NMXTz':function(_0x13955c,_0x312184,_0x28ff47,_0xe9217b,_0x147105,_0x21b2e2,_0x493740){return _0x1dd70e['nbHEr'](_0x13955c,_0x312184,_0x28ff47,_0xe9217b,_0x147105,_0x21b2e2,_0x493740);},'WrYQW':function(_0x1d7391,_0x536e64){const _0xb80a3b=_0x14ba35;return _0x1dd70e[_0xb80a3b(0x3b5)](_0x1d7391,_0x536e64);},'uGYGu':_0x1dd70e[_0x14ba35(0x1b5)],'VoOGR':_0x1dd70e[_0x14ba35(0x1ac)]};if(_0x1dd70e[_0x14ba35(0x351)](_0x14ba35(0x23f),_0x14ba35(0x126)))_0xcb4478[_0x14ba35(0x432)](0x190)[_0x14ba35(0x1d2)](_0x21a581);else{let _0xa5ae0e=_0x5a1b8b[_0x14ba35(0x110)];if(_0x5a1b8b[_0x14ba35(0x239)]){if(_0x1dd70e[_0x14ba35(0x313)](_0x1dd70e[_0x14ba35(0x12c)],_0x1dd70e[_0x14ba35(0x12c)]))_[_0x14ba35(0x1ff)](_0xa5ae0e,_0x5a1b8b[_0x14ba35(0x239)]);else{const {query:_0xd1cda0,body:_0x123cf6,user:_0x4ca841,params:_0x1b276c,headers:_0x154f75,files:_0x5432f6}=_0x10a3b4,_0x56f544=_0x11d2d7[_0x14ba35(0x167)](_0x14ba35(0x371)),_0xb081b=_0x51bcbc['ip']||_0x66833a[_0x14ba35(0x323)][_0xb28b6a['tgtNy']]||_0x2ca128[_0x14ba35(0x249)]['remoteAddress'];try{const _0x462d8d={'type_job':_0xb28b6a[_0x14ba35(0xfb)],'query':_0xd1cda0,'body':_0x123cf6,'user':_0x4ca841,'params':_0x1b276c,'headers':_0x154f75,'user_agent':_0x56f544,'ip':_0xb081b,'files':_0x5432f6,'originalUrl':_0x17a327[_0x14ba35(0x41f)]};_0x3d95a7[_0x14ba35(0x253)](_0x241bf3,_0x462d8d,(_0x1ed118,_0x595ea0)=>{const _0x18e95b=_0x14ba35;if(_0x1ed118)return _0x3e8471['status'](0x190)[_0x18e95b(0x1d2)]({'error':_0x1ed118[_0x18e95b(0x1e4)]||_0x1ed118[_0x18e95b(0x148)]||_0x1ed118});_0x5bd47f[_0x18e95b(0x1d2)](_0x595ea0);});}catch(_0x44ea3c){_0x1271a3['status'](0x190)['send'](_0x44ea3c);}}}let _0x33d9c0;try{_0x33d9c0=_0x1dd70e[_0x14ba35(0x104)](bodyToJson,_0xa5ae0e);}catch(_0x3b2c26){return _0x1dd70e[_0x14ba35(0x1a9)](_0x1dd70e[_0x14ba35(0x153)],_0x14ba35(0x280))?_0xcea9e9['status'](0x190)[_0x14ba35(0x1d2)]({'error':_0x3b2c26[_0x14ba35(0x148)]||_0x3b2c26[_0x14ba35(0x1e4)]||_0x3b2c26}):(_0x198700[_0x14ba35(0x1e4)](_0xb28b6a[_0x14ba35(0x448)],_0x291f5a),_0xb28b6a[_0x14ba35(0x3fd)](_0x710c64,{'error':_0xb28b6a[_0x14ba35(0x20b)](_0xb28b6a[_0x14ba35(0x282)](_0xb28b6a['voUvl'],_0x17cf47['so_ct'])+_0xb28b6a[_0x14ba35(0x191)],_0x7ebf30[_0x14ba35(0x148)])||_0x52ce00[_0x14ba35(0x1e4)]||''}));}let {query:_0x1e84db,user:_0x5c1c32,params:_0x471d21,files:_0x555c43,uploadFile:_0xc0fffa,headers:_0x3c0059}=_0x5a1b8b;_0x471d21=_[_0x14ba35(0x128)](_0x471d21),_0x1e84db=_['cloneDeep'](_0x1e84db);const _0x53c5d6=_0x5a1b8b['header'](_0x1dd70e['EGARg']),_0x438317=_0x5a1b8b['ip']||_0x5a1b8b['headers'][_0x14ba35(0x1cf)]||_0x5a1b8b[_0x14ba35(0x249)][_0x14ba35(0x15b)],_0x2b6c18=_0x5a1b8b[_0x14ba35(0x14c)]['id'];let _0xfa41a8=_0x1dd70e[_0x14ba35(0x39c)];try{const _0x45de32={'handler':_0x1dd70e[_0x14ba35(0x1f2)],'query':_0x1e84db,'headers':_0x3c0059,'_action':_0xfa41a8,'id':_0x2b6c18,'data':_0x33d9c0,'body':_0xa5ae0e,'user':_0x5c1c32,'params':_0x471d21,'user_agent':_0x53c5d6,'ip':_0x438317,'files':_0x555c43,'uploadFile':_0xc0fffa,'originalUrl':_0x5a1b8b['originalUrl']};if(global[_0x14ba35(0xfd)])global[_0x14ba35(0xfd)][_0x14ba35(0x2b3)]({'req':_0x45de32,'module':_0x56fd57[_0x14ba35(0x393)][_0x14ba35(0x2e9)](),'configs':JSON[_0x14ba35(0x35a)](configs)},_0x53289a=>{const _0xf11b1e=_0x14ba35,_0x579531={'iZphk':_0xf11b1e(0xff),'Xhixq':function(_0x3dd56d,_0x10951e,_0x1c494a){const _0x21f379=_0xf11b1e;return _0xb28b6a[_0x21f379(0x4aa)](_0x3dd56d,_0x10951e,_0x1c494a);}};if(_0xb28b6a[_0xf11b1e(0x246)](_0xb28b6a[_0xf11b1e(0x48f)],_0xb28b6a['FCxtT'])){if(_0x53289a[_0xf11b1e(0x1e4)]){if(_0xb28b6a[_0xf11b1e(0x22e)](_0xf11b1e(0x192),_0xb28b6a[_0xf11b1e(0x3f6)]))return _0xcea9e9[_0xf11b1e(0x432)](0x190)[_0xf11b1e(0x1d2)]({'error':_0x53289a[_0xf11b1e(0x1e4)]['error']||_0x53289a[_0xf11b1e(0x1e4)][_0xf11b1e(0x148)]||_0x53289a[_0xf11b1e(0x1e4)],'message':_0x53289a[_0xf11b1e(0x148)]||_0x53289a[_0xf11b1e(0x1e4)][_0xf11b1e(0x1e4)]||_0x53289a[_0xf11b1e(0x1e4)][_0xf11b1e(0x148)]||_0x53289a[_0xf11b1e(0x1e4)]});else{const _0x47fe04=_0xf11b1e(0x38b)+_0x2f5474[_0xf11b1e(0x2b8)](0x14)[_0xf11b1e(0x222)](_0x579531['iZphk']);_0x492789[_0xf11b1e(0xfd)][_0xf11b1e(0x2b3)]({'id_task':_0x47fe04,'req':_0x2cfc64,'module':_0x3e74c1[_0xf11b1e(0x393)]['toUpperCase'](),'configs':_0x1558a5[_0xf11b1e(0x35a)](_0x5aa75)},_0x16c9cc=>{const _0x32bd7f=_0xf11b1e;if(_0x16c9cc[_0x32bd7f(0x1e4)])return _0x2f1f60[_0x32bd7f(0x432)](0x190)[_0x32bd7f(0x1d2)]({'error':_0x16c9cc[_0x32bd7f(0x1e4)][_0x32bd7f(0x1e4)]||_0x16c9cc[_0x32bd7f(0x1e4)][_0x32bd7f(0x148)]||_0x16c9cc[_0x32bd7f(0x1e4)],'message':_0x16c9cc['message']||_0x16c9cc[_0x32bd7f(0x1e4)]['error']||_0x16c9cc[_0x32bd7f(0x1e4)][_0x32bd7f(0x148)]||_0x16c9cc[_0x32bd7f(0x1e4)]});else _0x4a81b7(_0x15c230,_0x16c9cc['result']);});}}else{if(_0xb28b6a[_0xf11b1e(0x171)](_0xb28b6a[_0xf11b1e(0x1c1)],_0xb28b6a[_0xf11b1e(0x31b)])){let {new_obj:_0x20cc04,old_obj:_0x86471c}=_0x53289a[_0xf11b1e(0x3f3)];_0xb28b6a['NMXTz'](pushNotification,_0x56fd57,_0x20cc04,_0xfa41a8,_0x86471c,null,{'exclude_token':_0x5a1b8b[_0xf11b1e(0x19a)][_0xf11b1e(0x2a9)]}),_0x5a1b8b['query'][_0xf11b1e(0x260)]===![]?_0xcea9e9[_0xf11b1e(0x1d2)]({'_id':_0x20cc04['_id'][_0xf11b1e(0x222)]()}):_0xb28b6a[_0xf11b1e(0x145)](_0xb28b6a[_0xf11b1e(0x332)],_0xb28b6a[_0xf11b1e(0x3a4)])?_0x2a9b2e=_0x3787f8[_0xf11b1e(0x46f)](_0x481ae6[_0xf11b1e(0x453)]()):_0xcea9e9['send'](_0x20cc04);}else _0xd83a10['error'](_0xb28b6a[_0xf11b1e(0x1cb)],_0x2e9a0d);}}else{if(_0x4c5925)return _0x9f0c40[_0xf11b1e(0x432)](0x190)[_0xf11b1e(0x1d2)](_0x12ec88);_0x579531[_0xf11b1e(0x420)](_0x4d3812,_0x1e41a2,_0x5c85a9);}});else{if(_0x1dd70e['zwoCX']===_0x1dd70e[_0x14ba35(0x39b)]){let _0x4bc075=_0x33c4e2[_0x14ba35(0x11c)](_0x1dd70e['FERpV']),_0x279b3b=_0x68cb56['filter'](_0x5b6fea=>_0x5b6fea[_0x14ba35(0x328)]===_0x3ff65a['ma_vt']&&_0x5b6fea[_0x14ba35(0x38f)]===_0x2c22b7)[_0x14ba35(0x290)]((_0x2b51a2,_0x510449)=>(_0x2b51a2[_0x14ba35(0x457)]||0x0)+(_0x510449[_0x14ba35(0x457)]||0x0),0x0);_0x1dd70e['wjvde'](_0x5f456c[_0x14ba35(0x457)],_0x50e499[_0x14ba35(0x132)](_0x4bc075+_0x279b3b,0x2))?_0x3f6825('Sản\x20phẩm\x20'+_0x3895bb[_0x14ba35(0x328)]+'\x20-\x20'+_0x450282[_0x14ba35(0x25b)]+'\x20có\x20số\x20lượng\x20xuất\x20quy\x20đổi\x20('+_0x3f84c7['sl_xuat_qd']+_0x14ba35(0x28b)+(_0x4bc075+_0x279b3b)+')'):_0x1dd70e[_0x14ba35(0x1da)](_0x8aa77c);}else handlers['updateHandler'](_0x56fd57,_0x45de32,(_0x1b7748,_0x5b370)=>{const _0x3fc87d=_0x14ba35,_0x39f1e0={'ZNedx':_0x1dd70e[_0x3fc87d(0x360)],'nWMWI':_0x1dd70e['rHXvI'],'BTbxt':_0x1dd70e[_0x3fc87d(0x1b8)]};if(_0x1dd70e[_0x3fc87d(0x449)](_0x1dd70e[_0x3fc87d(0x347)],_0x1dd70e['PJLHi'])){if(_0x7bd06e)return _0x49b997[_0x3fc87d(0x32a)](_0x39f1e0[_0x3fc87d(0x4b2)])[_0x3fc87d(0x183)](_0x1f3ca5[_0x3fc87d(0x1ea)][_0x3fc87d(0x301)],_0x747da3[_0x3fc87d(0x1ea)][_0x3fc87d(0x301)],_0x39f1e0[_0x3fc87d(0x317)],_0x2e9a98['message']||_0xabb463[_0x3fc87d(0x1e4)]||_0x118868,null,{'id_app':_0x16f565['user'][_0x3fc87d(0x391)]},!![],_0x244c88['access_token'],!![]);_0x19bd8a[_0x3fc87d(0x32a)](_0x39f1e0[_0x3fc87d(0x4b2)])[_0x3fc87d(0x183)](_0x150a56[_0x3fc87d(0x1ea)][_0x3fc87d(0x301)],_0x3a57d1[_0x3fc87d(0x1ea)]['email'],_0x39f1e0[_0x3fc87d(0x3c9)],_0x39f1e0[_0x3fc87d(0x3c9)],null,{'id_app':_0x14ca8a[_0x3fc87d(0x1ea)][_0x3fc87d(0x391)]},!![],_0x52e379[_0x3fc87d(0x2a9)],!![]);}else{if(_0x1b7748)return _0xcea9e9[_0x3fc87d(0x432)](0x190)[_0x3fc87d(0x1d2)]({'error':_0x1b7748[_0x3fc87d(0x1e4)]||_0x1b7748['message']||_0x1b7748});let {new_obj:_0x2bb953,old_obj:_0x57f24a}=_0x5b370;_0x1dd70e['nbHEr'](pushNotification,_0x56fd57,_0x2bb953,_0xfa41a8,_0x57f24a,null,{'exclude_token':_0x5a1b8b[_0x3fc87d(0x19a)]['access_token']}),_0x1dd70e[_0x3fc87d(0x351)](_0x5a1b8b[_0x3fc87d(0x19a)][_0x3fc87d(0x260)],![])?_0xcea9e9[_0x3fc87d(0x1d2)]({'_id':_0x2bb953[_0x3fc87d(0x490)][_0x3fc87d(0x222)]()}):_0xcea9e9[_0x3fc87d(0x1d2)](_0x2bb953);}});}}catch(_0x2fc801){_0x1dd70e[_0x14ba35(0x3a1)](_0x1dd70e[_0x14ba35(0x157)],_0x1dd70e[_0x14ba35(0x2e5)])?_0xcea9e9[_0x14ba35(0x432)](0x190)['send'](_0x2fc801):_0x41fc4f['send'](_0x3322c1[_0x14ba35(0x3f3)]);}}});},controller[_0x7ea2d4(0x414)]['delete']=function(){const _0x93d601=_0x7ea2d4,_0xbfdf6={'zCVce':function(_0xcd554e,_0x2f5357,_0x4fec3f){return _0xcd554e(_0x2f5357,_0x4fec3f);},'lZccp':function(_0x305357,_0x354ce0){return _0x305357(_0x354ce0);},'VoVYD':_0x93d601(0x24a),'sXCes':_0x93d601(0x371),'GIMhw':function(_0x10c3ed,_0x30a909){return _0x10c3ed!==_0x30a909;},'lQTOw':_0x93d601(0x15c),'pNfty':_0x93d601(0x289),'WtyRy':function(_0x219180,_0x402b9f){return _0x219180+_0x402b9f;}};let _0x327bcb=this;this[_0x93d601(0x27e)][_0x93d601(0x377)](_0xbfdf6['WtyRy'](this[_0x93d601(0x1d6)],_0x93d601(0x346)))[_0x93d601(0x103)](async(_0x228218,_0x21aea9)=>{const _0x4d035b=_0x93d601,_0x562860={'mlxmE':function(_0x310b41,_0x28b78b){const _0xa8d6d1=_0x5430;return _0xbfdf6[_0xa8d6d1(0x4be)](_0x310b41,_0x28b78b);},'RjduB':_0xbfdf6[_0x4d035b(0x3bf)]},{query:_0x4568bf,body:_0x30a822,user:_0x28df5d,params:_0x11adc3,headers:_0x15d697,files:_0x411455}=_0x228218,_0x52c3f8=_0x228218['header'](_0xbfdf6[_0x4d035b(0x3c4)]),_0x291bd3=_0x228218['ip']||_0x228218['headers']['x-forwarded-for']||_0x228218['connection']['remoteAddress'];try{const _0x17b2bc={'query':_0x4568bf,'body':_0x30a822,'user':_0x28df5d,'params':_0x11adc3,'headers':_0x15d697,'user_agent':_0x52c3f8,'ip':_0x291bd3,'files':_0x411455,'originalUrl':_0x228218[_0x4d035b(0x41f)]};handlers[_0x4d035b(0x2cb)](_0x327bcb,_0x17b2bc,(_0xdb0f82,_0x28534d)=>{const _0x4eeb5b=_0x4d035b,_0x390b9c={'NvPhW':function(_0x500d89,_0x1e33c4){const _0x40e623=_0x5430;return _0x562860[_0x40e623(0x149)](_0x500d89,_0x1e33c4);}};if(_0x562860['RjduB']===_0x4eeb5b(0x24a)){if(_0xdb0f82)return _0x21aea9[_0x4eeb5b(0x432)](0x190)[_0x4eeb5b(0x1d2)]({'error':_0xdb0f82[_0x4eeb5b(0x1e4)]||_0xdb0f82[_0x4eeb5b(0x148)]||_0xdb0f82});_0x21aea9['send'](_0x28534d);}else return _0x1a6cec['error'](_0x4eeb5b(0x137),_0x4998a5),_0x390b9c[_0x4eeb5b(0x463)](_0x1822dc,{'error':_0x1a82c0['message']||_0x3c637d[_0x4eeb5b(0x1e4)]||_0x5ccf66});});}catch(_0x1e0e53){_0xbfdf6[_0x4d035b(0xf8)](_0xbfdf6[_0x4d035b(0x480)],_0xbfdf6[_0x4d035b(0x374)])?_0x21aea9[_0x4d035b(0x432)](0x190)['send'](_0x1e0e53):_0x45496c=_0xbfdf6[_0x4d035b(0x497)](_0x355894,_0x1e67c6,_0x5ece02);}});},controller[_0x7ea2d4(0x414)][_0x7ea2d4(0x3d3)]=function(_0x34af11){const _0x413097=_0x7ea2d4,_0x10d7d7={'ZALXW':_0x413097(0x2d8),'VrirU':_0x413097(0x363),'bZgLj':'Chương\x20trình\x20đã\x20import\x20dữ\x20liệu\x20xong','LQSMb':_0x413097(0x240),'TploL':function(_0x40b199,_0x2cecc5){return _0x40b199*_0x2cecc5;},'zTNJm':function(_0x17cb63,_0xbf73c3){return _0x17cb63*_0xbf73c3;},'mzJHK':function(_0x441557,_0x4ee136){return _0x441557===_0x4ee136;},'QASus':_0x413097(0x1ec),'OWCzk':_0x413097(0x387),'bWRSb':'fqPCB','ZRCWL':_0x413097(0x1e0),'Wqbuc':_0x413097(0x371),'FrPtT':'x-forwarded-for','PFhjV':_0x413097(0x164),'AJlHt':function(_0x1cc80a,_0x434897){return _0x1cc80a!==_0x434897;},'LGNkA':_0x413097(0xe0),'KmzAB':_0x413097(0xf9)};let _0x135822=this;const _0x10938c=async(_0x5253e3,_0x41b15c)=>{const _0x38c265=_0x413097;if(_0x10d7d7[_0x38c265(0x356)]===_0x10d7d7[_0x38c265(0x122)])_0x5524f4=_0x57b8e3[_0x38c265(0x344)](_0x5105ef,_0x5ecd8c[_0x38c265(0x110)]);else{const {query:_0xc9f0ad,body:_0x1516af,user:_0x451b24,params:_0x4ccfc1,headers:_0x39ea85}=_0x5253e3,_0x21bc07=_0x5253e3[_0x38c265(0x167)](_0x10d7d7[_0x38c265(0x281)]),_0x4c0e78=_0x5253e3['ip']||_0x5253e3[_0x38c265(0x323)][_0x10d7d7[_0x38c265(0x2be)]]||_0x5253e3['connection']['remoteAddress'];try{const _0x1e4843={'handler':_0x10d7d7[_0x38c265(0x3de)],'query':_0xc9f0ad,'body':_0x1516af,'user':_0x451b24,'params':_0x4ccfc1,'headers':_0x39ea85,'user_agent':_0x21bc07,'ip':_0x4c0e78,'originalUrl':_0x5253e3[_0x38c265(0x41f)]};if(global[_0x38c265(0xfd)]){if(_0x10d7d7[_0x38c265(0x299)](_0x10d7d7[_0x38c265(0x202)],_0x10d7d7[_0x38c265(0x202)])){const _0x839c2a={'ojIvf':_0x10d7d7[_0x38c265(0x49c)],'xyzSK':_0x10d7d7['VrirU'],'TXjEN':_0x10d7d7[_0x38c265(0x2ac)]},_0x3dd6a6=_0x38c265(0x27c)+_0x3c7c07[_0x38c265(0x2b8)](0x14)[_0x38c265(0x222)]('hex'),_0x2341cd=(_0x5b6930['api_url']||_0x407ec4['domain'])+_0x38c265(0x211)+_0x3dd6a6;_0x41a6bd[_0x38c265(0x204)]=_0x2341cd,_0xd0368[_0x38c265(0x432)](0xca)[_0x38c265(0x1d2)]({'message':_0x10d7d7[_0x38c265(0x315)],'status_task':_0x2341cd}),_0x1c2bff[_0x38c265(0x354)][_0x38c265(0x2b3)]({'id_task':_0x3dd6a6,'req':_0x11bd98,'module':_0x112d4e[_0x38c265(0x393)][_0x38c265(0x2e9)](),'configs':_0x4c54d7['stringify'](_0x2cb47c)},_0x1fb6c6=>{const _0xedcf68=_0x38c265,_0x3a4391=_0x1fb6c6[_0xedcf68(0x1e4)];if(_0x3a4391)return _0x42ae0a['getModel'](_0x839c2a['ojIvf'])['createNotification'](_0x7b1a2f[_0xedcf68(0x1ea)]['email'],_0x4388c7['user'][_0xedcf68(0x301)],_0x839c2a[_0xedcf68(0x42b)],_0x3a4391[_0xedcf68(0x148)]||_0x3a4391[_0xedcf68(0x1e4)]||_0x3a4391,null,{'id_app':_0x3d5ae2['user'][_0xedcf68(0x391)]},!![],null,!![]);_0x28984d[_0xedcf68(0x32a)](_0xedcf68(0x2d8))[_0xedcf68(0x183)](_0x7ef25d['user'][_0xedcf68(0x301)],_0x3bb1ad[_0xedcf68(0x1ea)]['email'],_0x839c2a['TXjEN'],_0x839c2a['TXjEN'],null,{'id_app':_0x343800[_0xedcf68(0x1ea)][_0xedcf68(0x391)]},!![],null,!![]);},_0x10d7d7[_0x38c265(0xe1)](_0x10d7d7['zTNJm'](_0x10d7d7[_0x38c265(0xe1)](0x2,0x18)*0x3c,0x3c),0x3e8));}else global['inputMainPool']['exec']({'req':_0x1e4843,'module':_0x135822[_0x38c265(0x393)][_0x38c265(0x2e9)](),'configs':JSON[_0x38c265(0x35a)](configs)},_0x3b129d=>{const _0x342967=_0x38c265;if(_0x3b129d['error'])return _0x41b15c[_0x342967(0x432)](0x190)[_0x342967(0x1d2)]({'error':_0x3b129d['error'][_0x342967(0x1e4)]||_0x3b129d['error']['message']||_0x3b129d[_0x342967(0x1e4)],'message':_0x3b129d[_0x342967(0x148)]||_0x3b129d['error'][_0x342967(0x1e4)]||_0x3b129d[_0x342967(0x1e4)][_0x342967(0x148)]||_0x3b129d[_0x342967(0x1e4)]});else{if(_0x10d7d7[_0x342967(0xed)](_0x10d7d7['QASus'],_0x10d7d7[_0x342967(0x399)])){if(_0x4f49b3['error'])return _0x12d5a4[_0x342967(0x432)](0x190)[_0x342967(0x1d2)]({'error':_0x1ce7f9[_0x342967(0x1e4)]['error']||_0x44e17a[_0x342967(0x1e4)][_0x342967(0x148)]||_0x16a57b[_0x342967(0x1e4)],'message':_0x2f9231['message']||_0x4165bf[_0x342967(0x1e4)][_0x342967(0x1e4)]||_0x361ef9[_0x342967(0x1e4)][_0x342967(0x148)]||_0x3fad7c[_0x342967(0x1e4)]});else _0x5543ca(_0x4d985e,_0x2b3aeb[_0x342967(0x3f3)]);}else _0x41b15c[_0x342967(0x1d2)](_0x3b129d[_0x342967(0x3f3)]);}});}else _0x38c265(0x2e0)!==_0x10d7d7['KmzAB']?handlers[_0x38c265(0x164)](_0x135822,_0x1e4843,(_0x22ab31,_0x3214f4)=>{const _0x568aed=_0x38c265;if(_0x22ab31)return _0x41b15c[_0x568aed(0x432)](0x190)[_0x568aed(0x1d2)]({'error':_0x22ab31[_0x568aed(0x1e4)]||_0x22ab31[_0x568aed(0x148)]||_0x22ab31});_0x41b15c['send'](_0x3214f4);}):_0x102df6=_0x38c265(0x1fb)+_0x4086d2;}catch(_0x393aee){_0x41b15c['status'](0x190)[_0x38c265(0x1d2)](_0x393aee);}}};let _0x19dffd=_0x34af11||this['route_name'];this['router'][_0x413097(0x377)](_0x19dffd+_0x413097(0x326))['post'](_0x10938c);},controller[_0x7ea2d4(0x414)][_0x7ea2d4(0x327)]=function(){const _0x1efb8d=_0x7ea2d4,_0x1ee802={'NMRKC':function(_0x476f2d,_0x39e910){return _0x476f2d===_0x39e910;},'CAiRk':_0x1efb8d(0x320),'DZYvo':_0x1efb8d(0x371),'wRPgA':'x-forwarded-for','HjBkj':function(_0x52d538,_0x5475d5){return _0x52d538+_0x5475d5;},'qbYco':_0x1efb8d(0x3a0)};let _0x56e523=this;this[_0x1efb8d(0x27e)][_0x1efb8d(0x377)](_0x1ee802[_0x1efb8d(0x3b0)](this[_0x1efb8d(0x1d6)],_0x1ee802[_0x1efb8d(0x13d)]))[_0x1efb8d(0x1cc)](async function(_0x40a21a,_0x2d3a8b){const _0x5040f2=_0x1efb8d,_0x5ab490={'Aosot':function(_0x5efbeb,_0x1910bd){const _0xda62a7=_0x5430;return _0x1ee802[_0xda62a7(0x410)](_0x5efbeb,_0x1910bd);},'fQLfA':_0x1ee802['CAiRk']},{query:_0x2729b8,body:_0x553d9a,user:_0x14abf2,params:_0xa6c235,headers:_0x2a4258,files:_0x150d7d}=_0x40a21a,_0x4ec482=_0x40a21a[_0x5040f2(0x167)](_0x1ee802[_0x5040f2(0x2fe)]),_0xa9d8aa=_0x40a21a['ip']||_0x40a21a[_0x5040f2(0x323)][_0x1ee802['wRPgA']]||_0x40a21a[_0x5040f2(0x249)][_0x5040f2(0x15b)];try{const _0x2614bf={'type_job':_0x5040f2(0x327),'query':_0x2729b8,'body':_0x553d9a,'user':_0x14abf2,'params':_0xa6c235,'headers':_0x2a4258,'user_agent':_0x4ec482,'ip':_0xa9d8aa,'files':_0x150d7d,'originalUrl':_0x40a21a[_0x5040f2(0x41f)]};handlers[_0x5040f2(0x253)](_0x56e523,_0x2614bf,(_0x4a521e,_0x496f4c)=>{const _0x233116=_0x5040f2;if(_0x5ab490[_0x233116(0x140)](_0x5ab490[_0x233116(0x218)],_0x5ab490[_0x233116(0x218)])){if(_0x4a521e)return _0x2d3a8b[_0x233116(0x432)](0x190)[_0x233116(0x1d2)]({'error':_0x4a521e[_0x233116(0x1e4)]||_0x4a521e['message']||_0x4a521e});_0x2d3a8b['send'](_0x496f4c);}else _0x25b6e7[_0x233116(0xfd)]['exec']({'req':_0x190f91,'module':_0x278989[_0x233116(0x393)][_0x233116(0x2e9)](),'configs':_0x5a110b[_0x233116(0x35a)](_0x3f9c71)},_0x2bf96a=>{const _0x51a503=_0x233116;if(_0x2bf96a[_0x51a503(0x1e4)])return _0x2d55b8[_0x51a503(0x432)](0x190)['send']({'error':_0x2bf96a[_0x51a503(0x1e4)][_0x51a503(0x1e4)]||_0x2bf96a[_0x51a503(0x1e4)][_0x51a503(0x148)]||_0x2bf96a[_0x51a503(0x1e4)],'message':_0x2bf96a['message']||_0x2bf96a[_0x51a503(0x1e4)][_0x51a503(0x1e4)]||_0x2bf96a['error'][_0x51a503(0x148)]||_0x2bf96a[_0x51a503(0x1e4)]});else _0x2aa57d[_0x51a503(0x1d2)](_0x2bf96a[_0x51a503(0x3f3)]);});});}catch(_0x1c82c7){_0x2d3a8b[_0x5040f2(0x432)](0x190)[_0x5040f2(0x1d2)](_0x1c82c7);}});},controller[_0x7ea2d4(0x414)][_0x7ea2d4(0x491)]=function(){const _0x2486aa=_0x7ea2d4,_0x3909f0={'dKTEH':_0x2486aa(0x2d8),'pbgcp':_0x2486aa(0x3f7),'TxALi':_0x2486aa(0x240),'oasJI':function(_0x388f1e,_0x2fe53b){return _0x388f1e!==_0x2fe53b;},'lTIEj':_0x2486aa(0x1d4),'herSM':_0x2486aa(0x2ff),'vSynO':_0x2486aa(0x371),'mTDEl':function(_0x261e84,_0x5d4ab9){return _0x261e84===_0x5d4ab9;},'riDYa':_0x2486aa(0x18f),'PffFi':'rIuaO','sqxhA':function(_0x1b10d4,_0x371cbe){return _0x1b10d4+_0x371cbe;},'xpJGg':'/g/log/:action'};let _0xf60c6f=this;this['router'][_0x2486aa(0x377)](_0x3909f0[_0x2486aa(0x307)](this['route_name'],_0x3909f0[_0x2486aa(0x2e8)]))[_0x2486aa(0x1cc)](async function(_0x47f90e,_0x33f0c5){const _0x61c379=_0x2486aa,_0x43fe8d={'JDZPE':_0x3909f0['dKTEH'],'HiokT':_0x3909f0[_0x61c379(0x435)],'Hsisi':_0x3909f0[_0x61c379(0x1e8)],'bBrNf':function(_0x230d98,_0x966a97){const _0x39f315=_0x61c379;return _0x3909f0[_0x39f315(0x495)](_0x230d98,_0x966a97);},'TmtdU':_0x3909f0[_0x61c379(0x1dd)],'ceJRA':_0x3909f0[_0x61c379(0x324)]},{query:_0x1659ba,body:_0x52d297,user:_0x4d67ce,params:_0x40d989,headers:_0x5f2c13,files:_0x41a6e6}=_0x47f90e,_0x3bdcc3=_0x47f90e['header'](_0x3909f0[_0x61c379(0x464)]),_0x1e66f1=_0x47f90e['ip']||_0x47f90e[_0x61c379(0x323)][_0x61c379(0x1cf)]||_0x47f90e[_0x61c379(0x249)]['remoteAddress'];try{if(_0x3909f0[_0x61c379(0x2c0)](_0x3909f0[_0x61c379(0x20c)],_0x61c379(0x348))){const _0x523f14={'dtcov':_0x43fe8d[_0x61c379(0x1ce)],'WUwJd':_0x43fe8d['HiokT']},_0x428f40=_0x61c379(0x119)+_0x215c39[_0x61c379(0x2b8)](0x14)['toString'](_0x61c379(0xff)),_0x3e7ecc=(_0x56a588[_0x61c379(0x352)]||_0x46d859[_0x61c379(0x408)])+'/task-status/'+_0x428f40;_0x5d318c['status'](0xca)['send']({'message':_0x43fe8d[_0x61c379(0x251)],'status_task':_0x3e7ecc}),_0x385fe5['importDataMainPool']['exec']({'id_task':_0x428f40,'req':_0x337579,'module':_0x40608c[_0x61c379(0x393)]['toUpperCase'](),'configs':_0x58affb[_0x61c379(0x35a)](_0x39fa24)},_0xcd0405=>{const _0x54417=_0x61c379,_0x490063=_0xcd0405['error'];if(_0x490063)return _0x2e76cd['getModel'](_0x523f14[_0x54417(0x1e1)])[_0x54417(0x183)](_0x1d95d3[_0x54417(0x1ea)]['email'],_0x3a78b2[_0x54417(0x1ea)][_0x54417(0x301)],_0x54417(0x1d8),_0x490063[_0x54417(0x148)]||_0x490063['error']||_0x490063,null,{'id_app':_0x4fb4a5['user'][_0x54417(0x391)]},!![],_0x3d6aea[_0x54417(0x2a9)],!![]);_0x485171[_0x54417(0x32a)](_0x54417(0x2d8))['createNotification'](_0x44b000[_0x54417(0x1ea)][_0x54417(0x301)],_0x5bc853[_0x54417(0x1ea)][_0x54417(0x301)],_0x523f14[_0x54417(0x2d1)],_0x523f14[_0x54417(0x2d1)],null,{'id_app':_0x4beb58[_0x54417(0x1ea)][_0x54417(0x391)]},!![],_0x1b7db5[_0x54417(0x2a9)],!![]);});}else{const _0x24cdc3={'type_job':_0x61c379(0x368),'query':_0x1659ba,'body':_0x52d297,'user':_0x4d67ce,'params':_0x40d989,'headers':_0x5f2c13,'user_agent':_0x3bdcc3,'ip':_0x1e66f1,'files':_0x41a6e6,'originalUrl':_0x47f90e[_0x61c379(0x41f)]};handlers[_0x61c379(0x19b)](_0xf60c6f,_0x24cdc3,(_0x1fc514,_0x782bb6)=>{const _0x12d6cd=_0x61c379;if(_0x43fe8d[_0x12d6cd(0x21f)](_0x43fe8d[_0x12d6cd(0x1af)],_0x43fe8d[_0x12d6cd(0x105)])){if(_0x1fc514)return _0x33f0c5[_0x12d6cd(0x432)](0x190)[_0x12d6cd(0x1d2)]({'error':_0x1fc514['error']||_0x1fc514['message']||_0x1fc514});_0x33f0c5[_0x12d6cd(0x1d2)](_0x782bb6);}else _0x2437f2[_0x12d6cd(0x1e4)](_0xe0625f),_0x425e62[_0x12d6cd(0x432)](0x190)[_0x12d6cd(0x1d2)](_0xdd9871);});}}catch(_0x462855){_0x3909f0[_0x61c379(0x495)](_0x3909f0[_0x61c379(0x1c5)],_0x61c379(0x2ab))?_0x33f0c5[_0x61c379(0x432)](0x190)[_0x61c379(0x1d2)](_0x462855):_0x76aef5={};}});},controller[_0x7ea2d4(0x414)][_0x7ea2d4(0x454)]=function(_0x44b10a,_0x465d9f,_0x16de75={}){const _0x347572=_0x7ea2d4,_0x570408={'RlTqP':function(_0x57e0e4,_0xef4018,_0x32a335,_0x284c5c,_0x1f0cc9){return _0x57e0e4(_0xef4018,_0x32a335,_0x284c5c,_0x1f0cc9);}};return console['log'](_0x347572(0x35e),this[_0x347572(0x393)]),_0x570408[_0x347572(0xe8)](postData,_0x44b10a,this,_0x465d9f,_0x16de75);},controller['prototype'][_0x7ea2d4(0x377)]=function(_0x4281b0){const _0x55538b=_0x7ea2d4,_0x250a6={'nOvKD':function(_0x51342e,_0x2f0a8a){return _0x51342e(_0x2f0a8a);}},_0x4cfa58=_0x55538b(0x174)['split']('|');let _0x4dbc10=0x0;while(!![]){switch(_0x4cfa58[_0x4dbc10++]){case'0':this['find'](_0x55538b(0x3d7)+this['route_name'],![],_0x55538b(0x10e));continue;case'1':this['get']();continue;case'2':this['updateBook']();continue;case'3':this['find']();continue;case'4':this[_0x55538b(0x1b2)]();continue;case'5':if(configs[_0x55538b(0x195)])return;continue;case'6':this['get']('/'+this[_0x55538b(0x30e)]+_0x55538b(0x1be),!![]);continue;case'7':this[_0x55538b(0x34a)]();continue;case'8':this[_0x55538b(0x327)]();continue;case'9':this[_0x55538b(0x3d3)]();continue;case'10':this[_0x55538b(0x154)]();continue;case'11':_0x4281b0&&_0x250a6[_0x55538b(0x2bd)](_0x4281b0,this[_0x55538b(0x27e)]);continue;case'12':this[_0x55538b(0x491)]();continue;case'13':this[_0x55538b(0x3c3)]();continue;case'14':this['find']('/'+this['module']+_0x55538b(0x1be),!![]);continue;case'15':this[_0x55538b(0x1e5)]();continue;case'16':this[_0x55538b(0x411)]();continue;case'17':this[_0x55538b(0x11e)]();continue;case'18':this['quickCreate']();continue;case'19':this[_0x55538b(0x103)]();continue;case'20':this[_0x55538b(0x2af)]();continue;case'21':this[_0x55538b(0x431)]();continue;case'22':this[_0x55538b(0x498)]();continue;}break;}},controller[_0x7ea2d4(0x466)]=runWebhooks,controller['postData']=postData,controller[_0x7ea2d4(0x493)]=pushNotification,controller[_0x7ea2d4(0x1b2)]=async(_0x5ec203,_0x35c914,_0x3ac044,_0x2bd857,_0x2c971e=undefined,_0x4bee83=undefined,_0x671fb2='add')=>{const _0x412012=_0x7ea2d4,_0x42c474={'RuxNN':function(_0x2ea3a2,_0x4fd6c8){return _0x2ea3a2(_0x4fd6c8);},'VGpTx':function(_0x207088,_0x9b2b1e){return _0x207088!==_0x9b2b1e;},'tMpoD':_0x412012(0x255),'mFLMQ':function(_0x25f835,_0xbe877d){return _0x25f835(_0xbe877d);},'AKUss':function(_0x32bb31,_0x46b28a,_0x42fd7f,_0x590fcd,_0x2ae08a,_0x42f994,_0x1b4c8d){return _0x32bb31(_0x46b28a,_0x42fd7f,_0x590fcd,_0x2ae08a,_0x42f994,_0x1b4c8d);},'WDGzd':_0x412012(0x3e4),'QACWo':function(_0x59d66c,_0x93bafa,_0x42ba8c){return _0x59d66c(_0x93bafa,_0x42ba8c);}};_0x4bee83=_0x4bee83||{},_0x4bee83[_0x412012(0x1ea)]=_0x5ec203,_0x4bee83[_0x412012(0x41d)]=_0x3ac044,_0x4bee83[_0x412012(0x15d)]=_0x2c971e,_0x4bee83[_0x412012(0x330)]=_0x671fb2,handlers[_0x412012(0x35d)](_0x35c914,_0x4bee83,(_0x4acf53,_0x5545cf)=>{const _0x59c255=_0x412012;if(_0x42c474[_0x59c255(0x3dc)](_0x59c255(0x494),_0x42c474[_0x59c255(0x27b)])){if(_0x4acf53)return _0x42c474[_0x59c255(0x4b3)](_0x2bd857,_0x4acf53);const {obj_created:_0x54db5e}=_0x5545cf;_0x42c474[_0x59c255(0x358)](pushNotification,_0x35c914,_0x54db5e,_0x42c474[_0x59c255(0x424)],null,null,{'exclude_token':(_0x4bee83[_0x59c255(0x19a)]||{})[_0x59c255(0x2a9)]}),_0x42c474[_0x59c255(0x182)](_0x2bd857,null,_0x54db5e);}else _0x1260d0=_0x42c474[_0x59c255(0x2b7)](_0x623e41,_0x5b3f5e);});},module[_0x7ea2d4(0x236)]=controller;