{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/assets/css/solid.min.css?8879","webpack:///./src/models/UserModel.ts","webpack:///./src/models/AnnouncementModel.ts","webpack:///./src/models/ReimbursementModel.ts","webpack:///./src/models/DepositModel.ts","webpack:///./src/models/AppropriationModel.ts","webpack:///./src/models/StoreModel.ts","webpack:///./src/models/StoreUserModel.ts","webpack:///./src/models/ScheduleReportModel.ts","webpack:///./src/constant/GroupPermission.ts","webpack:///./src/assets/css/all.min.css?0e65","webpack:///./src/network/api/APIType.ts","webpack:///./src/network/auth/AuthType.ts","webpack:///./src/network/api/APIJSON.ts","webpack:///./src/network/api/APIPB.ts","webpack:///./src/network/api/APISimpleFactory.ts","webpack:///./src/network/auth/AuthBase.ts","webpack:///./src/network/auth/AuthJWT.ts","webpack:///./src/network/auth/AuthSimpleFactory.ts","webpack:///./src/network/api/ClientAPI.ts","webpack:///./src/network/Network.ts","webpack:///./src/assets/css/swiper.min.css?d66b","webpack:///./src/util/Util.ts","webpack:///./src/assets/css/fontawesome.min.css?3485","webpack:///./src/lang/LangType.ts","webpack:///./src/lang/LangManager.ts","webpack:///./src/models/LoginModel.ts","webpack:///./src/constant/ErrorCode.ts","webpack:///./src/constant/Common.ts","webpack:///./src/constant/Reconciliation.ts","webpack:///./src/constant/Store.ts","webpack:///./src/constant/ScheduleReport.ts","webpack:///./src/util/Priv.ts","webpack:///./src/constant/Announcement.ts","webpack:///./src/assets/css/main.css?a9d1","webpack:///./src/App.vue?bb41","webpack:///./src/App.vue","webpack:///./src/App.vue?15ab","webpack:///./src/App.vue?8573","webpack:///./src/registerServiceWorker.ts","webpack:///./src/router/admin/Home.ts","webpack:///./src/router/admin/User.ts","webpack:///./src/router/admin/index.ts","webpack:///./src/router/ap/Home.ts","webpack:///./src/router/ap/User.ts","webpack:///./src/router/ap/Announcement.ts","webpack:///./src/router/ap/Store.ts","webpack:///./src/router/ap/Reconciliation.ts","webpack:///./src/router/ap/Login.ts","webpack:///./src/router/ap/index.ts","webpack:///./src/router/Group.ts","webpack:///./src/router/Manager.ts","webpack:///./src/router/index.ts","webpack:///./src/main.ts","webpack:///./src/network/pb/proto.js","webpack:///./src/util/Log.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","UserModel","sInstance","sendAPI","response","catch","getByID","id","add","item","errNo","NotResponse","err_no","edit","delete","userModel","instance","announcementList","Protobuf","AnnouncementList","specificAnnouncement","Announcement","AnnouncementModel","getAnnouncement","announcementQuery","rawResponse","Response","decode","Uint8Array","getAnnouncementByCondition","getAnnouncementByAnnouncementID","getAnnouncementList","this","getSpecificAnnouncement","downloadFile","queryString","uri","announcementModel","storeUserPermissionMap","StoreUserPermissionMap","reimbursementSummary","ReimbursementSummary","reconciliationList","ReconciliationList","reimbursementCollectionMap","ReimbursementCollectionMap","reimbursementCollection","ReimbursementCollection","reimbursementTotal","ReimbursementTotal","ReimbursementModel","getStoreSearch","storeInsertQuery","getReimbursement","reimbursementQuery","getReimbursementSummary","getReimbursementCollectionMap","getReimbursementCollection","getReimbursementTotal","log","getPrintReimbursementCollectionMap","map","getStoreList","getReimbursementList","getReimbursementSummaryData","getReimbursementCollectionMapData","getReimbursementCollectionData","getReimbursementTotalObj","exportReimbursement","getReportList","list","ScheduleReportList","reimbursementModel","depositCollectionMap","DepositCollectionMap","depositCollection","DepositCollection","depositTotal","DepositTotal","DepositModel","depositQuery","getDepositCollectionMap","getDepositCollection","getDepositTotal","getPrintDepositCollectionMap","getDepositCollectionMapData","getDepositCollectionData","getDepositTotalData","exportDeposit","appropriationMap","AppropriationMap","appropriation","Appropriation","appropriationTotal","AppropriationTotal","appropriationSummaryMap","AppropriationSummaryMap","appropriationSummary","AppropriationSummaryTerminalNoMap","appropriationSummaryTotal","AppropriationSummaryTotal","appropriationSummaryByCardTypeCollectionMap","AppropriationSummaryByCardTypeCollectionMap","appropriationSummaryByCardTypeCollection","AppropriationSummaryByCardTypeCollection","AppropriationModel","appropriationQuery","getAppropriationMap","getAppropriation","getAppropriationTotal","getAppropriationSummaryMap","getAppropriationSummary","getAppropriationSummaryTotal","getAppropriationSummaryByCardTypeCollectionMap","getAppropriationSummaryByCardTypeCollection","getAppropriationSummaryByCardTypeCollectionTotal","total","AppropriationSummaryByCardTypeTotal","getPrintAppropriationCollectionMap","getPrintAppropriationSummaryMap","getPrintAppropriationSummaryByCardTypeCollectionMap","getAppropriationMapData","getAppropriationData","getAppropriationTotalData","getAppropriationSummaryMapData","getAppropriationSummaryData","getAppropriationSummaryTotalData","getAppropriationSummaryByCardTypeCollectionMapData","getAppropriationSummaryByCardTypeCollectionData","exportAppropriation","appropriationModel","storeList","StoreList","specificStore","Store","StoreModel","storeUserQuery","getStore","getStoreByCondition","getStoreByStoreID","storeQuery","editStore","store","ec","ErrorCode","EC_NONE","errorCode","exportCurrent","getStoreInsertList","getSpecificStore","storeModel","storeUserList","StoreUserList","specificStoreUser","StoreUser","StoreUserModel","getStoreUser","getStoreUserByCondition","getById","addStoreUser","storeUser","editStoreUser","deleteStoreUser","resetPassword","getStoreUserList","getSpecificStoreUser","getPermissionMap","StoreUserQuery","StoreUserPermissionList","changePassword","passwordMotify","getStoreUserByAccountAndIdentification","frontCredentials","storeUserModel","ScheduleReportModel","query","scheduleReportModel","PermissionCode","DefaultPath","GroupPermissionStoreNameMap","methodName","GroupPermissionStoreMap","release","GroupPermission","APIType","AuthType","setAuth","auth","getAuth","setToken","expireIn","assign","a","defaults","headers","common","removeToken","getAuthKey","getToken","doesTokenExpire","url","method","requestBody","stringify","responseType","apiResponse","upload","download","fileName","match","URL","createObjectURL","Blob","link","body","click","downloadFromS3","urlBlock","split","objURL","getImageSrc","imageSrc","blob","uint8Array","decodeURIComponent","replace","apiType","JSON","PB","AppToken","token","dateTime","Date","now","timestamp","Math","floor","Authorization","authType","Base","AuthBase","JWT","AuthJWT","baseURL","api","connect","info","isConnected","disconnect","setBaseURL","setAPI","setInterval","alert","clearInterval","callAPI","uploadFile","downloadFileFromS3","getImageSrcByPost","clientAPI","Network","initWebSocket","authCheck","network","convertTimeToRepublicEra","time","year","getFullYear","month","getMonth","day","getDate","hour","getHours","min","getMinutes","isTIDNumber","tidNumber","sum","re","test","tmp","String","s1","parseInt","substr","s2","tidNumberCal","tidNumberValid","isStoreCode","storeCode","isROCID","city","toUpperCase","idList","charCodeAt","isPhone","phone","isCreditCardNumber","isMail","mail","validateEmail","pattern","toLocaleLowerCase","passReconciliationByCookie","nowTime","getTime","reconciliationCookieSearch","set","toString","sameSite","LangType","EN","LangManager","setType","getType","getText","page","textHash","getTextHashFromSession","getTextHashByPage","pageTextHash","loadMiscLangMap","textHashString","sessionStorage","setItem","loadPageLangMap","getItem","parse","langManager","LoginModel","getCaptcha","checkCode","login","loginQuery","responseInfo","forget","firstResetPassword","continuePassword","updatePermission","UserAuth","EC_USER_REPEAT_LOGIN","location","EC_USER_TOKEN_EXPIRES","status","checkResetPasswordPeriod","logout","CheckAndUpdateAndGetOnline","expireTime","loginModel","ErrorHintMap","ErrorMessage","ServerError","PeriodMap","1","2","3","TransactionMap","NoteMap","0","4","AppropriationNoteMap","CardMap","5","SaleKindMap","TypeFlagMap","Reconciliation","AccountTypeMap","StateMap","MarkMap","CycleMap","TypeMap","BasisMap","QuotaMap","UserHeader","ActionTypeMap","ErrorCodeMap","101","102","103","104","105","106","107","111","1101","1301","1302","1401","1402","1403","1404","1501","10000","10001","10002","10003","10004","10100","11200","11201","11202","11203","11204","11205","11207","12100","13100","WhereCode","Common","ScheduleReport","_checkPriv","privKey","groupPermission","userAuthPrivJson","permission","controller","priv","_getPriv","_checkPrivType","isSet","_getExpireTime","Permission","TargetMap","render","_vm","_c","_self","_setupProxy","attrs","staticRenderFns","App","components","component","ready","registered","cached","updatefound","updated","offline","HomeRoute","path","UserRoute","AdminRoute","AnnouncementRoute","beforeEnter","to","from","next","StoreRoute","meta","BankStore","BankStoreUser","ReconciliationRoute","BankReconciliation","BankReconciliationReimbursement","BankReconciliationDeposit","BankReconciliationAppropriation","BankReconciliationReport","LoginRoute","ApplicationRouteRoute","Group","allRoute","RouterManager","getAllRoute","setAllRoute","Array","concat","routerManager","use","routes","router","base","linkActiveClass","scrollBehavior","x","y","Long","config","productionTip","h","$mount","$protobuf","$Reader","Reader","$Writer","Writer","$util","util","$root","roots","TCBReceiptApi","Link","properties","keys","encode","writer","uint32","string","encodeDelimited","ldelim","reader","end","len","pos","skipType","decodeDelimited","verify","isString","fromObject","toObject","options","toJSON","constructor","toJSONOptions","Attachment","originName","file","newBuffer","int32","bytes","isInteger","base64","AttachmentMotify","emptyArray","fork","isArray","TypeError","arrays","AnnouncementMotify","date","content","linkList","attachmentList","state","announcementTempId","announcementId","actionType","lastUpdateTime","lastUpdateUser","releaseState","startDate","endDate","rejectReason","attachmentMotify","motify","AnnouncementQuery","dateStart","dateEnd","pagination","Pagination","AnnouncementFile","dataType","limit","offset","AppropriationInfoCredit","appropriationId","terminalNo","submitDate","batchNo","transDate","transTime","codeOrigin","settleCode","authCode","amount","cardNo","cardType","cardTypeOrigin","orderNo","isCreditCard","issuer","payFlag","payFlagOrigin","installCode","installCodeOrigin","installTimes","installAverageAmount","stan","feeFlag","feeFlagOrigin","charge","isOurBank","taiwanPayQrFlag","infoType","storeCodeMapping","subStoreCode","stanOrigin","tpan","installRate","issuerOrigin","double","Number","json","isFinite","AppropriationCredit","AppropriationCreditBatchNoMap","byBatchNo","emptyObject","end2","tag2","isObject","keys2","objects","AppropriationCreditSecondMap","bySecondColumn","AppropriationCreditFirstMap","byFirstColumn","AppropriationCreditTotal","count","AppropriationInfoAlipay","appropriationAlipayId","abroadAmount","storeCharge","consumerCharge","AppropriationAlipay","AppropriationAlipayDateMap","byDate","AppropriationAlipayTotal","AppropriationInfoMotify","appropriationMotifyId","reimbursementDate","motifyAmount","motifyCharge","description","AppropriationMotify","AppropriationMotifyDateMap","AppropriationMotifyTotal","card","alipay","cardByType","AppropriationInfoSummary","appropriationSummaryId","totalCount","totalAmount","salesCount","salesAmount","returnCount","returnAmount","ifr","chargeRate","netAmount","typeFlag","typeFlagOrigin","AppropriationSummary","AppropriationSummaryTypeFlagMap","byTypeFlag","key32Re","AppropriationSummaryDateMap","byTerminalNo","AppropriationInfoSummaryByCardType","ourBankCount","ourBankAmount","notOurBankCount","notOurBankAmount","AppropriationSummaryByCardType","visa","mc","jcb","cup","fisc","AppropriationInfoSummaryByIssuer","issuerName","AppropriationSummaryByIssuer","creditCard","debitCard","AppropriationQuery","flag","dateType","terminalNoStart","terminalNoEnd","AppropriationQuerySpecificStore","submitDateStart","submitDateEnd","transDateStart","transDateEnd","AppropriationCreditExport","registerName","qrFlag","quotaFlag","AppropriationAlipayExport","AppropriationMotifyExport","AppropriationSummaryExport","AppropriationSummaryByCardTypeExport","AppropriationSummaryByIssuerExport","DepositInfo","depositId","branchBankCode","branchBankName","account","bankCode","storeName","internalIfr","externalIfr","remarksCode","remarks","chargeTotal","Deposit","DepositDateMap","byDiffAccount","byStore","byAccount","DepositQuery","DepositSummaryByStoreExport","DepositSummaryByAccountExport","CreatedMethod","valuesById","values","ReceiptCheckPoint","Sup","dataStatus","retailerId","supplierCode","supplierName","ban","invoiceTitle","invoiceAddress","User","userCode","userName","Access","OBanT1","recordType","formCode","deductType","invoiceType","invoiceStat","invoiceNo","checkDigit","invoiceDate","salesAmout","vatType","vatAmount","invoiceAmout","invoiceBan","invoiceName","referenceQualifier_1","reference_1","referenceQualifier_2","reference_2","reserved","sellerBan","sellerCode","sellerName","sellerAddress","sellerTel","sellerRep","invTransType","isPaperInv","invoiceTime","OBanT2","seqNo","productName","qty","unitPrice","netAmout","amout","tax","barCode","OBan","t1","t2","ABanT1","allowanceType","allowanceStat","allowanceNo","allowanceDate","totalAmout","buyerBan","buyerName","alwTransType","isPaperAlw","ABanT2","taxType","taxAmount","migProductName","ABan","a2List","a1","RPT","receiptDate","receiptNo","invoiceStatus","sellerPerson","amountNative","amountForeign","AckRaw","reason","Ack","receiptAckId","number","sellerNumber","generateMethod","returnReason","recordDate","hash","PermissionType","StoreGroupType","StoreUserGroupType","EReceiptUserGroupType","ScheduleGroupType","EReceiptGroupType","SystemGroupType","GroupPermissionGroupType","LogGroupType","AnnouncementGroupType","ItemType","GroupMap","groupPermissionId","GroupPermissionList","branchBank","isQuota","ReimbursementInfo","reimbursementId","sourceId","batchNoOrigin","paydueDate","Reimbursement","ReimbursementBatchNoMap","ReimbursementSecondMap","ReimbursementFirstMap","ReimbursementSummaryInfo","visaPay","visaRefund","visaTotal","mcPay","mcRefund","mcTotal","jcbPay","jcbRefund","jcbTotal","cupPay","cupRefund","cupTotal","fiscPay","fiscRefund","fiscTotal","allPay","allRefund","allTotal","ReimbursementQuery","ReimbursementQuerySpecificStore","ReimbursementDetailExport","ReimbursementSummaryExport","ReimbursementSummaryByColumnExport","enums","ScheduleReportCheckPoint","ScheduleReportQuery","ScheduleReportInfo","scheduleReportId","bankName","adminName","userId","fromWhere","params","expectedStartTime","startTime","endTime","filePath","checkPoint","record","reimbursementQuerySpecificStore","appropriationQuerySpecificStore","fromTxt","datePeriod","ScheduleReportReimbursementQuery","ScheduleReportAppropriationQuery","ScheduleReportReimbursementQuerySpecificStore","ScheduleReportAppropriationQuerySpecificStore","hide","storeTempId","storeId","typeDescription","headId","headDescription","engName","signTitle","nickName","mccCode","mccDescription","guiNumber","registerPostalCode1","registerPostalCode2","registerAddress","businessPostalCode1","businessPostalCode2","businessAddress","isPaper","receiptName","receiptPostalCode1","receiptPostalCode2","receiptAddress","receiptGenerateType","receiptGenerateCycle","receiptGenerateBasis","smartPay","commonQrCode","vmjQrCode","cupQrCode","naturalPerson","organizationType","cancelDate","lastUploadTime","StoreQuery","StoreInsertQueryType","StoreInsertQuery","identification","StoreExport","StoreUserPermission","StoreUserMotify","resetMail","selectMap","storeUserTempId","storeUserId","lock","active","permissionId","systemGenerate","loginFailedCount","resetExpiresIn","continueDate","loginType","storeCancelDate","StoreUserExport","accountCancelDate","ReleaseState","ActionType","PendingTotalType","Login","password","BackCredentials","FrontCredentials","PasswordMotify","oldPassword","newPassword","optionalParams","optionalParam","warn"],"mappings":"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","file":"js/app.37183d0c.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2d0b692c\":\"770fdfdb\",\"chunk-2d0d2bdc\":\"84116d5e\",\"chunk-2d0daeb6\":\"8577f979\",\"chunk-2d208c69\":\"ee82c735\",\"chunk-2d2248c3\":\"9502b2ef\",\"chunk-7468f8e8\":\"44087fe8\",\"chunk-ec328a50\":\"9085c610\",\"chunk-2d0a388c\":\"66375117\",\"chunk-2d0aa987\":\"ba896652\",\"chunk-2d0d7103\":\"880e9de2\",\"chunk-2d0e661c\":\"b7eab340\",\"chunk-2d0f0c23\":\"d357cf41\",\"chunk-2d0f11b3\":\"32c19901\",\"chunk-2d2082da\":\"3a7746f6\",\"chunk-2d208e2f\":\"53a4bbdb\",\"chunk-2d216eea\":\"e3a4377a\",\"chunk-2d21d160\":\"60c8f1df\",\"chunk-2d2293e6\":\"e52d1741\",\"chunk-2d229df7\":\"2bd892af\",\"chunk-2d22cc41\":\"0da9f7b1\",\"chunk-2d23778d\":\"30be9f8e\",\"chunk-74d61244\":\"a2565475\",\"chunk-2d0be187\":\"a72db850\",\"chunk-2d22218b\":\"05cb7e66\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-ec328a50\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2d0b692c\":\"31d6cfe0\",\"chunk-2d0d2bdc\":\"31d6cfe0\",\"chunk-2d0daeb6\":\"31d6cfe0\",\"chunk-2d208c69\":\"31d6cfe0\",\"chunk-2d2248c3\":\"31d6cfe0\",\"chunk-7468f8e8\":\"31d6cfe0\",\"chunk-ec328a50\":\"e162a3bb\",\"chunk-2d0a388c\":\"31d6cfe0\",\"chunk-2d0aa987\":\"31d6cfe0\",\"chunk-2d0d7103\":\"31d6cfe0\",\"chunk-2d0e661c\":\"31d6cfe0\",\"chunk-2d0f0c23\":\"31d6cfe0\",\"chunk-2d0f11b3\":\"31d6cfe0\",\"chunk-2d2082da\":\"31d6cfe0\",\"chunk-2d208e2f\":\"31d6cfe0\",\"chunk-2d216eea\":\"31d6cfe0\",\"chunk-2d21d160\":\"31d6cfe0\",\"chunk-2d2293e6\":\"31d6cfe0\",\"chunk-2d229df7\":\"31d6cfe0\",\"chunk-2d22cc41\":\"31d6cfe0\",\"chunk-2d23778d\":\"31d6cfe0\",\"chunk-74d61244\":\"31d6cfe0\",\"chunk-2d0be187\":\"31d6cfe0\",\"chunk-2d22218b\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!./solid.min.css?vue&type=style&index=3&prod&lang=css&\"","import { Network } from \"@/network\";\r\n// import { pb } from \"@/network/pb/proto\";\r\nimport { Log } from \"@/util\";\r\nimport * as Constant from \"@/constant\";\r\n\r\nclass UserModel {\r\n private static sInstance: UserModel;\r\n\r\n public static get instance(): UserModel {\r\n if (!UserModel.sInstance) {\r\n UserModel.sInstance = new UserModel();\r\n }\r\n\r\n return UserModel.sInstance;\r\n }\r\n\r\n public async get(): Promise {\r\n let data!: object;\r\n\r\n await Network.sendAPI(\"/api/test/user\", \"get\")\r\n .then(response => {\r\n data = response.data as object;\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n return data;\r\n }\r\n\r\n public async getByID(id: number): Promise {\r\n let data!: object;\r\n\r\n await Network.sendAPI(\"/api/test/user/\" + id, \"get\")\r\n .then(response => {\r\n data = response.data as object;\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n return data;\r\n }\r\n\r\n public async add(item: object): Promise {\r\n let errNo = Constant.ErrorCode.NotResponse;\r\n\r\n await Network.sendAPI(\"/api/test/user\", \"post\", item)\r\n .then(response => {\r\n const data = response.data as { [key: string]: unknown };\r\n errNo = data.err_no as number;\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n return errNo;\r\n }\r\n\r\n public async edit(id: number, item: object): Promise {\r\n let errNo = Constant.ErrorCode.NotResponse;\r\n\r\n await Network.sendAPI(\"/api/test/user/\" + id, \"put\", item)\r\n .then(response => {\r\n const data = response.data as { [key: string]: unknown };\r\n errNo = data.err_no as number;\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n return errNo;\r\n }\r\n\r\n public async delete(id: number): Promise {\r\n let errNo = Constant.ErrorCode.NotResponse;\r\n\r\n await Network.sendAPI(\"/api/test/user/\" + id, \"delete\")\r\n .then(response => {\r\n const data = response.data as { [key: string]: unknown };\r\n errNo = data.err_no as number;\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n return errNo;\r\n }\r\n\r\n // public async addByPB(item: Uint8Array): Promise {\r\n // const errNo = Constant.ErrorCode.NotResponse;\r\n\r\n // await Network.sendAPI(\"/api/test/pb\", \"post\", item)\r\n // .then(response => {\r\n // pb.User.decode(new Uint8Array(response.data as ArrayBufferLike));\r\n // })\r\n // .catch(error => {\r\n // Log.error(error);\r\n // });\r\n\r\n // return errNo;\r\n // }\r\n}\r\n\r\nconst userModel = UserModel.instance;\r\n\r\nexport { userModel as UserModel };\r\n","import { Network } from \"@/network\";\r\nimport { TCBReceiptApi } from \"@/network/pb/proto\";\r\nimport { Log } from \"@/util\";\r\n\r\nclass AnnouncementModel {\r\n private static sInstance: AnnouncementModel;\r\n\r\n public static get instance(): AnnouncementModel {\r\n if (!AnnouncementModel.sInstance) {\r\n AnnouncementModel.sInstance = new AnnouncementModel();\r\n }\r\n\r\n return AnnouncementModel.sInstance;\r\n }\r\n\r\n private announcementList = TCBReceiptApi.Protobuf.AnnouncementList.create();\r\n private specificAnnouncement = TCBReceiptApi.Protobuf.Announcement.create();\r\n\r\n public async getAnnouncement(announcementQuery: Uint8Array): Promise {\r\n await Network.sendAPI(\"/api/announcement/get\", \"post\", announcementQuery)\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.announcementList = TCBReceiptApi.Protobuf.AnnouncementList.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n public async getAnnouncementByCondition(\r\n announcementQuery: Uint8Array\r\n ): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/announcement/get_by_condition\",\r\n \"post\",\r\n announcementQuery\r\n )\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.announcementList = TCBReceiptApi.Protobuf.AnnouncementList.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n public async getAnnouncementByAnnouncementID(\r\n announcementQuery: Uint8Array\r\n ): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/announcement/get_by_announcement_id\",\r\n \"post\",\r\n announcementQuery\r\n )\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.specificAnnouncement = TCBReceiptApi.Protobuf.Announcement.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n public getAnnouncementList(): TCBReceiptApi.Protobuf.AnnouncementList {\r\n return this.announcementList;\r\n }\r\n\r\n public getSpecificAnnouncement(): TCBReceiptApi.Protobuf.Announcement {\r\n return this.specificAnnouncement;\r\n }\r\n\r\n public async downloadFile(queryString: string): Promise {\r\n const uri = \"/api/front/announcement/get_file?\" + queryString;\r\n await Network.downloadFile(uri);\r\n }\r\n}\r\n\r\nconst announcementModel = AnnouncementModel.instance;\r\n\r\nexport { announcementModel as AnnouncementModel };\r\n","import { Network } from \"@/network\";\r\nimport { TCBReceiptApi } from \"@/network/pb/proto\";\r\nimport { Log } from \"@/util\";\r\n\r\nclass ReimbursementModel {\r\n private static sInstance: ReimbursementModel;\r\n\r\n public static get instance(): ReimbursementModel {\r\n if (!ReimbursementModel.sInstance) {\r\n ReimbursementModel.sInstance = new ReimbursementModel();\r\n }\r\n\r\n return ReimbursementModel.sInstance;\r\n }\r\n\r\n private storeUserPermissionMap = TCBReceiptApi.Protobuf.StoreUserPermissionMap.create();\r\n private reimbursementSummary = TCBReceiptApi.Protobuf.ReimbursementSummary.create();\r\n private reconciliationList = TCBReceiptApi.Protobuf.ReconciliationList.create();\r\n private reimbursementCollectionMap = TCBReceiptApi.Protobuf.ReimbursementCollectionMap.create();\r\n private reimbursementCollection = TCBReceiptApi.Protobuf.ReimbursementCollection.create();\r\n private reimbursementTotal = TCBReceiptApi.Protobuf.ReimbursementTotal.create();\r\n\r\n // 搜尋 - 特店清單\r\n public async getStoreSearch(storeInsertQuery: Uint8Array): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/reimbursement/get_store_list_by_tid_number\",\r\n \"post\",\r\n storeInsertQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.storeUserPermissionMap = TCBReceiptApi.Protobuf.StoreUserPermissionMap.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n // 搜尋 - 特約商店請款交易查詢\r\n public async getReimbursement(reimbursementQuery: Uint8Array): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/reimbursement/get_store_list_by_condition\",\r\n \"post\",\r\n reimbursementQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.reconciliationList = TCBReceiptApi.Protobuf.ReconciliationList.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n // 取得卡別彙總\r\n public async getReimbursementSummary(\r\n reimbursementQuery: Uint8Array\r\n ): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/reimbursement/get_summary_by_condition\",\r\n \"post\",\r\n reimbursementQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.reimbursementSummary = TCBReceiptApi.Protobuf.ReimbursementSummary.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n // 搜尋 - 展開前三筆資料之map\r\n public async getReimbursementCollectionMap(\r\n reimbursementQuery: Uint8Array\r\n ): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/reimbursement/get_by_condition\",\r\n \"post\",\r\n reimbursementQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.reimbursementCollectionMap = TCBReceiptApi.Protobuf.ReimbursementCollectionMap.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n // 搜尋 - 取得展開資料 (單一筆)\r\n public async getReimbursementCollection(\r\n reimbursementQuery: Uint8Array\r\n ): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/reimbursement/get_specific_by_condition\",\r\n \"post\",\r\n reimbursementQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.reimbursementCollection = TCBReceiptApi.Protobuf.ReimbursementCollection.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n // 搜尋 - 統計\r\n public async getReimbursementTotal(\r\n reimbursementQuery: Uint8Array\r\n ): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/reimbursement/get_total_by_condition\",\r\n \"post\",\r\n reimbursementQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n console.log(\"response\");\r\n console.log(response);\r\n this.reimbursementTotal = TCBReceiptApi.Protobuf.ReimbursementTotal.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n /* ----列印頁面---- */\r\n public async getPrintReimbursementCollectionMap(\r\n reimbursementQuery: Uint8Array\r\n ): Promise {\r\n let map = TCBReceiptApi.Protobuf.ReimbursementCollectionMap.create();\r\n\r\n await Network.sendAPI(\r\n \"/api/front/reimbursement/get_print_by_condition\",\r\n \"post\",\r\n reimbursementQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n\r\n map = TCBReceiptApi.Protobuf.ReimbursementCollectionMap.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n\r\n return map;\r\n }\r\n /* ----列印頁面---- */ \r\n\r\n // 取得特店清單列表\r\n public getStoreList(): TCBReceiptApi.Protobuf.StoreUserPermissionMap {\r\n return this.storeUserPermissionMap;\r\n }\r\n\r\n // 取得搜尋結果 - 列表\r\n public getReimbursementList(): TCBReceiptApi.Protobuf.ReconciliationList {\r\n return this.reconciliationList;\r\n }\r\n\r\n // 取得卡別彙總\r\n public getReimbursementSummaryData(): TCBReceiptApi.Protobuf.ReimbursementSummary {\r\n return this.reimbursementSummary;\r\n }\r\n\r\n // 取得搜尋結果 - 展開資料map (前三筆)\r\n public getReimbursementCollectionMapData(): TCBReceiptApi.Protobuf.ReimbursementCollectionMap {\r\n return this.reimbursementCollectionMap;\r\n }\r\n\r\n // 取得搜尋結果 - 取得展開資料 (單一筆)\r\n public getReimbursementCollectionData(): TCBReceiptApi.Protobuf.ReimbursementCollection {\r\n return this.reimbursementCollection;\r\n }\r\n\r\n // 取得搜尋結果 - 統計\r\n public getReimbursementTotalObj(): TCBReceiptApi.Protobuf.ReimbursementTotal {\r\n return this.reimbursementTotal;\r\n }\r\n\r\n // 取得請款匯出\r\n public async exportReimbursement(queryString: string): Promise {\r\n const uri = \"/api/front/reimbursement/get_export_by_condition?\" + queryString;\r\n await Network.downloadFile(uri);\r\n } \r\n\r\n public async getReportList(): Promise {\r\n const list = TCBReceiptApi.Protobuf.ScheduleReportList.create();\r\n\r\n // await Network.sendAPI(\r\n // \"/api/front/reimbursement/report/get_report_list\",\r\n // \"post\"\r\n // )\r\n // .then((rawResponse) => {\r\n // const response = TCBReceiptApi.Protobuf.Response.decode(\r\n // new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n // );\r\n\r\n // list = TCBReceiptApi.Protobuf.ScheduleReportList.decode(\r\n // new Uint8Array(response.item)\r\n // );\r\n // })\r\n // .catch((error) => {\r\n // Log.error(error);\r\n // });\r\n\r\n return list;\r\n }\r\n\r\n public async downloadFile(queryString: string): Promise {\r\n const uri = \"/api/front/reimbursement/get_file?\" + queryString;\r\n await Network.downloadFile(uri);\r\n }\r\n}\r\n\r\nconst reimbursementModel = ReimbursementModel.instance;\r\n\r\nexport { reimbursementModel as ReimbursementModel };\r\n","import { Network } from \"@/network\";\r\nimport { TCBReceiptApi } from \"@/network/pb/proto\";\r\nimport { Log } from \"@/util\";\r\n\r\nclass DepositModel {\r\n private static sInstance: DepositModel;\r\n\r\n public static get instance(): DepositModel {\r\n if (!DepositModel.sInstance) {\r\n DepositModel.sInstance = new DepositModel();\r\n }\r\n\r\n return DepositModel.sInstance;\r\n }\r\n\r\n private storeUserPermissionMap = TCBReceiptApi.Protobuf.StoreUserPermissionMap.create();\r\n private reconciliationList = TCBReceiptApi.Protobuf.ReconciliationList.create();\r\n private depositCollectionMap = TCBReceiptApi.Protobuf.DepositCollectionMap.create();\r\n private depositCollection = TCBReceiptApi.Protobuf.DepositCollection.create();\r\n private depositTotal = TCBReceiptApi.Protobuf.DepositTotal.create();\r\n\r\n // 搜尋 - 特店清單\r\n public async getStoreSearch(storeInsertQuery: Uint8Array): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/reimbursement/get_store_list_by_tid_number\",\r\n \"post\",\r\n storeInsertQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.storeUserPermissionMap = TCBReceiptApi.Protobuf.StoreUserPermissionMap.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n // 搜尋 - 特約商店存摺入帳交易查詢\r\n public async getReimbursement(depositQuery: Uint8Array): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/deposit/get_store_list_by_condition\",\r\n \"post\",\r\n depositQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.reconciliationList = TCBReceiptApi.Protobuf.ReconciliationList.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n // 搜尋 - 展開前三筆資料之map\r\n public async getDepositCollectionMap(\r\n depositQuery: Uint8Array\r\n ): Promise {\r\n await Network.sendAPI(\"/api/front/deposit/get_by_condition\", \"post\", depositQuery)\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.depositCollectionMap = TCBReceiptApi.Protobuf.DepositCollectionMap.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n // 搜尋 - 取得展開資料 (單一筆)\r\n public async getDepositCollection(depositQuery: Uint8Array): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/deposit/get_specific_by_condition\",\r\n \"post\",\r\n depositQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.depositCollection = TCBReceiptApi.Protobuf.DepositCollection.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n // 統計\r\n public async getDepositTotal(\r\n depositQuery: Uint8Array\r\n ): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/deposit/get_total_by_condition\",\r\n \"post\",\r\n depositQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.depositTotal = TCBReceiptApi.Protobuf.DepositTotal.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n /* ----列印頁面---- */\r\n public async getPrintDepositCollectionMap(\r\n depositQuery: Uint8Array\r\n ): Promise {\r\n let map = TCBReceiptApi.Protobuf.DepositCollectionMap.create();\r\n\r\n await Network.sendAPI(\r\n \"/api/front/deposit/get_print_by_condition\",\r\n \"post\",\r\n depositQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n\r\n map = TCBReceiptApi.Protobuf.DepositCollectionMap.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n\r\n return map;\r\n }\r\n /* ----列印頁面---- */ \r\n\r\n // 取得特店清單列表\r\n public getStoreList(): TCBReceiptApi.Protobuf.StoreUserPermissionMap {\r\n return this.storeUserPermissionMap;\r\n }\r\n\r\n // 取得搜尋結果 - 列表\r\n public getReimbursementList(): TCBReceiptApi.Protobuf.ReconciliationList {\r\n return this.reconciliationList;\r\n }\r\n\r\n // 取得搜尋結果 - 展開資料map (前三筆)\r\n public getDepositCollectionMapData(): TCBReceiptApi.Protobuf.DepositCollectionMap {\r\n return this.depositCollectionMap;\r\n }\r\n\r\n // 取得搜尋結果 - 取得展開資料 (單一筆)\r\n public getDepositCollectionData(): TCBReceiptApi.Protobuf.DepositCollection {\r\n return this.depositCollection;\r\n }\r\n\r\n // 取得搜尋結果 - 統計\r\n public getDepositTotalData(): TCBReceiptApi.Protobuf.DepositTotal {\r\n return this.depositTotal;\r\n }\r\n\r\n // 取得請款匯出\r\n public async exportDeposit(queryString: string): Promise {\r\n const uri = \"/api/front/deposit/get_export_by_condition?\" + queryString;\r\n await Network.downloadFile(uri);\r\n }\r\n}\r\n\r\nconst reimbursementModel = DepositModel.instance;\r\n\r\nexport { reimbursementModel as DepositModel };\r\n","import { Network } from \"@/network\";\r\nimport { TCBReceiptApi } from \"@/network/pb/proto\";\r\nimport { Log } from \"@/util\";\r\n\r\nclass AppropriationModel {\r\n private static sInstance: AppropriationModel;\r\n\r\n public static get instance(): AppropriationModel {\r\n if (!AppropriationModel.sInstance) {\r\n AppropriationModel.sInstance = new AppropriationModel();\r\n }\r\n\r\n return AppropriationModel.sInstance;\r\n }\r\n\r\n private storeUserPermissionMap = TCBReceiptApi.Protobuf.StoreUserPermissionMap.create();\r\n private reconciliationList = TCBReceiptApi.Protobuf.ReconciliationList.create();\r\n // 明細\r\n private appropriationMap = TCBReceiptApi.Protobuf.AppropriationMap.create(); // 前三筆\r\n private appropriation = TCBReceiptApi.Protobuf.Appropriation.create(); // 單筆\r\n private appropriationTotal = TCBReceiptApi.Protobuf.AppropriationTotal.create(); // 總計\r\n // 撥款彙總\r\n private appropriationSummaryMap = TCBReceiptApi.Protobuf.AppropriationSummaryMap.create(); // 前三筆\r\n // private appropriationSummary = TCBReceiptApi.Protobuf.AppropriationSummary.create(); // 單筆\r\n private appropriationSummary = TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap.create(); // 單筆\r\n private appropriationSummaryTotal = TCBReceiptApi.Protobuf.AppropriationSummaryTotal.create(); // 單筆\r\n // 卡別彙總\r\n private appropriationSummaryByCardTypeCollectionMap = TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap.create(); // 前三筆\r\n private appropriationSummaryByCardTypeCollection = TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection.create(); // 單筆\r\n\r\n\r\n // 搜尋 - 特店清單\r\n public async getStoreSearch(storeInsertQuery: Uint8Array): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/reimbursement/get_store_list_by_tid_number\",\r\n \"post\",\r\n storeInsertQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.storeUserPermissionMap = TCBReceiptApi.Protobuf.StoreUserPermissionMap.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n // 搜尋 - 列表 - 特約商店請款交易查詢\r\n public async getReimbursement(appropriationQuery: Uint8Array): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/appropriation/get_store_list_by_condition\",\r\n \"post\",\r\n appropriationQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.reconciliationList = TCBReceiptApi.Protobuf.ReconciliationList.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n // 明細 - 展開前三筆資料之map\r\n public async getAppropriationMap(\r\n appropriationQuery: Uint8Array\r\n ): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/appropriation/get_by_condition\",\r\n \"post\",\r\n appropriationQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.appropriationMap = TCBReceiptApi.Protobuf.AppropriationMap.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n // 明細 - 取得展開資料 (單一筆)\r\n public async getAppropriation(appropriationQuery: Uint8Array): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/appropriation/get_specific_by_condition\",\r\n \"post\",\r\n appropriationQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.appropriation = TCBReceiptApi.Protobuf.Appropriation.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n // 明細 - 統計\r\n public async getAppropriationTotal(\r\n appropriationQuery: Uint8Array\r\n ): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/appropriation/get_total_by_condition\",\r\n \"post\",\r\n appropriationQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n\r\n this.appropriationTotal = TCBReceiptApi.Protobuf.AppropriationTotal.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n // 撥款彙總 - 展開前三筆資料之map\r\n public async getAppropriationSummaryMap(appropriationQuery: Uint8Array): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/appropriation/get_summary_by_condition\",\r\n \"post\",\r\n appropriationQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.appropriationSummaryMap = TCBReceiptApi.Protobuf.AppropriationSummaryMap.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n // 撥款彙總 - 取得展開資料 (單一筆)\r\n public async getAppropriationSummary(appropriationQuery: Uint8Array): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/appropriation/get_specific_summary_by_condition\",\r\n \"post\",\r\n appropriationQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n // this.appropriationSummary = TCBReceiptApi.Protobuf.AppropriationSummary.decode(\r\n this.appropriationSummary = TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n // 撥款彙總 - 統計\r\n public async getAppropriationSummaryTotal(\r\n appropriationQuery: Uint8Array\r\n ): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/appropriation/get_summary_total_by_condition\",\r\n \"post\",\r\n appropriationQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n\r\n this.appropriationSummaryTotal = TCBReceiptApi.Protobuf.AppropriationSummaryTotal.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n // 卡別彙總 - 展開前三筆資料之map\r\n public async getAppropriationSummaryByCardTypeCollectionMap(appropriationQuery: Uint8Array): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/appropriation/get_summary_by_card_type\",\r\n \"post\",\r\n appropriationQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.appropriationSummaryByCardTypeCollectionMap = TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n // 卡別彙總 - 取得展開資料 (單一筆)\r\n public async getAppropriationSummaryByCardTypeCollection(appropriationQuery: Uint8Array): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/appropriation/get_specific_summary_by_card_type\",\r\n \"post\",\r\n appropriationQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.appropriationSummaryByCardTypeCollection = TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n // 卡別彙總 - 統計\r\n public async getAppropriationSummaryByCardTypeCollectionTotal(\r\n appropriationQuery: Uint8Array\r\n ): Promise {\r\n let total = TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal.create();\r\n\r\n await Network.sendAPI(\r\n \"/api/front/appropriation/get_summary_total_by_card_type\",\r\n \"post\",\r\n appropriationQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n \r\n total = TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n\r\n return total;\r\n }\r\n\r\n /* ----列印頁面---- */\r\n public async getPrintAppropriationCollectionMap(\r\n appropriationQuery: Uint8Array\r\n ): Promise {\r\n let map = TCBReceiptApi.Protobuf.AppropriationMap.create();\r\n\r\n await Network.sendAPI(\r\n \"/api/front/appropriation/get_print_by_condition\",\r\n \"post\",\r\n appropriationQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n\r\n map = TCBReceiptApi.Protobuf.AppropriationMap.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n\r\n return map;\r\n }\r\n\r\n public async getPrintAppropriationSummaryMap(\r\n appropriationQuery: Uint8Array\r\n ): Promise {\r\n let map = TCBReceiptApi.Protobuf.AppropriationSummaryMap.create();\r\n\r\n await Network.sendAPI(\r\n \"/api/front/appropriation/get_summary_print_by_condition\",\r\n \"post\",\r\n appropriationQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n\r\n map = TCBReceiptApi.Protobuf.AppropriationSummaryMap.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n\r\n return map;\r\n }\r\n\r\n public async getPrintAppropriationSummaryByCardTypeCollectionMap(\r\n appropriationQuery: Uint8Array\r\n ): Promise {\r\n let map = TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap.create();\r\n\r\n await Network.sendAPI(\r\n \"/api/front/appropriation/get_summary_print_by_card_type\",\r\n \"post\",\r\n appropriationQuery\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n\r\n map = TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n\r\n return map;\r\n } \r\n /* ----列印頁面---- */\r\n\r\n // 取得特店清單列表\r\n public getStoreList(): TCBReceiptApi.Protobuf.StoreUserPermissionMap {\r\n return this.storeUserPermissionMap;\r\n }\r\n\r\n // 取得搜尋結果 - 列表\r\n public getReimbursementList(): TCBReceiptApi.Protobuf.ReconciliationList {\r\n return this.reconciliationList;\r\n }\r\n\r\n // 取得 明細 - 展開資料map (前三筆)\r\n public getAppropriationMapData(): TCBReceiptApi.Protobuf.AppropriationMap {\r\n return this.appropriationMap;\r\n }\r\n\r\n // 取得 明細 - 取得展開資料 (單一筆)\r\n public getAppropriationData(): TCBReceiptApi.Protobuf.Appropriation {\r\n return this.appropriation;\r\n }\r\n\r\n // 取得 明細 - 統計\r\n public getAppropriationTotalData(): TCBReceiptApi.Protobuf.AppropriationTotal {\r\n return this.appropriationTotal;\r\n }\r\n\r\n // 取得 撥款彙總 - 展開資料map (前三筆)\r\n public getAppropriationSummaryMapData(): TCBReceiptApi.Protobuf.AppropriationSummaryMap {\r\n return this.appropriationSummaryMap;\r\n }\r\n\r\n // 取得 撥款彙總 - 取得展開資料 (單一筆)\r\n // public getAppropriationSummaryData(): TCBReceiptApi.Protobuf.AppropriationSummary {\r\n public getAppropriationSummaryData(): TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap {\r\n return this.appropriationSummary;\r\n }\r\n\r\n // 取得 撥款彙總 - 統計\r\n public getAppropriationSummaryTotalData(): TCBReceiptApi.Protobuf.AppropriationSummaryTotal {\r\n return this.appropriationSummaryTotal;\r\n }\r\n\r\n // 取得 卡別彙總 - 展開資料map (前三筆)\r\n public getAppropriationSummaryByCardTypeCollectionMapData(): TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap {\r\n return this.appropriationSummaryByCardTypeCollectionMap;\r\n }\r\n\r\n // 取得 卡別彙總 - 取得展開資料 (單一筆)\r\n public getAppropriationSummaryByCardTypeCollectionData(): TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection {\r\n return this.appropriationSummaryByCardTypeCollection;\r\n }\r\n\r\n // 取得撥款匯出\r\n public async exportAppropriation(queryString: string): Promise {\r\n const uri = \"/api/front/appropriation/get_export_by_condition?\" + queryString;\r\n await Network.downloadFile(uri);\r\n }\r\n}\r\n\r\nconst appropriationModel = AppropriationModel.instance;\r\n\r\nexport { appropriationModel as AppropriationModel };\r\n","import { Network } from \"@/network\";\r\nimport { TCBReceiptApi } from \"@/network/pb/proto\";\r\nimport { Log } from \"@/util\";\r\n\r\nclass StoreModel {\r\n private static sInstance: StoreModel;\r\n\r\n public static get instance(): StoreModel {\r\n if (!StoreModel.sInstance) {\r\n StoreModel.sInstance = new StoreModel();\r\n }\r\n\r\n return StoreModel.sInstance;\r\n }\r\n\r\n private storeList = TCBReceiptApi.Protobuf.StoreList.create();\r\n private specificStore = TCBReceiptApi.Protobuf.Store.create();\r\n\r\n public async getStoreSearch(storeUserQuery: Uint8Array): Promise {\r\n await Network.sendAPI(\"/api/front/store_user/get_search\", \"post\", storeUserQuery)\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.storeList = TCBReceiptApi.Protobuf.StoreList.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n public async getStore(storeInsertQuery: Uint8Array): Promise {\r\n await Network.sendAPI(\"/api/front/store_user/get\", \"post\", storeInsertQuery)\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.storeList = TCBReceiptApi.Protobuf.StoreList.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n public async getStoreByCondition(\r\n storeInsertQuery: Uint8Array\r\n ): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/store_user/get_by_condition\",\r\n \"post\",\r\n storeInsertQuery\r\n )\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.storeList = TCBReceiptApi.Protobuf.StoreList.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n public async getStoreByStoreID(storeQuery: Uint8Array): Promise {\r\n await Network.sendAPI(\"/api/front/store_user/get_by_store_id\", \"post\", storeQuery)\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.specificStore = TCBReceiptApi.Protobuf.Store.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n public async editStore(store: Uint8Array): Promise {\r\n let ec = TCBReceiptApi.Protobuf.ErrorCode.EC_NONE;\r\n\r\n await Network.sendAPI(\"/api/front/store_user/edit\", \"post\", store)\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n ec = response.errorCode;\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n return ec;\r\n }\r\n\r\n public async exportCurrent(storeQuery: Uint8Array): Promise {\r\n await Network.downloadFile(\"/api/front/store_user/export_current\", storeQuery);\r\n }\r\n\r\n public getStoreInsertList(): TCBReceiptApi.Protobuf.StoreList {\r\n return this.storeList;\r\n }\r\n\r\n public getStoreList(): TCBReceiptApi.Protobuf.StoreList {\r\n return this.storeList;\r\n }\r\n\r\n public getSpecificStore(): TCBReceiptApi.Protobuf.Store {\r\n return this.specificStore;\r\n }\r\n}\r\n\r\nconst storeModel = StoreModel.instance;\r\n\r\nexport { storeModel as StoreModel };\r\n","import { Network } from \"@/network\";\r\nimport { TCBReceiptApi } from \"@/network/pb/proto\";\r\nimport { Log } from \"@/util\";\r\n\r\nclass StoreUserModel {\r\n private static sInstance: StoreUserModel;\r\n\r\n public static get instance(): StoreUserModel {\r\n if (!StoreUserModel.sInstance) {\r\n StoreUserModel.sInstance = new StoreUserModel();\r\n }\r\n\r\n return StoreUserModel.sInstance;\r\n }\r\n\r\n private storeUserList = TCBReceiptApi.Protobuf.StoreUserList.create();\r\n private specificStoreUser = TCBReceiptApi.Protobuf.StoreUser.create();\r\n\r\n public async getStoreUser(storeUserQuery: Uint8Array): Promise {\r\n await Network.sendAPI(\"/api/front/store_user/get_by_tid_number\", \"post\", storeUserQuery)\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.storeUserList = TCBReceiptApi.Protobuf.StoreUserList.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n public async getStoreUserByCondition(\r\n storeUserQuery: Uint8Array\r\n ): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/store_user/get_by_condition\",\r\n \"post\",\r\n storeUserQuery\r\n )\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.storeUserList = TCBReceiptApi.Protobuf.StoreUserList.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n public async getById(\r\n storeUserQuery: Uint8Array\r\n ): Promise {\r\n await Network.sendAPI(\r\n \"/api/front/store_user/get_by_store_user_id\",\r\n \"post\",\r\n storeUserQuery\r\n )\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n this.specificStoreUser = TCBReceiptApi.Protobuf.StoreUser.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n }\r\n\r\n public async addStoreUser(\r\n storeUser: Uint8Array\r\n ): Promise {\r\n let ec = TCBReceiptApi.Protobuf.ErrorCode.EC_NONE;\r\n\r\n await Network.sendAPI(\"/api/front/store_user/add\", \"post\", storeUser)\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n ec = response.errorCode;\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n return ec;\r\n }\r\n\r\n public async editStoreUser(\r\n storeUser: Uint8Array\r\n ): Promise {\r\n let ec = TCBReceiptApi.Protobuf.ErrorCode.EC_NONE;\r\n\r\n await Network.sendAPI(\"/api/front/store_user/edit\", \"post\", storeUser)\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n ec = response.errorCode;\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n return ec;\r\n }\r\n\r\n public async deleteStoreUser(\r\n storeUser: Uint8Array\r\n ): Promise {\r\n let ec = TCBReceiptApi.Protobuf.ErrorCode.EC_NONE;\r\n\r\n await Network.sendAPI(\"/api/front/store_user/delete\", \"post\", storeUser)\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n ec = response.errorCode;\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n return ec;\r\n }\r\n\r\n public async resetPassword(\r\n storeUser: Uint8Array\r\n ): Promise {\r\n let ec = TCBReceiptApi.Protobuf.ErrorCode.EC_NONE;\r\n\r\n await Network.sendAPI(\"/api/front/store_user/reset_password\", \"post\", storeUser)\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n ec = response.errorCode;\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n return ec;\r\n }\r\n\r\n public getStoreUserList(): TCBReceiptApi.Protobuf.StoreUserList {\r\n return this.storeUserList;\r\n }\r\n\r\n public getSpecificStoreUser(): TCBReceiptApi.Protobuf.StoreUser {\r\n return this.specificStoreUser;\r\n }\r\n\r\n public async getPermissionMap(\r\n StoreUserQuery: Uint8Array\r\n ): Promise {\r\n let list = TCBReceiptApi.Protobuf.StoreUserPermissionList.create();\r\n\r\n await Network.sendAPI(\r\n \"/api/front/store_user/get_select_map\",\r\n \"post\",\r\n StoreUserQuery\r\n )\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n list = TCBReceiptApi.Protobuf.StoreUserPermissionList.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n return list;\r\n }\r\n\r\n public async changePassword(\r\n passwordMotify: Uint8Array\r\n ): Promise {\r\n let ec = TCBReceiptApi.Protobuf.ErrorCode.EC_NONE;\r\n\r\n await Network.sendAPI(\r\n \"/api/front/store_user/change_password\",\r\n \"post\",\r\n passwordMotify\r\n )\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n ec = response.errorCode;\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n return ec;\r\n }\r\n\r\n public async getStoreUserByAccountAndIdentification(\r\n frontCredentials: Uint8Array\r\n ): Promise<[TCBReceiptApi.Protobuf.ErrorCode, TCBReceiptApi.Protobuf.StoreUser]> {\r\n let ec = TCBReceiptApi.Protobuf.ErrorCode.EC_NONE;\r\n let storeUser = TCBReceiptApi.Protobuf.StoreUser.create();\r\n\r\n await Network.sendAPI(\"/api/web_user/get_by_account_and_identification\", \"post\", frontCredentials)\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n ec = response.errorCode;\r\n storeUser = TCBReceiptApi.Protobuf.StoreUser.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n return [ec, storeUser];\r\n }\r\n}\r\n\r\nconst storeUserModel = StoreUserModel.instance;\r\n\r\nexport { storeUserModel as StoreUserModel };\r\n","import { Network } from \"@/network\";\r\nimport { TCBReceiptApi } from \"@/network/pb/proto\";\r\nimport { Log } from \"@/util\";\r\n\r\nclass ScheduleReportModel {\r\n private static sInstance: ScheduleReportModel;\r\n\r\n public static get instance(): ScheduleReportModel {\r\n if (!ScheduleReportModel.sInstance) {\r\n ScheduleReportModel.sInstance = new ScheduleReportModel();\r\n }\r\n\r\n return ScheduleReportModel.sInstance;\r\n }\r\n\r\n // 新增\r\n public async add(query: Uint8Array): Promise {\r\n let ec = TCBReceiptApi.Protobuf.ErrorCode.EC_NONE;\r\n\r\n await Network.sendAPI(\"/api/front/schedule_report/add\", \"post\", query)\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n\r\n console.log(response);\r\n ec = response.errorCode;\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n return ec;\r\n }\r\n\r\n public async getReportList(): Promise {\r\n let list = TCBReceiptApi.Protobuf.ScheduleReportList.create();\r\n\r\n await Network.sendAPI(\r\n \"/api/front/schedule_report/get_list\",\r\n \"post\"\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n\r\n list = TCBReceiptApi.Protobuf.ScheduleReportList.decode(\r\n new Uint8Array(response.item)\r\n );\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n\r\n return list;\r\n }\r\n\r\n public async downloadFile(queryString: string): Promise {\r\n const uri = \"/api/front/schedule_report/get_file?\" + queryString;\r\n await Network.downloadFile(uri);\r\n }\r\n}\r\n\r\nconst scheduleReportModel = ScheduleReportModel.instance;\r\n\r\nexport { scheduleReportModel as ScheduleReportModel };\r\n","import { TCBReceiptApi } from \"@/network/pb/proto\";\r\n\r\nexport const DefaultPath = \"/announcement/list\"; /* 預設網址 */\r\n\r\n//------------------------------------------------------------------\r\n// 定義權限管理對應之常數\r\n//------------------------------------------------------------------\r\nexport enum PermissionCode { // 依後端最新wf為主\r\n /* 特約商店資料管理 */\r\n Store = \"1\",\r\n StoreData = \"1\", // 特約商店資料\r\n StoreReconciliation = \"1\", // 特約商店對帳查詢 // 未來權限規劃 -> 2 // 待保留 // 目前是舊版 其權限與對帳相同 尚未獨立分出來\r\n StoreReconciliationSingle = \"1\", // 單一特約商店對帳查詢 // 未來權限規劃 -> 3 // 待保留 // 目前是舊版 其權限與對帳相同 尚未獨立分出來\r\n StoreReconciliationReport = \"4\", // 報表下載專區\r\n\r\n /* Web對帳特約商店帳號與權限資料管理 */\r\n StoreAccount = \"2\",\r\n StoreAccountMethod = \"1\", // 特約商店帳號管理\r\n\r\n /* 電子發票特約商店帳號管理 */\r\n EReceiptAccount = \"3\",\r\n EReceiptAccountUser = \"1\", // 電子發票帳號管理\r\n\r\n /* 批次作業與排程管理 */\r\n Schedule = \"4\",\r\n ScheduleMethod = \"1\", // 批次作業排程管理\r\n ScheduleRecord = \"1\", // 批次作業排程執行紀錄 // 未來權限規劃 -> 2 // 待保留 // 目前是舊版 其權限與\"批次作業排程管理\"相同 尚未獨立分出來\r\n ScheduleDownload = \"1\", // 營業日設定 // 未來權限規劃 -> 3 // 待保留 // 目前是舊版 其權限與\"批次作業排程管理\"相同 尚未獨立分出來\r\n ScheduleBusinessDaySetting = \"1\", // 批次檔案下載 // 未來權限規劃 -> 4 // 待保留 // 目前是舊版 其權限與\"批次作業排程管理\"相同 尚未獨立分出來\r\n\r\n /* 系統功能權限群組管理 */\r\n GroupPermission = \"7\",\r\n GroupPermissionSystem = \"1\", // 系統功能群組權限\r\n GroupPermissionStore = \"2\", // 前端Web收單特店對帳群組權限\r\n\r\n /* 活動日誌管理 */\r\n Log = \"8\",\r\n LogSystem = \"1\", // 系統使用者活動紀錄\r\n LogStore = \"2\", // 前端Web收單特店使用者活動紀錄\r\n\r\n /* 公告管理 */\r\n Announcement = \"9\",\r\n AnnouncementMethod = \"1\", // 公告管理\r\n\r\n //------------------------------------------------------------------\r\n\r\n /* 前端Web收單特店對帳查詢系統使用者帳號管理 */ \r\n BankStore = \"1\",\r\n BankStoreUser = \"1\", // 特約商店資料\r\n /* 前端Web收單特店對帳查詢系統使用者帳號管理 */\r\n\r\n /* 對帳交易查詢 */\r\n BankReconciliation = \"2\",\r\n BankReconciliationReimbursement = \"1\", // 請款明細\r\n BankReconciliationAppropriation = \"2\", // 撥款明細\r\n BankReconciliationDeposit = \"3\", // 存摺入帳明細\r\n BankReconciliationReport = \"4\", // 報表下載專區\r\n /* 對帳交易查詢 */\r\n}\r\n//------------------------------------------------------------------\r\n\r\n\r\nconst GroupPermissionStoreNameMap :\r\n{\r\n [key: string]: {\r\n name: string,\r\n methodName: { [key: string]: string }\r\n }\r\n} = {\r\n \"1\": {\r\n name: \"前端Web收單特店對帳查詢系統使用者帳號管理\",\r\n methodName: {\r\n \"1\": \"特約商店資料\",\r\n },\r\n },\r\n \"2\": {\r\n name: \"對帳交易查詢\",\r\n methodName: {\r\n \"1\": \"請款資料\",\r\n \"2\": \"撥款明細\",\r\n \"3\": \"存摺入帳明細\",\r\n \"4\": \"報表下載專區\",\r\n },\r\n },\r\n};\r\n\r\nconst GroupPermissionStoreMap: { [key: string]: TCBReceiptApi.Protobuf.IGroupMap } = {\r\n \"1\": { // 前端Web收單特店對帳查詢系統使用者帳號管理\r\n \"map\" : {\r\n \"1\": { // 特約商店資料\r\n get: 0,\r\n add: 0,\r\n edit: 0,\r\n delete: 0,\r\n release: 0,\r\n },\r\n }\r\n },\r\n \"2\": { // 對帳交易查詢\r\n \"map\" : {\r\n \"1\": { // 請款資料\r\n get: 0,\r\n add: 0,\r\n edit: 0,\r\n delete: 0,\r\n release: 0,\r\n },\r\n \"2\": { // 撥款明細\r\n get: 0,\r\n add: 0,\r\n edit: 0,\r\n delete: 0,\r\n release: 0,\r\n },\r\n \"3\": { // 存摺入帳明細\r\n get: 0,\r\n add: 0,\r\n edit: 0,\r\n delete: 0,\r\n release: 0,\r\n },\r\n \"4\": { // 報表下載專區\r\n get: 0,\r\n add: 0,\r\n edit: 0,\r\n delete: 0,\r\n release: 0,\r\n },\r\n }\r\n },\r\n};\r\n\r\nexport const GroupPermission = {\r\n // store\r\n GroupPermissionStoreNameMap,\r\n GroupPermissionStoreMap,\r\n};","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!./all.min.css?vue&type=style&index=0&prod&lang=css&\"","export enum APIType {\r\n JSON = 1,\r\n PB = 2\r\n}\r\n","export enum AuthType {\r\n Base = 1,\r\n JWT = 2\r\n}\r\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\r\nimport qs from \"qs\";\r\n\r\nimport { Auth } from \"../auth/Auth\";\r\nimport { AuthType } from \"../auth/AuthType\";\r\nimport { API } from \"./API\";\r\n\r\nexport class APIJSON implements API {\r\n private auth!: { type: AuthType; instance: Auth };\r\n\r\n public setAuth(auth: { type: AuthType; instance: Auth }): void {\r\n this.auth = auth;\r\n }\r\n\r\n public getAuth(): { type: AuthType; instance: Auth } {\r\n return this.auth;\r\n }\r\n\r\n public setToken(value: string, expireIn?: number): void {\r\n this.auth.instance.setAuth(value, expireIn);\r\n\r\n const auth = this.auth.instance.getAuth();\r\n Object.assign(axios.defaults.headers.common, auth);\r\n }\r\n\r\n public removeToken(): void {\r\n const key = this.auth.instance.getAuthKey();\r\n delete axios.defaults.headers.common[key];\r\n }\r\n\r\n public getToken(): { [key: string]: string } {\r\n return this.auth.instance.getAuth();\r\n }\r\n\r\n public doesTokenExpire(): boolean {\r\n return this.auth.instance.doesTokenExpire();\r\n }\r\n\r\n public async call(\r\n url: string,\r\n method: Method,\r\n data?: unknown\r\n ): Promise> {\r\n let apiResponse!: AxiosResponse;\r\n\r\n let requestBody = \"\";\r\n if (data) {\r\n requestBody = qs.stringify(data as object);\r\n }\r\n\r\n const request: AxiosRequestConfig = {\r\n url: url,\r\n method: method,\r\n headers: {\r\n \"Content-Type\": \"application/x-www-form-urlencoded\"\r\n },\r\n responseType: \"json\",\r\n data: requestBody\r\n };\r\n await axios(request)\r\n .then(response => {\r\n apiResponse = response;\r\n })\r\n .catch(error => {\r\n throw error;\r\n });\r\n\r\n return apiResponse;\r\n }\r\n\r\n public async upload(\r\n url: string,\r\n data: FormData\r\n ): Promise> {\r\n let apiResponse!: AxiosResponse;\r\n\r\n const request: AxiosRequestConfig = {\r\n url: url,\r\n method: \"post\",\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\"\r\n },\r\n responseType: \"json\",\r\n data: data\r\n };\r\n\r\n await axios(request)\r\n .then(response => {\r\n apiResponse = response;\r\n })\r\n .catch(error => {\r\n throw error;\r\n });\r\n\r\n return apiResponse;\r\n }\r\n\r\n public async download(url: string, data?: unknown): Promise {\r\n let requestBody!: object;\r\n if (data) {\r\n const object = data as object;\r\n requestBody = object;\r\n }\r\n\r\n const request: AxiosRequestConfig = {\r\n url: url,\r\n method: \"get\",\r\n headers: {\r\n \"Content-Type\": \"application/x-www-form-urlencoded\"\r\n },\r\n responseType: \"blob\",\r\n data: requestBody ? requestBody : undefined\r\n };\r\n\r\n await axios(request)\r\n .then(response => {\r\n const fileName = response.headers[\"content-disposition\"].match(\r\n /filename=(.*)/\r\n )[1];\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", fileName);\r\n document.body.appendChild(link);\r\n link.click();\r\n })\r\n .catch(error => {\r\n throw error;\r\n });\r\n }\r\n\r\n public async downloadFromS3(url: string, data?: unknown): Promise {\r\n let requestBody!: object;\r\n if (data) {\r\n const object = data as object;\r\n requestBody = object;\r\n }\r\n\r\n const request: AxiosRequestConfig = {\r\n url: url,\r\n method: \"get\",\r\n headers: {\r\n \"Content-Type\": \"application/x-www-form-urlencoded\"\r\n },\r\n responseType: \"blob\",\r\n data: requestBody ? requestBody : undefined\r\n };\r\n\r\n await axios(request)\r\n .then(response => {\r\n const urlBlock = url.split(\"/\");\r\n const fileName = urlBlock[urlBlock.length - 1];\r\n const objURL = window.URL.createObjectURL(response.data);\r\n const link = document.createElement(\"a\");\r\n link.href = objURL;\r\n link.setAttribute(\"download\", fileName);\r\n document.body.appendChild(link);\r\n link.click();\r\n })\r\n .catch(error => {\r\n throw error;\r\n });\r\n }\r\n\r\n public async getImageSrc(url: string, data?: unknown): Promise {\r\n let imageSrc = \"\";\r\n\r\n let requestBody = \"\";\r\n if (data) {\r\n requestBody = qs.stringify(data as object);\r\n }\r\n\r\n const request: AxiosRequestConfig = {\r\n url: url,\r\n method: \"post\",\r\n headers: {\r\n \"Content-Type\": \"application/x-www-form-urlencoded\"\r\n },\r\n responseType: \"blob\",\r\n data: requestBody\r\n };\r\n\r\n await axios(request)\r\n .then(response => response.data as Blob)\r\n .then(blob => URL.createObjectURL(blob))\r\n .then(src => {\r\n imageSrc = src;\r\n })\r\n .catch(error => {\r\n throw error;\r\n });\r\n\r\n return imageSrc;\r\n }\r\n}\r\n","import axios, { AxiosRequestConfig, AxiosResponse, Method } from \"axios\";\r\nimport qs from \"qs\";\r\n\r\nimport { Auth } from \"../auth/Auth\";\r\nimport { AuthType } from \"../auth/AuthType\";\r\nimport { API } from \"./API\";\r\n\r\nexport class APIPB implements API {\r\n private auth!: { type: AuthType; instance: Auth };\r\n\r\n public setAuth(auth: { type: AuthType; instance: Auth }): void {\r\n this.auth = auth;\r\n }\r\n\r\n public getAuth(): { type: AuthType; instance: Auth } {\r\n return this.auth;\r\n }\r\n\r\n public setToken(value: string, expireIn?: number): void {\r\n this.auth.instance.setAuth(value, expireIn);\r\n\r\n const auth = this.auth.instance.getAuth();\r\n Object.assign(axios.defaults.headers.common, auth);\r\n }\r\n\r\n public getToken(): { [key: string]: string } {\r\n return this.auth.instance.getAuth();\r\n }\r\n\r\n public removeToken(): void {\r\n const key = this.auth.instance.getAuthKey();\r\n delete axios.defaults.headers.common[key];\r\n }\r\n\r\n public doesTokenExpire(): boolean {\r\n return this.auth.instance.doesTokenExpire();\r\n }\r\n\r\n public async call(\r\n url: string,\r\n method: Method,\r\n data?: unknown\r\n ): Promise> {\r\n let apiResponse!: AxiosResponse;\r\n\r\n let requestBody!: Blob;\r\n if (data) {\r\n const uint8Array = data as Uint8Array;\r\n requestBody = new Blob([uint8Array], { type: \"buffer\" });\r\n }\r\n\r\n const request: AxiosRequestConfig = {\r\n url: url,\r\n method: method,\r\n headers: {\r\n \"Content-Type\": \"application/octet-stream\"\r\n },\r\n responseType: \"arraybuffer\",\r\n data: requestBody ? requestBody : undefined\r\n };\r\n\r\n await axios(request)\r\n .then(response => {\r\n apiResponse = response;\r\n })\r\n .catch(error => {\r\n throw error;\r\n });\r\n\r\n return apiResponse;\r\n }\r\n\r\n public async upload(\r\n url: string,\r\n data: FormData\r\n ): Promise> {\r\n let apiResponse!: AxiosResponse;\r\n\r\n const request: AxiosRequestConfig = {\r\n url: url,\r\n method: \"post\",\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\"\r\n },\r\n responseType: \"arraybuffer\",\r\n data: data\r\n };\r\n\r\n await axios(request)\r\n .then(response => {\r\n apiResponse = response;\r\n })\r\n .catch(error => {\r\n throw error;\r\n });\r\n\r\n return apiResponse;\r\n }\r\n\r\n public async download(url: string, data?: unknown): Promise {\r\n let requestBody!: Blob;\r\n if (data) {\r\n const uint8Array = data as Uint8Array;\r\n requestBody = new Blob([uint8Array], { type: \"buffer\" });\r\n }\r\n\r\n const request: AxiosRequestConfig = {\r\n url: url,\r\n method: \"get\",\r\n headers: {\r\n \"Content-Type\": \"application/octet-stream\"\r\n },\r\n responseType: \"blob\",\r\n data: requestBody ? requestBody : undefined\r\n };\r\n\r\n await axios(request)\r\n .then(response => {\r\n const fileName = decodeURIComponent(response.headers[\"content-disposition\"].match(\r\n /filename=(.*)/\r\n )[1]);\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", fileName.replace(/\"/g, \"\"));//下載檔案前把檔名內的雙引號移除掉\r\n document.body.appendChild(link);\r\n link.click();\r\n })\r\n .catch(error => {\r\n throw error;\r\n });\r\n }\r\n\r\n public async downloadFromS3(url: string, data?: unknown): Promise {\r\n let requestBody!: object;\r\n if (data) {\r\n const object = data as object;\r\n requestBody = object;\r\n }\r\n\r\n const request: AxiosRequestConfig = {\r\n url: url,\r\n method: \"get\",\r\n headers: {\r\n \"Content-Type\": \"application/x-www-form-urlencoded\"\r\n },\r\n responseType: \"blob\",\r\n data: requestBody ? requestBody : undefined\r\n };\r\n\r\n await axios(request)\r\n .then(response => {\r\n const fileName = response.headers[\"content-disposition\"].match(\r\n /filename=(.*)/\r\n )[1];\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", fileName);\r\n document.body.appendChild(link);\r\n link.click();\r\n })\r\n .catch(error => {\r\n throw error;\r\n });\r\n }\r\n\r\n public async getImageSrc(url: string, data?: unknown): Promise {\r\n let imageSrc = \"\";\r\n\r\n let requestBody = \"\";\r\n if (data) {\r\n requestBody = qs.stringify(data as object);\r\n }\r\n\r\n const request: AxiosRequestConfig = {\r\n url: url,\r\n method: \"post\",\r\n headers: {\r\n \"Content-Type\": \"application/x-www-form-urlencoded\"\r\n },\r\n responseType: \"blob\",\r\n data: requestBody\r\n };\r\n\r\n await axios(request)\r\n .then(response => response.data as Blob)\r\n .then(blob => URL.createObjectURL(blob))\r\n .then(src => {\r\n imageSrc = src;\r\n })\r\n .catch(error => {\r\n throw error;\r\n });\r\n\r\n return imageSrc;\r\n }\r\n}\r\n","import { API } from \"./API\";\r\nimport { APIType } from \"./APIType\";\r\nimport { APIJSON } from \"./APIJSON\";\r\nimport { APIPB } from \"./APIPB\";\r\n\r\nexport class APISimpleFactory {\r\n public static create(apiType: APIType): API {\r\n switch (apiType) {\r\n case APIType.JSON:\r\n return new APIJSON();\r\n case APIType.PB:\r\n return new APIPB();\r\n default:\r\n return new APIJSON();\r\n }\r\n }\r\n}\r\n","import { Auth } from \"./Auth\";\r\n\r\nexport class AuthBase implements Auth {\r\n private auth: { [key: string]: string } = { AppToken: \"\" };\r\n private expireIn = -1;\r\n\r\n public setAuth(token: string, expireIn?: number): void {\r\n this.auth.AppToken = this.auth.AppToken + token;\r\n\r\n if (expireIn) {\r\n this.expireIn = expireIn;\r\n }\r\n }\r\n\r\n public getAuth(): { [key: string]: string } {\r\n return this.auth;\r\n }\r\n\r\n public getAuthKey(): string {\r\n return \"AppToken\";\r\n }\r\n\r\n public doesTokenExpire(): boolean {\r\n const dateTime = Date.now();\r\n const timestamp = Math.floor(dateTime / 1000);\r\n\r\n return this.expireIn + 10 >= timestamp;\r\n }\r\n}\r\n","import { Auth } from \"./Auth\";\r\n\r\nexport class AuthJWT implements Auth {\r\n private auth: { [key: string]: string } = { Authorization: \"Bearer \" };\r\n private expireIn = -1;\r\n\r\n public setAuth(token: string, expireIn?: number): void {\r\n this.auth.Authorization = \"Bearer \" + token;\r\n\r\n if (expireIn) {\r\n this.expireIn = expireIn;\r\n }\r\n }\r\n\r\n public getAuth(): { [key: string]: string } {\r\n return this.auth;\r\n }\r\n\r\n public getAuthKey(): string {\r\n return \"Authorization\";\r\n }\r\n\r\n public doesTokenExpire(): boolean {\r\n const dateTime = Date.now();\r\n const timestamp = Math.floor(dateTime / 1000);\r\n\r\n return this.expireIn + 10 >= timestamp;\r\n }\r\n}\r\n","import { Auth } from \"./Auth\";\r\nimport { AuthType } from \"./AuthType\";\r\nimport { AuthBase } from \"./AuthBase\";\r\nimport { AuthJWT } from \"./AuthJWT\";\r\n\r\nexport class AuthSimpleFactory {\r\n public static create(authType: AuthType): Auth {\r\n switch (authType) {\r\n case AuthType.Base:\r\n return new AuthBase();\r\n case AuthType.JWT:\r\n return new AuthJWT();\r\n default:\r\n return new AuthJWT();\r\n }\r\n }\r\n}\r\n","import { AxiosResponse, Method } from \"axios\";\r\n\r\nimport { API } from \"./API\";\r\nimport { APIType } from \"./APIType\";\r\nimport { APISimpleFactory } from \"./APISimpleFactory\";\r\n\r\nimport { Log } from \"@/util\";\r\nimport { AuthType } from \"../auth/AuthType\";\r\nimport { AuthSimpleFactory } from \"../auth/AuthSimpleFactory\";\r\nimport { Auth } from \"../auth/Auth\";\r\n\r\nexport class ClientAPI {\r\n private baseURL = \"\";\r\n private api!: { type: APIType; instance: API };\r\n private apiResponse!: AxiosResponse;\r\n\r\n public setAuth(type: AuthType): void {\r\n const auth = {\r\n type: type,\r\n instance: AuthSimpleFactory.create(type)\r\n };\r\n\r\n this.api.instance.setAuth(auth);\r\n }\r\n\r\n public getAuth(): {\r\n type: AuthType;\r\n instance: Auth;\r\n } {\r\n return this.api.instance.getAuth();\r\n }\r\n\r\n public setToken(value: string, expireIn?: number): void {\r\n this.api.instance.setToken(value, expireIn);\r\n }\r\n\r\n public getToken(): {\r\n [key: string]: string;\r\n } {\r\n return this.api.instance.getToken();\r\n }\r\n\r\n public removeToken(): void {\r\n this.api.instance.removeToken();\r\n }\r\n\r\n public doesTokenExpire(): boolean {\r\n return this.api.instance.doesTokenExpire();\r\n }\r\n\r\n public connect(url: string): void {\r\n Log.info(url);\r\n }\r\n\r\n public isConnected(): boolean {\r\n return false;\r\n }\r\n\r\n public disconnect(): void {\r\n Log.info(\"disconnect\");\r\n }\r\n\r\n public setBaseURL(baseURL: string): void {\r\n this.baseURL = baseURL;\r\n }\r\n\r\n public setAPI(type: APIType): void {\r\n this.api = {\r\n type: type,\r\n instance: APISimpleFactory.create(type)\r\n };\r\n }\r\n\r\n public async sendAPI(\r\n uri: string,\r\n method: Method,\r\n data?: unknown\r\n ): Promise> {\r\n try {\r\n // 2022/12/27 追加計時器功能 => 若在15秒內,未傳回執行結果時,會跳提示示窗\r\n // 「系統忙碌中,請稍候再嘗試,謝謝」\r\n let isCallBack = false; //\r\n const interval: ReturnType = setInterval(() => {\r\n if (!isCallBack) {\r\n alert('「系統忙碌中,請稍候再嘗試,謝謝」');\r\n clearInterval(interval as ReturnType);\r\n }\r\n }, 15000); // 15秒\r\n\r\n await this.callAPI(`${this.baseURL}${uri}`, method, data);\r\n isCallBack = true; //\r\n } catch (error) {\r\n Log.error(error);\r\n }\r\n\r\n return this.apiResponse;\r\n }\r\n\r\n private async callAPI(\r\n url: string,\r\n method: Method,\r\n data?: unknown\r\n ): Promise {\r\n this.apiResponse = await this.api.instance.call(url, method, data);\r\n }\r\n\r\n public async uploadFile(\r\n uri: string,\r\n data: FormData\r\n ): Promise> {\r\n try {\r\n await this.upload(`${this.baseURL}${uri}`, data);\r\n } catch (error) {\r\n Log.error(error);\r\n }\r\n\r\n return this.apiResponse;\r\n }\r\n\r\n private async upload(url: string, data: FormData): Promise {\r\n this.apiResponse = await this.api.instance.upload(url, data);\r\n }\r\n\r\n public async downloadFile(uri: string, data?: unknown): Promise {\r\n try {\r\n await this.download(`${this.baseURL}${uri}`, data);\r\n } catch (error) {\r\n Log.error(error);\r\n }\r\n }\r\n\r\n private async download(url: string, data?: unknown): Promise {\r\n await this.api.instance.download(url, data);\r\n }\r\n\r\n public async downloadFileFromS3(url: string, data?: unknown): Promise {\r\n try {\r\n await this.downloadFromS3(url, data);\r\n } catch (error) {\r\n Log.error(error);\r\n }\r\n }\r\n\r\n private async downloadFromS3(url: string, data?: unknown): Promise {\r\n await this.api.instance.downloadFromS3(url, data);\r\n }\r\n\r\n public async getImageSrcByPost(uri: string, data?: unknown): Promise {\r\n let src = \"\";\r\n\r\n try {\r\n src = await this.getImageSrc(`${this.baseURL}${uri}`, data);\r\n } catch (error) {\r\n Log.error(error);\r\n }\r\n\r\n return src;\r\n }\r\n\r\n private async getImageSrc(url: string, data?: unknown): Promise {\r\n return await this.api.instance.getImageSrc(url, data);\r\n }\r\n}\r\n","import { AxiosResponse, Method } from \"axios\";\r\nimport Cookies from 'js-cookie';\r\n\r\nimport { APIType } from \"./api/APIType\";\r\nimport { ClientAPI } from \"./api/ClientAPI\";\r\nimport { AuthType } from \"./auth/AuthType\";\r\n\r\nclass Network {\r\n private static sInstance: Network;\r\n\r\n public static get instance(): Network {\r\n if (!Network.sInstance) {\r\n Network.sInstance = new Network();\r\n }\r\n\r\n return Network.sInstance;\r\n }\r\n\r\n private clientAPI = new ClientAPI();\r\n\r\n // -------------------------------- WebSocket --------------------------------\r\n\r\n public initWebSocket(): void {\r\n // TODO: initWebSocket\r\n }\r\n\r\n public connect(): void {\r\n // TODO: connect\r\n }\r\n\r\n public disconnect(): void {\r\n // TODO: disconnect\r\n }\r\n\r\n // ----------------------------------- API -----------------------------------\r\n\r\n public setBaseURL(baseURL: string): void {\r\n this.clientAPI.setBaseURL(baseURL);\r\n }\r\n\r\n public setAPI(type: APIType): void {\r\n this.clientAPI.setAPI(type);\r\n }\r\n\r\n public setAuth(type: AuthType, value: string, expireIn?: number): void {\r\n this.clientAPI.setAuth(type);\r\n this.clientAPI.setToken(value, expireIn);\r\n }\r\n\r\n public removeToken(): void {\r\n this.clientAPI.removeToken();\r\n }\r\n\r\n public authCheck(): boolean {\r\n const token = Cookies.get(\"appToken\");\r\n if (token !== null) {\r\n if (this.clientAPI.getAuth() === undefined) {\r\n this.setAuth(AuthType.JWT, token as string);\r\n }\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public sendAPI(\r\n uri: string,\r\n method: Method,\r\n data?: unknown\r\n ): Promise> {\r\n return this.clientAPI.sendAPI(uri, method, data);\r\n }\r\n\r\n public uploadFile(\r\n uri: string,\r\n data: FormData\r\n ): Promise> {\r\n return this.clientAPI.uploadFile(uri, data);\r\n }\r\n\r\n public downloadFile(uri: string, data?: unknown): Promise {\r\n return this.clientAPI.downloadFile(uri, data);\r\n }\r\n\r\n public downloadFileFromS3(url: string, data?: unknown): Promise {\r\n return this.clientAPI.downloadFileFromS3(url, data);\r\n }\r\n\r\n public getImageSrcByPost(uri: string, data?: unknown): Promise {\r\n return this.clientAPI.getImageSrcByPost(uri, data);\r\n }\r\n}\r\n\r\nconst network = Network.instance;\r\n\r\nexport { network as Network };\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!./swiper.min.css?vue&type=style&index=4&prod&lang=css&\"","import Cookies from 'js-cookie';\r\n\r\nexport class Util {\r\n public static convertTimeToRepublicEra(timestamp: number): string {\r\n if (!timestamp) return \"-\";\r\n const time = new Date(timestamp * 1000);\r\n\r\n const year = time.getFullYear() - 1911;\r\n const month = `${\r\n time.getMonth() + 1 < 10 ? `0${time.getMonth() + 1}` : time.getMonth() + 1\r\n }`;\r\n const day = `${\r\n time.getDate() < 10 ? `0${time.getDate()}` : time.getDate()\r\n }`;\r\n const hour = `${\r\n time.getHours() < 10 ? `0${time.getHours()}` : time.getHours()\r\n }`;\r\n const min = `${\r\n time.getMinutes() < 10 ? `0${time.getMinutes()}` : time.getMinutes()\r\n }`;\r\n\r\n return `${year}-${month}-${day} ${hour}:${min}`;\r\n }\r\n\r\n public static isTIDNumber(tidNumber: string): boolean {\r\n let sum = 0;\r\n\r\n const re = /^\\d{8}$/;\r\n if (!re.test(tidNumber)) {\r\n return false;\r\n }\r\n\r\n const tmp = new String(\"12121241\");\r\n for (let i = 0; i < 8; i++) {\r\n const s1 = parseInt(tidNumber.substr(i, 1));\r\n const s2 = parseInt(tmp.substr(i, 1));\r\n sum += this.tidNumberCal(s1 * s2);\r\n }\r\n if (!this.tidNumberValid(sum)) {\r\n if (tidNumber.substr(6, 1) == \"7\") {\r\n return this.tidNumberValid(sum + 1);\r\n }\r\n }\r\n\r\n return this.tidNumberValid(sum);\r\n }\r\n\r\n public static isStoreCode(storeCode: string): boolean {\r\n return /^006|99\\d{12}$/.test(storeCode);\r\n }\r\n\r\n public static isROCID(id: string) {\r\n const city = [\r\n 1,\r\n 10,\r\n 19,\r\n 28,\r\n 37,\r\n 46,\r\n 55,\r\n 64,\r\n 39,\r\n 73,\r\n 82,\r\n 2,\r\n 11,\r\n 20,\r\n 48,\r\n 29,\r\n 38,\r\n 47,\r\n 56,\r\n 65,\r\n 74,\r\n 83,\r\n 21,\r\n 3,\r\n 12,\r\n 30\r\n ];\r\n id = id.toUpperCase();\r\n if (!id.match(/^[A-Z]\\d{9}$/) && !id.match(/^[A-Z][A-D]\\d{8}$/)) {\r\n return false;\r\n } else {\r\n let total = 0;\r\n const idList = id.split(\"\");\r\n if (id.match(/^[A-Z]\\d{9}$/)) {\r\n total = city[id[0].charCodeAt(0) - 65];\r\n for (let i = 1; i <= 8; i++) {\r\n total += parseInt(idList[i]) * (9 - i);\r\n }\r\n }\r\n total += parseInt(id[9]);\r\n if (total % 10 == 0) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n public static isPhone(phone: string) {\r\n if (/^[09]{2}[0-9]{8}$/.test(phone)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n public static isCreditCardNumber(phone: string) {\r\n if (/^\\d{16}$/.test(phone)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n public static isMail(mail: string) {\r\n if (/[\\w-]+@([\\w-]+\\.)+[\\w-]+/.test(mail)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n private static tidNumberCal(n: number) {\r\n let sum = 0;\r\n while (n != 0) {\r\n sum += n % 10;\r\n n = (n - (n % 10)) / 10;\r\n }\r\n return sum;\r\n }\r\n\r\n private static tidNumberValid(n: number) {\r\n return n % 10 == 0 ? true : false;\r\n }\r\n\r\n public static validateEmail(mail: string): boolean {\r\n const pattern = /^([A-Za-z0-9_\\-.\\u4e00-\\u9fa5])+@([A-Za-z0-9_\\-.])+.([A-Za-z]{2,8})$/;\r\n if (pattern.test(mail.toLocaleLowerCase())) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static passReconciliationByCookie(): boolean {\r\n // 2022/12/27 => 禁止同一帳號在30秒內,重複操作搜尋動作,如30秒內執行時,會跳提示示窗\r\n // 「請勿於30秒內重複執行搜尋動作,請於30秒後再次嘗試執行,謝謝」\r\n const nowTime = new Date().getTime();\r\n const reconciliationCookieSearch = Cookies.get(\"ReconciliationCookieSearch\") as string;\r\n if (reconciliationCookieSearch && nowTime <= (parseInt(reconciliationCookieSearch) + 15000)) {\r\n alert('「請勿於15秒內重複執行搜尋動作,請於15秒後再次嘗試執行,謝謝」');\r\n return false;\r\n }\r\n Cookies.set(\"ReconciliationCookieSearch\",nowTime.toString() , { sameSite: 'strict' });\r\n\r\n return true;\r\n } \r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!./fontawesome.min.css?vue&type=style&index=1&prod&lang=css&\"","export enum LangType {\r\n EN = \"en\",\r\n TW = \"tw\"\r\n}\r\n","import axios from \"axios\";\r\n\r\nimport { LangType } from \"./LangType\";\r\n\r\nimport { Log } from \"@/util\";\r\n\r\nclass LangManager {\r\n public static get instance(): LangManager {\r\n if (!LangManager.sInstance) {\r\n LangManager.sInstance = new LangManager();\r\n }\r\n return LangManager.sInstance;\r\n }\r\n\r\n private static sInstance: LangManager;\r\n\r\n private type: LangType = LangType.EN;\r\n\r\n public setType(type: LangType): void {\r\n this.type = type;\r\n }\r\n\r\n public getType(): LangType {\r\n return this.type;\r\n }\r\n\r\n public getText(key: string, page = \"misc\"): string {\r\n const textHash = this.getTextHashFromSession();\r\n\r\n return textHash[page] && textHash[page][key]\r\n ? textHash[page][key]\r\n : \"[key] not exist.\";\r\n }\r\n\r\n public getTextHashByPage(\r\n page: string\r\n ): { [page: string]: { [key: string]: string } } {\r\n const pageTextHash: { [page: string]: { [key: string]: string } } = {};\r\n\r\n const textHash = this.getTextHashFromSession();\r\n\r\n pageTextHash[\"misc\"] = textHash[\"misc\"];\r\n if (textHash[page]) {\r\n pageTextHash[page] = textHash[page];\r\n }\r\n\r\n return pageTextHash;\r\n }\r\n\r\n public async loadMiscLangMap(): Promise {\r\n const textHash: { [page: string]: { [key: string]: string } } = {};\r\n textHash[\"misc\"] = {};\r\n\r\n const url = `/assets/lang/${this.type}/misc.json`;\r\n\r\n await axios\r\n .get(url)\r\n .then(response => {\r\n textHash[\"misc\"] = response.data as { [key: string]: string };\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n const textHashString = JSON.stringify(textHash);\r\n sessionStorage.setItem(\"textHash\", textHashString);\r\n }\r\n\r\n public async loadPageLangMap(name: string): Promise {\r\n const textHash = this.getTextHashFromSession();\r\n\r\n if (!textHash[name]) {\r\n textHash[name] = {};\r\n\r\n const url = `/assets/lang/${this.type}/${name}.json`;\r\n\r\n await axios\r\n .get(url)\r\n .then(response => {\r\n textHash[name] = response.data as { [key: string]: string };\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n const textHashString = JSON.stringify(textHash);\r\n sessionStorage.setItem(\"textHash\", textHashString);\r\n }\r\n }\r\n\r\n private getTextHashFromSession(): {\r\n [page: string]: { [key: string]: string };\r\n } {\r\n let textHash: { [page: string]: { [key: string]: string } } = {};\r\n\r\n const textHashString = sessionStorage.getItem(\"textHash\");\r\n if (textHashString !== null) {\r\n textHash = JSON.parse(textHashString);\r\n }\r\n\r\n return textHash;\r\n }\r\n}\r\n\r\nconst langManager = LangManager.instance;\r\n\r\nexport { langManager as LangManager };\r\n","import { Network } from \"@/network\";\r\nimport { TCBReceiptApi } from \"@/network/pb/proto\";\r\nimport { Log } from \"@/util\";\r\n\r\nclass LoginModel {\r\n private static sInstance: LoginModel;\r\n\r\n public static get instance(): LoginModel {\r\n if (!LoginModel.sInstance) {\r\n LoginModel.sInstance = new LoginModel();\r\n }\r\n\r\n return LoginModel.sInstance;\r\n }\r\n\r\n public async getCaptcha(\r\n query: Uint8Array\r\n ): Promise {\r\n let ec = TCBReceiptApi.Protobuf.ErrorCode.EC_NONE;\r\n\r\n await Network.sendAPI(\r\n \"/api/web_user/captcha/get\",\r\n \"post\",\r\n query,\r\n )\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n ec = response.errorCode;\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n return ec;\r\n } \r\n\r\n public async checkCode(\r\n query: Uint8Array\r\n ): Promise {\r\n let ec = TCBReceiptApi.Protobuf.ErrorCode.EC_NONE;\r\n\r\n await Network.sendAPI(\r\n \"/api/web_user/captcha/valid\",\r\n \"post\",\r\n query\r\n )\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n ec = response.errorCode;\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n return ec;\r\n }\r\n\r\n public async login(\r\n loginQuery: Uint8Array\r\n ): Promise {\r\n let responseInfo = TCBReceiptApi.Protobuf.Response.create();\r\n\r\n await Network.sendAPI(\r\n \"/api/web_user/login\",\r\n \"post\",\r\n loginQuery,\r\n )\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n\r\n responseInfo = response;\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n return responseInfo;\r\n }\r\n\r\n public async forget(\r\n query: Uint8Array\r\n ): Promise {\r\n let ec = TCBReceiptApi.Protobuf.ErrorCode.EC_NONE;\r\n\r\n await Network.sendAPI(\r\n \"/api/web_user/forget_password\",\r\n \"post\",\r\n query\r\n )\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n ec = response.errorCode;\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n return ec;\r\n }\r\n\r\n public async firstResetPassword(\r\n query: Uint8Array\r\n ): Promise {\r\n let ec = TCBReceiptApi.Protobuf.ErrorCode.EC_NONE;\r\n\r\n await Network.sendAPI(\r\n \"/api/web_user/first_reset_password\",\r\n \"post\",\r\n query\r\n )\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n ec = response.errorCode;\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n return ec;\r\n }\r\n\r\n public async continuePassword(): Promise {\r\n let ec = TCBReceiptApi.Protobuf.ErrorCode.EC_NONE;\r\n\r\n await Network.sendAPI(\r\n \"/api/web_user/continue_password\",\r\n \"post\",\r\n )\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n ec = response.errorCode;\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n return ec;\r\n }\r\n\r\n public async updatePermission(): Promise {\r\n let info = TCBReceiptApi.Protobuf.UserAuth.create();\r\n let ec = TCBReceiptApi.Protobuf.ErrorCode.EC_NONE;\r\n\r\n await Network.sendAPI(\r\n \"/api/web_user/update_permission\",\r\n \"post\",\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n\r\n info = TCBReceiptApi.Protobuf.UserAuth.decode(\r\n new Uint8Array(response.item)\r\n );\r\n ec = response.errorCode;\r\n if (ec === TCBReceiptApi.Protobuf.ErrorCode.EC_USER_REPEAT_LOGIN) {\r\n alert(\"此帳號已從其他地方登入,您已被登出\");\r\n window.location.href = \"/login\";\r\n }\r\n\r\n if (ec === TCBReceiptApi.Protobuf.ErrorCode.EC_USER_TOKEN_EXPIRES || rawResponse.status === 401) {\r\n alert(\"帳號驗證失敗,請重新登入\");\r\n window.location.href = \"/login\";\r\n }\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n\r\n return info;\r\n } \r\n\r\n public async checkResetPasswordPeriod(): Promise {\r\n let ec = TCBReceiptApi.Protobuf.ErrorCode.EC_NONE;\r\n\r\n await Network.sendAPI(\r\n \"/api/web_user/check_reset_password_period\",\r\n \"post\",\r\n )\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n ec = response.errorCode;\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n return ec;\r\n } \r\n\r\n public async resetPassword(\r\n query: Uint8Array\r\n ): Promise {\r\n let ec = TCBReceiptApi.Protobuf.ErrorCode.EC_NONE;\r\n\r\n await Network.sendAPI(\r\n \"/api/web_user/reset_password\",\r\n \"post\",\r\n query\r\n )\r\n .then(rawResponse => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n ec = response.errorCode;\r\n })\r\n .catch(error => {\r\n Log.error(error);\r\n });\r\n\r\n return ec;\r\n } \r\n \r\n public async logout(): Promise {\r\n await Network.sendAPI(\r\n \"/api/web_user/logout\",\r\n \"post\",\r\n )\r\n }\r\n\r\n // 檢查當下token並延長至時間上限\r\n public async CheckAndUpdateAndGetOnline(): Promise<[TCBReceiptApi.Protobuf.ErrorCode, number]> {\r\n let ec = TCBReceiptApi.Protobuf.ErrorCode.EC_NONE;\r\n let info = TCBReceiptApi.Protobuf.UserAuth.create();\r\n let expireTime = 0;\r\n\r\n await Network.sendAPI(\r\n \"/api/web_user/check_and_update_and_get_online\",\r\n \"post\",\r\n )\r\n .then((rawResponse) => {\r\n const response = TCBReceiptApi.Protobuf.Response.decode(\r\n new Uint8Array(rawResponse.data as ArrayBufferLike)\r\n );\r\n ec = response.errorCode;\r\n info = TCBReceiptApi.Protobuf.UserAuth.decode(\r\n new Uint8Array(response.item)\r\n );\r\n expireTime = info.expireTime as number;\r\n console.log(response);\r\n })\r\n .catch((error) => {\r\n Log.error(error);\r\n });\r\n\r\n\r\n return [ec, expireTime];\r\n } \r\n}\r\n\r\nconst loginModel = LoginModel.instance;\r\n\r\nexport { loginModel as LoginModel };\r\n","// define used error code\r\nexport enum ErrorCode {\r\n NotResponse = -1,\r\n ServerError = 10000\r\n}\r\n\r\n// define used error message (lang key)\r\nexport const ErrorMessage = {\r\n [ErrorCode.ServerError]: \"server_error\"\r\n};\r\n","const ActionTypeMap: { [key: number]: string } = {\r\n 1: \"新增\",\r\n 2: \"修改\",\r\n 3: \"刪除\",\r\n};\r\n\r\nconst ErrorCodeMap: { [k: number]: string } = {\r\n 0: \"<錯誤代碼: 0> 未處理\",\r\n\r\n 1: \"操作成功\",\r\n\r\n 2: \"<錯誤代碼: 2> 操作失敗\",\r\n 3: \"<錯誤代碼: 3> 伺服器錯誤\",\r\n 4: \"<錯誤代碼: 4> 沒有權限執行此操作\",\r\n\r\n 101: \"<錯誤代碼: 101> 輸入舊密碼錯誤\",\r\n 102: \"<錯誤代碼: 102> 密碼不得輸入與舊密碼相同\",\r\n 103: \"<錯誤代碼: 103> 使用者不存在\",\r\n 104: \"<錯誤代碼: 104> 使用者已上鎖\",\r\n 105: \"<錯誤代碼: 105> 使用者登入錯誤\",\r\n 106: \"<錯誤代碼: 106> 超過重置密碼效期\",\r\n 107: \"<錯誤代碼: 107> 驗證碼錯誤\",\r\n 111: \"<錯誤代碼: 111> 您已從其他地方登出,請重新登入\",\r\n\r\n 1101: \"<錯誤代碼: 1101> 條件不符合\",\r\n\r\n 1301: \"<錯誤代碼: 1301> 取得資料錯誤\",\r\n 1302: \"<錯誤代碼: 1302> 取得列表統計錯誤\",\r\n\r\n 1401: \"<錯誤代碼: 1401> 資料庫寫入錯誤\",\r\n 1402: \"<錯誤代碼: 1402> 資料庫更新錯誤\",\r\n 1403: \"<錯誤代碼: 1403> 資料庫刪除錯誤\",\r\n 1404: \"<錯誤代碼: 1404> 此筆資料已存在修改中的暫存檔,請至待放行資料進行修改\",\r\n\r\n 1501: \"<錯誤代碼: 1501> 此筆異常排程正在執行中,無法執行其他排程\",\r\n\r\n //---------------------------------------------------------------------------\r\n // 前端自定義提示文案 規則是 萬: { 1: 後端, 2: 前端 }, 千: WF規劃幾之幾, 百: WF規劃幾之幾\r\n\r\n /* 共通項目 */\r\n 10000: \"統一編號格式錯誤\",\r\n 10001: \"該統編已存在\",\r\n 10002: \"查無此統編\",\r\n 10003: \"因查詢之資料明細超過1萬筆,已將資料匯出至報表專區,請至報表專區下載,謝謝\",\r\n 10004: \"因匯出之資料明細超過2萬筆,已將資料匯出至報表專區,請至報表專區下載,謝謝\",\r\n \r\n // 格式類提示 10100起\r\n 10100: \"信箱格式錯誤\",\r\n /* 共通項目 */\r\n\r\n /* 後端1-2對帳 11200起 */\r\n 11200: \"請選取特店\",\r\n 11201: \"請選取日期\",\r\n 11202: \"請選取適當區間\",\r\n 11203: \"目前尚無資料,無法列印\",\r\n 11204: \"設定錯誤\",\r\n 11205: \"請選取指定特店\",\r\n 11207: \"匯出超過上限\",\r\n /* 後端1-2對帳 11200起 */\r\n\r\n /* 後端2-1帳號 12100起 */\r\n 12100: \"帳號類型錯誤\",\r\n /* 後端2-1帳號 12100起 */\r\n\r\n /* 後端3-1帳號 13100起 */\r\n 13100: \"請選擇帳號權限\",\r\n /* 後端3-1帳號 13100起 */\r\n};\r\n\r\nenum ErrorHintMap {\r\n TidNumberError = 10000,\r\n TidNumberExist = 10001,\r\n TidNumberEmpty = 10002,\r\n ListCountExceed = 10003,\r\n ExcelCountExceed = 10004, \r\n\r\n ValidateEmail = 10100,\r\n\r\n RequireStore = 11200,\r\n RequireDate = 11201,\r\n DatePeriodError = 11202,\r\n PrintEmptyData = 11203,\r\n SettingPrintDataError = 11204,\r\n RequireSpecificStore = 11205,\r\n ExportNumExceedLimit = 11207,\r\n\r\n StoreAccountTypeError = 12100,\r\n\r\n EReceiptUserPermissionEmpty = 13100,\r\n}\r\n\r\nexport const Common = {\r\n ActionTypeMap,\r\n ErrorCodeMap,\r\n ErrorHintMap,\r\n};\r\n","const PeriodMap: { [key: number]: string } = {\r\n 1: \"自定日期區間\",\r\n 2: \"近一週\",\r\n 3: \"近一個月\",\r\n};\r\n\r\nconst TransactionMap: { [key: number]: string } = {\r\n 1: \"購貨\",\r\n 2: \"退貨\",\r\n};\r\n\r\nconst NoteMap: { [key: number]: string } = {\r\n 0: \"業務註記\",\r\n 1: \"分期-I/TWQR-G\",\r\n 2: \"定額註記\",\r\n 3: \"電支跨機構交易註記\",\r\n 4: \"台灣PayQRcode註記\",\r\n};\r\n\r\nconst AppropriationNoteMap: { [key: number]: string } = {\r\n 0: \"業務註記\",\r\n 1: \"分期-I/TWQR-G\",\r\n 2: \"定額註記\",\r\n 4: \"台灣PayQRcode註記\",\r\n};\r\n\r\nconst CardMap: { [key: number]: string } = {\r\n 1: \"VISA\",\r\n 2: \"Master\",\r\n 3: \"JCB\",\r\n 4: \"金融卡\",\r\n 5: \"銀聯卡\",\r\n};\r\n\r\nconst SaleKindMap: { [key: number]: string } = {\r\n 1: \"一般收單\",\r\n 2: \"跨境收單\",\r\n};\r\n\r\nconst TypeFlagMap: { [key: number]: string } = {\r\n 1: \"C\",\r\n 2: \"F\",\r\n};\r\n\r\nexport const Reconciliation = {\r\n PeriodMap,\r\n TransactionMap,\r\n NoteMap,\r\n AppropriationNoteMap,\r\n CardMap,\r\n SaleKindMap,\r\n TypeFlagMap,\r\n};\r\n","const AccountTypeMap: { [key: number]: string } = {\r\n 1: \"特店帳號\",\r\n 2: \"統編帳號\",\r\n 3: \"群組帳號\",\r\n 4: \"管理者帳號\"\r\n};\r\n\r\nconst StateMap: { [key: number]: string } = {\r\n 1: \"啟用\",\r\n 2: \"停用\"\r\n};\r\n\r\nconst MarkMap: { [key: number]: string } = {\r\n 1: \"Y 是\",\r\n 2: \"N 否\"\r\n};\r\n\r\nconst CycleMap: { [key: number]: string } = {\r\n 1: \"日開\",\r\n 2: \"週開\",\r\n 3: \"月開\"\r\n};\r\n\r\nconst TypeMap: { [key: number]: string } = {\r\n 1: \"全開\",\r\n 2: \"半開\",\r\n 3: \"不開\"\r\n};\r\n\r\nconst BasisMap: { [key: number]: string } = {\r\n 1: \"統編\",\r\n 2: \"特店代號\"\r\n};\r\n\r\nconst QuotaMap: { [key: number]: string } = {\r\n 1: \"Y 定額\",\r\n 2: \"N 一般\"\r\n};\r\n\r\nconst UserHeader: string[] = [\r\n \"編號\",\r\n \"帳號類型\",\r\n \"特店代號/統編\",\r\n \"使用者代號\",\r\n \"更新時間\",\r\n \"狀態\"\r\n];\r\n\r\nexport const Store = {\r\n AccountTypeMap,\r\n StateMap,\r\n MarkMap,\r\n TypeMap,\r\n CycleMap,\r\n BasisMap,\r\n QuotaMap,\r\n UserHeader\r\n};\r\n","//------------------------------------------------------------------\r\n// 定義\r\n//------------------------------------------------------------------\r\nexport enum WhereCode { // \r\n Reimbursement = 1,\r\n Appropriation = 2,\r\n Deposit = 3,\r\n SingleReimbursement = 4,\r\n SingleAppropriation = 5,\r\n SingleDeposit = 6\r\n}\r\n\r\n\r\nexport const ScheduleReport = {\r\n WhereCode,\r\n};\r\n","import { TCBReceiptApi } from \"@/network/pb/proto\";\r\nimport { LoginModel } from \"@/models\";\r\nimport Cookies from 'js-cookie';\r\n\r\nexport class Priv {\r\n private static priv = TCBReceiptApi.Protobuf.Permission.create();\r\n private static expireTime = 0;\r\n\r\n public static async _checkPriv(privKey?: { controller: string, method: string }) {\r\n const updatePermission: TCBReceiptApi.Protobuf.UserAuth = await LoginModel.updatePermission();\r\n console.log(\"####updatePermission####\");\r\n console.log(updatePermission);\r\n console.log(privKey);\r\n console.log(\"####updatePermission####\");\r\n\r\n this.expireTime = updatePermission.expireTime as number;\r\n \r\n // 無取得權限\r\n if (!updatePermission) {\r\n return false;\r\n }\r\n\r\n const groupPermission = updatePermission.groupPermission as TCBReceiptApi.Protobuf.GroupPermission;\r\n if (!groupPermission) {\r\n return false;\r\n }\r\n\r\n const userAuthPrivJson: string = JSON.stringify(groupPermission.permission) as string;\r\n Cookies.set(\"appUserAuthPrivJson\", userAuthPrivJson, { sameSite: 'strict' });\r\n\r\n // 無對應管理權限\r\n if (!privKey || !groupPermission.permission[privKey.controller]) {\r\n return false;\r\n }\r\n\r\n const permission = groupPermission.permission[privKey.controller].map as { [k: string]: TCBReceiptApi.Protobuf.Permission };\r\n if (!permission || !permission[privKey.method]) {\r\n return false;\r\n }\r\n\r\n this.priv = permission[privKey.method];\r\n\r\n return true;\r\n }\r\n\r\n public static _getPriv() {\r\n return this.priv;\r\n }\r\n\r\n public static _checkPrivType(type: string): boolean {\r\n const priv = this.priv;\r\n\r\n let isSet = false;\r\n switch(type) {\r\n case \"get\":\r\n isSet = (priv.get === 1) ? true : false;\r\n break;\r\n case \"add\":\r\n isSet = (priv.add === 1) ? true : false;\r\n break;\r\n case \"edit\":\r\n isSet = (priv.edit === 1) ? true : false;\r\n break;\r\n case \"delete\":\r\n isSet = (priv.delete === 1) ? true : false;\r\n break;\r\n case \"release\":\r\n isSet = (priv.release === 1) ? true : false;\r\n break;\r\n\r\n default:\r\n console.log(\"Permission Error\");\r\n break;\r\n }\r\n\r\n return isSet;\r\n }\r\n\r\n public static _getExpireTime(): number {\r\n return this.expireTime;\r\n }\r\n}\r\n","const TargetMap: { [key: number]: string } = {\r\n 1: \"特店\",\r\n 2: \"銀行\",\r\n 3: \"全部\",\r\n };\r\n \r\n export const Announcement = {\r\n TargetMap,\r\n };\r\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!./main.css?vue&type=style&index=2&prod&lang=css&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport Cookies from 'js-cookie';\r\n\r\nimport { Network } from \"@/network\";\r\n\r\n@Component({\r\n components: {}\r\n})\r\nexport default class App extends Vue {\r\n // private time = 60000;\r\n // private timeout = 600000;\r\n // private interval!: null | ReturnType;\r\n // private current = +new Date();\r\n\r\n // public created() {\r\n // this.interval = setInterval(() => {\r\n // const now = +new Date();\r\n // if (now - this.current > this.timeout) {\r\n // this.current = +new Date();\r\n // this.logout();\r\n // }\r\n // }, this.time);\r\n // }\r\n\r\n // public mounted() {\r\n // document.addEventListener('click', this.updateCurrent);\r\n // }\r\n\r\n // private updateCurrent() {\r\n // this.current = +new Date();\r\n // }\r\n\r\n // private logout() {\r\n // if (window.location.href !== process.env.VUE_APP_BASE_URL + \"/login\") {\r\n // Network.removeToken();\r\n // Cookies.remove(\"appToken\");\r\n // Cookies.remove(\"appUserAuthPrivJson\");\r\n // Cookies.remove(\"loginType\");\r\n // Cookies.remove(\"appUserInfo\");\r\n // Cookies.remove(\"isAdmin\");\r\n\r\n // window.location.href = '/login';\r\n // }\r\n // }\r\n}\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--14-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/ts-loader/index.js??ref--14-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--14-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/ts-loader/index.js??ref--14-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=7d4b8dce&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\nimport style0 from \"@/assets/css/all.min.css?vue&type=style&index=0&prod&lang=css&\"\nimport style1 from \"@/assets/css/fontawesome.min.css?vue&type=style&index=1&prod&lang=css&\"\nimport style2 from \"@/assets/css/main.css?vue&type=style&index=2&prod&lang=css&\"\nimport style3 from \"@/assets/css/solid.min.css?vue&type=style&index=3&prod&lang=css&\"\nimport style4 from \"@/assets/css/swiper.min.css?vue&type=style&index=4&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable no-console */\r\n\r\nimport { register } from \"register-service-worker\";\r\n\r\nif (process.env.NODE_ENV === \"production\") {\r\n register(`${process.env.BASE_URL}service-worker.js`, {\r\n ready() {\r\n console.log(\r\n \"App is being served from cache by a service worker.\\n\" +\r\n \"For more details, visit https://goo.gl/AFskqB\"\r\n );\r\n },\r\n registered() {\r\n console.log(\"Service worker has been registered.\");\r\n },\r\n cached() {\r\n console.log(\"Content has been cached for offline use.\");\r\n },\r\n updatefound() {\r\n console.log(\"New content is downloading.\");\r\n },\r\n updated() {\r\n console.log(\"New content is available; please refresh.\");\r\n },\r\n offline() {\r\n console.log(\r\n \"No internet connection found. App is running in offline mode.\"\r\n );\r\n },\r\n error(error) {\r\n console.error(\"Error during service worker registration:\", error);\r\n }\r\n });\r\n}\r\n","import { RouteConfig } from \"vue-router\";\r\n\r\nconst HomeRoute: Array = [\r\n {\r\n path: \"/admin\",\r\n component: () => import(\"@/views/admin/home/Index.vue\")\r\n }\r\n];\r\n\r\nexport { HomeRoute };\r\n","import { RouteConfig } from \"vue-router\";\r\n\r\nexport const UserRoute: Array = [\r\n {\r\n path: \"/user\",\r\n component: () => import(\"@/views/admin/user/Index.vue\")\r\n },\r\n {\r\n path: \"/user/add\",\r\n component: () => import(\"@/views/admin/user/Add.vue\")\r\n },\r\n {\r\n path: \"/user/edit/:id\",\r\n component: () => import(\"@/views/admin/user/Edit.vue\")\r\n }\r\n];\r\n","import { RouteConfig } from \"vue-router\";\r\n\r\nimport { HomeRoute } from \"./Home\";\r\nimport { UserRoute } from \"./User\";\r\n\r\nexport const AdminRoute: Array = [...HomeRoute, ...UserRoute];\r\n","import { RouteConfig } from \"vue-router\";\r\n\r\nconst HomeRoute: Array = [\r\n {\r\n path: \"/\",\r\n component: () => import(\"@/views/ap/login/Login.vue\")\r\n /*把default畫面改成Login*/\r\n }\r\n];\r\n\r\nexport { HomeRoute };\r\n","import { RouteConfig } from \"vue-router\";\r\n\r\nconst UserRoute: Array = [\r\n {\r\n path: \"/user\",\r\n component: () => import(\"@/views/ap/user/Index.vue\")\r\n },\r\n {\r\n path: \"/user/add\",\r\n component: () => import(\"@/views/ap/user/Add.vue\")\r\n },\r\n {\r\n path: \"/user/edit/:id\",\r\n component: () => import(\"@/views/ap/user/Edit.vue\")\r\n }\r\n];\r\n\r\nexport { UserRoute };\r\n","import { RouteConfig } from \"vue-router\";\r\nimport { Network } from \"@/network\";\r\nimport { DefaultPath } from \"@/constant/GroupPermission\";\r\n\r\nconst AnnouncementRoute: Array = [\r\n {\r\n path: \"/announcement/list\",\r\n component: () => import(\"@/views/ap/announcement/List.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n if (Network.authCheck()) next();\r\n else next(\"/login\");\r\n }\r\n },\r\n {\r\n path: \"/announcement/cont\",\r\n component: () => import(\"@/views/ap/announcement/Cont.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n if (Network.authCheck()) next();\r\n else next(\"/login\");\r\n }\r\n },\r\n];\r\n\r\nexport { AnnouncementRoute };\r\n","import { RouteConfig } from \"vue-router\";\r\nimport { Network } from \"@/network\";\r\nimport { PermissionCode, DefaultPath } from \"@/constant/GroupPermission\";\r\n\r\nconst StoreRoute: Array = [\r\n {\r\n path: \"/store/user/add\",\r\n component: () => import(\"@/views/ap/store/user/Add.vue\"),\r\n meta: { privKey: { controller: PermissionCode.BankStore, method: PermissionCode.BankStoreUser, type: \"add\" } },\r\n beforeEnter: (to, from, next) => {\r\n if (Network.authCheck()) next();\r\n else next(DefaultPath);\r\n }\r\n },\r\n {\r\n path: \"/store/user/list\",\r\n component: () => import(\"@/views/ap/store/user/List.vue\"),\r\n meta: { privKey: { controller: PermissionCode.BankStore, method: PermissionCode.BankStoreUser, type: \"get\" } },\r\n beforeEnter: (to, from, next) => {\r\n if (Network.authCheck()) next();\r\n else next(DefaultPath);\r\n }\r\n },\r\n {\r\n path: \"/store/user/edit\",\r\n component: () => import(\"@/views/ap/store/user/Edit.vue\"),\r\n meta: { privKey: { controller: PermissionCode.BankStore, method: PermissionCode.BankStoreUser, type: \"edit\" } },\r\n beforeEnter: (to, from, next) => {\r\n if (Network.authCheck()) next();\r\n else next(DefaultPath);\r\n }\r\n },\r\n];\r\n\r\nexport { StoreRoute };\r\n","import { RouteConfig } from \"vue-router\";\r\nimport { Network } from \"@/network\";\r\nimport { PermissionCode, DefaultPath } from \"@/constant/GroupPermission\";\r\n\r\nconst ReconciliationRoute: Array = [\r\n {\r\n // 請款\r\n path: \"/reconciliation/reimbursement/reimbursement\",\r\n component: () => import(\"@/views/ap/reconciliation/reimbursement/Reimbursement.vue\"),\r\n meta: { privKey: { controller: PermissionCode.BankReconciliation, method: PermissionCode.BankReconciliationReimbursement, type: \"get\" } },\r\n beforeEnter: (to, from, next) => {\r\n if (Network.authCheck()) next();\r\n else next(DefaultPath);\r\n }\r\n },\r\n {\r\n // 請款 - 列印頁面\r\n path: \"/reconciliation/reimbursement/reimbursement/print\",\r\n component: () => import(\"@/views/ap/reconciliation/reimbursement/Print.vue\"),\r\n meta: { privKey: { controller: PermissionCode.BankReconciliation, method: PermissionCode.BankReconciliationReimbursement, type: \"get\" } },\r\n beforeEnter: (to, from, next) => {\r\n if (Network.authCheck()) next();\r\n else next(DefaultPath);\r\n }\r\n },\r\n {\r\n // 存摺入帳\r\n path: \"/reconciliation/deposit/deposit\",\r\n component: () => import(\"@/views/ap/reconciliation/deposit/Deposit.vue\"),\r\n meta: { privKey: { controller: PermissionCode.BankReconciliation, method: PermissionCode.BankReconciliationDeposit, type: \"get\" } },\r\n beforeEnter: (to, from, next) => {\r\n if (Network.authCheck()) next();\r\n else next(DefaultPath);\r\n }\r\n },\r\n {\r\n // 存摺入帳 - 列印頁面\r\n path: \"/reconciliation/deposit/deposit/print\",\r\n component: () => import(\"@/views/ap/reconciliation/deposit/Print.vue\"),\r\n meta: { privKey: { controller: PermissionCode.BankReconciliation, method: PermissionCode.BankReconciliationDeposit, type: \"get\" } },\r\n beforeEnter: (to, from, next) => {\r\n if (Network.authCheck()) next();\r\n else next(DefaultPath);\r\n }\r\n }, \r\n {\r\n // 撥款\r\n path: \"/reconciliation/appropriation/appropriation\",\r\n component: () => import(\"@/views/ap/reconciliation/appropriation/Appropriation.vue\"),\r\n meta: { privKey: { controller: PermissionCode.BankReconciliation, method: PermissionCode.BankReconciliationAppropriation, type: \"get\" } },\r\n beforeEnter: (to, from, next) => {\r\n if (Network.authCheck()) next();\r\n else next(DefaultPath);\r\n }\r\n },\r\n {\r\n // 撥款 - 列印頁面\r\n path: \"/reconciliation/appropriation/appropriation/print\",\r\n component: () => import(\"@/views/ap/reconciliation/appropriation/Print.vue\"),\r\n meta: { privKey: { controller: PermissionCode.BankReconciliation, method: PermissionCode.BankReconciliationAppropriation, type: \"get\" } },\r\n beforeEnter: (to, from, next) => {\r\n if (Network.authCheck()) next();\r\n else next(DefaultPath);\r\n }\r\n },\r\n \r\n /* 報表下載專區\" */\r\n {\r\n path: \"/reconciliation/report/report\",\r\n component: () => import(\"@/views/ap/reconciliation/report/Report.vue\"),\r\n meta: { privKey: { controller: PermissionCode.BankReconciliation, method: PermissionCode.BankReconciliationReport, type: \"get\" } },\r\n beforeEnter: (to, from, next) => {\r\n if (Network.authCheck()) next();\r\n else next(DefaultPath);\r\n }\r\n },\r\n /* 報表下載專區\" */\r\n];\r\n\r\nexport { ReconciliationRoute };\r\n","import { RouteConfig } from \"vue-router\";\r\n\r\nconst LoginRoute: Array = [\r\n {\r\n path: \"/login\",\r\n component: () => import(\"@/views/ap/login/Login.vue\")\r\n },\r\n {\r\n path: \"/forget\",\r\n component: () => import(\"@/views/ap/login/Forget.vue\")\r\n },\r\n {\r\n path: \"/reset\",\r\n component: () => import(\"@/views/ap/login/Reset.vue\")\r\n },\r\n];\r\n\r\nexport { LoginRoute };\r\n","import { RouteConfig } from \"vue-router\";\r\n\r\nimport { HomeRoute } from \"./Home\";\r\nimport { UserRoute } from \"./User\";\r\nimport { AnnouncementRoute } from \"./Announcement\";\r\nimport { StoreRoute } from \"./Store\";\r\nimport { ReconciliationRoute } from \"./Reconciliation\";\r\nimport { LoginRoute } from \"./Login\";\r\n\r\nexport const ApplicationRouteRoute: Array = [\r\n ...HomeRoute,\r\n ...UserRoute,\r\n ...AnnouncementRoute,\r\n ...StoreRoute,\r\n ...ReconciliationRoute,\r\n ...LoginRoute,\r\n];\r\n","import { RouteConfig } from \"vue-router\";\r\n\r\nimport { AdminRoute } from \"./admin\";\r\nimport { ApplicationRouteRoute } from \"./ap\";\r\n\r\nexport const Group: Array = [\r\n ...AdminRoute,\r\n ...ApplicationRouteRoute\r\n];\r\n","import { RouteConfig } from \"vue-router\";\r\n\r\nimport { Group } from \"./Group\";\r\n\r\nclass RouterManager {\r\n public static get instance(): RouterManager {\r\n if (!RouterManager.sInstance) {\r\n RouterManager.sInstance = new RouterManager();\r\n }\r\n return RouterManager.sInstance;\r\n }\r\n\r\n private static sInstance: RouterManager;\r\n\r\n private allRoute: Array = [];\r\n\r\n public getAllRoute(): Array {\r\n return this.allRoute;\r\n }\r\n\r\n public setAllRoute(): void {\r\n this.allRoute = Array.prototype.concat.apply([], Group);\r\n }\r\n}\r\n\r\nconst routerManager = RouterManager.instance;\r\n\r\nexport { routerManager as RouterManager };\r\n","import Vue from \"vue\";\r\nimport VueRouter, { RouteConfig } from \"vue-router\";\r\n\r\nimport { RouterManager } from \"./Manager\";\r\n\r\nVue.use(VueRouter);\r\n\r\nlet routes: Array = [];\r\n\r\nRouterManager.setAllRoute();\r\nroutes = routes.concat(RouterManager.getAllRoute());\r\n\r\nconst router = new VueRouter({\r\n mode: \"history\",\r\n base: process.env.BASE_URL,\r\n linkActiveClass: \"active\",\r\n routes,\r\n scrollBehavior() {\r\n return { x: 0, y: 0 };\r\n }\r\n});\r\n\r\nexport { router };\r\n","import Vue from \"vue\";\r\nimport App from \"./App.vue\";\r\nimport \"./registerServiceWorker\";\r\nimport { router } from \"./router\";\r\n\r\nimport * as protobuf from \"protobufjs/minimal\";\r\nimport * as Long from \"long\";\r\n\r\nimport { LangManager, LangType } from \"./lang\";\r\nimport { APIType, Network } from \"@/network\";\r\nimport \"babel-polyfill\";\r\n\r\nif (window) {\r\n window.onload = async () => {\r\n LangManager.setType(process.env.VUE_APP_LANGUAGE as LangType);\r\n await LangManager.loadMiscLangMap();\r\n\r\n Network.setAPI(APIType.PB);\r\n Network.setBaseURL(process.env.VUE_APP_API_BASE_URL as string);\r\n\r\n protobuf.util.Long = Long.default;\r\n protobuf.configure();\r\n\r\n Vue.config.productionTip = false;\r\n\r\n new Vue({\r\n router,\r\n render: h => h(App)\r\n }).$mount(\"#app\");\r\n };\r\n}\r\n","/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/\r\n\"use strict\";\r\n\r\nvar $protobuf = require(\"protobufjs/minimal\");\r\n\r\n// Common aliases\r\nvar $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util;\r\n\r\n// Exported root namespace\r\nvar $root = $protobuf.roots[\"default\"] || ($protobuf.roots[\"default\"] = {});\r\n\r\n$root.TCBReceiptApi = (function() {\r\n\r\n /**\r\n * Namespace TCBReceiptApi.\r\n * @exports TCBReceiptApi\r\n * @namespace\r\n */\r\n var TCBReceiptApi = {};\r\n\r\n TCBReceiptApi.Protobuf = (function() {\r\n\r\n /**\r\n * Namespace Protobuf.\r\n * @memberof TCBReceiptApi\r\n * @namespace\r\n */\r\n var Protobuf = {};\r\n\r\n Protobuf.Link = (function() {\r\n\r\n /**\r\n * Properties of a Link.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface ILink\r\n * @property {string|null} [name] Link name\r\n * @property {string|null} [src] Link src\r\n */\r\n\r\n /**\r\n * Constructs a new Link.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a Link.\r\n * @implements ILink\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.ILink=} [properties] Properties to set\r\n */\r\n function Link(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * Link name.\r\n * @member {string} name\r\n * @memberof TCBReceiptApi.Protobuf.Link\r\n * @instance\r\n */\r\n Link.prototype.name = \"\";\r\n\r\n /**\r\n * Link src.\r\n * @member {string} src\r\n * @memberof TCBReceiptApi.Protobuf.Link\r\n * @instance\r\n */\r\n Link.prototype.src = \"\";\r\n\r\n /**\r\n * Creates a new Link instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.Link\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ILink=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.Link} Link instance\r\n */\r\n Link.create = function create(properties) {\r\n return new Link(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified Link message. Does not implicitly {@link TCBReceiptApi.Protobuf.Link.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.Link\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ILink} message Link message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Link.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.name != null && Object.hasOwnProperty.call(message, \"name\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);\r\n if (message.src != null && Object.hasOwnProperty.call(message, \"src\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.src);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified Link message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.Link.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Link\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ILink} message Link message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Link.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a Link message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.Link\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.Link} Link\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Link.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.Link();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.name = reader.string();\r\n break;\r\n case 2:\r\n message.src = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a Link message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Link\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.Link} Link\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Link.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a Link message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.Link\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n Link.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.name != null && message.hasOwnProperty(\"name\"))\r\n if (!$util.isString(message.name))\r\n return \"name: string expected\";\r\n if (message.src != null && message.hasOwnProperty(\"src\"))\r\n if (!$util.isString(message.src))\r\n return \"src: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a Link message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.Link\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.Link} Link\r\n */\r\n Link.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.Link)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.Link();\r\n if (object.name != null)\r\n message.name = String(object.name);\r\n if (object.src != null)\r\n message.src = String(object.src);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a Link message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.Link\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.Link} message Link\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n Link.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.name = \"\";\r\n object.src = \"\";\r\n }\r\n if (message.name != null && message.hasOwnProperty(\"name\"))\r\n object.name = message.name;\r\n if (message.src != null && message.hasOwnProperty(\"src\"))\r\n object.src = message.src;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this Link to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.Link\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n Link.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return Link;\r\n })();\r\n\r\n Protobuf.Attachment = (function() {\r\n\r\n /**\r\n * Properties of an Attachment.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAttachment\r\n * @property {number|null} [type] Attachment type\r\n * @property {string|null} [src] Attachment src\r\n * @property {string|null} [originName] Attachment originName\r\n * @property {string|null} [name] Attachment name\r\n * @property {Uint8Array|null} [file] Attachment file\r\n */\r\n\r\n /**\r\n * Constructs a new Attachment.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an Attachment.\r\n * @implements IAttachment\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAttachment=} [properties] Properties to set\r\n */\r\n function Attachment(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * Attachment type.\r\n * @member {number} type\r\n * @memberof TCBReceiptApi.Protobuf.Attachment\r\n * @instance\r\n */\r\n Attachment.prototype.type = 0;\r\n\r\n /**\r\n * Attachment src.\r\n * @member {string} src\r\n * @memberof TCBReceiptApi.Protobuf.Attachment\r\n * @instance\r\n */\r\n Attachment.prototype.src = \"\";\r\n\r\n /**\r\n * Attachment originName.\r\n * @member {string} originName\r\n * @memberof TCBReceiptApi.Protobuf.Attachment\r\n * @instance\r\n */\r\n Attachment.prototype.originName = \"\";\r\n\r\n /**\r\n * Attachment name.\r\n * @member {string} name\r\n * @memberof TCBReceiptApi.Protobuf.Attachment\r\n * @instance\r\n */\r\n Attachment.prototype.name = \"\";\r\n\r\n /**\r\n * Attachment file.\r\n * @member {Uint8Array} file\r\n * @memberof TCBReceiptApi.Protobuf.Attachment\r\n * @instance\r\n */\r\n Attachment.prototype.file = $util.newBuffer([]);\r\n\r\n /**\r\n * Creates a new Attachment instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.Attachment\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAttachment=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.Attachment} Attachment instance\r\n */\r\n Attachment.create = function create(properties) {\r\n return new Attachment(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified Attachment message. Does not implicitly {@link TCBReceiptApi.Protobuf.Attachment.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.Attachment\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAttachment} message Attachment message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Attachment.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type);\r\n if (message.src != null && Object.hasOwnProperty.call(message, \"src\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.src);\r\n if (message.originName != null && Object.hasOwnProperty.call(message, \"originName\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.originName);\r\n if (message.name != null && Object.hasOwnProperty.call(message, \"name\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.name);\r\n if (message.file != null && Object.hasOwnProperty.call(message, \"file\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.file);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified Attachment message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.Attachment.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Attachment\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAttachment} message Attachment message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Attachment.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an Attachment message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.Attachment\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.Attachment} Attachment\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Attachment.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.Attachment();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.type = reader.int32();\r\n break;\r\n case 2:\r\n message.src = reader.string();\r\n break;\r\n case 3:\r\n message.originName = reader.string();\r\n break;\r\n case 4:\r\n message.name = reader.string();\r\n break;\r\n case 5:\r\n message.file = reader.bytes();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an Attachment message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Attachment\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.Attachment} Attachment\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Attachment.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an Attachment message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.Attachment\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n Attachment.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isInteger(message.type))\r\n return \"type: integer expected\";\r\n if (message.src != null && message.hasOwnProperty(\"src\"))\r\n if (!$util.isString(message.src))\r\n return \"src: string expected\";\r\n if (message.originName != null && message.hasOwnProperty(\"originName\"))\r\n if (!$util.isString(message.originName))\r\n return \"originName: string expected\";\r\n if (message.name != null && message.hasOwnProperty(\"name\"))\r\n if (!$util.isString(message.name))\r\n return \"name: string expected\";\r\n if (message.file != null && message.hasOwnProperty(\"file\"))\r\n if (!(message.file && typeof message.file.length === \"number\" || $util.isString(message.file)))\r\n return \"file: buffer expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an Attachment message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.Attachment\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.Attachment} Attachment\r\n */\r\n Attachment.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.Attachment)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.Attachment();\r\n if (object.type != null)\r\n message.type = object.type | 0;\r\n if (object.src != null)\r\n message.src = String(object.src);\r\n if (object.originName != null)\r\n message.originName = String(object.originName);\r\n if (object.name != null)\r\n message.name = String(object.name);\r\n if (object.file != null)\r\n if (typeof object.file === \"string\")\r\n $util.base64.decode(object.file, message.file = $util.newBuffer($util.base64.length(object.file)), 0);\r\n else if (object.file.length)\r\n message.file = object.file;\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an Attachment message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.Attachment\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.Attachment} message Attachment\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n Attachment.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.type = 0;\r\n object.src = \"\";\r\n object.originName = \"\";\r\n object.name = \"\";\r\n if (options.bytes === String)\r\n object.file = \"\";\r\n else {\r\n object.file = [];\r\n if (options.bytes !== Array)\r\n object.file = $util.newBuffer(object.file);\r\n }\r\n }\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.src != null && message.hasOwnProperty(\"src\"))\r\n object.src = message.src;\r\n if (message.originName != null && message.hasOwnProperty(\"originName\"))\r\n object.originName = message.originName;\r\n if (message.name != null && message.hasOwnProperty(\"name\"))\r\n object.name = message.name;\r\n if (message.file != null && message.hasOwnProperty(\"file\"))\r\n object.file = options.bytes === String ? $util.base64.encode(message.file, 0, message.file.length) : options.bytes === Array ? Array.prototype.slice.call(message.file) : message.file;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this Attachment to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.Attachment\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n Attachment.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return Attachment;\r\n })();\r\n\r\n Protobuf.AttachmentMotify = (function() {\r\n\r\n /**\r\n * Properties of an AttachmentMotify.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAttachmentMotify\r\n * @property {Array.|null} [add] AttachmentMotify add\r\n * @property {Array.|null} [\"delete\"] AttachmentMotify delete\r\n */\r\n\r\n /**\r\n * Constructs a new AttachmentMotify.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AttachmentMotify.\r\n * @implements IAttachmentMotify\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAttachmentMotify=} [properties] Properties to set\r\n */\r\n function AttachmentMotify(properties) {\r\n this.add = [];\r\n this[\"delete\"] = [];\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AttachmentMotify add.\r\n * @member {Array.} add\r\n * @memberof TCBReceiptApi.Protobuf.AttachmentMotify\r\n * @instance\r\n */\r\n AttachmentMotify.prototype.add = $util.emptyArray;\r\n\r\n /**\r\n * AttachmentMotify delete.\r\n * @member {Array.} delete\r\n * @memberof TCBReceiptApi.Protobuf.AttachmentMotify\r\n * @instance\r\n */\r\n AttachmentMotify.prototype[\"delete\"] = $util.emptyArray;\r\n\r\n /**\r\n * Creates a new AttachmentMotify instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AttachmentMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAttachmentMotify=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AttachmentMotify} AttachmentMotify instance\r\n */\r\n AttachmentMotify.create = function create(properties) {\r\n return new AttachmentMotify(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AttachmentMotify message. Does not implicitly {@link TCBReceiptApi.Protobuf.AttachmentMotify.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AttachmentMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAttachmentMotify} message AttachmentMotify message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AttachmentMotify.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.add != null && message.add.length)\r\n for (var i = 0; i < message.add.length; ++i)\r\n $root.TCBReceiptApi.Protobuf.Attachment.encode(message.add[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n if (message[\"delete\"] != null && message[\"delete\"].length)\r\n for (var i = 0; i < message[\"delete\"].length; ++i)\r\n $root.TCBReceiptApi.Protobuf.Attachment.encode(message[\"delete\"][i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AttachmentMotify message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AttachmentMotify.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AttachmentMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAttachmentMotify} message AttachmentMotify message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AttachmentMotify.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AttachmentMotify message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AttachmentMotify\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AttachmentMotify} AttachmentMotify\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AttachmentMotify.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AttachmentMotify();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (!(message.add && message.add.length))\r\n message.add = [];\r\n message.add.push($root.TCBReceiptApi.Protobuf.Attachment.decode(reader, reader.uint32()));\r\n break;\r\n case 2:\r\n if (!(message[\"delete\"] && message[\"delete\"].length))\r\n message[\"delete\"] = [];\r\n message[\"delete\"].push($root.TCBReceiptApi.Protobuf.Attachment.decode(reader, reader.uint32()));\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AttachmentMotify message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AttachmentMotify\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AttachmentMotify} AttachmentMotify\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AttachmentMotify.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AttachmentMotify message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AttachmentMotify\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AttachmentMotify.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.add != null && message.hasOwnProperty(\"add\")) {\r\n if (!Array.isArray(message.add))\r\n return \"add: array expected\";\r\n for (var i = 0; i < message.add.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.Attachment.verify(message.add[i]);\r\n if (error)\r\n return \"add.\" + error;\r\n }\r\n }\r\n if (message[\"delete\"] != null && message.hasOwnProperty(\"delete\")) {\r\n if (!Array.isArray(message[\"delete\"]))\r\n return \"delete: array expected\";\r\n for (var i = 0; i < message[\"delete\"].length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.Attachment.verify(message[\"delete\"][i]);\r\n if (error)\r\n return \"delete.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AttachmentMotify message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AttachmentMotify\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AttachmentMotify} AttachmentMotify\r\n */\r\n AttachmentMotify.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AttachmentMotify)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AttachmentMotify();\r\n if (object.add) {\r\n if (!Array.isArray(object.add))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AttachmentMotify.add: array expected\");\r\n message.add = [];\r\n for (var i = 0; i < object.add.length; ++i) {\r\n if (typeof object.add[i] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AttachmentMotify.add: object expected\");\r\n message.add[i] = $root.TCBReceiptApi.Protobuf.Attachment.fromObject(object.add[i]);\r\n }\r\n }\r\n if (object[\"delete\"]) {\r\n if (!Array.isArray(object[\"delete\"]))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AttachmentMotify.delete: array expected\");\r\n message[\"delete\"] = [];\r\n for (var i = 0; i < object[\"delete\"].length; ++i) {\r\n if (typeof object[\"delete\"][i] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AttachmentMotify.delete: object expected\");\r\n message[\"delete\"][i] = $root.TCBReceiptApi.Protobuf.Attachment.fromObject(object[\"delete\"][i]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AttachmentMotify message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AttachmentMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AttachmentMotify} message AttachmentMotify\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AttachmentMotify.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.arrays || options.defaults) {\r\n object.add = [];\r\n object[\"delete\"] = [];\r\n }\r\n if (message.add && message.add.length) {\r\n object.add = [];\r\n for (var j = 0; j < message.add.length; ++j)\r\n object.add[j] = $root.TCBReceiptApi.Protobuf.Attachment.toObject(message.add[j], options);\r\n }\r\n if (message[\"delete\"] && message[\"delete\"].length) {\r\n object[\"delete\"] = [];\r\n for (var j = 0; j < message[\"delete\"].length; ++j)\r\n object[\"delete\"][j] = $root.TCBReceiptApi.Protobuf.Attachment.toObject(message[\"delete\"][j], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AttachmentMotify to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AttachmentMotify\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AttachmentMotify.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AttachmentMotify;\r\n })();\r\n\r\n Protobuf.AnnouncementMotify = (function() {\r\n\r\n /**\r\n * Properties of an AnnouncementMotify.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAnnouncementMotify\r\n * @property {number|null} [date] AnnouncementMotify date\r\n * @property {number|null} [name] AnnouncementMotify name\r\n * @property {number|null} [target] AnnouncementMotify target\r\n * @property {number|null} [content] AnnouncementMotify content\r\n * @property {number|null} [linkList] AnnouncementMotify linkList\r\n * @property {number|null} [attachmentList] AnnouncementMotify attachmentList\r\n * @property {number|null} [state] AnnouncementMotify state\r\n */\r\n\r\n /**\r\n * Constructs a new AnnouncementMotify.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AnnouncementMotify.\r\n * @implements IAnnouncementMotify\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAnnouncementMotify=} [properties] Properties to set\r\n */\r\n function AnnouncementMotify(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AnnouncementMotify date.\r\n * @member {number} date\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementMotify\r\n * @instance\r\n */\r\n AnnouncementMotify.prototype.date = 0;\r\n\r\n /**\r\n * AnnouncementMotify name.\r\n * @member {number} name\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementMotify\r\n * @instance\r\n */\r\n AnnouncementMotify.prototype.name = 0;\r\n\r\n /**\r\n * AnnouncementMotify target.\r\n * @member {number} target\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementMotify\r\n * @instance\r\n */\r\n AnnouncementMotify.prototype.target = 0;\r\n\r\n /**\r\n * AnnouncementMotify content.\r\n * @member {number} content\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementMotify\r\n * @instance\r\n */\r\n AnnouncementMotify.prototype.content = 0;\r\n\r\n /**\r\n * AnnouncementMotify linkList.\r\n * @member {number} linkList\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementMotify\r\n * @instance\r\n */\r\n AnnouncementMotify.prototype.linkList = 0;\r\n\r\n /**\r\n * AnnouncementMotify attachmentList.\r\n * @member {number} attachmentList\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementMotify\r\n * @instance\r\n */\r\n AnnouncementMotify.prototype.attachmentList = 0;\r\n\r\n /**\r\n * AnnouncementMotify state.\r\n * @member {number} state\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementMotify\r\n * @instance\r\n */\r\n AnnouncementMotify.prototype.state = 0;\r\n\r\n /**\r\n * Creates a new AnnouncementMotify instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAnnouncementMotify=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AnnouncementMotify} AnnouncementMotify instance\r\n */\r\n AnnouncementMotify.create = function create(properties) {\r\n return new AnnouncementMotify(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AnnouncementMotify message. Does not implicitly {@link TCBReceiptApi.Protobuf.AnnouncementMotify.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAnnouncementMotify} message AnnouncementMotify message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AnnouncementMotify.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.date != null && Object.hasOwnProperty.call(message, \"date\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.date);\r\n if (message.name != null && Object.hasOwnProperty.call(message, \"name\"))\r\n writer.uint32(/* id 2, wireType 0 =*/16).int32(message.name);\r\n if (message.target != null && Object.hasOwnProperty.call(message, \"target\"))\r\n writer.uint32(/* id 3, wireType 0 =*/24).int32(message.target);\r\n if (message.content != null && Object.hasOwnProperty.call(message, \"content\"))\r\n writer.uint32(/* id 4, wireType 0 =*/32).int32(message.content);\r\n if (message.linkList != null && Object.hasOwnProperty.call(message, \"linkList\"))\r\n writer.uint32(/* id 5, wireType 0 =*/40).int32(message.linkList);\r\n if (message.attachmentList != null && Object.hasOwnProperty.call(message, \"attachmentList\"))\r\n writer.uint32(/* id 6, wireType 0 =*/48).int32(message.attachmentList);\r\n if (message.state != null && Object.hasOwnProperty.call(message, \"state\"))\r\n writer.uint32(/* id 7, wireType 0 =*/56).int32(message.state);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AnnouncementMotify message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AnnouncementMotify.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAnnouncementMotify} message AnnouncementMotify message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AnnouncementMotify.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AnnouncementMotify message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementMotify\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AnnouncementMotify} AnnouncementMotify\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AnnouncementMotify.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AnnouncementMotify();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.date = reader.int32();\r\n break;\r\n case 2:\r\n message.name = reader.int32();\r\n break;\r\n case 3:\r\n message.target = reader.int32();\r\n break;\r\n case 4:\r\n message.content = reader.int32();\r\n break;\r\n case 5:\r\n message.linkList = reader.int32();\r\n break;\r\n case 6:\r\n message.attachmentList = reader.int32();\r\n break;\r\n case 7:\r\n message.state = reader.int32();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AnnouncementMotify message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementMotify\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AnnouncementMotify} AnnouncementMotify\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AnnouncementMotify.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AnnouncementMotify message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementMotify\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AnnouncementMotify.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n if (!$util.isInteger(message.date))\r\n return \"date: integer expected\";\r\n if (message.name != null && message.hasOwnProperty(\"name\"))\r\n if (!$util.isInteger(message.name))\r\n return \"name: integer expected\";\r\n if (message.target != null && message.hasOwnProperty(\"target\"))\r\n if (!$util.isInteger(message.target))\r\n return \"target: integer expected\";\r\n if (message.content != null && message.hasOwnProperty(\"content\"))\r\n if (!$util.isInteger(message.content))\r\n return \"content: integer expected\";\r\n if (message.linkList != null && message.hasOwnProperty(\"linkList\"))\r\n if (!$util.isInteger(message.linkList))\r\n return \"linkList: integer expected\";\r\n if (message.attachmentList != null && message.hasOwnProperty(\"attachmentList\"))\r\n if (!$util.isInteger(message.attachmentList))\r\n return \"attachmentList: integer expected\";\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n if (!$util.isInteger(message.state))\r\n return \"state: integer expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AnnouncementMotify message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementMotify\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AnnouncementMotify} AnnouncementMotify\r\n */\r\n AnnouncementMotify.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AnnouncementMotify)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AnnouncementMotify();\r\n if (object.date != null)\r\n message.date = object.date | 0;\r\n if (object.name != null)\r\n message.name = object.name | 0;\r\n if (object.target != null)\r\n message.target = object.target | 0;\r\n if (object.content != null)\r\n message.content = object.content | 0;\r\n if (object.linkList != null)\r\n message.linkList = object.linkList | 0;\r\n if (object.attachmentList != null)\r\n message.attachmentList = object.attachmentList | 0;\r\n if (object.state != null)\r\n message.state = object.state | 0;\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AnnouncementMotify message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AnnouncementMotify} message AnnouncementMotify\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AnnouncementMotify.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.date = 0;\r\n object.name = 0;\r\n object.target = 0;\r\n object.content = 0;\r\n object.linkList = 0;\r\n object.attachmentList = 0;\r\n object.state = 0;\r\n }\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n object.date = message.date;\r\n if (message.name != null && message.hasOwnProperty(\"name\"))\r\n object.name = message.name;\r\n if (message.target != null && message.hasOwnProperty(\"target\"))\r\n object.target = message.target;\r\n if (message.content != null && message.hasOwnProperty(\"content\"))\r\n object.content = message.content;\r\n if (message.linkList != null && message.hasOwnProperty(\"linkList\"))\r\n object.linkList = message.linkList;\r\n if (message.attachmentList != null && message.hasOwnProperty(\"attachmentList\"))\r\n object.attachmentList = message.attachmentList;\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n object.state = message.state;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AnnouncementMotify to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementMotify\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AnnouncementMotify.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AnnouncementMotify;\r\n })();\r\n\r\n Protobuf.Announcement = (function() {\r\n\r\n /**\r\n * Properties of an Announcement.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAnnouncement\r\n * @property {number|null} [announcementTempId] Announcement announcementTempId\r\n * @property {number|null} [announcementId] Announcement announcementId\r\n * @property {number|null} [actionType] Announcement actionType\r\n * @property {string|null} [date] Announcement date\r\n * @property {string|null} [name] Announcement name\r\n * @property {number|null} [target] Announcement target\r\n * @property {string|null} [content] Announcement content\r\n * @property {Array.|null} [linkList] Announcement linkList\r\n * @property {Array.|null} [attachmentList] Announcement attachmentList\r\n * @property {number|null} [lastUpdateTime] Announcement lastUpdateTime\r\n * @property {string|null} [lastUpdateUser] Announcement lastUpdateUser\r\n * @property {number|null} [releaseState] Announcement releaseState\r\n * @property {number|null} [state] Announcement state\r\n * @property {string|null} [startDate] Announcement startDate\r\n * @property {string|null} [endDate] Announcement endDate\r\n * @property {string|null} [rejectReason] Announcement rejectReason\r\n * @property {TCBReceiptApi.Protobuf.IAttachmentMotify|null} [attachmentMotify] Announcement attachmentMotify\r\n * @property {TCBReceiptApi.Protobuf.IAnnouncementMotify|null} [motify] Announcement motify\r\n */\r\n\r\n /**\r\n * Constructs a new Announcement.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an Announcement.\r\n * @implements IAnnouncement\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAnnouncement=} [properties] Properties to set\r\n */\r\n function Announcement(properties) {\r\n this.linkList = [];\r\n this.attachmentList = [];\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * Announcement announcementTempId.\r\n * @member {number} announcementTempId\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @instance\r\n */\r\n Announcement.prototype.announcementTempId = 0;\r\n\r\n /**\r\n * Announcement announcementId.\r\n * @member {number} announcementId\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @instance\r\n */\r\n Announcement.prototype.announcementId = 0;\r\n\r\n /**\r\n * Announcement actionType.\r\n * @member {number} actionType\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @instance\r\n */\r\n Announcement.prototype.actionType = 0;\r\n\r\n /**\r\n * Announcement date.\r\n * @member {string} date\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @instance\r\n */\r\n Announcement.prototype.date = \"\";\r\n\r\n /**\r\n * Announcement name.\r\n * @member {string} name\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @instance\r\n */\r\n Announcement.prototype.name = \"\";\r\n\r\n /**\r\n * Announcement target.\r\n * @member {number} target\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @instance\r\n */\r\n Announcement.prototype.target = 0;\r\n\r\n /**\r\n * Announcement content.\r\n * @member {string} content\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @instance\r\n */\r\n Announcement.prototype.content = \"\";\r\n\r\n /**\r\n * Announcement linkList.\r\n * @member {Array.} linkList\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @instance\r\n */\r\n Announcement.prototype.linkList = $util.emptyArray;\r\n\r\n /**\r\n * Announcement attachmentList.\r\n * @member {Array.} attachmentList\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @instance\r\n */\r\n Announcement.prototype.attachmentList = $util.emptyArray;\r\n\r\n /**\r\n * Announcement lastUpdateTime.\r\n * @member {number} lastUpdateTime\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @instance\r\n */\r\n Announcement.prototype.lastUpdateTime = 0;\r\n\r\n /**\r\n * Announcement lastUpdateUser.\r\n * @member {string} lastUpdateUser\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @instance\r\n */\r\n Announcement.prototype.lastUpdateUser = \"\";\r\n\r\n /**\r\n * Announcement releaseState.\r\n * @member {number} releaseState\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @instance\r\n */\r\n Announcement.prototype.releaseState = 0;\r\n\r\n /**\r\n * Announcement state.\r\n * @member {number} state\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @instance\r\n */\r\n Announcement.prototype.state = 0;\r\n\r\n /**\r\n * Announcement startDate.\r\n * @member {string} startDate\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @instance\r\n */\r\n Announcement.prototype.startDate = \"\";\r\n\r\n /**\r\n * Announcement endDate.\r\n * @member {string} endDate\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @instance\r\n */\r\n Announcement.prototype.endDate = \"\";\r\n\r\n /**\r\n * Announcement rejectReason.\r\n * @member {string} rejectReason\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @instance\r\n */\r\n Announcement.prototype.rejectReason = \"\";\r\n\r\n /**\r\n * Announcement attachmentMotify.\r\n * @member {TCBReceiptApi.Protobuf.IAttachmentMotify|null|undefined} attachmentMotify\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @instance\r\n */\r\n Announcement.prototype.attachmentMotify = null;\r\n\r\n /**\r\n * Announcement motify.\r\n * @member {TCBReceiptApi.Protobuf.IAnnouncementMotify|null|undefined} motify\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @instance\r\n */\r\n Announcement.prototype.motify = null;\r\n\r\n /**\r\n * Creates a new Announcement instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAnnouncement=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.Announcement} Announcement instance\r\n */\r\n Announcement.create = function create(properties) {\r\n return new Announcement(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified Announcement message. Does not implicitly {@link TCBReceiptApi.Protobuf.Announcement.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAnnouncement} message Announcement message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Announcement.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.announcementTempId != null && Object.hasOwnProperty.call(message, \"announcementTempId\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.announcementTempId);\r\n if (message.announcementId != null && Object.hasOwnProperty.call(message, \"announcementId\"))\r\n writer.uint32(/* id 2, wireType 0 =*/16).int32(message.announcementId);\r\n if (message.actionType != null && Object.hasOwnProperty.call(message, \"actionType\"))\r\n writer.uint32(/* id 3, wireType 0 =*/24).int32(message.actionType);\r\n if (message.date != null && Object.hasOwnProperty.call(message, \"date\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.date);\r\n if (message.name != null && Object.hasOwnProperty.call(message, \"name\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.name);\r\n if (message.target != null && Object.hasOwnProperty.call(message, \"target\"))\r\n writer.uint32(/* id 6, wireType 0 =*/48).int32(message.target);\r\n if (message.content != null && Object.hasOwnProperty.call(message, \"content\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.content);\r\n if (message.linkList != null && message.linkList.length)\r\n for (var i = 0; i < message.linkList.length; ++i)\r\n $root.TCBReceiptApi.Protobuf.Link.encode(message.linkList[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();\r\n if (message.attachmentList != null && message.attachmentList.length)\r\n for (var i = 0; i < message.attachmentList.length; ++i)\r\n $root.TCBReceiptApi.Protobuf.Attachment.encode(message.attachmentList[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();\r\n if (message.lastUpdateTime != null && Object.hasOwnProperty.call(message, \"lastUpdateTime\"))\r\n writer.uint32(/* id 10, wireType 0 =*/80).int32(message.lastUpdateTime);\r\n if (message.lastUpdateUser != null && Object.hasOwnProperty.call(message, \"lastUpdateUser\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.lastUpdateUser);\r\n if (message.releaseState != null && Object.hasOwnProperty.call(message, \"releaseState\"))\r\n writer.uint32(/* id 12, wireType 0 =*/96).int32(message.releaseState);\r\n if (message.state != null && Object.hasOwnProperty.call(message, \"state\"))\r\n writer.uint32(/* id 13, wireType 0 =*/104).int32(message.state);\r\n if (message.startDate != null && Object.hasOwnProperty.call(message, \"startDate\"))\r\n writer.uint32(/* id 14, wireType 2 =*/114).string(message.startDate);\r\n if (message.endDate != null && Object.hasOwnProperty.call(message, \"endDate\"))\r\n writer.uint32(/* id 15, wireType 2 =*/122).string(message.endDate);\r\n if (message.rejectReason != null && Object.hasOwnProperty.call(message, \"rejectReason\"))\r\n writer.uint32(/* id 16, wireType 2 =*/130).string(message.rejectReason);\r\n if (message.attachmentMotify != null && Object.hasOwnProperty.call(message, \"attachmentMotify\"))\r\n $root.TCBReceiptApi.Protobuf.AttachmentMotify.encode(message.attachmentMotify, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim();\r\n if (message.motify != null && Object.hasOwnProperty.call(message, \"motify\"))\r\n $root.TCBReceiptApi.Protobuf.AnnouncementMotify.encode(message.motify, writer.uint32(/* id 18, wireType 2 =*/146).fork()).ldelim();\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified Announcement message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.Announcement.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAnnouncement} message Announcement message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Announcement.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an Announcement message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.Announcement} Announcement\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Announcement.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.Announcement();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.announcementTempId = reader.int32();\r\n break;\r\n case 2:\r\n message.announcementId = reader.int32();\r\n break;\r\n case 3:\r\n message.actionType = reader.int32();\r\n break;\r\n case 4:\r\n message.date = reader.string();\r\n break;\r\n case 5:\r\n message.name = reader.string();\r\n break;\r\n case 6:\r\n message.target = reader.int32();\r\n break;\r\n case 7:\r\n message.content = reader.string();\r\n break;\r\n case 8:\r\n if (!(message.linkList && message.linkList.length))\r\n message.linkList = [];\r\n message.linkList.push($root.TCBReceiptApi.Protobuf.Link.decode(reader, reader.uint32()));\r\n break;\r\n case 9:\r\n if (!(message.attachmentList && message.attachmentList.length))\r\n message.attachmentList = [];\r\n message.attachmentList.push($root.TCBReceiptApi.Protobuf.Attachment.decode(reader, reader.uint32()));\r\n break;\r\n case 10:\r\n message.lastUpdateTime = reader.int32();\r\n break;\r\n case 11:\r\n message.lastUpdateUser = reader.string();\r\n break;\r\n case 12:\r\n message.releaseState = reader.int32();\r\n break;\r\n case 13:\r\n message.state = reader.int32();\r\n break;\r\n case 14:\r\n message.startDate = reader.string();\r\n break;\r\n case 15:\r\n message.endDate = reader.string();\r\n break;\r\n case 16:\r\n message.rejectReason = reader.string();\r\n break;\r\n case 17:\r\n message.attachmentMotify = $root.TCBReceiptApi.Protobuf.AttachmentMotify.decode(reader, reader.uint32());\r\n break;\r\n case 18:\r\n message.motify = $root.TCBReceiptApi.Protobuf.AnnouncementMotify.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an Announcement message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.Announcement} Announcement\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Announcement.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an Announcement message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n Announcement.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.announcementTempId != null && message.hasOwnProperty(\"announcementTempId\"))\r\n if (!$util.isInteger(message.announcementTempId))\r\n return \"announcementTempId: integer expected\";\r\n if (message.announcementId != null && message.hasOwnProperty(\"announcementId\"))\r\n if (!$util.isInteger(message.announcementId))\r\n return \"announcementId: integer expected\";\r\n if (message.actionType != null && message.hasOwnProperty(\"actionType\"))\r\n if (!$util.isInteger(message.actionType))\r\n return \"actionType: integer expected\";\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n if (!$util.isString(message.date))\r\n return \"date: string expected\";\r\n if (message.name != null && message.hasOwnProperty(\"name\"))\r\n if (!$util.isString(message.name))\r\n return \"name: string expected\";\r\n if (message.target != null && message.hasOwnProperty(\"target\"))\r\n if (!$util.isInteger(message.target))\r\n return \"target: integer expected\";\r\n if (message.content != null && message.hasOwnProperty(\"content\"))\r\n if (!$util.isString(message.content))\r\n return \"content: string expected\";\r\n if (message.linkList != null && message.hasOwnProperty(\"linkList\")) {\r\n if (!Array.isArray(message.linkList))\r\n return \"linkList: array expected\";\r\n for (var i = 0; i < message.linkList.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.Link.verify(message.linkList[i]);\r\n if (error)\r\n return \"linkList.\" + error;\r\n }\r\n }\r\n if (message.attachmentList != null && message.hasOwnProperty(\"attachmentList\")) {\r\n if (!Array.isArray(message.attachmentList))\r\n return \"attachmentList: array expected\";\r\n for (var i = 0; i < message.attachmentList.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.Attachment.verify(message.attachmentList[i]);\r\n if (error)\r\n return \"attachmentList.\" + error;\r\n }\r\n }\r\n if (message.lastUpdateTime != null && message.hasOwnProperty(\"lastUpdateTime\"))\r\n if (!$util.isInteger(message.lastUpdateTime))\r\n return \"lastUpdateTime: integer expected\";\r\n if (message.lastUpdateUser != null && message.hasOwnProperty(\"lastUpdateUser\"))\r\n if (!$util.isString(message.lastUpdateUser))\r\n return \"lastUpdateUser: string expected\";\r\n if (message.releaseState != null && message.hasOwnProperty(\"releaseState\"))\r\n if (!$util.isInteger(message.releaseState))\r\n return \"releaseState: integer expected\";\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n if (!$util.isInteger(message.state))\r\n return \"state: integer expected\";\r\n if (message.startDate != null && message.hasOwnProperty(\"startDate\"))\r\n if (!$util.isString(message.startDate))\r\n return \"startDate: string expected\";\r\n if (message.endDate != null && message.hasOwnProperty(\"endDate\"))\r\n if (!$util.isString(message.endDate))\r\n return \"endDate: string expected\";\r\n if (message.rejectReason != null && message.hasOwnProperty(\"rejectReason\"))\r\n if (!$util.isString(message.rejectReason))\r\n return \"rejectReason: string expected\";\r\n if (message.attachmentMotify != null && message.hasOwnProperty(\"attachmentMotify\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.AttachmentMotify.verify(message.attachmentMotify);\r\n if (error)\r\n return \"attachmentMotify.\" + error;\r\n }\r\n if (message.motify != null && message.hasOwnProperty(\"motify\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.AnnouncementMotify.verify(message.motify);\r\n if (error)\r\n return \"motify.\" + error;\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an Announcement message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.Announcement} Announcement\r\n */\r\n Announcement.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.Announcement)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.Announcement();\r\n if (object.announcementTempId != null)\r\n message.announcementTempId = object.announcementTempId | 0;\r\n if (object.announcementId != null)\r\n message.announcementId = object.announcementId | 0;\r\n if (object.actionType != null)\r\n message.actionType = object.actionType | 0;\r\n if (object.date != null)\r\n message.date = String(object.date);\r\n if (object.name != null)\r\n message.name = String(object.name);\r\n if (object.target != null)\r\n message.target = object.target | 0;\r\n if (object.content != null)\r\n message.content = String(object.content);\r\n if (object.linkList) {\r\n if (!Array.isArray(object.linkList))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.Announcement.linkList: array expected\");\r\n message.linkList = [];\r\n for (var i = 0; i < object.linkList.length; ++i) {\r\n if (typeof object.linkList[i] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.Announcement.linkList: object expected\");\r\n message.linkList[i] = $root.TCBReceiptApi.Protobuf.Link.fromObject(object.linkList[i]);\r\n }\r\n }\r\n if (object.attachmentList) {\r\n if (!Array.isArray(object.attachmentList))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.Announcement.attachmentList: array expected\");\r\n message.attachmentList = [];\r\n for (var i = 0; i < object.attachmentList.length; ++i) {\r\n if (typeof object.attachmentList[i] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.Announcement.attachmentList: object expected\");\r\n message.attachmentList[i] = $root.TCBReceiptApi.Protobuf.Attachment.fromObject(object.attachmentList[i]);\r\n }\r\n }\r\n if (object.lastUpdateTime != null)\r\n message.lastUpdateTime = object.lastUpdateTime | 0;\r\n if (object.lastUpdateUser != null)\r\n message.lastUpdateUser = String(object.lastUpdateUser);\r\n if (object.releaseState != null)\r\n message.releaseState = object.releaseState | 0;\r\n if (object.state != null)\r\n message.state = object.state | 0;\r\n if (object.startDate != null)\r\n message.startDate = String(object.startDate);\r\n if (object.endDate != null)\r\n message.endDate = String(object.endDate);\r\n if (object.rejectReason != null)\r\n message.rejectReason = String(object.rejectReason);\r\n if (object.attachmentMotify != null) {\r\n if (typeof object.attachmentMotify !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.Announcement.attachmentMotify: object expected\");\r\n message.attachmentMotify = $root.TCBReceiptApi.Protobuf.AttachmentMotify.fromObject(object.attachmentMotify);\r\n }\r\n if (object.motify != null) {\r\n if (typeof object.motify !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.Announcement.motify: object expected\");\r\n message.motify = $root.TCBReceiptApi.Protobuf.AnnouncementMotify.fromObject(object.motify);\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an Announcement message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.Announcement} message Announcement\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n Announcement.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.arrays || options.defaults) {\r\n object.linkList = [];\r\n object.attachmentList = [];\r\n }\r\n if (options.defaults) {\r\n object.announcementTempId = 0;\r\n object.announcementId = 0;\r\n object.actionType = 0;\r\n object.date = \"\";\r\n object.name = \"\";\r\n object.target = 0;\r\n object.content = \"\";\r\n object.lastUpdateTime = 0;\r\n object.lastUpdateUser = \"\";\r\n object.releaseState = 0;\r\n object.state = 0;\r\n object.startDate = \"\";\r\n object.endDate = \"\";\r\n object.rejectReason = \"\";\r\n object.attachmentMotify = null;\r\n object.motify = null;\r\n }\r\n if (message.announcementTempId != null && message.hasOwnProperty(\"announcementTempId\"))\r\n object.announcementTempId = message.announcementTempId;\r\n if (message.announcementId != null && message.hasOwnProperty(\"announcementId\"))\r\n object.announcementId = message.announcementId;\r\n if (message.actionType != null && message.hasOwnProperty(\"actionType\"))\r\n object.actionType = message.actionType;\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n object.date = message.date;\r\n if (message.name != null && message.hasOwnProperty(\"name\"))\r\n object.name = message.name;\r\n if (message.target != null && message.hasOwnProperty(\"target\"))\r\n object.target = message.target;\r\n if (message.content != null && message.hasOwnProperty(\"content\"))\r\n object.content = message.content;\r\n if (message.linkList && message.linkList.length) {\r\n object.linkList = [];\r\n for (var j = 0; j < message.linkList.length; ++j)\r\n object.linkList[j] = $root.TCBReceiptApi.Protobuf.Link.toObject(message.linkList[j], options);\r\n }\r\n if (message.attachmentList && message.attachmentList.length) {\r\n object.attachmentList = [];\r\n for (var j = 0; j < message.attachmentList.length; ++j)\r\n object.attachmentList[j] = $root.TCBReceiptApi.Protobuf.Attachment.toObject(message.attachmentList[j], options);\r\n }\r\n if (message.lastUpdateTime != null && message.hasOwnProperty(\"lastUpdateTime\"))\r\n object.lastUpdateTime = message.lastUpdateTime;\r\n if (message.lastUpdateUser != null && message.hasOwnProperty(\"lastUpdateUser\"))\r\n object.lastUpdateUser = message.lastUpdateUser;\r\n if (message.releaseState != null && message.hasOwnProperty(\"releaseState\"))\r\n object.releaseState = message.releaseState;\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n object.state = message.state;\r\n if (message.startDate != null && message.hasOwnProperty(\"startDate\"))\r\n object.startDate = message.startDate;\r\n if (message.endDate != null && message.hasOwnProperty(\"endDate\"))\r\n object.endDate = message.endDate;\r\n if (message.rejectReason != null && message.hasOwnProperty(\"rejectReason\"))\r\n object.rejectReason = message.rejectReason;\r\n if (message.attachmentMotify != null && message.hasOwnProperty(\"attachmentMotify\"))\r\n object.attachmentMotify = $root.TCBReceiptApi.Protobuf.AttachmentMotify.toObject(message.attachmentMotify, options);\r\n if (message.motify != null && message.hasOwnProperty(\"motify\"))\r\n object.motify = $root.TCBReceiptApi.Protobuf.AnnouncementMotify.toObject(message.motify, options);\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this Announcement to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.Announcement\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n Announcement.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return Announcement;\r\n })();\r\n\r\n Protobuf.AnnouncementList = (function() {\r\n\r\n /**\r\n * Properties of an AnnouncementList.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAnnouncementList\r\n * @property {Array.|null} [list] AnnouncementList list\r\n * @property {number|null} [total] AnnouncementList total\r\n */\r\n\r\n /**\r\n * Constructs a new AnnouncementList.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AnnouncementList.\r\n * @implements IAnnouncementList\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAnnouncementList=} [properties] Properties to set\r\n */\r\n function AnnouncementList(properties) {\r\n this.list = [];\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AnnouncementList list.\r\n * @member {Array.} list\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementList\r\n * @instance\r\n */\r\n AnnouncementList.prototype.list = $util.emptyArray;\r\n\r\n /**\r\n * AnnouncementList total.\r\n * @member {number} total\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementList\r\n * @instance\r\n */\r\n AnnouncementList.prototype.total = 0;\r\n\r\n /**\r\n * Creates a new AnnouncementList instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAnnouncementList=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AnnouncementList} AnnouncementList instance\r\n */\r\n AnnouncementList.create = function create(properties) {\r\n return new AnnouncementList(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AnnouncementList message. Does not implicitly {@link TCBReceiptApi.Protobuf.AnnouncementList.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAnnouncementList} message AnnouncementList message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AnnouncementList.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.list != null && message.list.length)\r\n for (var i = 0; i < message.list.length; ++i)\r\n $root.TCBReceiptApi.Protobuf.Announcement.encode(message.list[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n if (message.total != null && Object.hasOwnProperty.call(message, \"total\"))\r\n writer.uint32(/* id 2, wireType 0 =*/16).int32(message.total);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AnnouncementList message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AnnouncementList.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAnnouncementList} message AnnouncementList message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AnnouncementList.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AnnouncementList message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementList\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AnnouncementList} AnnouncementList\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AnnouncementList.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AnnouncementList();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (!(message.list && message.list.length))\r\n message.list = [];\r\n message.list.push($root.TCBReceiptApi.Protobuf.Announcement.decode(reader, reader.uint32()));\r\n break;\r\n case 2:\r\n message.total = reader.int32();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AnnouncementList message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementList\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AnnouncementList} AnnouncementList\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AnnouncementList.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AnnouncementList message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementList\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AnnouncementList.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.list != null && message.hasOwnProperty(\"list\")) {\r\n if (!Array.isArray(message.list))\r\n return \"list: array expected\";\r\n for (var i = 0; i < message.list.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.Announcement.verify(message.list[i]);\r\n if (error)\r\n return \"list.\" + error;\r\n }\r\n }\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n if (!$util.isInteger(message.total))\r\n return \"total: integer expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AnnouncementList message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementList\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AnnouncementList} AnnouncementList\r\n */\r\n AnnouncementList.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AnnouncementList)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AnnouncementList();\r\n if (object.list) {\r\n if (!Array.isArray(object.list))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AnnouncementList.list: array expected\");\r\n message.list = [];\r\n for (var i = 0; i < object.list.length; ++i) {\r\n if (typeof object.list[i] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AnnouncementList.list: object expected\");\r\n message.list[i] = $root.TCBReceiptApi.Protobuf.Announcement.fromObject(object.list[i]);\r\n }\r\n }\r\n if (object.total != null)\r\n message.total = object.total | 0;\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AnnouncementList message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AnnouncementList} message AnnouncementList\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AnnouncementList.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.arrays || options.defaults)\r\n object.list = [];\r\n if (options.defaults)\r\n object.total = 0;\r\n if (message.list && message.list.length) {\r\n object.list = [];\r\n for (var j = 0; j < message.list.length; ++j)\r\n object.list[j] = $root.TCBReceiptApi.Protobuf.Announcement.toObject(message.list[j], options);\r\n }\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n object.total = message.total;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AnnouncementList to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementList\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AnnouncementList.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AnnouncementList;\r\n })();\r\n\r\n Protobuf.AnnouncementQuery = (function() {\r\n\r\n /**\r\n * Properties of an AnnouncementQuery.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAnnouncementQuery\r\n * @property {number|null} [releaseState] AnnouncementQuery releaseState\r\n * @property {number|null} [state] AnnouncementQuery state\r\n * @property {number|null} [target] AnnouncementQuery target\r\n * @property {string|null} [name] AnnouncementQuery name\r\n * @property {string|null} [dateStart] AnnouncementQuery dateStart\r\n * @property {string|null} [dateEnd] AnnouncementQuery dateEnd\r\n * @property {TCBReceiptApi.Protobuf.IPagination|null} [pagination] AnnouncementQuery pagination\r\n */\r\n\r\n /**\r\n * Constructs a new AnnouncementQuery.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AnnouncementQuery.\r\n * @implements IAnnouncementQuery\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAnnouncementQuery=} [properties] Properties to set\r\n */\r\n function AnnouncementQuery(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AnnouncementQuery releaseState.\r\n * @member {number} releaseState\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementQuery\r\n * @instance\r\n */\r\n AnnouncementQuery.prototype.releaseState = 0;\r\n\r\n /**\r\n * AnnouncementQuery state.\r\n * @member {number} state\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementQuery\r\n * @instance\r\n */\r\n AnnouncementQuery.prototype.state = 0;\r\n\r\n /**\r\n * AnnouncementQuery target.\r\n * @member {number} target\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementQuery\r\n * @instance\r\n */\r\n AnnouncementQuery.prototype.target = 0;\r\n\r\n /**\r\n * AnnouncementQuery name.\r\n * @member {string} name\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementQuery\r\n * @instance\r\n */\r\n AnnouncementQuery.prototype.name = \"\";\r\n\r\n /**\r\n * AnnouncementQuery dateStart.\r\n * @member {string} dateStart\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementQuery\r\n * @instance\r\n */\r\n AnnouncementQuery.prototype.dateStart = \"\";\r\n\r\n /**\r\n * AnnouncementQuery dateEnd.\r\n * @member {string} dateEnd\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementQuery\r\n * @instance\r\n */\r\n AnnouncementQuery.prototype.dateEnd = \"\";\r\n\r\n /**\r\n * AnnouncementQuery pagination.\r\n * @member {TCBReceiptApi.Protobuf.IPagination|null|undefined} pagination\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementQuery\r\n * @instance\r\n */\r\n AnnouncementQuery.prototype.pagination = null;\r\n\r\n /**\r\n * Creates a new AnnouncementQuery instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAnnouncementQuery=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AnnouncementQuery} AnnouncementQuery instance\r\n */\r\n AnnouncementQuery.create = function create(properties) {\r\n return new AnnouncementQuery(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AnnouncementQuery message. Does not implicitly {@link TCBReceiptApi.Protobuf.AnnouncementQuery.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAnnouncementQuery} message AnnouncementQuery message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AnnouncementQuery.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.releaseState != null && Object.hasOwnProperty.call(message, \"releaseState\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.releaseState);\r\n if (message.state != null && Object.hasOwnProperty.call(message, \"state\"))\r\n writer.uint32(/* id 2, wireType 0 =*/16).int32(message.state);\r\n if (message.target != null && Object.hasOwnProperty.call(message, \"target\"))\r\n writer.uint32(/* id 3, wireType 0 =*/24).int32(message.target);\r\n if (message.name != null && Object.hasOwnProperty.call(message, \"name\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.name);\r\n if (message.dateStart != null && Object.hasOwnProperty.call(message, \"dateStart\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.dateStart);\r\n if (message.dateEnd != null && Object.hasOwnProperty.call(message, \"dateEnd\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.dateEnd);\r\n if (message.pagination != null && Object.hasOwnProperty.call(message, \"pagination\"))\r\n $root.TCBReceiptApi.Protobuf.Pagination.encode(message.pagination, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AnnouncementQuery message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AnnouncementQuery.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAnnouncementQuery} message AnnouncementQuery message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AnnouncementQuery.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AnnouncementQuery message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementQuery\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AnnouncementQuery} AnnouncementQuery\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AnnouncementQuery.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AnnouncementQuery();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.releaseState = reader.int32();\r\n break;\r\n case 2:\r\n message.state = reader.int32();\r\n break;\r\n case 3:\r\n message.target = reader.int32();\r\n break;\r\n case 4:\r\n message.name = reader.string();\r\n break;\r\n case 5:\r\n message.dateStart = reader.string();\r\n break;\r\n case 6:\r\n message.dateEnd = reader.string();\r\n break;\r\n case 7:\r\n message.pagination = $root.TCBReceiptApi.Protobuf.Pagination.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AnnouncementQuery message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementQuery\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AnnouncementQuery} AnnouncementQuery\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AnnouncementQuery.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AnnouncementQuery message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementQuery\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AnnouncementQuery.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.releaseState != null && message.hasOwnProperty(\"releaseState\"))\r\n if (!$util.isInteger(message.releaseState))\r\n return \"releaseState: integer expected\";\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n if (!$util.isInteger(message.state))\r\n return \"state: integer expected\";\r\n if (message.target != null && message.hasOwnProperty(\"target\"))\r\n if (!$util.isInteger(message.target))\r\n return \"target: integer expected\";\r\n if (message.name != null && message.hasOwnProperty(\"name\"))\r\n if (!$util.isString(message.name))\r\n return \"name: string expected\";\r\n if (message.dateStart != null && message.hasOwnProperty(\"dateStart\"))\r\n if (!$util.isString(message.dateStart))\r\n return \"dateStart: string expected\";\r\n if (message.dateEnd != null && message.hasOwnProperty(\"dateEnd\"))\r\n if (!$util.isString(message.dateEnd))\r\n return \"dateEnd: string expected\";\r\n if (message.pagination != null && message.hasOwnProperty(\"pagination\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.Pagination.verify(message.pagination);\r\n if (error)\r\n return \"pagination.\" + error;\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AnnouncementQuery message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementQuery\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AnnouncementQuery} AnnouncementQuery\r\n */\r\n AnnouncementQuery.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AnnouncementQuery)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AnnouncementQuery();\r\n if (object.releaseState != null)\r\n message.releaseState = object.releaseState | 0;\r\n if (object.state != null)\r\n message.state = object.state | 0;\r\n if (object.target != null)\r\n message.target = object.target | 0;\r\n if (object.name != null)\r\n message.name = String(object.name);\r\n if (object.dateStart != null)\r\n message.dateStart = String(object.dateStart);\r\n if (object.dateEnd != null)\r\n message.dateEnd = String(object.dateEnd);\r\n if (object.pagination != null) {\r\n if (typeof object.pagination !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AnnouncementQuery.pagination: object expected\");\r\n message.pagination = $root.TCBReceiptApi.Protobuf.Pagination.fromObject(object.pagination);\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AnnouncementQuery message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AnnouncementQuery} message AnnouncementQuery\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AnnouncementQuery.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.releaseState = 0;\r\n object.state = 0;\r\n object.target = 0;\r\n object.name = \"\";\r\n object.dateStart = \"\";\r\n object.dateEnd = \"\";\r\n object.pagination = null;\r\n }\r\n if (message.releaseState != null && message.hasOwnProperty(\"releaseState\"))\r\n object.releaseState = message.releaseState;\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n object.state = message.state;\r\n if (message.target != null && message.hasOwnProperty(\"target\"))\r\n object.target = message.target;\r\n if (message.name != null && message.hasOwnProperty(\"name\"))\r\n object.name = message.name;\r\n if (message.dateStart != null && message.hasOwnProperty(\"dateStart\"))\r\n object.dateStart = message.dateStart;\r\n if (message.dateEnd != null && message.hasOwnProperty(\"dateEnd\"))\r\n object.dateEnd = message.dateEnd;\r\n if (message.pagination != null && message.hasOwnProperty(\"pagination\"))\r\n object.pagination = $root.TCBReceiptApi.Protobuf.Pagination.toObject(message.pagination, options);\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AnnouncementQuery to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementQuery\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AnnouncementQuery.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AnnouncementQuery;\r\n })();\r\n\r\n Protobuf.AnnouncementFile = (function() {\r\n\r\n /**\r\n * Properties of an AnnouncementFile.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAnnouncementFile\r\n * @property {string|null} [dataType] AnnouncementFile dataType\r\n * @property {string|null} [id] AnnouncementFile id\r\n * @property {string|null} [name] AnnouncementFile name\r\n */\r\n\r\n /**\r\n * Constructs a new AnnouncementFile.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AnnouncementFile.\r\n * @implements IAnnouncementFile\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAnnouncementFile=} [properties] Properties to set\r\n */\r\n function AnnouncementFile(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AnnouncementFile dataType.\r\n * @member {string} dataType\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementFile\r\n * @instance\r\n */\r\n AnnouncementFile.prototype.dataType = \"\";\r\n\r\n /**\r\n * AnnouncementFile id.\r\n * @member {string} id\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementFile\r\n * @instance\r\n */\r\n AnnouncementFile.prototype.id = \"\";\r\n\r\n /**\r\n * AnnouncementFile name.\r\n * @member {string} name\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementFile\r\n * @instance\r\n */\r\n AnnouncementFile.prototype.name = \"\";\r\n\r\n /**\r\n * Creates a new AnnouncementFile instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementFile\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAnnouncementFile=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AnnouncementFile} AnnouncementFile instance\r\n */\r\n AnnouncementFile.create = function create(properties) {\r\n return new AnnouncementFile(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AnnouncementFile message. Does not implicitly {@link TCBReceiptApi.Protobuf.AnnouncementFile.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementFile\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAnnouncementFile} message AnnouncementFile message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AnnouncementFile.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.dataType != null && Object.hasOwnProperty.call(message, \"dataType\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.dataType);\r\n if (message.id != null && Object.hasOwnProperty.call(message, \"id\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.id);\r\n if (message.name != null && Object.hasOwnProperty.call(message, \"name\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.name);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AnnouncementFile message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AnnouncementFile.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementFile\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAnnouncementFile} message AnnouncementFile message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AnnouncementFile.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AnnouncementFile message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementFile\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AnnouncementFile} AnnouncementFile\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AnnouncementFile.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AnnouncementFile();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.dataType = reader.string();\r\n break;\r\n case 2:\r\n message.id = reader.string();\r\n break;\r\n case 3:\r\n message.name = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AnnouncementFile message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementFile\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AnnouncementFile} AnnouncementFile\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AnnouncementFile.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AnnouncementFile message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementFile\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AnnouncementFile.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.dataType != null && message.hasOwnProperty(\"dataType\"))\r\n if (!$util.isString(message.dataType))\r\n return \"dataType: string expected\";\r\n if (message.id != null && message.hasOwnProperty(\"id\"))\r\n if (!$util.isString(message.id))\r\n return \"id: string expected\";\r\n if (message.name != null && message.hasOwnProperty(\"name\"))\r\n if (!$util.isString(message.name))\r\n return \"name: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AnnouncementFile message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementFile\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AnnouncementFile} AnnouncementFile\r\n */\r\n AnnouncementFile.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AnnouncementFile)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AnnouncementFile();\r\n if (object.dataType != null)\r\n message.dataType = String(object.dataType);\r\n if (object.id != null)\r\n message.id = String(object.id);\r\n if (object.name != null)\r\n message.name = String(object.name);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AnnouncementFile message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementFile\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AnnouncementFile} message AnnouncementFile\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AnnouncementFile.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.dataType = \"\";\r\n object.id = \"\";\r\n object.name = \"\";\r\n }\r\n if (message.dataType != null && message.hasOwnProperty(\"dataType\"))\r\n object.dataType = message.dataType;\r\n if (message.id != null && message.hasOwnProperty(\"id\"))\r\n object.id = message.id;\r\n if (message.name != null && message.hasOwnProperty(\"name\"))\r\n object.name = message.name;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AnnouncementFile to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AnnouncementFile\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AnnouncementFile.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AnnouncementFile;\r\n })();\r\n\r\n Protobuf.Pagination = (function() {\r\n\r\n /**\r\n * Properties of a Pagination.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IPagination\r\n * @property {number|null} [limit] Pagination limit\r\n * @property {number|null} [offset] Pagination offset\r\n */\r\n\r\n /**\r\n * Constructs a new Pagination.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a Pagination.\r\n * @implements IPagination\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IPagination=} [properties] Properties to set\r\n */\r\n function Pagination(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * Pagination limit.\r\n * @member {number} limit\r\n * @memberof TCBReceiptApi.Protobuf.Pagination\r\n * @instance\r\n */\r\n Pagination.prototype.limit = 0;\r\n\r\n /**\r\n * Pagination offset.\r\n * @member {number} offset\r\n * @memberof TCBReceiptApi.Protobuf.Pagination\r\n * @instance\r\n */\r\n Pagination.prototype.offset = 0;\r\n\r\n /**\r\n * Creates a new Pagination instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.Pagination\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IPagination=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.Pagination} Pagination instance\r\n */\r\n Pagination.create = function create(properties) {\r\n return new Pagination(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified Pagination message. Does not implicitly {@link TCBReceiptApi.Protobuf.Pagination.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.Pagination\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IPagination} message Pagination message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Pagination.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.limit != null && Object.hasOwnProperty.call(message, \"limit\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.limit);\r\n if (message.offset != null && Object.hasOwnProperty.call(message, \"offset\"))\r\n writer.uint32(/* id 2, wireType 0 =*/16).int32(message.offset);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified Pagination message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.Pagination.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Pagination\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IPagination} message Pagination message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Pagination.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a Pagination message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.Pagination\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.Pagination} Pagination\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Pagination.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.Pagination();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.limit = reader.int32();\r\n break;\r\n case 2:\r\n message.offset = reader.int32();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a Pagination message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Pagination\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.Pagination} Pagination\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Pagination.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a Pagination message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.Pagination\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n Pagination.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.limit != null && message.hasOwnProperty(\"limit\"))\r\n if (!$util.isInteger(message.limit))\r\n return \"limit: integer expected\";\r\n if (message.offset != null && message.hasOwnProperty(\"offset\"))\r\n if (!$util.isInteger(message.offset))\r\n return \"offset: integer expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a Pagination message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.Pagination\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.Pagination} Pagination\r\n */\r\n Pagination.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.Pagination)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.Pagination();\r\n if (object.limit != null)\r\n message.limit = object.limit | 0;\r\n if (object.offset != null)\r\n message.offset = object.offset | 0;\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a Pagination message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.Pagination\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.Pagination} message Pagination\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n Pagination.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.limit = 0;\r\n object.offset = 0;\r\n }\r\n if (message.limit != null && message.hasOwnProperty(\"limit\"))\r\n object.limit = message.limit;\r\n if (message.offset != null && message.hasOwnProperty(\"offset\"))\r\n object.offset = message.offset;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this Pagination to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.Pagination\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n Pagination.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return Pagination;\r\n })();\r\n\r\n Protobuf.AppropriationInfoCredit = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationInfoCredit.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationInfoCredit\r\n * @property {number|null} [appropriationId] AppropriationInfoCredit appropriationId\r\n * @property {string|null} [storeCode] AppropriationInfoCredit storeCode\r\n * @property {string|null} [terminalNo] AppropriationInfoCredit terminalNo\r\n * @property {string|null} [date] AppropriationInfoCredit date\r\n * @property {string|null} [submitDate] AppropriationInfoCredit submitDate\r\n * @property {string|null} [batchNo] AppropriationInfoCredit batchNo\r\n * @property {string|null} [transDate] AppropriationInfoCredit transDate\r\n * @property {string|null} [transTime] AppropriationInfoCredit transTime\r\n * @property {number|null} [code] AppropriationInfoCredit code\r\n * @property {string|null} [codeOrigin] AppropriationInfoCredit codeOrigin\r\n * @property {number|null} [settleCode] AppropriationInfoCredit settleCode\r\n * @property {string|null} [authCode] AppropriationInfoCredit authCode\r\n * @property {number|null} [amount] AppropriationInfoCredit amount\r\n * @property {string|null} [cardNo] AppropriationInfoCredit cardNo\r\n * @property {number|null} [cardType] AppropriationInfoCredit cardType\r\n * @property {string|null} [cardTypeOrigin] AppropriationInfoCredit cardTypeOrigin\r\n * @property {string|null} [orderNo] AppropriationInfoCredit orderNo\r\n * @property {number|null} [isCreditCard] AppropriationInfoCredit isCreditCard\r\n * @property {string|null} [issuer] AppropriationInfoCredit issuer\r\n * @property {number|null} [payFlag] AppropriationInfoCredit payFlag\r\n * @property {string|null} [payFlagOrigin] AppropriationInfoCredit payFlagOrigin\r\n * @property {number|null} [installCode] AppropriationInfoCredit installCode\r\n * @property {string|null} [installCodeOrigin] AppropriationInfoCredit installCodeOrigin\r\n * @property {number|null} [installTimes] AppropriationInfoCredit installTimes\r\n * @property {number|null} [installAverageAmount] AppropriationInfoCredit installAverageAmount\r\n * @property {string|null} [stan] AppropriationInfoCredit stan\r\n * @property {number|null} [feeFlag] AppropriationInfoCredit feeFlag\r\n * @property {string|null} [feeFlagOrigin] AppropriationInfoCredit feeFlagOrigin\r\n * @property {number|null} [charge] AppropriationInfoCredit charge\r\n * @property {number|null} [isOurBank] AppropriationInfoCredit isOurBank\r\n * @property {number|null} [taiwanPayQrFlag] AppropriationInfoCredit taiwanPayQrFlag\r\n * @property {number|null} [infoType] AppropriationInfoCredit infoType\r\n * @property {string|null} [storeCodeMapping] AppropriationInfoCredit storeCodeMapping\r\n * @property {number|null} [type] AppropriationInfoCredit type\r\n * @property {string|null} [subStoreCode] AppropriationInfoCredit subStoreCode\r\n * @property {string|null} [stanOrigin] AppropriationInfoCredit stanOrigin\r\n * @property {string|null} [tpan] AppropriationInfoCredit tpan\r\n * @property {number|null} [installRate] AppropriationInfoCredit installRate\r\n * @property {string|null} [issuerOrigin] AppropriationInfoCredit issuerOrigin\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationInfoCredit.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationInfoCredit.\r\n * @implements IAppropriationInfoCredit\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoCredit=} [properties] Properties to set\r\n */\r\n function AppropriationInfoCredit(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationInfoCredit appropriationId.\r\n * @member {number} appropriationId\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.appropriationId = 0;\r\n\r\n /**\r\n * AppropriationInfoCredit storeCode.\r\n * @member {string} storeCode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.storeCode = \"\";\r\n\r\n /**\r\n * AppropriationInfoCredit terminalNo.\r\n * @member {string} terminalNo\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.terminalNo = \"\";\r\n\r\n /**\r\n * AppropriationInfoCredit date.\r\n * @member {string} date\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.date = \"\";\r\n\r\n /**\r\n * AppropriationInfoCredit submitDate.\r\n * @member {string} submitDate\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.submitDate = \"\";\r\n\r\n /**\r\n * AppropriationInfoCredit batchNo.\r\n * @member {string} batchNo\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.batchNo = \"\";\r\n\r\n /**\r\n * AppropriationInfoCredit transDate.\r\n * @member {string} transDate\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.transDate = \"\";\r\n\r\n /**\r\n * AppropriationInfoCredit transTime.\r\n * @member {string} transTime\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.transTime = \"\";\r\n\r\n /**\r\n * AppropriationInfoCredit code.\r\n * @member {number} code\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.code = 0;\r\n\r\n /**\r\n * AppropriationInfoCredit codeOrigin.\r\n * @member {string} codeOrigin\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.codeOrigin = \"\";\r\n\r\n /**\r\n * AppropriationInfoCredit settleCode.\r\n * @member {number} settleCode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.settleCode = 0;\r\n\r\n /**\r\n * AppropriationInfoCredit authCode.\r\n * @member {string} authCode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.authCode = \"\";\r\n\r\n /**\r\n * AppropriationInfoCredit amount.\r\n * @member {number} amount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.amount = 0;\r\n\r\n /**\r\n * AppropriationInfoCredit cardNo.\r\n * @member {string} cardNo\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.cardNo = \"\";\r\n\r\n /**\r\n * AppropriationInfoCredit cardType.\r\n * @member {number} cardType\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.cardType = 0;\r\n\r\n /**\r\n * AppropriationInfoCredit cardTypeOrigin.\r\n * @member {string} cardTypeOrigin\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.cardTypeOrigin = \"\";\r\n\r\n /**\r\n * AppropriationInfoCredit orderNo.\r\n * @member {string} orderNo\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.orderNo = \"\";\r\n\r\n /**\r\n * AppropriationInfoCredit isCreditCard.\r\n * @member {number} isCreditCard\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.isCreditCard = 0;\r\n\r\n /**\r\n * AppropriationInfoCredit issuer.\r\n * @member {string} issuer\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.issuer = \"\";\r\n\r\n /**\r\n * AppropriationInfoCredit payFlag.\r\n * @member {number} payFlag\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.payFlag = 0;\r\n\r\n /**\r\n * AppropriationInfoCredit payFlagOrigin.\r\n * @member {string} payFlagOrigin\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.payFlagOrigin = \"\";\r\n\r\n /**\r\n * AppropriationInfoCredit installCode.\r\n * @member {number} installCode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.installCode = 0;\r\n\r\n /**\r\n * AppropriationInfoCredit installCodeOrigin.\r\n * @member {string} installCodeOrigin\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.installCodeOrigin = \"\";\r\n\r\n /**\r\n * AppropriationInfoCredit installTimes.\r\n * @member {number} installTimes\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.installTimes = 0;\r\n\r\n /**\r\n * AppropriationInfoCredit installAverageAmount.\r\n * @member {number} installAverageAmount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.installAverageAmount = 0;\r\n\r\n /**\r\n * AppropriationInfoCredit stan.\r\n * @member {string} stan\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.stan = \"\";\r\n\r\n /**\r\n * AppropriationInfoCredit feeFlag.\r\n * @member {number} feeFlag\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.feeFlag = 0;\r\n\r\n /**\r\n * AppropriationInfoCredit feeFlagOrigin.\r\n * @member {string} feeFlagOrigin\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.feeFlagOrigin = \"\";\r\n\r\n /**\r\n * AppropriationInfoCredit charge.\r\n * @member {number} charge\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.charge = 0;\r\n\r\n /**\r\n * AppropriationInfoCredit isOurBank.\r\n * @member {number} isOurBank\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.isOurBank = 0;\r\n\r\n /**\r\n * AppropriationInfoCredit taiwanPayQrFlag.\r\n * @member {number} taiwanPayQrFlag\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.taiwanPayQrFlag = 0;\r\n\r\n /**\r\n * AppropriationInfoCredit infoType.\r\n * @member {number} infoType\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.infoType = 0;\r\n\r\n /**\r\n * AppropriationInfoCredit storeCodeMapping.\r\n * @member {string} storeCodeMapping\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.storeCodeMapping = \"\";\r\n\r\n /**\r\n * AppropriationInfoCredit type.\r\n * @member {number} type\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.type = 0;\r\n\r\n /**\r\n * AppropriationInfoCredit subStoreCode.\r\n * @member {string} subStoreCode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.subStoreCode = \"\";\r\n\r\n /**\r\n * AppropriationInfoCredit stanOrigin.\r\n * @member {string} stanOrigin\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.stanOrigin = \"\";\r\n\r\n /**\r\n * AppropriationInfoCredit tpan.\r\n * @member {string} tpan\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.tpan = \"\";\r\n\r\n /**\r\n * AppropriationInfoCredit installRate.\r\n * @member {number} installRate\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.installRate = 0;\r\n\r\n /**\r\n * AppropriationInfoCredit issuerOrigin.\r\n * @member {string} issuerOrigin\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n */\r\n AppropriationInfoCredit.prototype.issuerOrigin = \"\";\r\n\r\n /**\r\n * Creates a new AppropriationInfoCredit instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoCredit=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoCredit} AppropriationInfoCredit instance\r\n */\r\n AppropriationInfoCredit.create = function create(properties) {\r\n return new AppropriationInfoCredit(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationInfoCredit message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationInfoCredit.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoCredit} message AppropriationInfoCredit message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationInfoCredit.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.appropriationId != null && Object.hasOwnProperty.call(message, \"appropriationId\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.appropriationId);\r\n if (message.storeCode != null && Object.hasOwnProperty.call(message, \"storeCode\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.storeCode);\r\n if (message.terminalNo != null && Object.hasOwnProperty.call(message, \"terminalNo\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.terminalNo);\r\n if (message.date != null && Object.hasOwnProperty.call(message, \"date\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.date);\r\n if (message.submitDate != null && Object.hasOwnProperty.call(message, \"submitDate\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.submitDate);\r\n if (message.batchNo != null && Object.hasOwnProperty.call(message, \"batchNo\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.batchNo);\r\n if (message.transDate != null && Object.hasOwnProperty.call(message, \"transDate\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.transDate);\r\n if (message.transTime != null && Object.hasOwnProperty.call(message, \"transTime\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.transTime);\r\n if (message.code != null && Object.hasOwnProperty.call(message, \"code\"))\r\n writer.uint32(/* id 9, wireType 0 =*/72).int32(message.code);\r\n if (message.codeOrigin != null && Object.hasOwnProperty.call(message, \"codeOrigin\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.codeOrigin);\r\n if (message.settleCode != null && Object.hasOwnProperty.call(message, \"settleCode\"))\r\n writer.uint32(/* id 11, wireType 0 =*/88).int32(message.settleCode);\r\n if (message.authCode != null && Object.hasOwnProperty.call(message, \"authCode\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.authCode);\r\n if (message.amount != null && Object.hasOwnProperty.call(message, \"amount\"))\r\n writer.uint32(/* id 13, wireType 1 =*/105).double(message.amount);\r\n if (message.cardNo != null && Object.hasOwnProperty.call(message, \"cardNo\"))\r\n writer.uint32(/* id 14, wireType 2 =*/114).string(message.cardNo);\r\n if (message.cardType != null && Object.hasOwnProperty.call(message, \"cardType\"))\r\n writer.uint32(/* id 15, wireType 0 =*/120).int32(message.cardType);\r\n if (message.cardTypeOrigin != null && Object.hasOwnProperty.call(message, \"cardTypeOrigin\"))\r\n writer.uint32(/* id 16, wireType 2 =*/130).string(message.cardTypeOrigin);\r\n if (message.orderNo != null && Object.hasOwnProperty.call(message, \"orderNo\"))\r\n writer.uint32(/* id 17, wireType 2 =*/138).string(message.orderNo);\r\n if (message.isCreditCard != null && Object.hasOwnProperty.call(message, \"isCreditCard\"))\r\n writer.uint32(/* id 18, wireType 0 =*/144).int32(message.isCreditCard);\r\n if (message.issuer != null && Object.hasOwnProperty.call(message, \"issuer\"))\r\n writer.uint32(/* id 19, wireType 2 =*/154).string(message.issuer);\r\n if (message.payFlag != null && Object.hasOwnProperty.call(message, \"payFlag\"))\r\n writer.uint32(/* id 20, wireType 0 =*/160).int32(message.payFlag);\r\n if (message.payFlagOrigin != null && Object.hasOwnProperty.call(message, \"payFlagOrigin\"))\r\n writer.uint32(/* id 21, wireType 2 =*/170).string(message.payFlagOrigin);\r\n if (message.installCode != null && Object.hasOwnProperty.call(message, \"installCode\"))\r\n writer.uint32(/* id 22, wireType 0 =*/176).int32(message.installCode);\r\n if (message.installCodeOrigin != null && Object.hasOwnProperty.call(message, \"installCodeOrigin\"))\r\n writer.uint32(/* id 23, wireType 2 =*/186).string(message.installCodeOrigin);\r\n if (message.installTimes != null && Object.hasOwnProperty.call(message, \"installTimes\"))\r\n writer.uint32(/* id 24, wireType 0 =*/192).int32(message.installTimes);\r\n if (message.installAverageAmount != null && Object.hasOwnProperty.call(message, \"installAverageAmount\"))\r\n writer.uint32(/* id 25, wireType 1 =*/201).double(message.installAverageAmount);\r\n if (message.stan != null && Object.hasOwnProperty.call(message, \"stan\"))\r\n writer.uint32(/* id 26, wireType 2 =*/210).string(message.stan);\r\n if (message.feeFlag != null && Object.hasOwnProperty.call(message, \"feeFlag\"))\r\n writer.uint32(/* id 27, wireType 0 =*/216).int32(message.feeFlag);\r\n if (message.feeFlagOrigin != null && Object.hasOwnProperty.call(message, \"feeFlagOrigin\"))\r\n writer.uint32(/* id 28, wireType 2 =*/226).string(message.feeFlagOrigin);\r\n if (message.charge != null && Object.hasOwnProperty.call(message, \"charge\"))\r\n writer.uint32(/* id 29, wireType 1 =*/233).double(message.charge);\r\n if (message.isOurBank != null && Object.hasOwnProperty.call(message, \"isOurBank\"))\r\n writer.uint32(/* id 30, wireType 0 =*/240).int32(message.isOurBank);\r\n if (message.taiwanPayQrFlag != null && Object.hasOwnProperty.call(message, \"taiwanPayQrFlag\"))\r\n writer.uint32(/* id 31, wireType 0 =*/248).int32(message.taiwanPayQrFlag);\r\n if (message.infoType != null && Object.hasOwnProperty.call(message, \"infoType\"))\r\n writer.uint32(/* id 32, wireType 0 =*/256).int32(message.infoType);\r\n if (message.storeCodeMapping != null && Object.hasOwnProperty.call(message, \"storeCodeMapping\"))\r\n writer.uint32(/* id 33, wireType 2 =*/266).string(message.storeCodeMapping);\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 34, wireType 0 =*/272).int32(message.type);\r\n if (message.subStoreCode != null && Object.hasOwnProperty.call(message, \"subStoreCode\"))\r\n writer.uint32(/* id 35, wireType 2 =*/282).string(message.subStoreCode);\r\n if (message.stanOrigin != null && Object.hasOwnProperty.call(message, \"stanOrigin\"))\r\n writer.uint32(/* id 36, wireType 2 =*/290).string(message.stanOrigin);\r\n if (message.tpan != null && Object.hasOwnProperty.call(message, \"tpan\"))\r\n writer.uint32(/* id 37, wireType 2 =*/298).string(message.tpan);\r\n if (message.installRate != null && Object.hasOwnProperty.call(message, \"installRate\"))\r\n writer.uint32(/* id 38, wireType 1 =*/305).double(message.installRate);\r\n if (message.issuerOrigin != null && Object.hasOwnProperty.call(message, \"issuerOrigin\"))\r\n writer.uint32(/* id 39, wireType 2 =*/314).string(message.issuerOrigin);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationInfoCredit message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationInfoCredit.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoCredit} message AppropriationInfoCredit message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationInfoCredit.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationInfoCredit message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoCredit} AppropriationInfoCredit\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationInfoCredit.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationInfoCredit();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.appropriationId = reader.int32();\r\n break;\r\n case 2:\r\n message.storeCode = reader.string();\r\n break;\r\n case 3:\r\n message.terminalNo = reader.string();\r\n break;\r\n case 4:\r\n message.date = reader.string();\r\n break;\r\n case 5:\r\n message.submitDate = reader.string();\r\n break;\r\n case 6:\r\n message.batchNo = reader.string();\r\n break;\r\n case 7:\r\n message.transDate = reader.string();\r\n break;\r\n case 8:\r\n message.transTime = reader.string();\r\n break;\r\n case 9:\r\n message.code = reader.int32();\r\n break;\r\n case 10:\r\n message.codeOrigin = reader.string();\r\n break;\r\n case 11:\r\n message.settleCode = reader.int32();\r\n break;\r\n case 12:\r\n message.authCode = reader.string();\r\n break;\r\n case 13:\r\n message.amount = reader.double();\r\n break;\r\n case 14:\r\n message.cardNo = reader.string();\r\n break;\r\n case 15:\r\n message.cardType = reader.int32();\r\n break;\r\n case 16:\r\n message.cardTypeOrigin = reader.string();\r\n break;\r\n case 17:\r\n message.orderNo = reader.string();\r\n break;\r\n case 18:\r\n message.isCreditCard = reader.int32();\r\n break;\r\n case 19:\r\n message.issuer = reader.string();\r\n break;\r\n case 20:\r\n message.payFlag = reader.int32();\r\n break;\r\n case 21:\r\n message.payFlagOrigin = reader.string();\r\n break;\r\n case 22:\r\n message.installCode = reader.int32();\r\n break;\r\n case 23:\r\n message.installCodeOrigin = reader.string();\r\n break;\r\n case 24:\r\n message.installTimes = reader.int32();\r\n break;\r\n case 25:\r\n message.installAverageAmount = reader.double();\r\n break;\r\n case 26:\r\n message.stan = reader.string();\r\n break;\r\n case 27:\r\n message.feeFlag = reader.int32();\r\n break;\r\n case 28:\r\n message.feeFlagOrigin = reader.string();\r\n break;\r\n case 29:\r\n message.charge = reader.double();\r\n break;\r\n case 30:\r\n message.isOurBank = reader.int32();\r\n break;\r\n case 31:\r\n message.taiwanPayQrFlag = reader.int32();\r\n break;\r\n case 32:\r\n message.infoType = reader.int32();\r\n break;\r\n case 33:\r\n message.storeCodeMapping = reader.string();\r\n break;\r\n case 34:\r\n message.type = reader.int32();\r\n break;\r\n case 35:\r\n message.subStoreCode = reader.string();\r\n break;\r\n case 36:\r\n message.stanOrigin = reader.string();\r\n break;\r\n case 37:\r\n message.tpan = reader.string();\r\n break;\r\n case 38:\r\n message.installRate = reader.double();\r\n break;\r\n case 39:\r\n message.issuerOrigin = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationInfoCredit message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoCredit} AppropriationInfoCredit\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationInfoCredit.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationInfoCredit message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationInfoCredit.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.appropriationId != null && message.hasOwnProperty(\"appropriationId\"))\r\n if (!$util.isInteger(message.appropriationId))\r\n return \"appropriationId: integer expected\";\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n if (!$util.isString(message.storeCode))\r\n return \"storeCode: string expected\";\r\n if (message.terminalNo != null && message.hasOwnProperty(\"terminalNo\"))\r\n if (!$util.isString(message.terminalNo))\r\n return \"terminalNo: string expected\";\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n if (!$util.isString(message.date))\r\n return \"date: string expected\";\r\n if (message.submitDate != null && message.hasOwnProperty(\"submitDate\"))\r\n if (!$util.isString(message.submitDate))\r\n return \"submitDate: string expected\";\r\n if (message.batchNo != null && message.hasOwnProperty(\"batchNo\"))\r\n if (!$util.isString(message.batchNo))\r\n return \"batchNo: string expected\";\r\n if (message.transDate != null && message.hasOwnProperty(\"transDate\"))\r\n if (!$util.isString(message.transDate))\r\n return \"transDate: string expected\";\r\n if (message.transTime != null && message.hasOwnProperty(\"transTime\"))\r\n if (!$util.isString(message.transTime))\r\n return \"transTime: string expected\";\r\n if (message.code != null && message.hasOwnProperty(\"code\"))\r\n if (!$util.isInteger(message.code))\r\n return \"code: integer expected\";\r\n if (message.codeOrigin != null && message.hasOwnProperty(\"codeOrigin\"))\r\n if (!$util.isString(message.codeOrigin))\r\n return \"codeOrigin: string expected\";\r\n if (message.settleCode != null && message.hasOwnProperty(\"settleCode\"))\r\n if (!$util.isInteger(message.settleCode))\r\n return \"settleCode: integer expected\";\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n if (!$util.isString(message.authCode))\r\n return \"authCode: string expected\";\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n if (typeof message.amount !== \"number\")\r\n return \"amount: number expected\";\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n if (!$util.isString(message.cardNo))\r\n return \"cardNo: string expected\";\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n if (!$util.isInteger(message.cardType))\r\n return \"cardType: integer expected\";\r\n if (message.cardTypeOrigin != null && message.hasOwnProperty(\"cardTypeOrigin\"))\r\n if (!$util.isString(message.cardTypeOrigin))\r\n return \"cardTypeOrigin: string expected\";\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n if (!$util.isString(message.orderNo))\r\n return \"orderNo: string expected\";\r\n if (message.isCreditCard != null && message.hasOwnProperty(\"isCreditCard\"))\r\n if (!$util.isInteger(message.isCreditCard))\r\n return \"isCreditCard: integer expected\";\r\n if (message.issuer != null && message.hasOwnProperty(\"issuer\"))\r\n if (!$util.isString(message.issuer))\r\n return \"issuer: string expected\";\r\n if (message.payFlag != null && message.hasOwnProperty(\"payFlag\"))\r\n if (!$util.isInteger(message.payFlag))\r\n return \"payFlag: integer expected\";\r\n if (message.payFlagOrigin != null && message.hasOwnProperty(\"payFlagOrigin\"))\r\n if (!$util.isString(message.payFlagOrigin))\r\n return \"payFlagOrigin: string expected\";\r\n if (message.installCode != null && message.hasOwnProperty(\"installCode\"))\r\n if (!$util.isInteger(message.installCode))\r\n return \"installCode: integer expected\";\r\n if (message.installCodeOrigin != null && message.hasOwnProperty(\"installCodeOrigin\"))\r\n if (!$util.isString(message.installCodeOrigin))\r\n return \"installCodeOrigin: string expected\";\r\n if (message.installTimes != null && message.hasOwnProperty(\"installTimes\"))\r\n if (!$util.isInteger(message.installTimes))\r\n return \"installTimes: integer expected\";\r\n if (message.installAverageAmount != null && message.hasOwnProperty(\"installAverageAmount\"))\r\n if (typeof message.installAverageAmount !== \"number\")\r\n return \"installAverageAmount: number expected\";\r\n if (message.stan != null && message.hasOwnProperty(\"stan\"))\r\n if (!$util.isString(message.stan))\r\n return \"stan: string expected\";\r\n if (message.feeFlag != null && message.hasOwnProperty(\"feeFlag\"))\r\n if (!$util.isInteger(message.feeFlag))\r\n return \"feeFlag: integer expected\";\r\n if (message.feeFlagOrigin != null && message.hasOwnProperty(\"feeFlagOrigin\"))\r\n if (!$util.isString(message.feeFlagOrigin))\r\n return \"feeFlagOrigin: string expected\";\r\n if (message.charge != null && message.hasOwnProperty(\"charge\"))\r\n if (typeof message.charge !== \"number\")\r\n return \"charge: number expected\";\r\n if (message.isOurBank != null && message.hasOwnProperty(\"isOurBank\"))\r\n if (!$util.isInteger(message.isOurBank))\r\n return \"isOurBank: integer expected\";\r\n if (message.taiwanPayQrFlag != null && message.hasOwnProperty(\"taiwanPayQrFlag\"))\r\n if (!$util.isInteger(message.taiwanPayQrFlag))\r\n return \"taiwanPayQrFlag: integer expected\";\r\n if (message.infoType != null && message.hasOwnProperty(\"infoType\"))\r\n if (!$util.isInteger(message.infoType))\r\n return \"infoType: integer expected\";\r\n if (message.storeCodeMapping != null && message.hasOwnProperty(\"storeCodeMapping\"))\r\n if (!$util.isString(message.storeCodeMapping))\r\n return \"storeCodeMapping: string expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isInteger(message.type))\r\n return \"type: integer expected\";\r\n if (message.subStoreCode != null && message.hasOwnProperty(\"subStoreCode\"))\r\n if (!$util.isString(message.subStoreCode))\r\n return \"subStoreCode: string expected\";\r\n if (message.stanOrigin != null && message.hasOwnProperty(\"stanOrigin\"))\r\n if (!$util.isString(message.stanOrigin))\r\n return \"stanOrigin: string expected\";\r\n if (message.tpan != null && message.hasOwnProperty(\"tpan\"))\r\n if (!$util.isString(message.tpan))\r\n return \"tpan: string expected\";\r\n if (message.installRate != null && message.hasOwnProperty(\"installRate\"))\r\n if (typeof message.installRate !== \"number\")\r\n return \"installRate: number expected\";\r\n if (message.issuerOrigin != null && message.hasOwnProperty(\"issuerOrigin\"))\r\n if (!$util.isString(message.issuerOrigin))\r\n return \"issuerOrigin: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationInfoCredit message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoCredit} AppropriationInfoCredit\r\n */\r\n AppropriationInfoCredit.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationInfoCredit)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationInfoCredit();\r\n if (object.appropriationId != null)\r\n message.appropriationId = object.appropriationId | 0;\r\n if (object.storeCode != null)\r\n message.storeCode = String(object.storeCode);\r\n if (object.terminalNo != null)\r\n message.terminalNo = String(object.terminalNo);\r\n if (object.date != null)\r\n message.date = String(object.date);\r\n if (object.submitDate != null)\r\n message.submitDate = String(object.submitDate);\r\n if (object.batchNo != null)\r\n message.batchNo = String(object.batchNo);\r\n if (object.transDate != null)\r\n message.transDate = String(object.transDate);\r\n if (object.transTime != null)\r\n message.transTime = String(object.transTime);\r\n if (object.code != null)\r\n message.code = object.code | 0;\r\n if (object.codeOrigin != null)\r\n message.codeOrigin = String(object.codeOrigin);\r\n if (object.settleCode != null)\r\n message.settleCode = object.settleCode | 0;\r\n if (object.authCode != null)\r\n message.authCode = String(object.authCode);\r\n if (object.amount != null)\r\n message.amount = Number(object.amount);\r\n if (object.cardNo != null)\r\n message.cardNo = String(object.cardNo);\r\n if (object.cardType != null)\r\n message.cardType = object.cardType | 0;\r\n if (object.cardTypeOrigin != null)\r\n message.cardTypeOrigin = String(object.cardTypeOrigin);\r\n if (object.orderNo != null)\r\n message.orderNo = String(object.orderNo);\r\n if (object.isCreditCard != null)\r\n message.isCreditCard = object.isCreditCard | 0;\r\n if (object.issuer != null)\r\n message.issuer = String(object.issuer);\r\n if (object.payFlag != null)\r\n message.payFlag = object.payFlag | 0;\r\n if (object.payFlagOrigin != null)\r\n message.payFlagOrigin = String(object.payFlagOrigin);\r\n if (object.installCode != null)\r\n message.installCode = object.installCode | 0;\r\n if (object.installCodeOrigin != null)\r\n message.installCodeOrigin = String(object.installCodeOrigin);\r\n if (object.installTimes != null)\r\n message.installTimes = object.installTimes | 0;\r\n if (object.installAverageAmount != null)\r\n message.installAverageAmount = Number(object.installAverageAmount);\r\n if (object.stan != null)\r\n message.stan = String(object.stan);\r\n if (object.feeFlag != null)\r\n message.feeFlag = object.feeFlag | 0;\r\n if (object.feeFlagOrigin != null)\r\n message.feeFlagOrigin = String(object.feeFlagOrigin);\r\n if (object.charge != null)\r\n message.charge = Number(object.charge);\r\n if (object.isOurBank != null)\r\n message.isOurBank = object.isOurBank | 0;\r\n if (object.taiwanPayQrFlag != null)\r\n message.taiwanPayQrFlag = object.taiwanPayQrFlag | 0;\r\n if (object.infoType != null)\r\n message.infoType = object.infoType | 0;\r\n if (object.storeCodeMapping != null)\r\n message.storeCodeMapping = String(object.storeCodeMapping);\r\n if (object.type != null)\r\n message.type = object.type | 0;\r\n if (object.subStoreCode != null)\r\n message.subStoreCode = String(object.subStoreCode);\r\n if (object.stanOrigin != null)\r\n message.stanOrigin = String(object.stanOrigin);\r\n if (object.tpan != null)\r\n message.tpan = String(object.tpan);\r\n if (object.installRate != null)\r\n message.installRate = Number(object.installRate);\r\n if (object.issuerOrigin != null)\r\n message.issuerOrigin = String(object.issuerOrigin);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationInfoCredit message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationInfoCredit} message AppropriationInfoCredit\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationInfoCredit.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.appropriationId = 0;\r\n object.storeCode = \"\";\r\n object.terminalNo = \"\";\r\n object.date = \"\";\r\n object.submitDate = \"\";\r\n object.batchNo = \"\";\r\n object.transDate = \"\";\r\n object.transTime = \"\";\r\n object.code = 0;\r\n object.codeOrigin = \"\";\r\n object.settleCode = 0;\r\n object.authCode = \"\";\r\n object.amount = 0;\r\n object.cardNo = \"\";\r\n object.cardType = 0;\r\n object.cardTypeOrigin = \"\";\r\n object.orderNo = \"\";\r\n object.isCreditCard = 0;\r\n object.issuer = \"\";\r\n object.payFlag = 0;\r\n object.payFlagOrigin = \"\";\r\n object.installCode = 0;\r\n object.installCodeOrigin = \"\";\r\n object.installTimes = 0;\r\n object.installAverageAmount = 0;\r\n object.stan = \"\";\r\n object.feeFlag = 0;\r\n object.feeFlagOrigin = \"\";\r\n object.charge = 0;\r\n object.isOurBank = 0;\r\n object.taiwanPayQrFlag = 0;\r\n object.infoType = 0;\r\n object.storeCodeMapping = \"\";\r\n object.type = 0;\r\n object.subStoreCode = \"\";\r\n object.stanOrigin = \"\";\r\n object.tpan = \"\";\r\n object.installRate = 0;\r\n object.issuerOrigin = \"\";\r\n }\r\n if (message.appropriationId != null && message.hasOwnProperty(\"appropriationId\"))\r\n object.appropriationId = message.appropriationId;\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n object.storeCode = message.storeCode;\r\n if (message.terminalNo != null && message.hasOwnProperty(\"terminalNo\"))\r\n object.terminalNo = message.terminalNo;\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n object.date = message.date;\r\n if (message.submitDate != null && message.hasOwnProperty(\"submitDate\"))\r\n object.submitDate = message.submitDate;\r\n if (message.batchNo != null && message.hasOwnProperty(\"batchNo\"))\r\n object.batchNo = message.batchNo;\r\n if (message.transDate != null && message.hasOwnProperty(\"transDate\"))\r\n object.transDate = message.transDate;\r\n if (message.transTime != null && message.hasOwnProperty(\"transTime\"))\r\n object.transTime = message.transTime;\r\n if (message.code != null && message.hasOwnProperty(\"code\"))\r\n object.code = message.code;\r\n if (message.codeOrigin != null && message.hasOwnProperty(\"codeOrigin\"))\r\n object.codeOrigin = message.codeOrigin;\r\n if (message.settleCode != null && message.hasOwnProperty(\"settleCode\"))\r\n object.settleCode = message.settleCode;\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n object.authCode = message.authCode;\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n object.amount = options.json && !isFinite(message.amount) ? String(message.amount) : message.amount;\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n object.cardNo = message.cardNo;\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n object.cardType = message.cardType;\r\n if (message.cardTypeOrigin != null && message.hasOwnProperty(\"cardTypeOrigin\"))\r\n object.cardTypeOrigin = message.cardTypeOrigin;\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n object.orderNo = message.orderNo;\r\n if (message.isCreditCard != null && message.hasOwnProperty(\"isCreditCard\"))\r\n object.isCreditCard = message.isCreditCard;\r\n if (message.issuer != null && message.hasOwnProperty(\"issuer\"))\r\n object.issuer = message.issuer;\r\n if (message.payFlag != null && message.hasOwnProperty(\"payFlag\"))\r\n object.payFlag = message.payFlag;\r\n if (message.payFlagOrigin != null && message.hasOwnProperty(\"payFlagOrigin\"))\r\n object.payFlagOrigin = message.payFlagOrigin;\r\n if (message.installCode != null && message.hasOwnProperty(\"installCode\"))\r\n object.installCode = message.installCode;\r\n if (message.installCodeOrigin != null && message.hasOwnProperty(\"installCodeOrigin\"))\r\n object.installCodeOrigin = message.installCodeOrigin;\r\n if (message.installTimes != null && message.hasOwnProperty(\"installTimes\"))\r\n object.installTimes = message.installTimes;\r\n if (message.installAverageAmount != null && message.hasOwnProperty(\"installAverageAmount\"))\r\n object.installAverageAmount = options.json && !isFinite(message.installAverageAmount) ? String(message.installAverageAmount) : message.installAverageAmount;\r\n if (message.stan != null && message.hasOwnProperty(\"stan\"))\r\n object.stan = message.stan;\r\n if (message.feeFlag != null && message.hasOwnProperty(\"feeFlag\"))\r\n object.feeFlag = message.feeFlag;\r\n if (message.feeFlagOrigin != null && message.hasOwnProperty(\"feeFlagOrigin\"))\r\n object.feeFlagOrigin = message.feeFlagOrigin;\r\n if (message.charge != null && message.hasOwnProperty(\"charge\"))\r\n object.charge = options.json && !isFinite(message.charge) ? String(message.charge) : message.charge;\r\n if (message.isOurBank != null && message.hasOwnProperty(\"isOurBank\"))\r\n object.isOurBank = message.isOurBank;\r\n if (message.taiwanPayQrFlag != null && message.hasOwnProperty(\"taiwanPayQrFlag\"))\r\n object.taiwanPayQrFlag = message.taiwanPayQrFlag;\r\n if (message.infoType != null && message.hasOwnProperty(\"infoType\"))\r\n object.infoType = message.infoType;\r\n if (message.storeCodeMapping != null && message.hasOwnProperty(\"storeCodeMapping\"))\r\n object.storeCodeMapping = message.storeCodeMapping;\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.subStoreCode != null && message.hasOwnProperty(\"subStoreCode\"))\r\n object.subStoreCode = message.subStoreCode;\r\n if (message.stanOrigin != null && message.hasOwnProperty(\"stanOrigin\"))\r\n object.stanOrigin = message.stanOrigin;\r\n if (message.tpan != null && message.hasOwnProperty(\"tpan\"))\r\n object.tpan = message.tpan;\r\n if (message.installRate != null && message.hasOwnProperty(\"installRate\"))\r\n object.installRate = options.json && !isFinite(message.installRate) ? String(message.installRate) : message.installRate;\r\n if (message.issuerOrigin != null && message.hasOwnProperty(\"issuerOrigin\"))\r\n object.issuerOrigin = message.issuerOrigin;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationInfoCredit to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoCredit\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationInfoCredit.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationInfoCredit;\r\n })();\r\n\r\n Protobuf.AppropriationCredit = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationCredit.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationCredit\r\n * @property {Array.|null} [list] AppropriationCredit list\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationCredit.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationCredit.\r\n * @implements IAppropriationCredit\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCredit=} [properties] Properties to set\r\n */\r\n function AppropriationCredit(properties) {\r\n this.list = [];\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationCredit list.\r\n * @member {Array.} list\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCredit\r\n * @instance\r\n */\r\n AppropriationCredit.prototype.list = $util.emptyArray;\r\n\r\n /**\r\n * Creates a new AppropriationCredit instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCredit\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCredit=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCredit} AppropriationCredit instance\r\n */\r\n AppropriationCredit.create = function create(properties) {\r\n return new AppropriationCredit(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationCredit message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationCredit.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCredit\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCredit} message AppropriationCredit message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationCredit.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.list != null && message.list.length)\r\n for (var i = 0; i < message.list.length; ++i)\r\n $root.TCBReceiptApi.Protobuf.AppropriationInfoCredit.encode(message.list[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationCredit message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationCredit.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCredit\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCredit} message AppropriationCredit message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationCredit.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationCredit message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCredit\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCredit} AppropriationCredit\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationCredit.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationCredit();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (!(message.list && message.list.length))\r\n message.list = [];\r\n message.list.push($root.TCBReceiptApi.Protobuf.AppropriationInfoCredit.decode(reader, reader.uint32()));\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationCredit message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCredit\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCredit} AppropriationCredit\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationCredit.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationCredit message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCredit\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationCredit.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.list != null && message.hasOwnProperty(\"list\")) {\r\n if (!Array.isArray(message.list))\r\n return \"list: array expected\";\r\n for (var i = 0; i < message.list.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationInfoCredit.verify(message.list[i]);\r\n if (error)\r\n return \"list.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationCredit message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCredit\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCredit} AppropriationCredit\r\n */\r\n AppropriationCredit.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationCredit)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationCredit();\r\n if (object.list) {\r\n if (!Array.isArray(object.list))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationCredit.list: array expected\");\r\n message.list = [];\r\n for (var i = 0; i < object.list.length; ++i) {\r\n if (typeof object.list[i] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationCredit.list: object expected\");\r\n message.list[i] = $root.TCBReceiptApi.Protobuf.AppropriationInfoCredit.fromObject(object.list[i]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationCredit message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCredit\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationCredit} message AppropriationCredit\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationCredit.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.arrays || options.defaults)\r\n object.list = [];\r\n if (message.list && message.list.length) {\r\n object.list = [];\r\n for (var j = 0; j < message.list.length; ++j)\r\n object.list[j] = $root.TCBReceiptApi.Protobuf.AppropriationInfoCredit.toObject(message.list[j], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationCredit to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCredit\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationCredit.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationCredit;\r\n })();\r\n\r\n Protobuf.AppropriationCreditBatchNoMap = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationCreditBatchNoMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationCreditBatchNoMap\r\n * @property {Object.|null} [byBatchNo] AppropriationCreditBatchNoMap byBatchNo\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationCreditBatchNoMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationCreditBatchNoMap.\r\n * @implements IAppropriationCreditBatchNoMap\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCreditBatchNoMap=} [properties] Properties to set\r\n */\r\n function AppropriationCreditBatchNoMap(properties) {\r\n this.byBatchNo = {};\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationCreditBatchNoMap byBatchNo.\r\n * @member {Object.} byBatchNo\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap\r\n * @instance\r\n */\r\n AppropriationCreditBatchNoMap.prototype.byBatchNo = $util.emptyObject;\r\n\r\n /**\r\n * Creates a new AppropriationCreditBatchNoMap instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCreditBatchNoMap=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap} AppropriationCreditBatchNoMap instance\r\n */\r\n AppropriationCreditBatchNoMap.create = function create(properties) {\r\n return new AppropriationCreditBatchNoMap(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationCreditBatchNoMap message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCreditBatchNoMap} message AppropriationCreditBatchNoMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationCreditBatchNoMap.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.byBatchNo != null && Object.hasOwnProperty.call(message, \"byBatchNo\"))\r\n for (var keys = Object.keys(message.byBatchNo), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.AppropriationCredit.encode(message.byBatchNo[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationCreditBatchNoMap message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCreditBatchNoMap} message AppropriationCreditBatchNoMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationCreditBatchNoMap.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationCreditBatchNoMap message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap} AppropriationCreditBatchNoMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationCreditBatchNoMap.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap(), key, value;\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (message.byBatchNo === $util.emptyObject)\r\n message.byBatchNo = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = \"\";\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.string();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.AppropriationCredit.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.byBatchNo[key] = value;\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationCreditBatchNoMap message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap} AppropriationCreditBatchNoMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationCreditBatchNoMap.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationCreditBatchNoMap message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationCreditBatchNoMap.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.byBatchNo != null && message.hasOwnProperty(\"byBatchNo\")) {\r\n if (!$util.isObject(message.byBatchNo))\r\n return \"byBatchNo: object expected\";\r\n var key = Object.keys(message.byBatchNo);\r\n for (var i = 0; i < key.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationCredit.verify(message.byBatchNo[key[i]]);\r\n if (error)\r\n return \"byBatchNo.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationCreditBatchNoMap message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap} AppropriationCreditBatchNoMap\r\n */\r\n AppropriationCreditBatchNoMap.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap();\r\n if (object.byBatchNo) {\r\n if (typeof object.byBatchNo !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap.byBatchNo: object expected\");\r\n message.byBatchNo = {};\r\n for (var keys = Object.keys(object.byBatchNo), i = 0; i < keys.length; ++i) {\r\n if (typeof object.byBatchNo[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap.byBatchNo: object expected\");\r\n message.byBatchNo[keys[i]] = $root.TCBReceiptApi.Protobuf.AppropriationCredit.fromObject(object.byBatchNo[keys[i]]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationCreditBatchNoMap message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap} message AppropriationCreditBatchNoMap\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationCreditBatchNoMap.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.objects || options.defaults)\r\n object.byBatchNo = {};\r\n var keys2;\r\n if (message.byBatchNo && (keys2 = Object.keys(message.byBatchNo)).length) {\r\n object.byBatchNo = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.byBatchNo[keys2[j]] = $root.TCBReceiptApi.Protobuf.AppropriationCredit.toObject(message.byBatchNo[keys2[j]], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationCreditBatchNoMap to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationCreditBatchNoMap.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationCreditBatchNoMap;\r\n })();\r\n\r\n Protobuf.AppropriationCreditSecondMap = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationCreditSecondMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationCreditSecondMap\r\n * @property {Object.|null} [bySecondColumn] AppropriationCreditSecondMap bySecondColumn\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationCreditSecondMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationCreditSecondMap.\r\n * @implements IAppropriationCreditSecondMap\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCreditSecondMap=} [properties] Properties to set\r\n */\r\n function AppropriationCreditSecondMap(properties) {\r\n this.bySecondColumn = {};\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationCreditSecondMap bySecondColumn.\r\n * @member {Object.} bySecondColumn\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditSecondMap\r\n * @instance\r\n */\r\n AppropriationCreditSecondMap.prototype.bySecondColumn = $util.emptyObject;\r\n\r\n /**\r\n * Creates a new AppropriationCreditSecondMap instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditSecondMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCreditSecondMap=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCreditSecondMap} AppropriationCreditSecondMap instance\r\n */\r\n AppropriationCreditSecondMap.create = function create(properties) {\r\n return new AppropriationCreditSecondMap(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationCreditSecondMap message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationCreditSecondMap.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditSecondMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCreditSecondMap} message AppropriationCreditSecondMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationCreditSecondMap.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.bySecondColumn != null && Object.hasOwnProperty.call(message, \"bySecondColumn\"))\r\n for (var keys = Object.keys(message.bySecondColumn), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap.encode(message.bySecondColumn[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationCreditSecondMap message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationCreditSecondMap.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditSecondMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCreditSecondMap} message AppropriationCreditSecondMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationCreditSecondMap.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationCreditSecondMap message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditSecondMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCreditSecondMap} AppropriationCreditSecondMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationCreditSecondMap.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationCreditSecondMap(), key, value;\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (message.bySecondColumn === $util.emptyObject)\r\n message.bySecondColumn = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = \"\";\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.string();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.bySecondColumn[key] = value;\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationCreditSecondMap message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditSecondMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCreditSecondMap} AppropriationCreditSecondMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationCreditSecondMap.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationCreditSecondMap message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditSecondMap\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationCreditSecondMap.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.bySecondColumn != null && message.hasOwnProperty(\"bySecondColumn\")) {\r\n if (!$util.isObject(message.bySecondColumn))\r\n return \"bySecondColumn: object expected\";\r\n var key = Object.keys(message.bySecondColumn);\r\n for (var i = 0; i < key.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap.verify(message.bySecondColumn[key[i]]);\r\n if (error)\r\n return \"bySecondColumn.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationCreditSecondMap message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditSecondMap\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCreditSecondMap} AppropriationCreditSecondMap\r\n */\r\n AppropriationCreditSecondMap.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationCreditSecondMap)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationCreditSecondMap();\r\n if (object.bySecondColumn) {\r\n if (typeof object.bySecondColumn !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationCreditSecondMap.bySecondColumn: object expected\");\r\n message.bySecondColumn = {};\r\n for (var keys = Object.keys(object.bySecondColumn), i = 0; i < keys.length; ++i) {\r\n if (typeof object.bySecondColumn[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationCreditSecondMap.bySecondColumn: object expected\");\r\n message.bySecondColumn[keys[i]] = $root.TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap.fromObject(object.bySecondColumn[keys[i]]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationCreditSecondMap message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditSecondMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationCreditSecondMap} message AppropriationCreditSecondMap\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationCreditSecondMap.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.objects || options.defaults)\r\n object.bySecondColumn = {};\r\n var keys2;\r\n if (message.bySecondColumn && (keys2 = Object.keys(message.bySecondColumn)).length) {\r\n object.bySecondColumn = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.bySecondColumn[keys2[j]] = $root.TCBReceiptApi.Protobuf.AppropriationCreditBatchNoMap.toObject(message.bySecondColumn[keys2[j]], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationCreditSecondMap to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditSecondMap\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationCreditSecondMap.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationCreditSecondMap;\r\n })();\r\n\r\n Protobuf.AppropriationCreditFirstMap = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationCreditFirstMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationCreditFirstMap\r\n * @property {Object.|null} [byFirstColumn] AppropriationCreditFirstMap byFirstColumn\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationCreditFirstMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationCreditFirstMap.\r\n * @implements IAppropriationCreditFirstMap\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCreditFirstMap=} [properties] Properties to set\r\n */\r\n function AppropriationCreditFirstMap(properties) {\r\n this.byFirstColumn = {};\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationCreditFirstMap byFirstColumn.\r\n * @member {Object.} byFirstColumn\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditFirstMap\r\n * @instance\r\n */\r\n AppropriationCreditFirstMap.prototype.byFirstColumn = $util.emptyObject;\r\n\r\n /**\r\n * Creates a new AppropriationCreditFirstMap instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditFirstMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCreditFirstMap=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCreditFirstMap} AppropriationCreditFirstMap instance\r\n */\r\n AppropriationCreditFirstMap.create = function create(properties) {\r\n return new AppropriationCreditFirstMap(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationCreditFirstMap message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationCreditFirstMap.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditFirstMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCreditFirstMap} message AppropriationCreditFirstMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationCreditFirstMap.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.byFirstColumn != null && Object.hasOwnProperty.call(message, \"byFirstColumn\"))\r\n for (var keys = Object.keys(message.byFirstColumn), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.AppropriationCreditSecondMap.encode(message.byFirstColumn[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationCreditFirstMap message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationCreditFirstMap.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditFirstMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCreditFirstMap} message AppropriationCreditFirstMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationCreditFirstMap.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationCreditFirstMap message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditFirstMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCreditFirstMap} AppropriationCreditFirstMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationCreditFirstMap.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationCreditFirstMap(), key, value;\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (message.byFirstColumn === $util.emptyObject)\r\n message.byFirstColumn = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = \"\";\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.string();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.AppropriationCreditSecondMap.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.byFirstColumn[key] = value;\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationCreditFirstMap message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditFirstMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCreditFirstMap} AppropriationCreditFirstMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationCreditFirstMap.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationCreditFirstMap message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditFirstMap\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationCreditFirstMap.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.byFirstColumn != null && message.hasOwnProperty(\"byFirstColumn\")) {\r\n if (!$util.isObject(message.byFirstColumn))\r\n return \"byFirstColumn: object expected\";\r\n var key = Object.keys(message.byFirstColumn);\r\n for (var i = 0; i < key.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationCreditSecondMap.verify(message.byFirstColumn[key[i]]);\r\n if (error)\r\n return \"byFirstColumn.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationCreditFirstMap message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditFirstMap\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCreditFirstMap} AppropriationCreditFirstMap\r\n */\r\n AppropriationCreditFirstMap.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationCreditFirstMap)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationCreditFirstMap();\r\n if (object.byFirstColumn) {\r\n if (typeof object.byFirstColumn !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationCreditFirstMap.byFirstColumn: object expected\");\r\n message.byFirstColumn = {};\r\n for (var keys = Object.keys(object.byFirstColumn), i = 0; i < keys.length; ++i) {\r\n if (typeof object.byFirstColumn[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationCreditFirstMap.byFirstColumn: object expected\");\r\n message.byFirstColumn[keys[i]] = $root.TCBReceiptApi.Protobuf.AppropriationCreditSecondMap.fromObject(object.byFirstColumn[keys[i]]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationCreditFirstMap message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditFirstMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationCreditFirstMap} message AppropriationCreditFirstMap\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationCreditFirstMap.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.objects || options.defaults)\r\n object.byFirstColumn = {};\r\n var keys2;\r\n if (message.byFirstColumn && (keys2 = Object.keys(message.byFirstColumn)).length) {\r\n object.byFirstColumn = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.byFirstColumn[keys2[j]] = $root.TCBReceiptApi.Protobuf.AppropriationCreditSecondMap.toObject(message.byFirstColumn[keys2[j]], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationCreditFirstMap to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditFirstMap\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationCreditFirstMap.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationCreditFirstMap;\r\n })();\r\n\r\n Protobuf.AppropriationCreditTotal = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationCreditTotal.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationCreditTotal\r\n * @property {number|null} [count] AppropriationCreditTotal count\r\n * @property {number|null} [total] AppropriationCreditTotal total\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationCreditTotal.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationCreditTotal.\r\n * @implements IAppropriationCreditTotal\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCreditTotal=} [properties] Properties to set\r\n */\r\n function AppropriationCreditTotal(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationCreditTotal count.\r\n * @member {number} count\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditTotal\r\n * @instance\r\n */\r\n AppropriationCreditTotal.prototype.count = 0;\r\n\r\n /**\r\n * AppropriationCreditTotal total.\r\n * @member {number} total\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditTotal\r\n * @instance\r\n */\r\n AppropriationCreditTotal.prototype.total = 0;\r\n\r\n /**\r\n * Creates a new AppropriationCreditTotal instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCreditTotal=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCreditTotal} AppropriationCreditTotal instance\r\n */\r\n AppropriationCreditTotal.create = function create(properties) {\r\n return new AppropriationCreditTotal(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationCreditTotal message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationCreditTotal.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCreditTotal} message AppropriationCreditTotal message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationCreditTotal.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.count != null && Object.hasOwnProperty.call(message, \"count\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.count);\r\n if (message.total != null && Object.hasOwnProperty.call(message, \"total\"))\r\n writer.uint32(/* id 2, wireType 1 =*/17).double(message.total);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationCreditTotal message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationCreditTotal.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCreditTotal} message AppropriationCreditTotal message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationCreditTotal.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationCreditTotal message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditTotal\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCreditTotal} AppropriationCreditTotal\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationCreditTotal.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationCreditTotal();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.count = reader.int32();\r\n break;\r\n case 2:\r\n message.total = reader.double();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationCreditTotal message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditTotal\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCreditTotal} AppropriationCreditTotal\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationCreditTotal.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationCreditTotal message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditTotal\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationCreditTotal.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.count != null && message.hasOwnProperty(\"count\"))\r\n if (!$util.isInteger(message.count))\r\n return \"count: integer expected\";\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n if (typeof message.total !== \"number\")\r\n return \"total: number expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationCreditTotal message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditTotal\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCreditTotal} AppropriationCreditTotal\r\n */\r\n AppropriationCreditTotal.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationCreditTotal)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationCreditTotal();\r\n if (object.count != null)\r\n message.count = object.count | 0;\r\n if (object.total != null)\r\n message.total = Number(object.total);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationCreditTotal message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationCreditTotal} message AppropriationCreditTotal\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationCreditTotal.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.count = 0;\r\n object.total = 0;\r\n }\r\n if (message.count != null && message.hasOwnProperty(\"count\"))\r\n object.count = message.count;\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n object.total = options.json && !isFinite(message.total) ? String(message.total) : message.total;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationCreditTotal to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditTotal\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationCreditTotal.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationCreditTotal;\r\n })();\r\n\r\n Protobuf.AppropriationInfoAlipay = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationInfoAlipay.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationInfoAlipay\r\n * @property {number|null} [appropriationAlipayId] AppropriationInfoAlipay appropriationAlipayId\r\n * @property {string|null} [storeCode] AppropriationInfoAlipay storeCode\r\n * @property {string|null} [date] AppropriationInfoAlipay date\r\n * @property {string|null} [submitDate] AppropriationInfoAlipay submitDate\r\n * @property {string|null} [transDate] AppropriationInfoAlipay transDate\r\n * @property {string|null} [transTime] AppropriationInfoAlipay transTime\r\n * @property {number|null} [code] AppropriationInfoAlipay code\r\n * @property {string|null} [codeOrigin] AppropriationInfoAlipay codeOrigin\r\n * @property {number|null} [abroadAmount] AppropriationInfoAlipay abroadAmount\r\n * @property {number|null} [amount] AppropriationInfoAlipay amount\r\n * @property {number|null} [storeCharge] AppropriationInfoAlipay storeCharge\r\n * @property {number|null} [consumerCharge] AppropriationInfoAlipay consumerCharge\r\n * @property {string|null} [orderNo] AppropriationInfoAlipay orderNo\r\n * @property {number|null} [infoType] AppropriationInfoAlipay infoType\r\n * @property {string|null} [storeCodeMapping] AppropriationInfoAlipay storeCodeMapping\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationInfoAlipay.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationInfoAlipay.\r\n * @implements IAppropriationInfoAlipay\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoAlipay=} [properties] Properties to set\r\n */\r\n function AppropriationInfoAlipay(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationInfoAlipay appropriationAlipayId.\r\n * @member {number} appropriationAlipayId\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @instance\r\n */\r\n AppropriationInfoAlipay.prototype.appropriationAlipayId = 0;\r\n\r\n /**\r\n * AppropriationInfoAlipay storeCode.\r\n * @member {string} storeCode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @instance\r\n */\r\n AppropriationInfoAlipay.prototype.storeCode = \"\";\r\n\r\n /**\r\n * AppropriationInfoAlipay date.\r\n * @member {string} date\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @instance\r\n */\r\n AppropriationInfoAlipay.prototype.date = \"\";\r\n\r\n /**\r\n * AppropriationInfoAlipay submitDate.\r\n * @member {string} submitDate\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @instance\r\n */\r\n AppropriationInfoAlipay.prototype.submitDate = \"\";\r\n\r\n /**\r\n * AppropriationInfoAlipay transDate.\r\n * @member {string} transDate\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @instance\r\n */\r\n AppropriationInfoAlipay.prototype.transDate = \"\";\r\n\r\n /**\r\n * AppropriationInfoAlipay transTime.\r\n * @member {string} transTime\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @instance\r\n */\r\n AppropriationInfoAlipay.prototype.transTime = \"\";\r\n\r\n /**\r\n * AppropriationInfoAlipay code.\r\n * @member {number} code\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @instance\r\n */\r\n AppropriationInfoAlipay.prototype.code = 0;\r\n\r\n /**\r\n * AppropriationInfoAlipay codeOrigin.\r\n * @member {string} codeOrigin\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @instance\r\n */\r\n AppropriationInfoAlipay.prototype.codeOrigin = \"\";\r\n\r\n /**\r\n * AppropriationInfoAlipay abroadAmount.\r\n * @member {number} abroadAmount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @instance\r\n */\r\n AppropriationInfoAlipay.prototype.abroadAmount = 0;\r\n\r\n /**\r\n * AppropriationInfoAlipay amount.\r\n * @member {number} amount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @instance\r\n */\r\n AppropriationInfoAlipay.prototype.amount = 0;\r\n\r\n /**\r\n * AppropriationInfoAlipay storeCharge.\r\n * @member {number} storeCharge\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @instance\r\n */\r\n AppropriationInfoAlipay.prototype.storeCharge = 0;\r\n\r\n /**\r\n * AppropriationInfoAlipay consumerCharge.\r\n * @member {number} consumerCharge\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @instance\r\n */\r\n AppropriationInfoAlipay.prototype.consumerCharge = 0;\r\n\r\n /**\r\n * AppropriationInfoAlipay orderNo.\r\n * @member {string} orderNo\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @instance\r\n */\r\n AppropriationInfoAlipay.prototype.orderNo = \"\";\r\n\r\n /**\r\n * AppropriationInfoAlipay infoType.\r\n * @member {number} infoType\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @instance\r\n */\r\n AppropriationInfoAlipay.prototype.infoType = 0;\r\n\r\n /**\r\n * AppropriationInfoAlipay storeCodeMapping.\r\n * @member {string} storeCodeMapping\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @instance\r\n */\r\n AppropriationInfoAlipay.prototype.storeCodeMapping = \"\";\r\n\r\n /**\r\n * Creates a new AppropriationInfoAlipay instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoAlipay=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoAlipay} AppropriationInfoAlipay instance\r\n */\r\n AppropriationInfoAlipay.create = function create(properties) {\r\n return new AppropriationInfoAlipay(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationInfoAlipay message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationInfoAlipay.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoAlipay} message AppropriationInfoAlipay message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationInfoAlipay.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.appropriationAlipayId != null && Object.hasOwnProperty.call(message, \"appropriationAlipayId\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.appropriationAlipayId);\r\n if (message.storeCode != null && Object.hasOwnProperty.call(message, \"storeCode\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.storeCode);\r\n if (message.date != null && Object.hasOwnProperty.call(message, \"date\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.date);\r\n if (message.submitDate != null && Object.hasOwnProperty.call(message, \"submitDate\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.submitDate);\r\n if (message.transDate != null && Object.hasOwnProperty.call(message, \"transDate\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.transDate);\r\n if (message.transTime != null && Object.hasOwnProperty.call(message, \"transTime\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.transTime);\r\n if (message.code != null && Object.hasOwnProperty.call(message, \"code\"))\r\n writer.uint32(/* id 7, wireType 0 =*/56).int32(message.code);\r\n if (message.codeOrigin != null && Object.hasOwnProperty.call(message, \"codeOrigin\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.codeOrigin);\r\n if (message.abroadAmount != null && Object.hasOwnProperty.call(message, \"abroadAmount\"))\r\n writer.uint32(/* id 9, wireType 1 =*/73).double(message.abroadAmount);\r\n if (message.amount != null && Object.hasOwnProperty.call(message, \"amount\"))\r\n writer.uint32(/* id 10, wireType 1 =*/81).double(message.amount);\r\n if (message.storeCharge != null && Object.hasOwnProperty.call(message, \"storeCharge\"))\r\n writer.uint32(/* id 11, wireType 1 =*/89).double(message.storeCharge);\r\n if (message.consumerCharge != null && Object.hasOwnProperty.call(message, \"consumerCharge\"))\r\n writer.uint32(/* id 12, wireType 1 =*/97).double(message.consumerCharge);\r\n if (message.orderNo != null && Object.hasOwnProperty.call(message, \"orderNo\"))\r\n writer.uint32(/* id 13, wireType 2 =*/106).string(message.orderNo);\r\n if (message.infoType != null && Object.hasOwnProperty.call(message, \"infoType\"))\r\n writer.uint32(/* id 14, wireType 0 =*/112).int32(message.infoType);\r\n if (message.storeCodeMapping != null && Object.hasOwnProperty.call(message, \"storeCodeMapping\"))\r\n writer.uint32(/* id 15, wireType 2 =*/122).string(message.storeCodeMapping);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationInfoAlipay message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationInfoAlipay.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoAlipay} message AppropriationInfoAlipay message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationInfoAlipay.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationInfoAlipay message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoAlipay} AppropriationInfoAlipay\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationInfoAlipay.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationInfoAlipay();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.appropriationAlipayId = reader.int32();\r\n break;\r\n case 2:\r\n message.storeCode = reader.string();\r\n break;\r\n case 3:\r\n message.date = reader.string();\r\n break;\r\n case 4:\r\n message.submitDate = reader.string();\r\n break;\r\n case 5:\r\n message.transDate = reader.string();\r\n break;\r\n case 6:\r\n message.transTime = reader.string();\r\n break;\r\n case 7:\r\n message.code = reader.int32();\r\n break;\r\n case 8:\r\n message.codeOrigin = reader.string();\r\n break;\r\n case 9:\r\n message.abroadAmount = reader.double();\r\n break;\r\n case 10:\r\n message.amount = reader.double();\r\n break;\r\n case 11:\r\n message.storeCharge = reader.double();\r\n break;\r\n case 12:\r\n message.consumerCharge = reader.double();\r\n break;\r\n case 13:\r\n message.orderNo = reader.string();\r\n break;\r\n case 14:\r\n message.infoType = reader.int32();\r\n break;\r\n case 15:\r\n message.storeCodeMapping = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationInfoAlipay message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoAlipay} AppropriationInfoAlipay\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationInfoAlipay.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationInfoAlipay message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationInfoAlipay.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.appropriationAlipayId != null && message.hasOwnProperty(\"appropriationAlipayId\"))\r\n if (!$util.isInteger(message.appropriationAlipayId))\r\n return \"appropriationAlipayId: integer expected\";\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n if (!$util.isString(message.storeCode))\r\n return \"storeCode: string expected\";\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n if (!$util.isString(message.date))\r\n return \"date: string expected\";\r\n if (message.submitDate != null && message.hasOwnProperty(\"submitDate\"))\r\n if (!$util.isString(message.submitDate))\r\n return \"submitDate: string expected\";\r\n if (message.transDate != null && message.hasOwnProperty(\"transDate\"))\r\n if (!$util.isString(message.transDate))\r\n return \"transDate: string expected\";\r\n if (message.transTime != null && message.hasOwnProperty(\"transTime\"))\r\n if (!$util.isString(message.transTime))\r\n return \"transTime: string expected\";\r\n if (message.code != null && message.hasOwnProperty(\"code\"))\r\n if (!$util.isInteger(message.code))\r\n return \"code: integer expected\";\r\n if (message.codeOrigin != null && message.hasOwnProperty(\"codeOrigin\"))\r\n if (!$util.isString(message.codeOrigin))\r\n return \"codeOrigin: string expected\";\r\n if (message.abroadAmount != null && message.hasOwnProperty(\"abroadAmount\"))\r\n if (typeof message.abroadAmount !== \"number\")\r\n return \"abroadAmount: number expected\";\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n if (typeof message.amount !== \"number\")\r\n return \"amount: number expected\";\r\n if (message.storeCharge != null && message.hasOwnProperty(\"storeCharge\"))\r\n if (typeof message.storeCharge !== \"number\")\r\n return \"storeCharge: number expected\";\r\n if (message.consumerCharge != null && message.hasOwnProperty(\"consumerCharge\"))\r\n if (typeof message.consumerCharge !== \"number\")\r\n return \"consumerCharge: number expected\";\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n if (!$util.isString(message.orderNo))\r\n return \"orderNo: string expected\";\r\n if (message.infoType != null && message.hasOwnProperty(\"infoType\"))\r\n if (!$util.isInteger(message.infoType))\r\n return \"infoType: integer expected\";\r\n if (message.storeCodeMapping != null && message.hasOwnProperty(\"storeCodeMapping\"))\r\n if (!$util.isString(message.storeCodeMapping))\r\n return \"storeCodeMapping: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationInfoAlipay message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoAlipay} AppropriationInfoAlipay\r\n */\r\n AppropriationInfoAlipay.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationInfoAlipay)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationInfoAlipay();\r\n if (object.appropriationAlipayId != null)\r\n message.appropriationAlipayId = object.appropriationAlipayId | 0;\r\n if (object.storeCode != null)\r\n message.storeCode = String(object.storeCode);\r\n if (object.date != null)\r\n message.date = String(object.date);\r\n if (object.submitDate != null)\r\n message.submitDate = String(object.submitDate);\r\n if (object.transDate != null)\r\n message.transDate = String(object.transDate);\r\n if (object.transTime != null)\r\n message.transTime = String(object.transTime);\r\n if (object.code != null)\r\n message.code = object.code | 0;\r\n if (object.codeOrigin != null)\r\n message.codeOrigin = String(object.codeOrigin);\r\n if (object.abroadAmount != null)\r\n message.abroadAmount = Number(object.abroadAmount);\r\n if (object.amount != null)\r\n message.amount = Number(object.amount);\r\n if (object.storeCharge != null)\r\n message.storeCharge = Number(object.storeCharge);\r\n if (object.consumerCharge != null)\r\n message.consumerCharge = Number(object.consumerCharge);\r\n if (object.orderNo != null)\r\n message.orderNo = String(object.orderNo);\r\n if (object.infoType != null)\r\n message.infoType = object.infoType | 0;\r\n if (object.storeCodeMapping != null)\r\n message.storeCodeMapping = String(object.storeCodeMapping);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationInfoAlipay message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationInfoAlipay} message AppropriationInfoAlipay\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationInfoAlipay.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.appropriationAlipayId = 0;\r\n object.storeCode = \"\";\r\n object.date = \"\";\r\n object.submitDate = \"\";\r\n object.transDate = \"\";\r\n object.transTime = \"\";\r\n object.code = 0;\r\n object.codeOrigin = \"\";\r\n object.abroadAmount = 0;\r\n object.amount = 0;\r\n object.storeCharge = 0;\r\n object.consumerCharge = 0;\r\n object.orderNo = \"\";\r\n object.infoType = 0;\r\n object.storeCodeMapping = \"\";\r\n }\r\n if (message.appropriationAlipayId != null && message.hasOwnProperty(\"appropriationAlipayId\"))\r\n object.appropriationAlipayId = message.appropriationAlipayId;\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n object.storeCode = message.storeCode;\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n object.date = message.date;\r\n if (message.submitDate != null && message.hasOwnProperty(\"submitDate\"))\r\n object.submitDate = message.submitDate;\r\n if (message.transDate != null && message.hasOwnProperty(\"transDate\"))\r\n object.transDate = message.transDate;\r\n if (message.transTime != null && message.hasOwnProperty(\"transTime\"))\r\n object.transTime = message.transTime;\r\n if (message.code != null && message.hasOwnProperty(\"code\"))\r\n object.code = message.code;\r\n if (message.codeOrigin != null && message.hasOwnProperty(\"codeOrigin\"))\r\n object.codeOrigin = message.codeOrigin;\r\n if (message.abroadAmount != null && message.hasOwnProperty(\"abroadAmount\"))\r\n object.abroadAmount = options.json && !isFinite(message.abroadAmount) ? String(message.abroadAmount) : message.abroadAmount;\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n object.amount = options.json && !isFinite(message.amount) ? String(message.amount) : message.amount;\r\n if (message.storeCharge != null && message.hasOwnProperty(\"storeCharge\"))\r\n object.storeCharge = options.json && !isFinite(message.storeCharge) ? String(message.storeCharge) : message.storeCharge;\r\n if (message.consumerCharge != null && message.hasOwnProperty(\"consumerCharge\"))\r\n object.consumerCharge = options.json && !isFinite(message.consumerCharge) ? String(message.consumerCharge) : message.consumerCharge;\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n object.orderNo = message.orderNo;\r\n if (message.infoType != null && message.hasOwnProperty(\"infoType\"))\r\n object.infoType = message.infoType;\r\n if (message.storeCodeMapping != null && message.hasOwnProperty(\"storeCodeMapping\"))\r\n object.storeCodeMapping = message.storeCodeMapping;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationInfoAlipay to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoAlipay\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationInfoAlipay.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationInfoAlipay;\r\n })();\r\n\r\n Protobuf.AppropriationAlipay = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationAlipay.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationAlipay\r\n * @property {Array.|null} [list] AppropriationAlipay list\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationAlipay.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationAlipay.\r\n * @implements IAppropriationAlipay\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationAlipay=} [properties] Properties to set\r\n */\r\n function AppropriationAlipay(properties) {\r\n this.list = [];\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationAlipay list.\r\n * @member {Array.} list\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipay\r\n * @instance\r\n */\r\n AppropriationAlipay.prototype.list = $util.emptyArray;\r\n\r\n /**\r\n * Creates a new AppropriationAlipay instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipay\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationAlipay=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationAlipay} AppropriationAlipay instance\r\n */\r\n AppropriationAlipay.create = function create(properties) {\r\n return new AppropriationAlipay(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationAlipay message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationAlipay.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipay\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationAlipay} message AppropriationAlipay message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationAlipay.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.list != null && message.list.length)\r\n for (var i = 0; i < message.list.length; ++i)\r\n $root.TCBReceiptApi.Protobuf.AppropriationInfoAlipay.encode(message.list[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationAlipay message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationAlipay.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipay\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationAlipay} message AppropriationAlipay message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationAlipay.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationAlipay message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipay\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationAlipay} AppropriationAlipay\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationAlipay.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationAlipay();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (!(message.list && message.list.length))\r\n message.list = [];\r\n message.list.push($root.TCBReceiptApi.Protobuf.AppropriationInfoAlipay.decode(reader, reader.uint32()));\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationAlipay message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipay\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationAlipay} AppropriationAlipay\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationAlipay.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationAlipay message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipay\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationAlipay.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.list != null && message.hasOwnProperty(\"list\")) {\r\n if (!Array.isArray(message.list))\r\n return \"list: array expected\";\r\n for (var i = 0; i < message.list.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationInfoAlipay.verify(message.list[i]);\r\n if (error)\r\n return \"list.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationAlipay message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipay\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationAlipay} AppropriationAlipay\r\n */\r\n AppropriationAlipay.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationAlipay)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationAlipay();\r\n if (object.list) {\r\n if (!Array.isArray(object.list))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationAlipay.list: array expected\");\r\n message.list = [];\r\n for (var i = 0; i < object.list.length; ++i) {\r\n if (typeof object.list[i] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationAlipay.list: object expected\");\r\n message.list[i] = $root.TCBReceiptApi.Protobuf.AppropriationInfoAlipay.fromObject(object.list[i]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationAlipay message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipay\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationAlipay} message AppropriationAlipay\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationAlipay.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.arrays || options.defaults)\r\n object.list = [];\r\n if (message.list && message.list.length) {\r\n object.list = [];\r\n for (var j = 0; j < message.list.length; ++j)\r\n object.list[j] = $root.TCBReceiptApi.Protobuf.AppropriationInfoAlipay.toObject(message.list[j], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationAlipay to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipay\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationAlipay.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationAlipay;\r\n })();\r\n\r\n Protobuf.AppropriationAlipayDateMap = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationAlipayDateMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationAlipayDateMap\r\n * @property {Object.|null} [byDate] AppropriationAlipayDateMap byDate\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationAlipayDateMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationAlipayDateMap.\r\n * @implements IAppropriationAlipayDateMap\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationAlipayDateMap=} [properties] Properties to set\r\n */\r\n function AppropriationAlipayDateMap(properties) {\r\n this.byDate = {};\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationAlipayDateMap byDate.\r\n * @member {Object.} byDate\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayDateMap\r\n * @instance\r\n */\r\n AppropriationAlipayDateMap.prototype.byDate = $util.emptyObject;\r\n\r\n /**\r\n * Creates a new AppropriationAlipayDateMap instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayDateMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationAlipayDateMap=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationAlipayDateMap} AppropriationAlipayDateMap instance\r\n */\r\n AppropriationAlipayDateMap.create = function create(properties) {\r\n return new AppropriationAlipayDateMap(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationAlipayDateMap message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationAlipayDateMap.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayDateMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationAlipayDateMap} message AppropriationAlipayDateMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationAlipayDateMap.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.byDate != null && Object.hasOwnProperty.call(message, \"byDate\"))\r\n for (var keys = Object.keys(message.byDate), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.AppropriationAlipay.encode(message.byDate[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationAlipayDateMap message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationAlipayDateMap.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayDateMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationAlipayDateMap} message AppropriationAlipayDateMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationAlipayDateMap.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationAlipayDateMap message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayDateMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationAlipayDateMap} AppropriationAlipayDateMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationAlipayDateMap.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationAlipayDateMap(), key, value;\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (message.byDate === $util.emptyObject)\r\n message.byDate = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = \"\";\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.string();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.AppropriationAlipay.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.byDate[key] = value;\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationAlipayDateMap message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayDateMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationAlipayDateMap} AppropriationAlipayDateMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationAlipayDateMap.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationAlipayDateMap message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayDateMap\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationAlipayDateMap.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.byDate != null && message.hasOwnProperty(\"byDate\")) {\r\n if (!$util.isObject(message.byDate))\r\n return \"byDate: object expected\";\r\n var key = Object.keys(message.byDate);\r\n for (var i = 0; i < key.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationAlipay.verify(message.byDate[key[i]]);\r\n if (error)\r\n return \"byDate.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationAlipayDateMap message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayDateMap\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationAlipayDateMap} AppropriationAlipayDateMap\r\n */\r\n AppropriationAlipayDateMap.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationAlipayDateMap)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationAlipayDateMap();\r\n if (object.byDate) {\r\n if (typeof object.byDate !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationAlipayDateMap.byDate: object expected\");\r\n message.byDate = {};\r\n for (var keys = Object.keys(object.byDate), i = 0; i < keys.length; ++i) {\r\n if (typeof object.byDate[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationAlipayDateMap.byDate: object expected\");\r\n message.byDate[keys[i]] = $root.TCBReceiptApi.Protobuf.AppropriationAlipay.fromObject(object.byDate[keys[i]]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationAlipayDateMap message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayDateMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationAlipayDateMap} message AppropriationAlipayDateMap\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationAlipayDateMap.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.objects || options.defaults)\r\n object.byDate = {};\r\n var keys2;\r\n if (message.byDate && (keys2 = Object.keys(message.byDate)).length) {\r\n object.byDate = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.byDate[keys2[j]] = $root.TCBReceiptApi.Protobuf.AppropriationAlipay.toObject(message.byDate[keys2[j]], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationAlipayDateMap to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayDateMap\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationAlipayDateMap.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationAlipayDateMap;\r\n })();\r\n\r\n Protobuf.AppropriationAlipayTotal = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationAlipayTotal.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationAlipayTotal\r\n * @property {number|null} [count] AppropriationAlipayTotal count\r\n * @property {number|null} [total] AppropriationAlipayTotal total\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationAlipayTotal.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationAlipayTotal.\r\n * @implements IAppropriationAlipayTotal\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationAlipayTotal=} [properties] Properties to set\r\n */\r\n function AppropriationAlipayTotal(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationAlipayTotal count.\r\n * @member {number} count\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayTotal\r\n * @instance\r\n */\r\n AppropriationAlipayTotal.prototype.count = 0;\r\n\r\n /**\r\n * AppropriationAlipayTotal total.\r\n * @member {number} total\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayTotal\r\n * @instance\r\n */\r\n AppropriationAlipayTotal.prototype.total = 0;\r\n\r\n /**\r\n * Creates a new AppropriationAlipayTotal instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationAlipayTotal=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationAlipayTotal} AppropriationAlipayTotal instance\r\n */\r\n AppropriationAlipayTotal.create = function create(properties) {\r\n return new AppropriationAlipayTotal(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationAlipayTotal message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationAlipayTotal.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationAlipayTotal} message AppropriationAlipayTotal message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationAlipayTotal.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.count != null && Object.hasOwnProperty.call(message, \"count\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.count);\r\n if (message.total != null && Object.hasOwnProperty.call(message, \"total\"))\r\n writer.uint32(/* id 2, wireType 1 =*/17).double(message.total);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationAlipayTotal message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationAlipayTotal.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationAlipayTotal} message AppropriationAlipayTotal message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationAlipayTotal.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationAlipayTotal message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayTotal\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationAlipayTotal} AppropriationAlipayTotal\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationAlipayTotal.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationAlipayTotal();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.count = reader.int32();\r\n break;\r\n case 2:\r\n message.total = reader.double();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationAlipayTotal message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayTotal\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationAlipayTotal} AppropriationAlipayTotal\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationAlipayTotal.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationAlipayTotal message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayTotal\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationAlipayTotal.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.count != null && message.hasOwnProperty(\"count\"))\r\n if (!$util.isInteger(message.count))\r\n return \"count: integer expected\";\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n if (typeof message.total !== \"number\")\r\n return \"total: number expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationAlipayTotal message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayTotal\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationAlipayTotal} AppropriationAlipayTotal\r\n */\r\n AppropriationAlipayTotal.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationAlipayTotal)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationAlipayTotal();\r\n if (object.count != null)\r\n message.count = object.count | 0;\r\n if (object.total != null)\r\n message.total = Number(object.total);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationAlipayTotal message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationAlipayTotal} message AppropriationAlipayTotal\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationAlipayTotal.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.count = 0;\r\n object.total = 0;\r\n }\r\n if (message.count != null && message.hasOwnProperty(\"count\"))\r\n object.count = message.count;\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n object.total = options.json && !isFinite(message.total) ? String(message.total) : message.total;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationAlipayTotal to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayTotal\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationAlipayTotal.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationAlipayTotal;\r\n })();\r\n\r\n Protobuf.AppropriationInfoMotify = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationInfoMotify.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationInfoMotify\r\n * @property {number|null} [appropriationMotifyId] AppropriationInfoMotify appropriationMotifyId\r\n * @property {string|null} [storeCode] AppropriationInfoMotify storeCode\r\n * @property {string|null} [date] AppropriationInfoMotify date\r\n * @property {string|null} [reimbursementDate] AppropriationInfoMotify reimbursementDate\r\n * @property {string|null} [batchNo] AppropriationInfoMotify batchNo\r\n * @property {number|null} [motifyAmount] AppropriationInfoMotify motifyAmount\r\n * @property {number|null} [motifyCharge] AppropriationInfoMotify motifyCharge\r\n * @property {string|null} [description] AppropriationInfoMotify description\r\n * @property {number|null} [infoType] AppropriationInfoMotify infoType\r\n * @property {string|null} [storeCodeMapping] AppropriationInfoMotify storeCodeMapping\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationInfoMotify.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationInfoMotify.\r\n * @implements IAppropriationInfoMotify\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoMotify=} [properties] Properties to set\r\n */\r\n function AppropriationInfoMotify(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationInfoMotify appropriationMotifyId.\r\n * @member {number} appropriationMotifyId\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoMotify\r\n * @instance\r\n */\r\n AppropriationInfoMotify.prototype.appropriationMotifyId = 0;\r\n\r\n /**\r\n * AppropriationInfoMotify storeCode.\r\n * @member {string} storeCode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoMotify\r\n * @instance\r\n */\r\n AppropriationInfoMotify.prototype.storeCode = \"\";\r\n\r\n /**\r\n * AppropriationInfoMotify date.\r\n * @member {string} date\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoMotify\r\n * @instance\r\n */\r\n AppropriationInfoMotify.prototype.date = \"\";\r\n\r\n /**\r\n * AppropriationInfoMotify reimbursementDate.\r\n * @member {string} reimbursementDate\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoMotify\r\n * @instance\r\n */\r\n AppropriationInfoMotify.prototype.reimbursementDate = \"\";\r\n\r\n /**\r\n * AppropriationInfoMotify batchNo.\r\n * @member {string} batchNo\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoMotify\r\n * @instance\r\n */\r\n AppropriationInfoMotify.prototype.batchNo = \"\";\r\n\r\n /**\r\n * AppropriationInfoMotify motifyAmount.\r\n * @member {number} motifyAmount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoMotify\r\n * @instance\r\n */\r\n AppropriationInfoMotify.prototype.motifyAmount = 0;\r\n\r\n /**\r\n * AppropriationInfoMotify motifyCharge.\r\n * @member {number} motifyCharge\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoMotify\r\n * @instance\r\n */\r\n AppropriationInfoMotify.prototype.motifyCharge = 0;\r\n\r\n /**\r\n * AppropriationInfoMotify description.\r\n * @member {string} description\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoMotify\r\n * @instance\r\n */\r\n AppropriationInfoMotify.prototype.description = \"\";\r\n\r\n /**\r\n * AppropriationInfoMotify infoType.\r\n * @member {number} infoType\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoMotify\r\n * @instance\r\n */\r\n AppropriationInfoMotify.prototype.infoType = 0;\r\n\r\n /**\r\n * AppropriationInfoMotify storeCodeMapping.\r\n * @member {string} storeCodeMapping\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoMotify\r\n * @instance\r\n */\r\n AppropriationInfoMotify.prototype.storeCodeMapping = \"\";\r\n\r\n /**\r\n * Creates a new AppropriationInfoMotify instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoMotify=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoMotify} AppropriationInfoMotify instance\r\n */\r\n AppropriationInfoMotify.create = function create(properties) {\r\n return new AppropriationInfoMotify(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationInfoMotify message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationInfoMotify.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoMotify} message AppropriationInfoMotify message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationInfoMotify.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.appropriationMotifyId != null && Object.hasOwnProperty.call(message, \"appropriationMotifyId\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.appropriationMotifyId);\r\n if (message.storeCode != null && Object.hasOwnProperty.call(message, \"storeCode\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.storeCode);\r\n if (message.date != null && Object.hasOwnProperty.call(message, \"date\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.date);\r\n if (message.reimbursementDate != null && Object.hasOwnProperty.call(message, \"reimbursementDate\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.reimbursementDate);\r\n if (message.batchNo != null && Object.hasOwnProperty.call(message, \"batchNo\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.batchNo);\r\n if (message.motifyAmount != null && Object.hasOwnProperty.call(message, \"motifyAmount\"))\r\n writer.uint32(/* id 6, wireType 1 =*/49).double(message.motifyAmount);\r\n if (message.motifyCharge != null && Object.hasOwnProperty.call(message, \"motifyCharge\"))\r\n writer.uint32(/* id 7, wireType 1 =*/57).double(message.motifyCharge);\r\n if (message.description != null && Object.hasOwnProperty.call(message, \"description\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.description);\r\n if (message.infoType != null && Object.hasOwnProperty.call(message, \"infoType\"))\r\n writer.uint32(/* id 9, wireType 0 =*/72).int32(message.infoType);\r\n if (message.storeCodeMapping != null && Object.hasOwnProperty.call(message, \"storeCodeMapping\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.storeCodeMapping);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationInfoMotify message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationInfoMotify.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoMotify} message AppropriationInfoMotify message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationInfoMotify.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationInfoMotify message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoMotify\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoMotify} AppropriationInfoMotify\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationInfoMotify.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationInfoMotify();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.appropriationMotifyId = reader.int32();\r\n break;\r\n case 2:\r\n message.storeCode = reader.string();\r\n break;\r\n case 3:\r\n message.date = reader.string();\r\n break;\r\n case 4:\r\n message.reimbursementDate = reader.string();\r\n break;\r\n case 5:\r\n message.batchNo = reader.string();\r\n break;\r\n case 6:\r\n message.motifyAmount = reader.double();\r\n break;\r\n case 7:\r\n message.motifyCharge = reader.double();\r\n break;\r\n case 8:\r\n message.description = reader.string();\r\n break;\r\n case 9:\r\n message.infoType = reader.int32();\r\n break;\r\n case 10:\r\n message.storeCodeMapping = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationInfoMotify message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoMotify\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoMotify} AppropriationInfoMotify\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationInfoMotify.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationInfoMotify message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoMotify\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationInfoMotify.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.appropriationMotifyId != null && message.hasOwnProperty(\"appropriationMotifyId\"))\r\n if (!$util.isInteger(message.appropriationMotifyId))\r\n return \"appropriationMotifyId: integer expected\";\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n if (!$util.isString(message.storeCode))\r\n return \"storeCode: string expected\";\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n if (!$util.isString(message.date))\r\n return \"date: string expected\";\r\n if (message.reimbursementDate != null && message.hasOwnProperty(\"reimbursementDate\"))\r\n if (!$util.isString(message.reimbursementDate))\r\n return \"reimbursementDate: string expected\";\r\n if (message.batchNo != null && message.hasOwnProperty(\"batchNo\"))\r\n if (!$util.isString(message.batchNo))\r\n return \"batchNo: string expected\";\r\n if (message.motifyAmount != null && message.hasOwnProperty(\"motifyAmount\"))\r\n if (typeof message.motifyAmount !== \"number\")\r\n return \"motifyAmount: number expected\";\r\n if (message.motifyCharge != null && message.hasOwnProperty(\"motifyCharge\"))\r\n if (typeof message.motifyCharge !== \"number\")\r\n return \"motifyCharge: number expected\";\r\n if (message.description != null && message.hasOwnProperty(\"description\"))\r\n if (!$util.isString(message.description))\r\n return \"description: string expected\";\r\n if (message.infoType != null && message.hasOwnProperty(\"infoType\"))\r\n if (!$util.isInteger(message.infoType))\r\n return \"infoType: integer expected\";\r\n if (message.storeCodeMapping != null && message.hasOwnProperty(\"storeCodeMapping\"))\r\n if (!$util.isString(message.storeCodeMapping))\r\n return \"storeCodeMapping: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationInfoMotify message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoMotify\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoMotify} AppropriationInfoMotify\r\n */\r\n AppropriationInfoMotify.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationInfoMotify)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationInfoMotify();\r\n if (object.appropriationMotifyId != null)\r\n message.appropriationMotifyId = object.appropriationMotifyId | 0;\r\n if (object.storeCode != null)\r\n message.storeCode = String(object.storeCode);\r\n if (object.date != null)\r\n message.date = String(object.date);\r\n if (object.reimbursementDate != null)\r\n message.reimbursementDate = String(object.reimbursementDate);\r\n if (object.batchNo != null)\r\n message.batchNo = String(object.batchNo);\r\n if (object.motifyAmount != null)\r\n message.motifyAmount = Number(object.motifyAmount);\r\n if (object.motifyCharge != null)\r\n message.motifyCharge = Number(object.motifyCharge);\r\n if (object.description != null)\r\n message.description = String(object.description);\r\n if (object.infoType != null)\r\n message.infoType = object.infoType | 0;\r\n if (object.storeCodeMapping != null)\r\n message.storeCodeMapping = String(object.storeCodeMapping);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationInfoMotify message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationInfoMotify} message AppropriationInfoMotify\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationInfoMotify.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.appropriationMotifyId = 0;\r\n object.storeCode = \"\";\r\n object.date = \"\";\r\n object.reimbursementDate = \"\";\r\n object.batchNo = \"\";\r\n object.motifyAmount = 0;\r\n object.motifyCharge = 0;\r\n object.description = \"\";\r\n object.infoType = 0;\r\n object.storeCodeMapping = \"\";\r\n }\r\n if (message.appropriationMotifyId != null && message.hasOwnProperty(\"appropriationMotifyId\"))\r\n object.appropriationMotifyId = message.appropriationMotifyId;\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n object.storeCode = message.storeCode;\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n object.date = message.date;\r\n if (message.reimbursementDate != null && message.hasOwnProperty(\"reimbursementDate\"))\r\n object.reimbursementDate = message.reimbursementDate;\r\n if (message.batchNo != null && message.hasOwnProperty(\"batchNo\"))\r\n object.batchNo = message.batchNo;\r\n if (message.motifyAmount != null && message.hasOwnProperty(\"motifyAmount\"))\r\n object.motifyAmount = options.json && !isFinite(message.motifyAmount) ? String(message.motifyAmount) : message.motifyAmount;\r\n if (message.motifyCharge != null && message.hasOwnProperty(\"motifyCharge\"))\r\n object.motifyCharge = options.json && !isFinite(message.motifyCharge) ? String(message.motifyCharge) : message.motifyCharge;\r\n if (message.description != null && message.hasOwnProperty(\"description\"))\r\n object.description = message.description;\r\n if (message.infoType != null && message.hasOwnProperty(\"infoType\"))\r\n object.infoType = message.infoType;\r\n if (message.storeCodeMapping != null && message.hasOwnProperty(\"storeCodeMapping\"))\r\n object.storeCodeMapping = message.storeCodeMapping;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationInfoMotify to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoMotify\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationInfoMotify.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationInfoMotify;\r\n })();\r\n\r\n Protobuf.AppropriationMotify = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationMotify.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationMotify\r\n * @property {Array.|null} [list] AppropriationMotify list\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationMotify.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationMotify.\r\n * @implements IAppropriationMotify\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationMotify=} [properties] Properties to set\r\n */\r\n function AppropriationMotify(properties) {\r\n this.list = [];\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationMotify list.\r\n * @member {Array.} list\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotify\r\n * @instance\r\n */\r\n AppropriationMotify.prototype.list = $util.emptyArray;\r\n\r\n /**\r\n * Creates a new AppropriationMotify instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationMotify=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationMotify} AppropriationMotify instance\r\n */\r\n AppropriationMotify.create = function create(properties) {\r\n return new AppropriationMotify(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationMotify message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationMotify.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationMotify} message AppropriationMotify message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationMotify.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.list != null && message.list.length)\r\n for (var i = 0; i < message.list.length; ++i)\r\n $root.TCBReceiptApi.Protobuf.AppropriationInfoMotify.encode(message.list[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationMotify message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationMotify.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationMotify} message AppropriationMotify message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationMotify.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationMotify message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotify\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationMotify} AppropriationMotify\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationMotify.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationMotify();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (!(message.list && message.list.length))\r\n message.list = [];\r\n message.list.push($root.TCBReceiptApi.Protobuf.AppropriationInfoMotify.decode(reader, reader.uint32()));\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationMotify message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotify\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationMotify} AppropriationMotify\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationMotify.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationMotify message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotify\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationMotify.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.list != null && message.hasOwnProperty(\"list\")) {\r\n if (!Array.isArray(message.list))\r\n return \"list: array expected\";\r\n for (var i = 0; i < message.list.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationInfoMotify.verify(message.list[i]);\r\n if (error)\r\n return \"list.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationMotify message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotify\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationMotify} AppropriationMotify\r\n */\r\n AppropriationMotify.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationMotify)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationMotify();\r\n if (object.list) {\r\n if (!Array.isArray(object.list))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationMotify.list: array expected\");\r\n message.list = [];\r\n for (var i = 0; i < object.list.length; ++i) {\r\n if (typeof object.list[i] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationMotify.list: object expected\");\r\n message.list[i] = $root.TCBReceiptApi.Protobuf.AppropriationInfoMotify.fromObject(object.list[i]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationMotify message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationMotify} message AppropriationMotify\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationMotify.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.arrays || options.defaults)\r\n object.list = [];\r\n if (message.list && message.list.length) {\r\n object.list = [];\r\n for (var j = 0; j < message.list.length; ++j)\r\n object.list[j] = $root.TCBReceiptApi.Protobuf.AppropriationInfoMotify.toObject(message.list[j], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationMotify to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotify\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationMotify.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationMotify;\r\n })();\r\n\r\n Protobuf.AppropriationMotifyDateMap = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationMotifyDateMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationMotifyDateMap\r\n * @property {Object.|null} [byDate] AppropriationMotifyDateMap byDate\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationMotifyDateMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationMotifyDateMap.\r\n * @implements IAppropriationMotifyDateMap\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationMotifyDateMap=} [properties] Properties to set\r\n */\r\n function AppropriationMotifyDateMap(properties) {\r\n this.byDate = {};\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationMotifyDateMap byDate.\r\n * @member {Object.} byDate\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyDateMap\r\n * @instance\r\n */\r\n AppropriationMotifyDateMap.prototype.byDate = $util.emptyObject;\r\n\r\n /**\r\n * Creates a new AppropriationMotifyDateMap instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyDateMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationMotifyDateMap=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationMotifyDateMap} AppropriationMotifyDateMap instance\r\n */\r\n AppropriationMotifyDateMap.create = function create(properties) {\r\n return new AppropriationMotifyDateMap(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationMotifyDateMap message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationMotifyDateMap.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyDateMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationMotifyDateMap} message AppropriationMotifyDateMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationMotifyDateMap.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.byDate != null && Object.hasOwnProperty.call(message, \"byDate\"))\r\n for (var keys = Object.keys(message.byDate), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.AppropriationMotify.encode(message.byDate[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationMotifyDateMap message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationMotifyDateMap.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyDateMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationMotifyDateMap} message AppropriationMotifyDateMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationMotifyDateMap.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationMotifyDateMap message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyDateMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationMotifyDateMap} AppropriationMotifyDateMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationMotifyDateMap.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationMotifyDateMap(), key, value;\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (message.byDate === $util.emptyObject)\r\n message.byDate = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = \"\";\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.string();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.AppropriationMotify.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.byDate[key] = value;\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationMotifyDateMap message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyDateMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationMotifyDateMap} AppropriationMotifyDateMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationMotifyDateMap.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationMotifyDateMap message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyDateMap\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationMotifyDateMap.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.byDate != null && message.hasOwnProperty(\"byDate\")) {\r\n if (!$util.isObject(message.byDate))\r\n return \"byDate: object expected\";\r\n var key = Object.keys(message.byDate);\r\n for (var i = 0; i < key.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationMotify.verify(message.byDate[key[i]]);\r\n if (error)\r\n return \"byDate.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationMotifyDateMap message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyDateMap\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationMotifyDateMap} AppropriationMotifyDateMap\r\n */\r\n AppropriationMotifyDateMap.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationMotifyDateMap)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationMotifyDateMap();\r\n if (object.byDate) {\r\n if (typeof object.byDate !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationMotifyDateMap.byDate: object expected\");\r\n message.byDate = {};\r\n for (var keys = Object.keys(object.byDate), i = 0; i < keys.length; ++i) {\r\n if (typeof object.byDate[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationMotifyDateMap.byDate: object expected\");\r\n message.byDate[keys[i]] = $root.TCBReceiptApi.Protobuf.AppropriationMotify.fromObject(object.byDate[keys[i]]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationMotifyDateMap message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyDateMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationMotifyDateMap} message AppropriationMotifyDateMap\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationMotifyDateMap.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.objects || options.defaults)\r\n object.byDate = {};\r\n var keys2;\r\n if (message.byDate && (keys2 = Object.keys(message.byDate)).length) {\r\n object.byDate = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.byDate[keys2[j]] = $root.TCBReceiptApi.Protobuf.AppropriationMotify.toObject(message.byDate[keys2[j]], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationMotifyDateMap to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyDateMap\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationMotifyDateMap.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationMotifyDateMap;\r\n })();\r\n\r\n Protobuf.AppropriationMotifyTotal = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationMotifyTotal.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationMotifyTotal\r\n * @property {number|null} [count] AppropriationMotifyTotal count\r\n * @property {number|null} [total] AppropriationMotifyTotal total\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationMotifyTotal.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationMotifyTotal.\r\n * @implements IAppropriationMotifyTotal\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationMotifyTotal=} [properties] Properties to set\r\n */\r\n function AppropriationMotifyTotal(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationMotifyTotal count.\r\n * @member {number} count\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyTotal\r\n * @instance\r\n */\r\n AppropriationMotifyTotal.prototype.count = 0;\r\n\r\n /**\r\n * AppropriationMotifyTotal total.\r\n * @member {number} total\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyTotal\r\n * @instance\r\n */\r\n AppropriationMotifyTotal.prototype.total = 0;\r\n\r\n /**\r\n * Creates a new AppropriationMotifyTotal instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationMotifyTotal=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationMotifyTotal} AppropriationMotifyTotal instance\r\n */\r\n AppropriationMotifyTotal.create = function create(properties) {\r\n return new AppropriationMotifyTotal(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationMotifyTotal message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationMotifyTotal.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationMotifyTotal} message AppropriationMotifyTotal message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationMotifyTotal.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.count != null && Object.hasOwnProperty.call(message, \"count\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.count);\r\n if (message.total != null && Object.hasOwnProperty.call(message, \"total\"))\r\n writer.uint32(/* id 2, wireType 1 =*/17).double(message.total);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationMotifyTotal message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationMotifyTotal.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationMotifyTotal} message AppropriationMotifyTotal message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationMotifyTotal.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationMotifyTotal message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyTotal\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationMotifyTotal} AppropriationMotifyTotal\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationMotifyTotal.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationMotifyTotal();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.count = reader.int32();\r\n break;\r\n case 2:\r\n message.total = reader.double();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationMotifyTotal message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyTotal\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationMotifyTotal} AppropriationMotifyTotal\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationMotifyTotal.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationMotifyTotal message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyTotal\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationMotifyTotal.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.count != null && message.hasOwnProperty(\"count\"))\r\n if (!$util.isInteger(message.count))\r\n return \"count: integer expected\";\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n if (typeof message.total !== \"number\")\r\n return \"total: number expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationMotifyTotal message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyTotal\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationMotifyTotal} AppropriationMotifyTotal\r\n */\r\n AppropriationMotifyTotal.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationMotifyTotal)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationMotifyTotal();\r\n if (object.count != null)\r\n message.count = object.count | 0;\r\n if (object.total != null)\r\n message.total = Number(object.total);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationMotifyTotal message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationMotifyTotal} message AppropriationMotifyTotal\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationMotifyTotal.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.count = 0;\r\n object.total = 0;\r\n }\r\n if (message.count != null && message.hasOwnProperty(\"count\"))\r\n object.count = message.count;\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n object.total = options.json && !isFinite(message.total) ? String(message.total) : message.total;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationMotifyTotal to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyTotal\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationMotifyTotal.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationMotifyTotal;\r\n })();\r\n\r\n Protobuf.Appropriation = (function() {\r\n\r\n /**\r\n * Properties of an Appropriation.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriation\r\n * @property {TCBReceiptApi.Protobuf.IAppropriationCreditFirstMap|null} [card] Appropriation card\r\n * @property {TCBReceiptApi.Protobuf.IAppropriationAlipayDateMap|null} [alipay] Appropriation alipay\r\n * @property {TCBReceiptApi.Protobuf.IAppropriationMotifyDateMap|null} [motify] Appropriation motify\r\n * @property {TCBReceiptApi.Protobuf.IAppropriationCreditFirstMap|null} [cardByType] Appropriation cardByType\r\n */\r\n\r\n /**\r\n * Constructs a new Appropriation.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an Appropriation.\r\n * @implements IAppropriation\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriation=} [properties] Properties to set\r\n */\r\n function Appropriation(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * Appropriation card.\r\n * @member {TCBReceiptApi.Protobuf.IAppropriationCreditFirstMap|null|undefined} card\r\n * @memberof TCBReceiptApi.Protobuf.Appropriation\r\n * @instance\r\n */\r\n Appropriation.prototype.card = null;\r\n\r\n /**\r\n * Appropriation alipay.\r\n * @member {TCBReceiptApi.Protobuf.IAppropriationAlipayDateMap|null|undefined} alipay\r\n * @memberof TCBReceiptApi.Protobuf.Appropriation\r\n * @instance\r\n */\r\n Appropriation.prototype.alipay = null;\r\n\r\n /**\r\n * Appropriation motify.\r\n * @member {TCBReceiptApi.Protobuf.IAppropriationMotifyDateMap|null|undefined} motify\r\n * @memberof TCBReceiptApi.Protobuf.Appropriation\r\n * @instance\r\n */\r\n Appropriation.prototype.motify = null;\r\n\r\n /**\r\n * Appropriation cardByType.\r\n * @member {TCBReceiptApi.Protobuf.IAppropriationCreditFirstMap|null|undefined} cardByType\r\n * @memberof TCBReceiptApi.Protobuf.Appropriation\r\n * @instance\r\n */\r\n Appropriation.prototype.cardByType = null;\r\n\r\n /**\r\n * Creates a new Appropriation instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.Appropriation\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriation=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.Appropriation} Appropriation instance\r\n */\r\n Appropriation.create = function create(properties) {\r\n return new Appropriation(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified Appropriation message. Does not implicitly {@link TCBReceiptApi.Protobuf.Appropriation.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.Appropriation\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriation} message Appropriation message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Appropriation.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.card != null && Object.hasOwnProperty.call(message, \"card\"))\r\n $root.TCBReceiptApi.Protobuf.AppropriationCreditFirstMap.encode(message.card, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n if (message.alipay != null && Object.hasOwnProperty.call(message, \"alipay\"))\r\n $root.TCBReceiptApi.Protobuf.AppropriationAlipayDateMap.encode(message.alipay, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\r\n if (message.motify != null && Object.hasOwnProperty.call(message, \"motify\"))\r\n $root.TCBReceiptApi.Protobuf.AppropriationMotifyDateMap.encode(message.motify, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();\r\n if (message.cardByType != null && Object.hasOwnProperty.call(message, \"cardByType\"))\r\n $root.TCBReceiptApi.Protobuf.AppropriationCreditFirstMap.encode(message.cardByType, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified Appropriation message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.Appropriation.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Appropriation\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriation} message Appropriation message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Appropriation.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an Appropriation message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.Appropriation\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.Appropriation} Appropriation\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Appropriation.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.Appropriation();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.card = $root.TCBReceiptApi.Protobuf.AppropriationCreditFirstMap.decode(reader, reader.uint32());\r\n break;\r\n case 2:\r\n message.alipay = $root.TCBReceiptApi.Protobuf.AppropriationAlipayDateMap.decode(reader, reader.uint32());\r\n break;\r\n case 3:\r\n message.motify = $root.TCBReceiptApi.Protobuf.AppropriationMotifyDateMap.decode(reader, reader.uint32());\r\n break;\r\n case 4:\r\n message.cardByType = $root.TCBReceiptApi.Protobuf.AppropriationCreditFirstMap.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an Appropriation message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Appropriation\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.Appropriation} Appropriation\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Appropriation.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an Appropriation message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.Appropriation\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n Appropriation.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.card != null && message.hasOwnProperty(\"card\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationCreditFirstMap.verify(message.card);\r\n if (error)\r\n return \"card.\" + error;\r\n }\r\n if (message.alipay != null && message.hasOwnProperty(\"alipay\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationAlipayDateMap.verify(message.alipay);\r\n if (error)\r\n return \"alipay.\" + error;\r\n }\r\n if (message.motify != null && message.hasOwnProperty(\"motify\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationMotifyDateMap.verify(message.motify);\r\n if (error)\r\n return \"motify.\" + error;\r\n }\r\n if (message.cardByType != null && message.hasOwnProperty(\"cardByType\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationCreditFirstMap.verify(message.cardByType);\r\n if (error)\r\n return \"cardByType.\" + error;\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an Appropriation message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.Appropriation\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.Appropriation} Appropriation\r\n */\r\n Appropriation.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.Appropriation)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.Appropriation();\r\n if (object.card != null) {\r\n if (typeof object.card !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.Appropriation.card: object expected\");\r\n message.card = $root.TCBReceiptApi.Protobuf.AppropriationCreditFirstMap.fromObject(object.card);\r\n }\r\n if (object.alipay != null) {\r\n if (typeof object.alipay !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.Appropriation.alipay: object expected\");\r\n message.alipay = $root.TCBReceiptApi.Protobuf.AppropriationAlipayDateMap.fromObject(object.alipay);\r\n }\r\n if (object.motify != null) {\r\n if (typeof object.motify !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.Appropriation.motify: object expected\");\r\n message.motify = $root.TCBReceiptApi.Protobuf.AppropriationMotifyDateMap.fromObject(object.motify);\r\n }\r\n if (object.cardByType != null) {\r\n if (typeof object.cardByType !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.Appropriation.cardByType: object expected\");\r\n message.cardByType = $root.TCBReceiptApi.Protobuf.AppropriationCreditFirstMap.fromObject(object.cardByType);\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an Appropriation message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.Appropriation\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.Appropriation} message Appropriation\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n Appropriation.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.card = null;\r\n object.alipay = null;\r\n object.motify = null;\r\n object.cardByType = null;\r\n }\r\n if (message.card != null && message.hasOwnProperty(\"card\"))\r\n object.card = $root.TCBReceiptApi.Protobuf.AppropriationCreditFirstMap.toObject(message.card, options);\r\n if (message.alipay != null && message.hasOwnProperty(\"alipay\"))\r\n object.alipay = $root.TCBReceiptApi.Protobuf.AppropriationAlipayDateMap.toObject(message.alipay, options);\r\n if (message.motify != null && message.hasOwnProperty(\"motify\"))\r\n object.motify = $root.TCBReceiptApi.Protobuf.AppropriationMotifyDateMap.toObject(message.motify, options);\r\n if (message.cardByType != null && message.hasOwnProperty(\"cardByType\"))\r\n object.cardByType = $root.TCBReceiptApi.Protobuf.AppropriationCreditFirstMap.toObject(message.cardByType, options);\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this Appropriation to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.Appropriation\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n Appropriation.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return Appropriation;\r\n })();\r\n\r\n Protobuf.AppropriationMap = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationMap\r\n * @property {Object.|null} [map] AppropriationMap map\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationMap.\r\n * @implements IAppropriationMap\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationMap=} [properties] Properties to set\r\n */\r\n function AppropriationMap(properties) {\r\n this.map = {};\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationMap map.\r\n * @member {Object.} map\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMap\r\n * @instance\r\n */\r\n AppropriationMap.prototype.map = $util.emptyObject;\r\n\r\n /**\r\n * Creates a new AppropriationMap instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationMap=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationMap} AppropriationMap instance\r\n */\r\n AppropriationMap.create = function create(properties) {\r\n return new AppropriationMap(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationMap message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationMap.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationMap} message AppropriationMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationMap.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.map != null && Object.hasOwnProperty.call(message, \"map\"))\r\n for (var keys = Object.keys(message.map), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.Appropriation.encode(message.map[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationMap message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationMap.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationMap} message AppropriationMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationMap.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationMap message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationMap} AppropriationMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationMap.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationMap(), key, value;\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (message.map === $util.emptyObject)\r\n message.map = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = \"\";\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.string();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.Appropriation.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.map[key] = value;\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationMap message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationMap} AppropriationMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationMap.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationMap message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMap\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationMap.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.map != null && message.hasOwnProperty(\"map\")) {\r\n if (!$util.isObject(message.map))\r\n return \"map: object expected\";\r\n var key = Object.keys(message.map);\r\n for (var i = 0; i < key.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.Appropriation.verify(message.map[key[i]]);\r\n if (error)\r\n return \"map.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationMap message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMap\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationMap} AppropriationMap\r\n */\r\n AppropriationMap.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationMap)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationMap();\r\n if (object.map) {\r\n if (typeof object.map !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationMap.map: object expected\");\r\n message.map = {};\r\n for (var keys = Object.keys(object.map), i = 0; i < keys.length; ++i) {\r\n if (typeof object.map[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationMap.map: object expected\");\r\n message.map[keys[i]] = $root.TCBReceiptApi.Protobuf.Appropriation.fromObject(object.map[keys[i]]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationMap message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationMap} message AppropriationMap\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationMap.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.objects || options.defaults)\r\n object.map = {};\r\n var keys2;\r\n if (message.map && (keys2 = Object.keys(message.map)).length) {\r\n object.map = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.map[keys2[j]] = $root.TCBReceiptApi.Protobuf.Appropriation.toObject(message.map[keys2[j]], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationMap to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMap\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationMap.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationMap;\r\n })();\r\n\r\n Protobuf.AppropriationTotal = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationTotal.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationTotal\r\n * @property {TCBReceiptApi.Protobuf.IAppropriationCreditTotal|null} [card] AppropriationTotal card\r\n * @property {TCBReceiptApi.Protobuf.IAppropriationAlipayTotal|null} [alipay] AppropriationTotal alipay\r\n * @property {TCBReceiptApi.Protobuf.IAppropriationMotifyTotal|null} [motify] AppropriationTotal motify\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationTotal.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationTotal.\r\n * @implements IAppropriationTotal\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationTotal=} [properties] Properties to set\r\n */\r\n function AppropriationTotal(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationTotal card.\r\n * @member {TCBReceiptApi.Protobuf.IAppropriationCreditTotal|null|undefined} card\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationTotal\r\n * @instance\r\n */\r\n AppropriationTotal.prototype.card = null;\r\n\r\n /**\r\n * AppropriationTotal alipay.\r\n * @member {TCBReceiptApi.Protobuf.IAppropriationAlipayTotal|null|undefined} alipay\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationTotal\r\n * @instance\r\n */\r\n AppropriationTotal.prototype.alipay = null;\r\n\r\n /**\r\n * AppropriationTotal motify.\r\n * @member {TCBReceiptApi.Protobuf.IAppropriationMotifyTotal|null|undefined} motify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationTotal\r\n * @instance\r\n */\r\n AppropriationTotal.prototype.motify = null;\r\n\r\n /**\r\n * Creates a new AppropriationTotal instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationTotal=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationTotal} AppropriationTotal instance\r\n */\r\n AppropriationTotal.create = function create(properties) {\r\n return new AppropriationTotal(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationTotal message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationTotal.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationTotal} message AppropriationTotal message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationTotal.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.card != null && Object.hasOwnProperty.call(message, \"card\"))\r\n $root.TCBReceiptApi.Protobuf.AppropriationCreditTotal.encode(message.card, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n if (message.alipay != null && Object.hasOwnProperty.call(message, \"alipay\"))\r\n $root.TCBReceiptApi.Protobuf.AppropriationAlipayTotal.encode(message.alipay, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\r\n if (message.motify != null && Object.hasOwnProperty.call(message, \"motify\"))\r\n $root.TCBReceiptApi.Protobuf.AppropriationMotifyTotal.encode(message.motify, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationTotal message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationTotal.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationTotal} message AppropriationTotal message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationTotal.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationTotal message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationTotal\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationTotal} AppropriationTotal\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationTotal.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationTotal();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.card = $root.TCBReceiptApi.Protobuf.AppropriationCreditTotal.decode(reader, reader.uint32());\r\n break;\r\n case 2:\r\n message.alipay = $root.TCBReceiptApi.Protobuf.AppropriationAlipayTotal.decode(reader, reader.uint32());\r\n break;\r\n case 3:\r\n message.motify = $root.TCBReceiptApi.Protobuf.AppropriationMotifyTotal.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationTotal message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationTotal\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationTotal} AppropriationTotal\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationTotal.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationTotal message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationTotal\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationTotal.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.card != null && message.hasOwnProperty(\"card\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationCreditTotal.verify(message.card);\r\n if (error)\r\n return \"card.\" + error;\r\n }\r\n if (message.alipay != null && message.hasOwnProperty(\"alipay\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationAlipayTotal.verify(message.alipay);\r\n if (error)\r\n return \"alipay.\" + error;\r\n }\r\n if (message.motify != null && message.hasOwnProperty(\"motify\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationMotifyTotal.verify(message.motify);\r\n if (error)\r\n return \"motify.\" + error;\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationTotal message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationTotal\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationTotal} AppropriationTotal\r\n */\r\n AppropriationTotal.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationTotal)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationTotal();\r\n if (object.card != null) {\r\n if (typeof object.card !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationTotal.card: object expected\");\r\n message.card = $root.TCBReceiptApi.Protobuf.AppropriationCreditTotal.fromObject(object.card);\r\n }\r\n if (object.alipay != null) {\r\n if (typeof object.alipay !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationTotal.alipay: object expected\");\r\n message.alipay = $root.TCBReceiptApi.Protobuf.AppropriationAlipayTotal.fromObject(object.alipay);\r\n }\r\n if (object.motify != null) {\r\n if (typeof object.motify !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationTotal.motify: object expected\");\r\n message.motify = $root.TCBReceiptApi.Protobuf.AppropriationMotifyTotal.fromObject(object.motify);\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationTotal message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationTotal} message AppropriationTotal\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationTotal.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.card = null;\r\n object.alipay = null;\r\n object.motify = null;\r\n }\r\n if (message.card != null && message.hasOwnProperty(\"card\"))\r\n object.card = $root.TCBReceiptApi.Protobuf.AppropriationCreditTotal.toObject(message.card, options);\r\n if (message.alipay != null && message.hasOwnProperty(\"alipay\"))\r\n object.alipay = $root.TCBReceiptApi.Protobuf.AppropriationAlipayTotal.toObject(message.alipay, options);\r\n if (message.motify != null && message.hasOwnProperty(\"motify\"))\r\n object.motify = $root.TCBReceiptApi.Protobuf.AppropriationMotifyTotal.toObject(message.motify, options);\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationTotal to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationTotal\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationTotal.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationTotal;\r\n })();\r\n\r\n Protobuf.AppropriationInfoSummary = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationInfoSummary.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationInfoSummary\r\n * @property {number|null} [appropriationSummaryId] AppropriationInfoSummary appropriationSummaryId\r\n * @property {string|null} [storeCode] AppropriationInfoSummary storeCode\r\n * @property {string|null} [terminalNo] AppropriationInfoSummary terminalNo\r\n * @property {string|null} [date] AppropriationInfoSummary date\r\n * @property {string|null} [submitDate] AppropriationInfoSummary submitDate\r\n * @property {number|null} [totalCount] AppropriationInfoSummary totalCount\r\n * @property {number|null} [totalAmount] AppropriationInfoSummary totalAmount\r\n * @property {number|null} [salesCount] AppropriationInfoSummary salesCount\r\n * @property {number|null} [salesAmount] AppropriationInfoSummary salesAmount\r\n * @property {number|null} [returnCount] AppropriationInfoSummary returnCount\r\n * @property {number|null} [returnAmount] AppropriationInfoSummary returnAmount\r\n * @property {number|null} [charge] AppropriationInfoSummary charge\r\n * @property {number|null} [ifr] AppropriationInfoSummary ifr\r\n * @property {number|null} [motifyAmount] AppropriationInfoSummary motifyAmount\r\n * @property {number|null} [motifyCharge] AppropriationInfoSummary motifyCharge\r\n * @property {number|null} [installRate] AppropriationInfoSummary installRate\r\n * @property {number|null} [chargeRate] AppropriationInfoSummary chargeRate\r\n * @property {number|null} [netAmount] AppropriationInfoSummary netAmount\r\n * @property {number|null} [infoType] AppropriationInfoSummary infoType\r\n * @property {number|null} [typeFlag] AppropriationInfoSummary typeFlag\r\n * @property {string|null} [typeFlagOrigin] AppropriationInfoSummary typeFlagOrigin\r\n * @property {string|null} [storeCodeMapping] AppropriationInfoSummary storeCodeMapping\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationInfoSummary.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationInfoSummary.\r\n * @implements IAppropriationInfoSummary\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoSummary=} [properties] Properties to set\r\n */\r\n function AppropriationInfoSummary(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationInfoSummary appropriationSummaryId.\r\n * @member {number} appropriationSummaryId\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n */\r\n AppropriationInfoSummary.prototype.appropriationSummaryId = 0;\r\n\r\n /**\r\n * AppropriationInfoSummary storeCode.\r\n * @member {string} storeCode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n */\r\n AppropriationInfoSummary.prototype.storeCode = \"\";\r\n\r\n /**\r\n * AppropriationInfoSummary terminalNo.\r\n * @member {string} terminalNo\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n */\r\n AppropriationInfoSummary.prototype.terminalNo = \"\";\r\n\r\n /**\r\n * AppropriationInfoSummary date.\r\n * @member {string} date\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n */\r\n AppropriationInfoSummary.prototype.date = \"\";\r\n\r\n /**\r\n * AppropriationInfoSummary submitDate.\r\n * @member {string} submitDate\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n */\r\n AppropriationInfoSummary.prototype.submitDate = \"\";\r\n\r\n /**\r\n * AppropriationInfoSummary totalCount.\r\n * @member {number} totalCount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n */\r\n AppropriationInfoSummary.prototype.totalCount = 0;\r\n\r\n /**\r\n * AppropriationInfoSummary totalAmount.\r\n * @member {number} totalAmount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n */\r\n AppropriationInfoSummary.prototype.totalAmount = 0;\r\n\r\n /**\r\n * AppropriationInfoSummary salesCount.\r\n * @member {number} salesCount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n */\r\n AppropriationInfoSummary.prototype.salesCount = 0;\r\n\r\n /**\r\n * AppropriationInfoSummary salesAmount.\r\n * @member {number} salesAmount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n */\r\n AppropriationInfoSummary.prototype.salesAmount = 0;\r\n\r\n /**\r\n * AppropriationInfoSummary returnCount.\r\n * @member {number} returnCount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n */\r\n AppropriationInfoSummary.prototype.returnCount = 0;\r\n\r\n /**\r\n * AppropriationInfoSummary returnAmount.\r\n * @member {number} returnAmount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n */\r\n AppropriationInfoSummary.prototype.returnAmount = 0;\r\n\r\n /**\r\n * AppropriationInfoSummary charge.\r\n * @member {number} charge\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n */\r\n AppropriationInfoSummary.prototype.charge = 0;\r\n\r\n /**\r\n * AppropriationInfoSummary ifr.\r\n * @member {number} ifr\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n */\r\n AppropriationInfoSummary.prototype.ifr = 0;\r\n\r\n /**\r\n * AppropriationInfoSummary motifyAmount.\r\n * @member {number} motifyAmount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n */\r\n AppropriationInfoSummary.prototype.motifyAmount = 0;\r\n\r\n /**\r\n * AppropriationInfoSummary motifyCharge.\r\n * @member {number} motifyCharge\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n */\r\n AppropriationInfoSummary.prototype.motifyCharge = 0;\r\n\r\n /**\r\n * AppropriationInfoSummary installRate.\r\n * @member {number} installRate\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n */\r\n AppropriationInfoSummary.prototype.installRate = 0;\r\n\r\n /**\r\n * AppropriationInfoSummary chargeRate.\r\n * @member {number} chargeRate\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n */\r\n AppropriationInfoSummary.prototype.chargeRate = 0;\r\n\r\n /**\r\n * AppropriationInfoSummary netAmount.\r\n * @member {number} netAmount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n */\r\n AppropriationInfoSummary.prototype.netAmount = 0;\r\n\r\n /**\r\n * AppropriationInfoSummary infoType.\r\n * @member {number} infoType\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n */\r\n AppropriationInfoSummary.prototype.infoType = 0;\r\n\r\n /**\r\n * AppropriationInfoSummary typeFlag.\r\n * @member {number} typeFlag\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n */\r\n AppropriationInfoSummary.prototype.typeFlag = 0;\r\n\r\n /**\r\n * AppropriationInfoSummary typeFlagOrigin.\r\n * @member {string} typeFlagOrigin\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n */\r\n AppropriationInfoSummary.prototype.typeFlagOrigin = \"\";\r\n\r\n /**\r\n * AppropriationInfoSummary storeCodeMapping.\r\n * @member {string} storeCodeMapping\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n */\r\n AppropriationInfoSummary.prototype.storeCodeMapping = \"\";\r\n\r\n /**\r\n * Creates a new AppropriationInfoSummary instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoSummary=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoSummary} AppropriationInfoSummary instance\r\n */\r\n AppropriationInfoSummary.create = function create(properties) {\r\n return new AppropriationInfoSummary(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationInfoSummary message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationInfoSummary.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoSummary} message AppropriationInfoSummary message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationInfoSummary.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.appropriationSummaryId != null && Object.hasOwnProperty.call(message, \"appropriationSummaryId\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.appropriationSummaryId);\r\n if (message.storeCode != null && Object.hasOwnProperty.call(message, \"storeCode\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.storeCode);\r\n if (message.terminalNo != null && Object.hasOwnProperty.call(message, \"terminalNo\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.terminalNo);\r\n if (message.date != null && Object.hasOwnProperty.call(message, \"date\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.date);\r\n if (message.submitDate != null && Object.hasOwnProperty.call(message, \"submitDate\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.submitDate);\r\n if (message.totalCount != null && Object.hasOwnProperty.call(message, \"totalCount\"))\r\n writer.uint32(/* id 6, wireType 0 =*/48).int32(message.totalCount);\r\n if (message.totalAmount != null && Object.hasOwnProperty.call(message, \"totalAmount\"))\r\n writer.uint32(/* id 7, wireType 1 =*/57).double(message.totalAmount);\r\n if (message.salesCount != null && Object.hasOwnProperty.call(message, \"salesCount\"))\r\n writer.uint32(/* id 8, wireType 0 =*/64).int32(message.salesCount);\r\n if (message.salesAmount != null && Object.hasOwnProperty.call(message, \"salesAmount\"))\r\n writer.uint32(/* id 9, wireType 1 =*/73).double(message.salesAmount);\r\n if (message.returnCount != null && Object.hasOwnProperty.call(message, \"returnCount\"))\r\n writer.uint32(/* id 10, wireType 0 =*/80).int32(message.returnCount);\r\n if (message.returnAmount != null && Object.hasOwnProperty.call(message, \"returnAmount\"))\r\n writer.uint32(/* id 11, wireType 1 =*/89).double(message.returnAmount);\r\n if (message.charge != null && Object.hasOwnProperty.call(message, \"charge\"))\r\n writer.uint32(/* id 12, wireType 1 =*/97).double(message.charge);\r\n if (message.ifr != null && Object.hasOwnProperty.call(message, \"ifr\"))\r\n writer.uint32(/* id 13, wireType 0 =*/104).int32(message.ifr);\r\n if (message.motifyAmount != null && Object.hasOwnProperty.call(message, \"motifyAmount\"))\r\n writer.uint32(/* id 14, wireType 1 =*/113).double(message.motifyAmount);\r\n if (message.motifyCharge != null && Object.hasOwnProperty.call(message, \"motifyCharge\"))\r\n writer.uint32(/* id 15, wireType 1 =*/121).double(message.motifyCharge);\r\n if (message.installRate != null && Object.hasOwnProperty.call(message, \"installRate\"))\r\n writer.uint32(/* id 16, wireType 1 =*/129).double(message.installRate);\r\n if (message.chargeRate != null && Object.hasOwnProperty.call(message, \"chargeRate\"))\r\n writer.uint32(/* id 17, wireType 0 =*/136).int32(message.chargeRate);\r\n if (message.netAmount != null && Object.hasOwnProperty.call(message, \"netAmount\"))\r\n writer.uint32(/* id 18, wireType 1 =*/145).double(message.netAmount);\r\n if (message.infoType != null && Object.hasOwnProperty.call(message, \"infoType\"))\r\n writer.uint32(/* id 19, wireType 0 =*/152).int32(message.infoType);\r\n if (message.typeFlag != null && Object.hasOwnProperty.call(message, \"typeFlag\"))\r\n writer.uint32(/* id 20, wireType 0 =*/160).int32(message.typeFlag);\r\n if (message.typeFlagOrigin != null && Object.hasOwnProperty.call(message, \"typeFlagOrigin\"))\r\n writer.uint32(/* id 21, wireType 2 =*/170).string(message.typeFlagOrigin);\r\n if (message.storeCodeMapping != null && Object.hasOwnProperty.call(message, \"storeCodeMapping\"))\r\n writer.uint32(/* id 22, wireType 2 =*/178).string(message.storeCodeMapping);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationInfoSummary message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationInfoSummary.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoSummary} message AppropriationInfoSummary message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationInfoSummary.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationInfoSummary message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoSummary} AppropriationInfoSummary\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationInfoSummary.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationInfoSummary();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.appropriationSummaryId = reader.int32();\r\n break;\r\n case 2:\r\n message.storeCode = reader.string();\r\n break;\r\n case 3:\r\n message.terminalNo = reader.string();\r\n break;\r\n case 4:\r\n message.date = reader.string();\r\n break;\r\n case 5:\r\n message.submitDate = reader.string();\r\n break;\r\n case 6:\r\n message.totalCount = reader.int32();\r\n break;\r\n case 7:\r\n message.totalAmount = reader.double();\r\n break;\r\n case 8:\r\n message.salesCount = reader.int32();\r\n break;\r\n case 9:\r\n message.salesAmount = reader.double();\r\n break;\r\n case 10:\r\n message.returnCount = reader.int32();\r\n break;\r\n case 11:\r\n message.returnAmount = reader.double();\r\n break;\r\n case 12:\r\n message.charge = reader.double();\r\n break;\r\n case 13:\r\n message.ifr = reader.int32();\r\n break;\r\n case 14:\r\n message.motifyAmount = reader.double();\r\n break;\r\n case 15:\r\n message.motifyCharge = reader.double();\r\n break;\r\n case 16:\r\n message.installRate = reader.double();\r\n break;\r\n case 17:\r\n message.chargeRate = reader.int32();\r\n break;\r\n case 18:\r\n message.netAmount = reader.double();\r\n break;\r\n case 19:\r\n message.infoType = reader.int32();\r\n break;\r\n case 20:\r\n message.typeFlag = reader.int32();\r\n break;\r\n case 21:\r\n message.typeFlagOrigin = reader.string();\r\n break;\r\n case 22:\r\n message.storeCodeMapping = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationInfoSummary message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoSummary} AppropriationInfoSummary\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationInfoSummary.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationInfoSummary message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationInfoSummary.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.appropriationSummaryId != null && message.hasOwnProperty(\"appropriationSummaryId\"))\r\n if (!$util.isInteger(message.appropriationSummaryId))\r\n return \"appropriationSummaryId: integer expected\";\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n if (!$util.isString(message.storeCode))\r\n return \"storeCode: string expected\";\r\n if (message.terminalNo != null && message.hasOwnProperty(\"terminalNo\"))\r\n if (!$util.isString(message.terminalNo))\r\n return \"terminalNo: string expected\";\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n if (!$util.isString(message.date))\r\n return \"date: string expected\";\r\n if (message.submitDate != null && message.hasOwnProperty(\"submitDate\"))\r\n if (!$util.isString(message.submitDate))\r\n return \"submitDate: string expected\";\r\n if (message.totalCount != null && message.hasOwnProperty(\"totalCount\"))\r\n if (!$util.isInteger(message.totalCount))\r\n return \"totalCount: integer expected\";\r\n if (message.totalAmount != null && message.hasOwnProperty(\"totalAmount\"))\r\n if (typeof message.totalAmount !== \"number\")\r\n return \"totalAmount: number expected\";\r\n if (message.salesCount != null && message.hasOwnProperty(\"salesCount\"))\r\n if (!$util.isInteger(message.salesCount))\r\n return \"salesCount: integer expected\";\r\n if (message.salesAmount != null && message.hasOwnProperty(\"salesAmount\"))\r\n if (typeof message.salesAmount !== \"number\")\r\n return \"salesAmount: number expected\";\r\n if (message.returnCount != null && message.hasOwnProperty(\"returnCount\"))\r\n if (!$util.isInteger(message.returnCount))\r\n return \"returnCount: integer expected\";\r\n if (message.returnAmount != null && message.hasOwnProperty(\"returnAmount\"))\r\n if (typeof message.returnAmount !== \"number\")\r\n return \"returnAmount: number expected\";\r\n if (message.charge != null && message.hasOwnProperty(\"charge\"))\r\n if (typeof message.charge !== \"number\")\r\n return \"charge: number expected\";\r\n if (message.ifr != null && message.hasOwnProperty(\"ifr\"))\r\n if (!$util.isInteger(message.ifr))\r\n return \"ifr: integer expected\";\r\n if (message.motifyAmount != null && message.hasOwnProperty(\"motifyAmount\"))\r\n if (typeof message.motifyAmount !== \"number\")\r\n return \"motifyAmount: number expected\";\r\n if (message.motifyCharge != null && message.hasOwnProperty(\"motifyCharge\"))\r\n if (typeof message.motifyCharge !== \"number\")\r\n return \"motifyCharge: number expected\";\r\n if (message.installRate != null && message.hasOwnProperty(\"installRate\"))\r\n if (typeof message.installRate !== \"number\")\r\n return \"installRate: number expected\";\r\n if (message.chargeRate != null && message.hasOwnProperty(\"chargeRate\"))\r\n if (!$util.isInteger(message.chargeRate))\r\n return \"chargeRate: integer expected\";\r\n if (message.netAmount != null && message.hasOwnProperty(\"netAmount\"))\r\n if (typeof message.netAmount !== \"number\")\r\n return \"netAmount: number expected\";\r\n if (message.infoType != null && message.hasOwnProperty(\"infoType\"))\r\n if (!$util.isInteger(message.infoType))\r\n return \"infoType: integer expected\";\r\n if (message.typeFlag != null && message.hasOwnProperty(\"typeFlag\"))\r\n if (!$util.isInteger(message.typeFlag))\r\n return \"typeFlag: integer expected\";\r\n if (message.typeFlagOrigin != null && message.hasOwnProperty(\"typeFlagOrigin\"))\r\n if (!$util.isString(message.typeFlagOrigin))\r\n return \"typeFlagOrigin: string expected\";\r\n if (message.storeCodeMapping != null && message.hasOwnProperty(\"storeCodeMapping\"))\r\n if (!$util.isString(message.storeCodeMapping))\r\n return \"storeCodeMapping: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationInfoSummary message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoSummary} AppropriationInfoSummary\r\n */\r\n AppropriationInfoSummary.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationInfoSummary)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationInfoSummary();\r\n if (object.appropriationSummaryId != null)\r\n message.appropriationSummaryId = object.appropriationSummaryId | 0;\r\n if (object.storeCode != null)\r\n message.storeCode = String(object.storeCode);\r\n if (object.terminalNo != null)\r\n message.terminalNo = String(object.terminalNo);\r\n if (object.date != null)\r\n message.date = String(object.date);\r\n if (object.submitDate != null)\r\n message.submitDate = String(object.submitDate);\r\n if (object.totalCount != null)\r\n message.totalCount = object.totalCount | 0;\r\n if (object.totalAmount != null)\r\n message.totalAmount = Number(object.totalAmount);\r\n if (object.salesCount != null)\r\n message.salesCount = object.salesCount | 0;\r\n if (object.salesAmount != null)\r\n message.salesAmount = Number(object.salesAmount);\r\n if (object.returnCount != null)\r\n message.returnCount = object.returnCount | 0;\r\n if (object.returnAmount != null)\r\n message.returnAmount = Number(object.returnAmount);\r\n if (object.charge != null)\r\n message.charge = Number(object.charge);\r\n if (object.ifr != null)\r\n message.ifr = object.ifr | 0;\r\n if (object.motifyAmount != null)\r\n message.motifyAmount = Number(object.motifyAmount);\r\n if (object.motifyCharge != null)\r\n message.motifyCharge = Number(object.motifyCharge);\r\n if (object.installRate != null)\r\n message.installRate = Number(object.installRate);\r\n if (object.chargeRate != null)\r\n message.chargeRate = object.chargeRate | 0;\r\n if (object.netAmount != null)\r\n message.netAmount = Number(object.netAmount);\r\n if (object.infoType != null)\r\n message.infoType = object.infoType | 0;\r\n if (object.typeFlag != null)\r\n message.typeFlag = object.typeFlag | 0;\r\n if (object.typeFlagOrigin != null)\r\n message.typeFlagOrigin = String(object.typeFlagOrigin);\r\n if (object.storeCodeMapping != null)\r\n message.storeCodeMapping = String(object.storeCodeMapping);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationInfoSummary message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationInfoSummary} message AppropriationInfoSummary\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationInfoSummary.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.appropriationSummaryId = 0;\r\n object.storeCode = \"\";\r\n object.terminalNo = \"\";\r\n object.date = \"\";\r\n object.submitDate = \"\";\r\n object.totalCount = 0;\r\n object.totalAmount = 0;\r\n object.salesCount = 0;\r\n object.salesAmount = 0;\r\n object.returnCount = 0;\r\n object.returnAmount = 0;\r\n object.charge = 0;\r\n object.ifr = 0;\r\n object.motifyAmount = 0;\r\n object.motifyCharge = 0;\r\n object.installRate = 0;\r\n object.chargeRate = 0;\r\n object.netAmount = 0;\r\n object.infoType = 0;\r\n object.typeFlag = 0;\r\n object.typeFlagOrigin = \"\";\r\n object.storeCodeMapping = \"\";\r\n }\r\n if (message.appropriationSummaryId != null && message.hasOwnProperty(\"appropriationSummaryId\"))\r\n object.appropriationSummaryId = message.appropriationSummaryId;\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n object.storeCode = message.storeCode;\r\n if (message.terminalNo != null && message.hasOwnProperty(\"terminalNo\"))\r\n object.terminalNo = message.terminalNo;\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n object.date = message.date;\r\n if (message.submitDate != null && message.hasOwnProperty(\"submitDate\"))\r\n object.submitDate = message.submitDate;\r\n if (message.totalCount != null && message.hasOwnProperty(\"totalCount\"))\r\n object.totalCount = message.totalCount;\r\n if (message.totalAmount != null && message.hasOwnProperty(\"totalAmount\"))\r\n object.totalAmount = options.json && !isFinite(message.totalAmount) ? String(message.totalAmount) : message.totalAmount;\r\n if (message.salesCount != null && message.hasOwnProperty(\"salesCount\"))\r\n object.salesCount = message.salesCount;\r\n if (message.salesAmount != null && message.hasOwnProperty(\"salesAmount\"))\r\n object.salesAmount = options.json && !isFinite(message.salesAmount) ? String(message.salesAmount) : message.salesAmount;\r\n if (message.returnCount != null && message.hasOwnProperty(\"returnCount\"))\r\n object.returnCount = message.returnCount;\r\n if (message.returnAmount != null && message.hasOwnProperty(\"returnAmount\"))\r\n object.returnAmount = options.json && !isFinite(message.returnAmount) ? String(message.returnAmount) : message.returnAmount;\r\n if (message.charge != null && message.hasOwnProperty(\"charge\"))\r\n object.charge = options.json && !isFinite(message.charge) ? String(message.charge) : message.charge;\r\n if (message.ifr != null && message.hasOwnProperty(\"ifr\"))\r\n object.ifr = message.ifr;\r\n if (message.motifyAmount != null && message.hasOwnProperty(\"motifyAmount\"))\r\n object.motifyAmount = options.json && !isFinite(message.motifyAmount) ? String(message.motifyAmount) : message.motifyAmount;\r\n if (message.motifyCharge != null && message.hasOwnProperty(\"motifyCharge\"))\r\n object.motifyCharge = options.json && !isFinite(message.motifyCharge) ? String(message.motifyCharge) : message.motifyCharge;\r\n if (message.installRate != null && message.hasOwnProperty(\"installRate\"))\r\n object.installRate = options.json && !isFinite(message.installRate) ? String(message.installRate) : message.installRate;\r\n if (message.chargeRate != null && message.hasOwnProperty(\"chargeRate\"))\r\n object.chargeRate = message.chargeRate;\r\n if (message.netAmount != null && message.hasOwnProperty(\"netAmount\"))\r\n object.netAmount = options.json && !isFinite(message.netAmount) ? String(message.netAmount) : message.netAmount;\r\n if (message.infoType != null && message.hasOwnProperty(\"infoType\"))\r\n object.infoType = message.infoType;\r\n if (message.typeFlag != null && message.hasOwnProperty(\"typeFlag\"))\r\n object.typeFlag = message.typeFlag;\r\n if (message.typeFlagOrigin != null && message.hasOwnProperty(\"typeFlagOrigin\"))\r\n object.typeFlagOrigin = message.typeFlagOrigin;\r\n if (message.storeCodeMapping != null && message.hasOwnProperty(\"storeCodeMapping\"))\r\n object.storeCodeMapping = message.storeCodeMapping;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationInfoSummary to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummary\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationInfoSummary.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationInfoSummary;\r\n })();\r\n\r\n Protobuf.AppropriationSummary = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationSummary.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationSummary\r\n * @property {Array.|null} [list] AppropriationSummary list\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationSummary.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationSummary.\r\n * @implements IAppropriationSummary\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummary=} [properties] Properties to set\r\n */\r\n function AppropriationSummary(properties) {\r\n this.list = [];\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationSummary list.\r\n * @member {Array.} list\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummary\r\n * @instance\r\n */\r\n AppropriationSummary.prototype.list = $util.emptyArray;\r\n\r\n /**\r\n * Creates a new AppropriationSummary instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummary\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummary=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummary} AppropriationSummary instance\r\n */\r\n AppropriationSummary.create = function create(properties) {\r\n return new AppropriationSummary(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummary message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummary.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummary\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummary} message AppropriationSummary message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummary.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.list != null && message.list.length)\r\n for (var i = 0; i < message.list.length; ++i)\r\n $root.TCBReceiptApi.Protobuf.AppropriationInfoSummary.encode(message.list[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummary message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummary.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummary\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummary} message AppropriationSummary message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummary.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummary message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummary\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummary} AppropriationSummary\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummary.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationSummary();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (!(message.list && message.list.length))\r\n message.list = [];\r\n message.list.push($root.TCBReceiptApi.Protobuf.AppropriationInfoSummary.decode(reader, reader.uint32()));\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummary message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummary\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummary} AppropriationSummary\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummary.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationSummary message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummary\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationSummary.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.list != null && message.hasOwnProperty(\"list\")) {\r\n if (!Array.isArray(message.list))\r\n return \"list: array expected\";\r\n for (var i = 0; i < message.list.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummary.verify(message.list[i]);\r\n if (error)\r\n return \"list.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationSummary message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummary\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummary} AppropriationSummary\r\n */\r\n AppropriationSummary.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationSummary)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationSummary();\r\n if (object.list) {\r\n if (!Array.isArray(object.list))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummary.list: array expected\");\r\n message.list = [];\r\n for (var i = 0; i < object.list.length; ++i) {\r\n if (typeof object.list[i] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummary.list: object expected\");\r\n message.list[i] = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummary.fromObject(object.list[i]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationSummary message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummary\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationSummary} message AppropriationSummary\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationSummary.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.arrays || options.defaults)\r\n object.list = [];\r\n if (message.list && message.list.length) {\r\n object.list = [];\r\n for (var j = 0; j < message.list.length; ++j)\r\n object.list[j] = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummary.toObject(message.list[j], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationSummary to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummary\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationSummary.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationSummary;\r\n })();\r\n\r\n Protobuf.AppropriationSummaryTypeFlagMap = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationSummaryTypeFlagMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationSummaryTypeFlagMap\r\n * @property {Object.|null} [byTypeFlag] AppropriationSummaryTypeFlagMap byTypeFlag\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationSummaryTypeFlagMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationSummaryTypeFlagMap.\r\n * @implements IAppropriationSummaryTypeFlagMap\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryTypeFlagMap=} [properties] Properties to set\r\n */\r\n function AppropriationSummaryTypeFlagMap(properties) {\r\n this.byTypeFlag = {};\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationSummaryTypeFlagMap byTypeFlag.\r\n * @member {Object.} byTypeFlag\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap\r\n * @instance\r\n */\r\n AppropriationSummaryTypeFlagMap.prototype.byTypeFlag = $util.emptyObject;\r\n\r\n /**\r\n * Creates a new AppropriationSummaryTypeFlagMap instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryTypeFlagMap=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap} AppropriationSummaryTypeFlagMap instance\r\n */\r\n AppropriationSummaryTypeFlagMap.create = function create(properties) {\r\n return new AppropriationSummaryTypeFlagMap(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryTypeFlagMap message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryTypeFlagMap} message AppropriationSummaryTypeFlagMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryTypeFlagMap.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.byTypeFlag != null && Object.hasOwnProperty.call(message, \"byTypeFlag\"))\r\n for (var keys = Object.keys(message.byTypeFlag), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 0 =*/8).int32(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.AppropriationSummary.encode(message.byTypeFlag[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryTypeFlagMap message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryTypeFlagMap} message AppropriationSummaryTypeFlagMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryTypeFlagMap.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryTypeFlagMap message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap} AppropriationSummaryTypeFlagMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryTypeFlagMap.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap(), key, value;\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (message.byTypeFlag === $util.emptyObject)\r\n message.byTypeFlag = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = 0;\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.int32();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.AppropriationSummary.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.byTypeFlag[key] = value;\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryTypeFlagMap message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap} AppropriationSummaryTypeFlagMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryTypeFlagMap.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationSummaryTypeFlagMap message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationSummaryTypeFlagMap.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.byTypeFlag != null && message.hasOwnProperty(\"byTypeFlag\")) {\r\n if (!$util.isObject(message.byTypeFlag))\r\n return \"byTypeFlag: object expected\";\r\n var key = Object.keys(message.byTypeFlag);\r\n for (var i = 0; i < key.length; ++i) {\r\n if (!$util.key32Re.test(key[i]))\r\n return \"byTypeFlag: integer key{k:int32} expected\";\r\n {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationSummary.verify(message.byTypeFlag[key[i]]);\r\n if (error)\r\n return \"byTypeFlag.\" + error;\r\n }\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationSummaryTypeFlagMap message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap} AppropriationSummaryTypeFlagMap\r\n */\r\n AppropriationSummaryTypeFlagMap.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap();\r\n if (object.byTypeFlag) {\r\n if (typeof object.byTypeFlag !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap.byTypeFlag: object expected\");\r\n message.byTypeFlag = {};\r\n for (var keys = Object.keys(object.byTypeFlag), i = 0; i < keys.length; ++i) {\r\n if (typeof object.byTypeFlag[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap.byTypeFlag: object expected\");\r\n message.byTypeFlag[keys[i]] = $root.TCBReceiptApi.Protobuf.AppropriationSummary.fromObject(object.byTypeFlag[keys[i]]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationSummaryTypeFlagMap message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap} message AppropriationSummaryTypeFlagMap\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationSummaryTypeFlagMap.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.objects || options.defaults)\r\n object.byTypeFlag = {};\r\n var keys2;\r\n if (message.byTypeFlag && (keys2 = Object.keys(message.byTypeFlag)).length) {\r\n object.byTypeFlag = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.byTypeFlag[keys2[j]] = $root.TCBReceiptApi.Protobuf.AppropriationSummary.toObject(message.byTypeFlag[keys2[j]], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationSummaryTypeFlagMap to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationSummaryTypeFlagMap.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationSummaryTypeFlagMap;\r\n })();\r\n\r\n Protobuf.AppropriationSummaryDateMap = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationSummaryDateMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationSummaryDateMap\r\n * @property {Object.|null} [byDate] AppropriationSummaryDateMap byDate\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationSummaryDateMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationSummaryDateMap.\r\n * @implements IAppropriationSummaryDateMap\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryDateMap=} [properties] Properties to set\r\n */\r\n function AppropriationSummaryDateMap(properties) {\r\n this.byDate = {};\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationSummaryDateMap byDate.\r\n * @member {Object.} byDate\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryDateMap\r\n * @instance\r\n */\r\n AppropriationSummaryDateMap.prototype.byDate = $util.emptyObject;\r\n\r\n /**\r\n * Creates a new AppropriationSummaryDateMap instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryDateMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryDateMap=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryDateMap} AppropriationSummaryDateMap instance\r\n */\r\n AppropriationSummaryDateMap.create = function create(properties) {\r\n return new AppropriationSummaryDateMap(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryDateMap message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryDateMap.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryDateMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryDateMap} message AppropriationSummaryDateMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryDateMap.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.byDate != null && Object.hasOwnProperty.call(message, \"byDate\"))\r\n for (var keys = Object.keys(message.byDate), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap.encode(message.byDate[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryDateMap message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryDateMap.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryDateMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryDateMap} message AppropriationSummaryDateMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryDateMap.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryDateMap message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryDateMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryDateMap} AppropriationSummaryDateMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryDateMap.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryDateMap(), key, value;\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (message.byDate === $util.emptyObject)\r\n message.byDate = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = \"\";\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.string();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.byDate[key] = value;\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryDateMap message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryDateMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryDateMap} AppropriationSummaryDateMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryDateMap.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationSummaryDateMap message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryDateMap\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationSummaryDateMap.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.byDate != null && message.hasOwnProperty(\"byDate\")) {\r\n if (!$util.isObject(message.byDate))\r\n return \"byDate: object expected\";\r\n var key = Object.keys(message.byDate);\r\n for (var i = 0; i < key.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap.verify(message.byDate[key[i]]);\r\n if (error)\r\n return \"byDate.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationSummaryDateMap message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryDateMap\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryDateMap} AppropriationSummaryDateMap\r\n */\r\n AppropriationSummaryDateMap.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationSummaryDateMap)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryDateMap();\r\n if (object.byDate) {\r\n if (typeof object.byDate !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummaryDateMap.byDate: object expected\");\r\n message.byDate = {};\r\n for (var keys = Object.keys(object.byDate), i = 0; i < keys.length; ++i) {\r\n if (typeof object.byDate[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummaryDateMap.byDate: object expected\");\r\n message.byDate[keys[i]] = $root.TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap.fromObject(object.byDate[keys[i]]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationSummaryDateMap message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryDateMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationSummaryDateMap} message AppropriationSummaryDateMap\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationSummaryDateMap.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.objects || options.defaults)\r\n object.byDate = {};\r\n var keys2;\r\n if (message.byDate && (keys2 = Object.keys(message.byDate)).length) {\r\n object.byDate = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.byDate[keys2[j]] = $root.TCBReceiptApi.Protobuf.AppropriationSummaryTypeFlagMap.toObject(message.byDate[keys2[j]], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationSummaryDateMap to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryDateMap\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationSummaryDateMap.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationSummaryDateMap;\r\n })();\r\n\r\n Protobuf.AppropriationSummaryTerminalNoMap = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationSummaryTerminalNoMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationSummaryTerminalNoMap\r\n * @property {Object.|null} [byTerminalNo] AppropriationSummaryTerminalNoMap byTerminalNo\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationSummaryTerminalNoMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationSummaryTerminalNoMap.\r\n * @implements IAppropriationSummaryTerminalNoMap\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryTerminalNoMap=} [properties] Properties to set\r\n */\r\n function AppropriationSummaryTerminalNoMap(properties) {\r\n this.byTerminalNo = {};\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationSummaryTerminalNoMap byTerminalNo.\r\n * @member {Object.} byTerminalNo\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap\r\n * @instance\r\n */\r\n AppropriationSummaryTerminalNoMap.prototype.byTerminalNo = $util.emptyObject;\r\n\r\n /**\r\n * Creates a new AppropriationSummaryTerminalNoMap instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryTerminalNoMap=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap} AppropriationSummaryTerminalNoMap instance\r\n */\r\n AppropriationSummaryTerminalNoMap.create = function create(properties) {\r\n return new AppropriationSummaryTerminalNoMap(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryTerminalNoMap message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryTerminalNoMap} message AppropriationSummaryTerminalNoMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryTerminalNoMap.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.byTerminalNo != null && Object.hasOwnProperty.call(message, \"byTerminalNo\"))\r\n for (var keys = Object.keys(message.byTerminalNo), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.AppropriationSummaryDateMap.encode(message.byTerminalNo[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryTerminalNoMap message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryTerminalNoMap} message AppropriationSummaryTerminalNoMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryTerminalNoMap.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryTerminalNoMap message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap} AppropriationSummaryTerminalNoMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryTerminalNoMap.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap(), key, value;\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (message.byTerminalNo === $util.emptyObject)\r\n message.byTerminalNo = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = \"\";\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.string();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.AppropriationSummaryDateMap.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.byTerminalNo[key] = value;\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryTerminalNoMap message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap} AppropriationSummaryTerminalNoMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryTerminalNoMap.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationSummaryTerminalNoMap message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationSummaryTerminalNoMap.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.byTerminalNo != null && message.hasOwnProperty(\"byTerminalNo\")) {\r\n if (!$util.isObject(message.byTerminalNo))\r\n return \"byTerminalNo: object expected\";\r\n var key = Object.keys(message.byTerminalNo);\r\n for (var i = 0; i < key.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationSummaryDateMap.verify(message.byTerminalNo[key[i]]);\r\n if (error)\r\n return \"byTerminalNo.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationSummaryTerminalNoMap message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap} AppropriationSummaryTerminalNoMap\r\n */\r\n AppropriationSummaryTerminalNoMap.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap();\r\n if (object.byTerminalNo) {\r\n if (typeof object.byTerminalNo !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap.byTerminalNo: object expected\");\r\n message.byTerminalNo = {};\r\n for (var keys = Object.keys(object.byTerminalNo), i = 0; i < keys.length; ++i) {\r\n if (typeof object.byTerminalNo[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap.byTerminalNo: object expected\");\r\n message.byTerminalNo[keys[i]] = $root.TCBReceiptApi.Protobuf.AppropriationSummaryDateMap.fromObject(object.byTerminalNo[keys[i]]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationSummaryTerminalNoMap message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap} message AppropriationSummaryTerminalNoMap\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationSummaryTerminalNoMap.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.objects || options.defaults)\r\n object.byTerminalNo = {};\r\n var keys2;\r\n if (message.byTerminalNo && (keys2 = Object.keys(message.byTerminalNo)).length) {\r\n object.byTerminalNo = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.byTerminalNo[keys2[j]] = $root.TCBReceiptApi.Protobuf.AppropriationSummaryDateMap.toObject(message.byTerminalNo[keys2[j]], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationSummaryTerminalNoMap to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationSummaryTerminalNoMap.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationSummaryTerminalNoMap;\r\n })();\r\n\r\n Protobuf.AppropriationSummaryMap = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationSummaryMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationSummaryMap\r\n * @property {Object.|null} [map] AppropriationSummaryMap map\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationSummaryMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationSummaryMap.\r\n * @implements IAppropriationSummaryMap\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryMap=} [properties] Properties to set\r\n */\r\n function AppropriationSummaryMap(properties) {\r\n this.map = {};\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationSummaryMap map.\r\n * @member {Object.} map\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryMap\r\n * @instance\r\n */\r\n AppropriationSummaryMap.prototype.map = $util.emptyObject;\r\n\r\n /**\r\n * Creates a new AppropriationSummaryMap instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryMap=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryMap} AppropriationSummaryMap instance\r\n */\r\n AppropriationSummaryMap.create = function create(properties) {\r\n return new AppropriationSummaryMap(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryMap message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryMap.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryMap} message AppropriationSummaryMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryMap.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.map != null && Object.hasOwnProperty.call(message, \"map\"))\r\n for (var keys = Object.keys(message.map), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap.encode(message.map[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryMap message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryMap.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryMap} message AppropriationSummaryMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryMap.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryMap message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryMap} AppropriationSummaryMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryMap.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryMap(), key, value;\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (message.map === $util.emptyObject)\r\n message.map = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = \"\";\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.string();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.map[key] = value;\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryMap message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryMap} AppropriationSummaryMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryMap.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationSummaryMap message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryMap\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationSummaryMap.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.map != null && message.hasOwnProperty(\"map\")) {\r\n if (!$util.isObject(message.map))\r\n return \"map: object expected\";\r\n var key = Object.keys(message.map);\r\n for (var i = 0; i < key.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap.verify(message.map[key[i]]);\r\n if (error)\r\n return \"map.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationSummaryMap message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryMap\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryMap} AppropriationSummaryMap\r\n */\r\n AppropriationSummaryMap.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationSummaryMap)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryMap();\r\n if (object.map) {\r\n if (typeof object.map !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummaryMap.map: object expected\");\r\n message.map = {};\r\n for (var keys = Object.keys(object.map), i = 0; i < keys.length; ++i) {\r\n if (typeof object.map[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummaryMap.map: object expected\");\r\n message.map[keys[i]] = $root.TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap.fromObject(object.map[keys[i]]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationSummaryMap message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationSummaryMap} message AppropriationSummaryMap\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationSummaryMap.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.objects || options.defaults)\r\n object.map = {};\r\n var keys2;\r\n if (message.map && (keys2 = Object.keys(message.map)).length) {\r\n object.map = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.map[keys2[j]] = $root.TCBReceiptApi.Protobuf.AppropriationSummaryTerminalNoMap.toObject(message.map[keys2[j]], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationSummaryMap to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryMap\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationSummaryMap.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationSummaryMap;\r\n })();\r\n\r\n Protobuf.AppropriationSummaryTotal = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationSummaryTotal.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationSummaryTotal\r\n * @property {number|null} [count] AppropriationSummaryTotal count\r\n * @property {number|null} [total] AppropriationSummaryTotal total\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationSummaryTotal.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationSummaryTotal.\r\n * @implements IAppropriationSummaryTotal\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryTotal=} [properties] Properties to set\r\n */\r\n function AppropriationSummaryTotal(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationSummaryTotal count.\r\n * @member {number} count\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTotal\r\n * @instance\r\n */\r\n AppropriationSummaryTotal.prototype.count = 0;\r\n\r\n /**\r\n * AppropriationSummaryTotal total.\r\n * @member {number} total\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTotal\r\n * @instance\r\n */\r\n AppropriationSummaryTotal.prototype.total = 0;\r\n\r\n /**\r\n * Creates a new AppropriationSummaryTotal instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryTotal=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryTotal} AppropriationSummaryTotal instance\r\n */\r\n AppropriationSummaryTotal.create = function create(properties) {\r\n return new AppropriationSummaryTotal(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryTotal message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryTotal.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryTotal} message AppropriationSummaryTotal message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryTotal.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.count != null && Object.hasOwnProperty.call(message, \"count\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.count);\r\n if (message.total != null && Object.hasOwnProperty.call(message, \"total\"))\r\n writer.uint32(/* id 2, wireType 1 =*/17).double(message.total);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryTotal message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryTotal.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryTotal} message AppropriationSummaryTotal message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryTotal.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryTotal message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTotal\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryTotal} AppropriationSummaryTotal\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryTotal.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryTotal();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.count = reader.int32();\r\n break;\r\n case 2:\r\n message.total = reader.double();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryTotal message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTotal\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryTotal} AppropriationSummaryTotal\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryTotal.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationSummaryTotal message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTotal\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationSummaryTotal.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.count != null && message.hasOwnProperty(\"count\"))\r\n if (!$util.isInteger(message.count))\r\n return \"count: integer expected\";\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n if (typeof message.total !== \"number\")\r\n return \"total: number expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationSummaryTotal message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTotal\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryTotal} AppropriationSummaryTotal\r\n */\r\n AppropriationSummaryTotal.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationSummaryTotal)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryTotal();\r\n if (object.count != null)\r\n message.count = object.count | 0;\r\n if (object.total != null)\r\n message.total = Number(object.total);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationSummaryTotal message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationSummaryTotal} message AppropriationSummaryTotal\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationSummaryTotal.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.count = 0;\r\n object.total = 0;\r\n }\r\n if (message.count != null && message.hasOwnProperty(\"count\"))\r\n object.count = message.count;\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n object.total = options.json && !isFinite(message.total) ? String(message.total) : message.total;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationSummaryTotal to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryTotal\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationSummaryTotal.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationSummaryTotal;\r\n })();\r\n\r\n Protobuf.AppropriationInfoSummaryByCardType = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationInfoSummaryByCardType.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationInfoSummaryByCardType\r\n * @property {number|null} [ourBankCount] AppropriationInfoSummaryByCardType ourBankCount\r\n * @property {number|null} [ourBankAmount] AppropriationInfoSummaryByCardType ourBankAmount\r\n * @property {number|null} [notOurBankCount] AppropriationInfoSummaryByCardType notOurBankCount\r\n * @property {number|null} [notOurBankAmount] AppropriationInfoSummaryByCardType notOurBankAmount\r\n * @property {number|null} [totalCount] AppropriationInfoSummaryByCardType totalCount\r\n * @property {number|null} [totalAmount] AppropriationInfoSummaryByCardType totalAmount\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationInfoSummaryByCardType.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationInfoSummaryByCardType.\r\n * @implements IAppropriationInfoSummaryByCardType\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoSummaryByCardType=} [properties] Properties to set\r\n */\r\n function AppropriationInfoSummaryByCardType(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationInfoSummaryByCardType ourBankCount.\r\n * @member {number} ourBankCount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType\r\n * @instance\r\n */\r\n AppropriationInfoSummaryByCardType.prototype.ourBankCount = 0;\r\n\r\n /**\r\n * AppropriationInfoSummaryByCardType ourBankAmount.\r\n * @member {number} ourBankAmount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType\r\n * @instance\r\n */\r\n AppropriationInfoSummaryByCardType.prototype.ourBankAmount = 0;\r\n\r\n /**\r\n * AppropriationInfoSummaryByCardType notOurBankCount.\r\n * @member {number} notOurBankCount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType\r\n * @instance\r\n */\r\n AppropriationInfoSummaryByCardType.prototype.notOurBankCount = 0;\r\n\r\n /**\r\n * AppropriationInfoSummaryByCardType notOurBankAmount.\r\n * @member {number} notOurBankAmount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType\r\n * @instance\r\n */\r\n AppropriationInfoSummaryByCardType.prototype.notOurBankAmount = 0;\r\n\r\n /**\r\n * AppropriationInfoSummaryByCardType totalCount.\r\n * @member {number} totalCount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType\r\n * @instance\r\n */\r\n AppropriationInfoSummaryByCardType.prototype.totalCount = 0;\r\n\r\n /**\r\n * AppropriationInfoSummaryByCardType totalAmount.\r\n * @member {number} totalAmount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType\r\n * @instance\r\n */\r\n AppropriationInfoSummaryByCardType.prototype.totalAmount = 0;\r\n\r\n /**\r\n * Creates a new AppropriationInfoSummaryByCardType instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoSummaryByCardType=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType} AppropriationInfoSummaryByCardType instance\r\n */\r\n AppropriationInfoSummaryByCardType.create = function create(properties) {\r\n return new AppropriationInfoSummaryByCardType(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationInfoSummaryByCardType message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoSummaryByCardType} message AppropriationInfoSummaryByCardType message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationInfoSummaryByCardType.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.ourBankCount != null && Object.hasOwnProperty.call(message, \"ourBankCount\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.ourBankCount);\r\n if (message.ourBankAmount != null && Object.hasOwnProperty.call(message, \"ourBankAmount\"))\r\n writer.uint32(/* id 2, wireType 1 =*/17).double(message.ourBankAmount);\r\n if (message.notOurBankCount != null && Object.hasOwnProperty.call(message, \"notOurBankCount\"))\r\n writer.uint32(/* id 3, wireType 0 =*/24).int32(message.notOurBankCount);\r\n if (message.notOurBankAmount != null && Object.hasOwnProperty.call(message, \"notOurBankAmount\"))\r\n writer.uint32(/* id 4, wireType 1 =*/33).double(message.notOurBankAmount);\r\n if (message.totalCount != null && Object.hasOwnProperty.call(message, \"totalCount\"))\r\n writer.uint32(/* id 5, wireType 0 =*/40).int32(message.totalCount);\r\n if (message.totalAmount != null && Object.hasOwnProperty.call(message, \"totalAmount\"))\r\n writer.uint32(/* id 6, wireType 1 =*/49).double(message.totalAmount);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationInfoSummaryByCardType message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoSummaryByCardType} message AppropriationInfoSummaryByCardType message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationInfoSummaryByCardType.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationInfoSummaryByCardType message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType} AppropriationInfoSummaryByCardType\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationInfoSummaryByCardType.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.ourBankCount = reader.int32();\r\n break;\r\n case 2:\r\n message.ourBankAmount = reader.double();\r\n break;\r\n case 3:\r\n message.notOurBankCount = reader.int32();\r\n break;\r\n case 4:\r\n message.notOurBankAmount = reader.double();\r\n break;\r\n case 5:\r\n message.totalCount = reader.int32();\r\n break;\r\n case 6:\r\n message.totalAmount = reader.double();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationInfoSummaryByCardType message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType} AppropriationInfoSummaryByCardType\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationInfoSummaryByCardType.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationInfoSummaryByCardType message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationInfoSummaryByCardType.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.ourBankCount != null && message.hasOwnProperty(\"ourBankCount\"))\r\n if (!$util.isInteger(message.ourBankCount))\r\n return \"ourBankCount: integer expected\";\r\n if (message.ourBankAmount != null && message.hasOwnProperty(\"ourBankAmount\"))\r\n if (typeof message.ourBankAmount !== \"number\")\r\n return \"ourBankAmount: number expected\";\r\n if (message.notOurBankCount != null && message.hasOwnProperty(\"notOurBankCount\"))\r\n if (!$util.isInteger(message.notOurBankCount))\r\n return \"notOurBankCount: integer expected\";\r\n if (message.notOurBankAmount != null && message.hasOwnProperty(\"notOurBankAmount\"))\r\n if (typeof message.notOurBankAmount !== \"number\")\r\n return \"notOurBankAmount: number expected\";\r\n if (message.totalCount != null && message.hasOwnProperty(\"totalCount\"))\r\n if (!$util.isInteger(message.totalCount))\r\n return \"totalCount: integer expected\";\r\n if (message.totalAmount != null && message.hasOwnProperty(\"totalAmount\"))\r\n if (typeof message.totalAmount !== \"number\")\r\n return \"totalAmount: number expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationInfoSummaryByCardType message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType} AppropriationInfoSummaryByCardType\r\n */\r\n AppropriationInfoSummaryByCardType.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType();\r\n if (object.ourBankCount != null)\r\n message.ourBankCount = object.ourBankCount | 0;\r\n if (object.ourBankAmount != null)\r\n message.ourBankAmount = Number(object.ourBankAmount);\r\n if (object.notOurBankCount != null)\r\n message.notOurBankCount = object.notOurBankCount | 0;\r\n if (object.notOurBankAmount != null)\r\n message.notOurBankAmount = Number(object.notOurBankAmount);\r\n if (object.totalCount != null)\r\n message.totalCount = object.totalCount | 0;\r\n if (object.totalAmount != null)\r\n message.totalAmount = Number(object.totalAmount);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationInfoSummaryByCardType message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType} message AppropriationInfoSummaryByCardType\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationInfoSummaryByCardType.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.ourBankCount = 0;\r\n object.ourBankAmount = 0;\r\n object.notOurBankCount = 0;\r\n object.notOurBankAmount = 0;\r\n object.totalCount = 0;\r\n object.totalAmount = 0;\r\n }\r\n if (message.ourBankCount != null && message.hasOwnProperty(\"ourBankCount\"))\r\n object.ourBankCount = message.ourBankCount;\r\n if (message.ourBankAmount != null && message.hasOwnProperty(\"ourBankAmount\"))\r\n object.ourBankAmount = options.json && !isFinite(message.ourBankAmount) ? String(message.ourBankAmount) : message.ourBankAmount;\r\n if (message.notOurBankCount != null && message.hasOwnProperty(\"notOurBankCount\"))\r\n object.notOurBankCount = message.notOurBankCount;\r\n if (message.notOurBankAmount != null && message.hasOwnProperty(\"notOurBankAmount\"))\r\n object.notOurBankAmount = options.json && !isFinite(message.notOurBankAmount) ? String(message.notOurBankAmount) : message.notOurBankAmount;\r\n if (message.totalCount != null && message.hasOwnProperty(\"totalCount\"))\r\n object.totalCount = message.totalCount;\r\n if (message.totalAmount != null && message.hasOwnProperty(\"totalAmount\"))\r\n object.totalAmount = options.json && !isFinite(message.totalAmount) ? String(message.totalAmount) : message.totalAmount;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationInfoSummaryByCardType to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationInfoSummaryByCardType.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationInfoSummaryByCardType;\r\n })();\r\n\r\n Protobuf.AppropriationSummaryByCardType = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationSummaryByCardType.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationSummaryByCardType\r\n * @property {TCBReceiptApi.Protobuf.IAppropriationInfoSummaryByCardType|null} [visa] AppropriationSummaryByCardType visa\r\n * @property {TCBReceiptApi.Protobuf.IAppropriationInfoSummaryByCardType|null} [mc] AppropriationSummaryByCardType mc\r\n * @property {TCBReceiptApi.Protobuf.IAppropriationInfoSummaryByCardType|null} [jcb] AppropriationSummaryByCardType jcb\r\n * @property {TCBReceiptApi.Protobuf.IAppropriationInfoSummaryByCardType|null} [cup] AppropriationSummaryByCardType cup\r\n * @property {TCBReceiptApi.Protobuf.IAppropriationInfoSummaryByCardType|null} [fisc] AppropriationSummaryByCardType fisc\r\n * @property {TCBReceiptApi.Protobuf.IAppropriationInfoSummaryByCardType|null} [motify] AppropriationSummaryByCardType motify\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationSummaryByCardType.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationSummaryByCardType.\r\n * @implements IAppropriationSummaryByCardType\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByCardType=} [properties] Properties to set\r\n */\r\n function AppropriationSummaryByCardType(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationSummaryByCardType visa.\r\n * @member {TCBReceiptApi.Protobuf.IAppropriationInfoSummaryByCardType|null|undefined} visa\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardType\r\n * @instance\r\n */\r\n AppropriationSummaryByCardType.prototype.visa = null;\r\n\r\n /**\r\n * AppropriationSummaryByCardType mc.\r\n * @member {TCBReceiptApi.Protobuf.IAppropriationInfoSummaryByCardType|null|undefined} mc\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardType\r\n * @instance\r\n */\r\n AppropriationSummaryByCardType.prototype.mc = null;\r\n\r\n /**\r\n * AppropriationSummaryByCardType jcb.\r\n * @member {TCBReceiptApi.Protobuf.IAppropriationInfoSummaryByCardType|null|undefined} jcb\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardType\r\n * @instance\r\n */\r\n AppropriationSummaryByCardType.prototype.jcb = null;\r\n\r\n /**\r\n * AppropriationSummaryByCardType cup.\r\n * @member {TCBReceiptApi.Protobuf.IAppropriationInfoSummaryByCardType|null|undefined} cup\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardType\r\n * @instance\r\n */\r\n AppropriationSummaryByCardType.prototype.cup = null;\r\n\r\n /**\r\n * AppropriationSummaryByCardType fisc.\r\n * @member {TCBReceiptApi.Protobuf.IAppropriationInfoSummaryByCardType|null|undefined} fisc\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardType\r\n * @instance\r\n */\r\n AppropriationSummaryByCardType.prototype.fisc = null;\r\n\r\n /**\r\n * AppropriationSummaryByCardType motify.\r\n * @member {TCBReceiptApi.Protobuf.IAppropriationInfoSummaryByCardType|null|undefined} motify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardType\r\n * @instance\r\n */\r\n AppropriationSummaryByCardType.prototype.motify = null;\r\n\r\n /**\r\n * Creates a new AppropriationSummaryByCardType instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardType\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByCardType=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByCardType} AppropriationSummaryByCardType instance\r\n */\r\n AppropriationSummaryByCardType.create = function create(properties) {\r\n return new AppropriationSummaryByCardType(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryByCardType message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryByCardType.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardType\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByCardType} message AppropriationSummaryByCardType message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryByCardType.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.visa != null && Object.hasOwnProperty.call(message, \"visa\"))\r\n $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.encode(message.visa, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n if (message.mc != null && Object.hasOwnProperty.call(message, \"mc\"))\r\n $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.encode(message.mc, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\r\n if (message.jcb != null && Object.hasOwnProperty.call(message, \"jcb\"))\r\n $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.encode(message.jcb, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();\r\n if (message.cup != null && Object.hasOwnProperty.call(message, \"cup\"))\r\n $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.encode(message.cup, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();\r\n if (message.fisc != null && Object.hasOwnProperty.call(message, \"fisc\"))\r\n $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.encode(message.fisc, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();\r\n if (message.motify != null && Object.hasOwnProperty.call(message, \"motify\"))\r\n $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.encode(message.motify, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryByCardType message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryByCardType.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardType\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByCardType} message AppropriationSummaryByCardType message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryByCardType.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryByCardType message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardType\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByCardType} AppropriationSummaryByCardType\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryByCardType.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardType();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.visa = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.decode(reader, reader.uint32());\r\n break;\r\n case 2:\r\n message.mc = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.decode(reader, reader.uint32());\r\n break;\r\n case 3:\r\n message.jcb = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.decode(reader, reader.uint32());\r\n break;\r\n case 4:\r\n message.cup = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.decode(reader, reader.uint32());\r\n break;\r\n case 5:\r\n message.fisc = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.decode(reader, reader.uint32());\r\n break;\r\n case 6:\r\n message.motify = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryByCardType message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardType\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByCardType} AppropriationSummaryByCardType\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryByCardType.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationSummaryByCardType message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardType\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationSummaryByCardType.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.visa != null && message.hasOwnProperty(\"visa\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.verify(message.visa);\r\n if (error)\r\n return \"visa.\" + error;\r\n }\r\n if (message.mc != null && message.hasOwnProperty(\"mc\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.verify(message.mc);\r\n if (error)\r\n return \"mc.\" + error;\r\n }\r\n if (message.jcb != null && message.hasOwnProperty(\"jcb\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.verify(message.jcb);\r\n if (error)\r\n return \"jcb.\" + error;\r\n }\r\n if (message.cup != null && message.hasOwnProperty(\"cup\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.verify(message.cup);\r\n if (error)\r\n return \"cup.\" + error;\r\n }\r\n if (message.fisc != null && message.hasOwnProperty(\"fisc\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.verify(message.fisc);\r\n if (error)\r\n return \"fisc.\" + error;\r\n }\r\n if (message.motify != null && message.hasOwnProperty(\"motify\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.verify(message.motify);\r\n if (error)\r\n return \"motify.\" + error;\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationSummaryByCardType message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardType\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByCardType} AppropriationSummaryByCardType\r\n */\r\n AppropriationSummaryByCardType.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardType)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardType();\r\n if (object.visa != null) {\r\n if (typeof object.visa !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummaryByCardType.visa: object expected\");\r\n message.visa = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.fromObject(object.visa);\r\n }\r\n if (object.mc != null) {\r\n if (typeof object.mc !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummaryByCardType.mc: object expected\");\r\n message.mc = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.fromObject(object.mc);\r\n }\r\n if (object.jcb != null) {\r\n if (typeof object.jcb !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummaryByCardType.jcb: object expected\");\r\n message.jcb = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.fromObject(object.jcb);\r\n }\r\n if (object.cup != null) {\r\n if (typeof object.cup !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummaryByCardType.cup: object expected\");\r\n message.cup = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.fromObject(object.cup);\r\n }\r\n if (object.fisc != null) {\r\n if (typeof object.fisc !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummaryByCardType.fisc: object expected\");\r\n message.fisc = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.fromObject(object.fisc);\r\n }\r\n if (object.motify != null) {\r\n if (typeof object.motify !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummaryByCardType.motify: object expected\");\r\n message.motify = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.fromObject(object.motify);\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationSummaryByCardType message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardType\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationSummaryByCardType} message AppropriationSummaryByCardType\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationSummaryByCardType.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.visa = null;\r\n object.mc = null;\r\n object.jcb = null;\r\n object.cup = null;\r\n object.fisc = null;\r\n object.motify = null;\r\n }\r\n if (message.visa != null && message.hasOwnProperty(\"visa\"))\r\n object.visa = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.toObject(message.visa, options);\r\n if (message.mc != null && message.hasOwnProperty(\"mc\"))\r\n object.mc = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.toObject(message.mc, options);\r\n if (message.jcb != null && message.hasOwnProperty(\"jcb\"))\r\n object.jcb = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.toObject(message.jcb, options);\r\n if (message.cup != null && message.hasOwnProperty(\"cup\"))\r\n object.cup = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.toObject(message.cup, options);\r\n if (message.fisc != null && message.hasOwnProperty(\"fisc\"))\r\n object.fisc = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.toObject(message.fisc, options);\r\n if (message.motify != null && message.hasOwnProperty(\"motify\"))\r\n object.motify = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByCardType.toObject(message.motify, options);\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationSummaryByCardType to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardType\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationSummaryByCardType.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationSummaryByCardType;\r\n })();\r\n\r\n Protobuf.AppropriationInfoSummaryByIssuer = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationInfoSummaryByIssuer.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationInfoSummaryByIssuer\r\n * @property {number|null} [isCreditCard] AppropriationInfoSummaryByIssuer isCreditCard\r\n * @property {string|null} [issuer] AppropriationInfoSummaryByIssuer issuer\r\n * @property {string|null} [issuerName] AppropriationInfoSummaryByIssuer issuerName\r\n * @property {number|null} [count] AppropriationInfoSummaryByIssuer count\r\n * @property {number|null} [amount] AppropriationInfoSummaryByIssuer amount\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationInfoSummaryByIssuer.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationInfoSummaryByIssuer.\r\n * @implements IAppropriationInfoSummaryByIssuer\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoSummaryByIssuer=} [properties] Properties to set\r\n */\r\n function AppropriationInfoSummaryByIssuer(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationInfoSummaryByIssuer isCreditCard.\r\n * @member {number} isCreditCard\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer\r\n * @instance\r\n */\r\n AppropriationInfoSummaryByIssuer.prototype.isCreditCard = 0;\r\n\r\n /**\r\n * AppropriationInfoSummaryByIssuer issuer.\r\n * @member {string} issuer\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer\r\n * @instance\r\n */\r\n AppropriationInfoSummaryByIssuer.prototype.issuer = \"\";\r\n\r\n /**\r\n * AppropriationInfoSummaryByIssuer issuerName.\r\n * @member {string} issuerName\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer\r\n * @instance\r\n */\r\n AppropriationInfoSummaryByIssuer.prototype.issuerName = \"\";\r\n\r\n /**\r\n * AppropriationInfoSummaryByIssuer count.\r\n * @member {number} count\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer\r\n * @instance\r\n */\r\n AppropriationInfoSummaryByIssuer.prototype.count = 0;\r\n\r\n /**\r\n * AppropriationInfoSummaryByIssuer amount.\r\n * @member {number} amount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer\r\n * @instance\r\n */\r\n AppropriationInfoSummaryByIssuer.prototype.amount = 0;\r\n\r\n /**\r\n * Creates a new AppropriationInfoSummaryByIssuer instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoSummaryByIssuer=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer} AppropriationInfoSummaryByIssuer instance\r\n */\r\n AppropriationInfoSummaryByIssuer.create = function create(properties) {\r\n return new AppropriationInfoSummaryByIssuer(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationInfoSummaryByIssuer message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoSummaryByIssuer} message AppropriationInfoSummaryByIssuer message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationInfoSummaryByIssuer.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.isCreditCard != null && Object.hasOwnProperty.call(message, \"isCreditCard\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.isCreditCard);\r\n if (message.issuer != null && Object.hasOwnProperty.call(message, \"issuer\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.issuer);\r\n if (message.issuerName != null && Object.hasOwnProperty.call(message, \"issuerName\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.issuerName);\r\n if (message.count != null && Object.hasOwnProperty.call(message, \"count\"))\r\n writer.uint32(/* id 4, wireType 0 =*/32).int32(message.count);\r\n if (message.amount != null && Object.hasOwnProperty.call(message, \"amount\"))\r\n writer.uint32(/* id 5, wireType 1 =*/41).double(message.amount);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationInfoSummaryByIssuer message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationInfoSummaryByIssuer} message AppropriationInfoSummaryByIssuer message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationInfoSummaryByIssuer.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationInfoSummaryByIssuer message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer} AppropriationInfoSummaryByIssuer\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationInfoSummaryByIssuer.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.isCreditCard = reader.int32();\r\n break;\r\n case 2:\r\n message.issuer = reader.string();\r\n break;\r\n case 3:\r\n message.issuerName = reader.string();\r\n break;\r\n case 4:\r\n message.count = reader.int32();\r\n break;\r\n case 5:\r\n message.amount = reader.double();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationInfoSummaryByIssuer message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer} AppropriationInfoSummaryByIssuer\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationInfoSummaryByIssuer.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationInfoSummaryByIssuer message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationInfoSummaryByIssuer.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.isCreditCard != null && message.hasOwnProperty(\"isCreditCard\"))\r\n if (!$util.isInteger(message.isCreditCard))\r\n return \"isCreditCard: integer expected\";\r\n if (message.issuer != null && message.hasOwnProperty(\"issuer\"))\r\n if (!$util.isString(message.issuer))\r\n return \"issuer: string expected\";\r\n if (message.issuerName != null && message.hasOwnProperty(\"issuerName\"))\r\n if (!$util.isString(message.issuerName))\r\n return \"issuerName: string expected\";\r\n if (message.count != null && message.hasOwnProperty(\"count\"))\r\n if (!$util.isInteger(message.count))\r\n return \"count: integer expected\";\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n if (typeof message.amount !== \"number\")\r\n return \"amount: number expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationInfoSummaryByIssuer message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer} AppropriationInfoSummaryByIssuer\r\n */\r\n AppropriationInfoSummaryByIssuer.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer();\r\n if (object.isCreditCard != null)\r\n message.isCreditCard = object.isCreditCard | 0;\r\n if (object.issuer != null)\r\n message.issuer = String(object.issuer);\r\n if (object.issuerName != null)\r\n message.issuerName = String(object.issuerName);\r\n if (object.count != null)\r\n message.count = object.count | 0;\r\n if (object.amount != null)\r\n message.amount = Number(object.amount);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationInfoSummaryByIssuer message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer} message AppropriationInfoSummaryByIssuer\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationInfoSummaryByIssuer.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.isCreditCard = 0;\r\n object.issuer = \"\";\r\n object.issuerName = \"\";\r\n object.count = 0;\r\n object.amount = 0;\r\n }\r\n if (message.isCreditCard != null && message.hasOwnProperty(\"isCreditCard\"))\r\n object.isCreditCard = message.isCreditCard;\r\n if (message.issuer != null && message.hasOwnProperty(\"issuer\"))\r\n object.issuer = message.issuer;\r\n if (message.issuerName != null && message.hasOwnProperty(\"issuerName\"))\r\n object.issuerName = message.issuerName;\r\n if (message.count != null && message.hasOwnProperty(\"count\"))\r\n object.count = message.count;\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n object.amount = options.json && !isFinite(message.amount) ? String(message.amount) : message.amount;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationInfoSummaryByIssuer to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationInfoSummaryByIssuer.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationInfoSummaryByIssuer;\r\n })();\r\n\r\n Protobuf.AppropriationSummaryByIssuer = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationSummaryByIssuer.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationSummaryByIssuer\r\n * @property {Array.|null} [list] AppropriationSummaryByIssuer list\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationSummaryByIssuer.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationSummaryByIssuer.\r\n * @implements IAppropriationSummaryByIssuer\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByIssuer=} [properties] Properties to set\r\n */\r\n function AppropriationSummaryByIssuer(properties) {\r\n this.list = [];\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationSummaryByIssuer list.\r\n * @member {Array.} list\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer\r\n * @instance\r\n */\r\n AppropriationSummaryByIssuer.prototype.list = $util.emptyArray;\r\n\r\n /**\r\n * Creates a new AppropriationSummaryByIssuer instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByIssuer=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer} AppropriationSummaryByIssuer instance\r\n */\r\n AppropriationSummaryByIssuer.create = function create(properties) {\r\n return new AppropriationSummaryByIssuer(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryByIssuer message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByIssuer} message AppropriationSummaryByIssuer message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryByIssuer.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.list != null && message.list.length)\r\n for (var i = 0; i < message.list.length; ++i)\r\n $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer.encode(message.list[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryByIssuer message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByIssuer} message AppropriationSummaryByIssuer message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryByIssuer.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryByIssuer message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer} AppropriationSummaryByIssuer\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryByIssuer.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (!(message.list && message.list.length))\r\n message.list = [];\r\n message.list.push($root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer.decode(reader, reader.uint32()));\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryByIssuer message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer} AppropriationSummaryByIssuer\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryByIssuer.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationSummaryByIssuer message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationSummaryByIssuer.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.list != null && message.hasOwnProperty(\"list\")) {\r\n if (!Array.isArray(message.list))\r\n return \"list: array expected\";\r\n for (var i = 0; i < message.list.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer.verify(message.list[i]);\r\n if (error)\r\n return \"list.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationSummaryByIssuer message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer} AppropriationSummaryByIssuer\r\n */\r\n AppropriationSummaryByIssuer.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer();\r\n if (object.list) {\r\n if (!Array.isArray(object.list))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer.list: array expected\");\r\n message.list = [];\r\n for (var i = 0; i < object.list.length; ++i) {\r\n if (typeof object.list[i] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer.list: object expected\");\r\n message.list[i] = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer.fromObject(object.list[i]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationSummaryByIssuer message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer} message AppropriationSummaryByIssuer\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationSummaryByIssuer.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.arrays || options.defaults)\r\n object.list = [];\r\n if (message.list && message.list.length) {\r\n object.list = [];\r\n for (var j = 0; j < message.list.length; ++j)\r\n object.list[j] = $root.TCBReceiptApi.Protobuf.AppropriationInfoSummaryByIssuer.toObject(message.list[j], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationSummaryByIssuer to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationSummaryByIssuer.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationSummaryByIssuer;\r\n })();\r\n\r\n Protobuf.AppropriationSummaryByCardTypeCollection = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationSummaryByCardTypeCollection.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationSummaryByCardTypeCollection\r\n * @property {TCBReceiptApi.Protobuf.IAppropriationSummaryByCardType|null} [cardType] AppropriationSummaryByCardTypeCollection cardType\r\n * @property {TCBReceiptApi.Protobuf.IAppropriationSummaryByIssuer|null} [creditCard] AppropriationSummaryByCardTypeCollection creditCard\r\n * @property {TCBReceiptApi.Protobuf.IAppropriationSummaryByIssuer|null} [debitCard] AppropriationSummaryByCardTypeCollection debitCard\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationSummaryByCardTypeCollection.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationSummaryByCardTypeCollection.\r\n * @implements IAppropriationSummaryByCardTypeCollection\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByCardTypeCollection=} [properties] Properties to set\r\n */\r\n function AppropriationSummaryByCardTypeCollection(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationSummaryByCardTypeCollection cardType.\r\n * @member {TCBReceiptApi.Protobuf.IAppropriationSummaryByCardType|null|undefined} cardType\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection\r\n * @instance\r\n */\r\n AppropriationSummaryByCardTypeCollection.prototype.cardType = null;\r\n\r\n /**\r\n * AppropriationSummaryByCardTypeCollection creditCard.\r\n * @member {TCBReceiptApi.Protobuf.IAppropriationSummaryByIssuer|null|undefined} creditCard\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection\r\n * @instance\r\n */\r\n AppropriationSummaryByCardTypeCollection.prototype.creditCard = null;\r\n\r\n /**\r\n * AppropriationSummaryByCardTypeCollection debitCard.\r\n * @member {TCBReceiptApi.Protobuf.IAppropriationSummaryByIssuer|null|undefined} debitCard\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection\r\n * @instance\r\n */\r\n AppropriationSummaryByCardTypeCollection.prototype.debitCard = null;\r\n\r\n /**\r\n * Creates a new AppropriationSummaryByCardTypeCollection instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByCardTypeCollection=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection} AppropriationSummaryByCardTypeCollection instance\r\n */\r\n AppropriationSummaryByCardTypeCollection.create = function create(properties) {\r\n return new AppropriationSummaryByCardTypeCollection(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryByCardTypeCollection message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByCardTypeCollection} message AppropriationSummaryByCardTypeCollection message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryByCardTypeCollection.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.cardType != null && Object.hasOwnProperty.call(message, \"cardType\"))\r\n $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardType.encode(message.cardType, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n if (message.creditCard != null && Object.hasOwnProperty.call(message, \"creditCard\"))\r\n $root.TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer.encode(message.creditCard, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\r\n if (message.debitCard != null && Object.hasOwnProperty.call(message, \"debitCard\"))\r\n $root.TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer.encode(message.debitCard, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryByCardTypeCollection message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByCardTypeCollection} message AppropriationSummaryByCardTypeCollection message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryByCardTypeCollection.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryByCardTypeCollection message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection} AppropriationSummaryByCardTypeCollection\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryByCardTypeCollection.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.cardType = $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardType.decode(reader, reader.uint32());\r\n break;\r\n case 2:\r\n message.creditCard = $root.TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer.decode(reader, reader.uint32());\r\n break;\r\n case 3:\r\n message.debitCard = $root.TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryByCardTypeCollection message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection} AppropriationSummaryByCardTypeCollection\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryByCardTypeCollection.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationSummaryByCardTypeCollection message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationSummaryByCardTypeCollection.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardType.verify(message.cardType);\r\n if (error)\r\n return \"cardType.\" + error;\r\n }\r\n if (message.creditCard != null && message.hasOwnProperty(\"creditCard\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer.verify(message.creditCard);\r\n if (error)\r\n return \"creditCard.\" + error;\r\n }\r\n if (message.debitCard != null && message.hasOwnProperty(\"debitCard\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer.verify(message.debitCard);\r\n if (error)\r\n return \"debitCard.\" + error;\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationSummaryByCardTypeCollection message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection} AppropriationSummaryByCardTypeCollection\r\n */\r\n AppropriationSummaryByCardTypeCollection.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection();\r\n if (object.cardType != null) {\r\n if (typeof object.cardType !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection.cardType: object expected\");\r\n message.cardType = $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardType.fromObject(object.cardType);\r\n }\r\n if (object.creditCard != null) {\r\n if (typeof object.creditCard !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection.creditCard: object expected\");\r\n message.creditCard = $root.TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer.fromObject(object.creditCard);\r\n }\r\n if (object.debitCard != null) {\r\n if (typeof object.debitCard !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection.debitCard: object expected\");\r\n message.debitCard = $root.TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer.fromObject(object.debitCard);\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationSummaryByCardTypeCollection message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection} message AppropriationSummaryByCardTypeCollection\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationSummaryByCardTypeCollection.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.cardType = null;\r\n object.creditCard = null;\r\n object.debitCard = null;\r\n }\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n object.cardType = $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardType.toObject(message.cardType, options);\r\n if (message.creditCard != null && message.hasOwnProperty(\"creditCard\"))\r\n object.creditCard = $root.TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer.toObject(message.creditCard, options);\r\n if (message.debitCard != null && message.hasOwnProperty(\"debitCard\"))\r\n object.debitCard = $root.TCBReceiptApi.Protobuf.AppropriationSummaryByIssuer.toObject(message.debitCard, options);\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationSummaryByCardTypeCollection to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationSummaryByCardTypeCollection.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationSummaryByCardTypeCollection;\r\n })();\r\n\r\n Protobuf.AppropriationSummaryByCardTypeCollectionMap = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationSummaryByCardTypeCollectionMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationSummaryByCardTypeCollectionMap\r\n * @property {Object.|null} [map] AppropriationSummaryByCardTypeCollectionMap map\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationSummaryByCardTypeCollectionMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationSummaryByCardTypeCollectionMap.\r\n * @implements IAppropriationSummaryByCardTypeCollectionMap\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByCardTypeCollectionMap=} [properties] Properties to set\r\n */\r\n function AppropriationSummaryByCardTypeCollectionMap(properties) {\r\n this.map = {};\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationSummaryByCardTypeCollectionMap map.\r\n * @member {Object.} map\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap\r\n * @instance\r\n */\r\n AppropriationSummaryByCardTypeCollectionMap.prototype.map = $util.emptyObject;\r\n\r\n /**\r\n * Creates a new AppropriationSummaryByCardTypeCollectionMap instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByCardTypeCollectionMap=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap} AppropriationSummaryByCardTypeCollectionMap instance\r\n */\r\n AppropriationSummaryByCardTypeCollectionMap.create = function create(properties) {\r\n return new AppropriationSummaryByCardTypeCollectionMap(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryByCardTypeCollectionMap message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByCardTypeCollectionMap} message AppropriationSummaryByCardTypeCollectionMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryByCardTypeCollectionMap.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.map != null && Object.hasOwnProperty.call(message, \"map\"))\r\n for (var keys = Object.keys(message.map), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection.encode(message.map[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryByCardTypeCollectionMap message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByCardTypeCollectionMap} message AppropriationSummaryByCardTypeCollectionMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryByCardTypeCollectionMap.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryByCardTypeCollectionMap message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap} AppropriationSummaryByCardTypeCollectionMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryByCardTypeCollectionMap.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap(), key, value;\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (message.map === $util.emptyObject)\r\n message.map = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = \"\";\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.string();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.map[key] = value;\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryByCardTypeCollectionMap message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap} AppropriationSummaryByCardTypeCollectionMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryByCardTypeCollectionMap.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationSummaryByCardTypeCollectionMap message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationSummaryByCardTypeCollectionMap.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.map != null && message.hasOwnProperty(\"map\")) {\r\n if (!$util.isObject(message.map))\r\n return \"map: object expected\";\r\n var key = Object.keys(message.map);\r\n for (var i = 0; i < key.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection.verify(message.map[key[i]]);\r\n if (error)\r\n return \"map.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationSummaryByCardTypeCollectionMap message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap} AppropriationSummaryByCardTypeCollectionMap\r\n */\r\n AppropriationSummaryByCardTypeCollectionMap.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap();\r\n if (object.map) {\r\n if (typeof object.map !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap.map: object expected\");\r\n message.map = {};\r\n for (var keys = Object.keys(object.map), i = 0; i < keys.length; ++i) {\r\n if (typeof object.map[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap.map: object expected\");\r\n message.map[keys[i]] = $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection.fromObject(object.map[keys[i]]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationSummaryByCardTypeCollectionMap message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap} message AppropriationSummaryByCardTypeCollectionMap\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationSummaryByCardTypeCollectionMap.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.objects || options.defaults)\r\n object.map = {};\r\n var keys2;\r\n if (message.map && (keys2 = Object.keys(message.map)).length) {\r\n object.map = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.map[keys2[j]] = $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollection.toObject(message.map[keys2[j]], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationSummaryByCardTypeCollectionMap to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeCollectionMap\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationSummaryByCardTypeCollectionMap.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationSummaryByCardTypeCollectionMap;\r\n })();\r\n\r\n Protobuf.AppropriationSummaryByCardTypeTotal = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationSummaryByCardTypeTotal.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationSummaryByCardTypeTotal\r\n * @property {number|null} [count] AppropriationSummaryByCardTypeTotal count\r\n * @property {number|null} [total] AppropriationSummaryByCardTypeTotal total\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationSummaryByCardTypeTotal.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationSummaryByCardTypeTotal.\r\n * @implements IAppropriationSummaryByCardTypeTotal\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByCardTypeTotal=} [properties] Properties to set\r\n */\r\n function AppropriationSummaryByCardTypeTotal(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationSummaryByCardTypeTotal count.\r\n * @member {number} count\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal\r\n * @instance\r\n */\r\n AppropriationSummaryByCardTypeTotal.prototype.count = 0;\r\n\r\n /**\r\n * AppropriationSummaryByCardTypeTotal total.\r\n * @member {number} total\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal\r\n * @instance\r\n */\r\n AppropriationSummaryByCardTypeTotal.prototype.total = 0;\r\n\r\n /**\r\n * Creates a new AppropriationSummaryByCardTypeTotal instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByCardTypeTotal=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal} AppropriationSummaryByCardTypeTotal instance\r\n */\r\n AppropriationSummaryByCardTypeTotal.create = function create(properties) {\r\n return new AppropriationSummaryByCardTypeTotal(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryByCardTypeTotal message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByCardTypeTotal} message AppropriationSummaryByCardTypeTotal message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryByCardTypeTotal.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.count != null && Object.hasOwnProperty.call(message, \"count\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.count);\r\n if (message.total != null && Object.hasOwnProperty.call(message, \"total\"))\r\n writer.uint32(/* id 2, wireType 1 =*/17).double(message.total);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryByCardTypeTotal message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByCardTypeTotal} message AppropriationSummaryByCardTypeTotal message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryByCardTypeTotal.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryByCardTypeTotal message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal} AppropriationSummaryByCardTypeTotal\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryByCardTypeTotal.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.count = reader.int32();\r\n break;\r\n case 2:\r\n message.total = reader.double();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryByCardTypeTotal message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal} AppropriationSummaryByCardTypeTotal\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryByCardTypeTotal.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationSummaryByCardTypeTotal message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationSummaryByCardTypeTotal.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.count != null && message.hasOwnProperty(\"count\"))\r\n if (!$util.isInteger(message.count))\r\n return \"count: integer expected\";\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n if (typeof message.total !== \"number\")\r\n return \"total: number expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationSummaryByCardTypeTotal message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal} AppropriationSummaryByCardTypeTotal\r\n */\r\n AppropriationSummaryByCardTypeTotal.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal();\r\n if (object.count != null)\r\n message.count = object.count | 0;\r\n if (object.total != null)\r\n message.total = Number(object.total);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationSummaryByCardTypeTotal message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal} message AppropriationSummaryByCardTypeTotal\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationSummaryByCardTypeTotal.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.count = 0;\r\n object.total = 0;\r\n }\r\n if (message.count != null && message.hasOwnProperty(\"count\"))\r\n object.count = message.count;\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n object.total = options.json && !isFinite(message.total) ? String(message.total) : message.total;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationSummaryByCardTypeTotal to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeTotal\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationSummaryByCardTypeTotal.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationSummaryByCardTypeTotal;\r\n })();\r\n\r\n Protobuf.AppropriationQuery = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationQuery.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationQuery\r\n * @property {Array.|null} [storeList] AppropriationQuery storeList\r\n * @property {string|null} [tidNumber] AppropriationQuery tidNumber\r\n * @property {string|null} [authCode] AppropriationQuery authCode\r\n * @property {string|null} [cardNo] AppropriationQuery cardNo\r\n * @property {string|null} [cardType] AppropriationQuery cardType\r\n * @property {number|null} [type] AppropriationQuery type\r\n * @property {number|null} [flag] AppropriationQuery flag\r\n * @property {string|null} [orderNo] AppropriationQuery orderNo\r\n * @property {number|null} [dateType] AppropriationQuery dateType\r\n * @property {string|null} [dateStart] AppropriationQuery dateStart\r\n * @property {string|null} [dateEnd] AppropriationQuery dateEnd\r\n * @property {string|null} [terminalNoStart] AppropriationQuery terminalNoStart\r\n * @property {string|null} [terminalNoEnd] AppropriationQuery terminalNoEnd\r\n * @property {string|null} [specificStore] AppropriationQuery specificStore\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationQuery.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationQuery.\r\n * @implements IAppropriationQuery\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationQuery=} [properties] Properties to set\r\n */\r\n function AppropriationQuery(properties) {\r\n this.storeList = [];\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationQuery storeList.\r\n * @member {Array.} storeList\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @instance\r\n */\r\n AppropriationQuery.prototype.storeList = $util.emptyArray;\r\n\r\n /**\r\n * AppropriationQuery tidNumber.\r\n * @member {string} tidNumber\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @instance\r\n */\r\n AppropriationQuery.prototype.tidNumber = \"\";\r\n\r\n /**\r\n * AppropriationQuery authCode.\r\n * @member {string} authCode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @instance\r\n */\r\n AppropriationQuery.prototype.authCode = \"\";\r\n\r\n /**\r\n * AppropriationQuery cardNo.\r\n * @member {string} cardNo\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @instance\r\n */\r\n AppropriationQuery.prototype.cardNo = \"\";\r\n\r\n /**\r\n * AppropriationQuery cardType.\r\n * @member {string} cardType\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @instance\r\n */\r\n AppropriationQuery.prototype.cardType = \"\";\r\n\r\n /**\r\n * AppropriationQuery type.\r\n * @member {number} type\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @instance\r\n */\r\n AppropriationQuery.prototype.type = 0;\r\n\r\n /**\r\n * AppropriationQuery flag.\r\n * @member {number} flag\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @instance\r\n */\r\n AppropriationQuery.prototype.flag = 0;\r\n\r\n /**\r\n * AppropriationQuery orderNo.\r\n * @member {string} orderNo\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @instance\r\n */\r\n AppropriationQuery.prototype.orderNo = \"\";\r\n\r\n /**\r\n * AppropriationQuery dateType.\r\n * @member {number} dateType\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @instance\r\n */\r\n AppropriationQuery.prototype.dateType = 0;\r\n\r\n /**\r\n * AppropriationQuery dateStart.\r\n * @member {string} dateStart\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @instance\r\n */\r\n AppropriationQuery.prototype.dateStart = \"\";\r\n\r\n /**\r\n * AppropriationQuery dateEnd.\r\n * @member {string} dateEnd\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @instance\r\n */\r\n AppropriationQuery.prototype.dateEnd = \"\";\r\n\r\n /**\r\n * AppropriationQuery terminalNoStart.\r\n * @member {string} terminalNoStart\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @instance\r\n */\r\n AppropriationQuery.prototype.terminalNoStart = \"\";\r\n\r\n /**\r\n * AppropriationQuery terminalNoEnd.\r\n * @member {string} terminalNoEnd\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @instance\r\n */\r\n AppropriationQuery.prototype.terminalNoEnd = \"\";\r\n\r\n /**\r\n * AppropriationQuery specificStore.\r\n * @member {string} specificStore\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @instance\r\n */\r\n AppropriationQuery.prototype.specificStore = \"\";\r\n\r\n /**\r\n * Creates a new AppropriationQuery instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationQuery=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationQuery} AppropriationQuery instance\r\n */\r\n AppropriationQuery.create = function create(properties) {\r\n return new AppropriationQuery(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationQuery message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationQuery.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationQuery} message AppropriationQuery message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationQuery.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.storeList != null && message.storeList.length)\r\n for (var i = 0; i < message.storeList.length; ++i)\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.storeList[i]);\r\n if (message.tidNumber != null && Object.hasOwnProperty.call(message, \"tidNumber\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.tidNumber);\r\n if (message.authCode != null && Object.hasOwnProperty.call(message, \"authCode\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.authCode);\r\n if (message.cardNo != null && Object.hasOwnProperty.call(message, \"cardNo\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.cardNo);\r\n if (message.cardType != null && Object.hasOwnProperty.call(message, \"cardType\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.cardType);\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 6, wireType 0 =*/48).int32(message.type);\r\n if (message.flag != null && Object.hasOwnProperty.call(message, \"flag\"))\r\n writer.uint32(/* id 7, wireType 0 =*/56).int32(message.flag);\r\n if (message.orderNo != null && Object.hasOwnProperty.call(message, \"orderNo\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.orderNo);\r\n if (message.dateType != null && Object.hasOwnProperty.call(message, \"dateType\"))\r\n writer.uint32(/* id 9, wireType 0 =*/72).int32(message.dateType);\r\n if (message.dateStart != null && Object.hasOwnProperty.call(message, \"dateStart\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.dateStart);\r\n if (message.dateEnd != null && Object.hasOwnProperty.call(message, \"dateEnd\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.dateEnd);\r\n if (message.terminalNoStart != null && Object.hasOwnProperty.call(message, \"terminalNoStart\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.terminalNoStart);\r\n if (message.terminalNoEnd != null && Object.hasOwnProperty.call(message, \"terminalNoEnd\"))\r\n writer.uint32(/* id 13, wireType 2 =*/106).string(message.terminalNoEnd);\r\n if (message.specificStore != null && Object.hasOwnProperty.call(message, \"specificStore\"))\r\n writer.uint32(/* id 14, wireType 2 =*/114).string(message.specificStore);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationQuery message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationQuery.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationQuery} message AppropriationQuery message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationQuery.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationQuery message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationQuery} AppropriationQuery\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationQuery.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationQuery();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (!(message.storeList && message.storeList.length))\r\n message.storeList = [];\r\n message.storeList.push(reader.string());\r\n break;\r\n case 2:\r\n message.tidNumber = reader.string();\r\n break;\r\n case 3:\r\n message.authCode = reader.string();\r\n break;\r\n case 4:\r\n message.cardNo = reader.string();\r\n break;\r\n case 5:\r\n message.cardType = reader.string();\r\n break;\r\n case 6:\r\n message.type = reader.int32();\r\n break;\r\n case 7:\r\n message.flag = reader.int32();\r\n break;\r\n case 8:\r\n message.orderNo = reader.string();\r\n break;\r\n case 9:\r\n message.dateType = reader.int32();\r\n break;\r\n case 10:\r\n message.dateStart = reader.string();\r\n break;\r\n case 11:\r\n message.dateEnd = reader.string();\r\n break;\r\n case 12:\r\n message.terminalNoStart = reader.string();\r\n break;\r\n case 13:\r\n message.terminalNoEnd = reader.string();\r\n break;\r\n case 14:\r\n message.specificStore = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationQuery message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationQuery} AppropriationQuery\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationQuery.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationQuery message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationQuery.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.storeList != null && message.hasOwnProperty(\"storeList\")) {\r\n if (!Array.isArray(message.storeList))\r\n return \"storeList: array expected\";\r\n for (var i = 0; i < message.storeList.length; ++i)\r\n if (!$util.isString(message.storeList[i]))\r\n return \"storeList: string[] expected\";\r\n }\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n if (!$util.isString(message.tidNumber))\r\n return \"tidNumber: string expected\";\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n if (!$util.isString(message.authCode))\r\n return \"authCode: string expected\";\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n if (!$util.isString(message.cardNo))\r\n return \"cardNo: string expected\";\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n if (!$util.isString(message.cardType))\r\n return \"cardType: string expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isInteger(message.type))\r\n return \"type: integer expected\";\r\n if (message.flag != null && message.hasOwnProperty(\"flag\"))\r\n if (!$util.isInteger(message.flag))\r\n return \"flag: integer expected\";\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n if (!$util.isString(message.orderNo))\r\n return \"orderNo: string expected\";\r\n if (message.dateType != null && message.hasOwnProperty(\"dateType\"))\r\n if (!$util.isInteger(message.dateType))\r\n return \"dateType: integer expected\";\r\n if (message.dateStart != null && message.hasOwnProperty(\"dateStart\"))\r\n if (!$util.isString(message.dateStart))\r\n return \"dateStart: string expected\";\r\n if (message.dateEnd != null && message.hasOwnProperty(\"dateEnd\"))\r\n if (!$util.isString(message.dateEnd))\r\n return \"dateEnd: string expected\";\r\n if (message.terminalNoStart != null && message.hasOwnProperty(\"terminalNoStart\"))\r\n if (!$util.isString(message.terminalNoStart))\r\n return \"terminalNoStart: string expected\";\r\n if (message.terminalNoEnd != null && message.hasOwnProperty(\"terminalNoEnd\"))\r\n if (!$util.isString(message.terminalNoEnd))\r\n return \"terminalNoEnd: string expected\";\r\n if (message.specificStore != null && message.hasOwnProperty(\"specificStore\"))\r\n if (!$util.isString(message.specificStore))\r\n return \"specificStore: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationQuery message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationQuery} AppropriationQuery\r\n */\r\n AppropriationQuery.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationQuery)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationQuery();\r\n if (object.storeList) {\r\n if (!Array.isArray(object.storeList))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.AppropriationQuery.storeList: array expected\");\r\n message.storeList = [];\r\n for (var i = 0; i < object.storeList.length; ++i)\r\n message.storeList[i] = String(object.storeList[i]);\r\n }\r\n if (object.tidNumber != null)\r\n message.tidNumber = String(object.tidNumber);\r\n if (object.authCode != null)\r\n message.authCode = String(object.authCode);\r\n if (object.cardNo != null)\r\n message.cardNo = String(object.cardNo);\r\n if (object.cardType != null)\r\n message.cardType = String(object.cardType);\r\n if (object.type != null)\r\n message.type = object.type | 0;\r\n if (object.flag != null)\r\n message.flag = object.flag | 0;\r\n if (object.orderNo != null)\r\n message.orderNo = String(object.orderNo);\r\n if (object.dateType != null)\r\n message.dateType = object.dateType | 0;\r\n if (object.dateStart != null)\r\n message.dateStart = String(object.dateStart);\r\n if (object.dateEnd != null)\r\n message.dateEnd = String(object.dateEnd);\r\n if (object.terminalNoStart != null)\r\n message.terminalNoStart = String(object.terminalNoStart);\r\n if (object.terminalNoEnd != null)\r\n message.terminalNoEnd = String(object.terminalNoEnd);\r\n if (object.specificStore != null)\r\n message.specificStore = String(object.specificStore);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationQuery message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationQuery} message AppropriationQuery\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationQuery.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.arrays || options.defaults)\r\n object.storeList = [];\r\n if (options.defaults) {\r\n object.tidNumber = \"\";\r\n object.authCode = \"\";\r\n object.cardNo = \"\";\r\n object.cardType = \"\";\r\n object.type = 0;\r\n object.flag = 0;\r\n object.orderNo = \"\";\r\n object.dateType = 0;\r\n object.dateStart = \"\";\r\n object.dateEnd = \"\";\r\n object.terminalNoStart = \"\";\r\n object.terminalNoEnd = \"\";\r\n object.specificStore = \"\";\r\n }\r\n if (message.storeList && message.storeList.length) {\r\n object.storeList = [];\r\n for (var j = 0; j < message.storeList.length; ++j)\r\n object.storeList[j] = message.storeList[j];\r\n }\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n object.tidNumber = message.tidNumber;\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n object.authCode = message.authCode;\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n object.cardNo = message.cardNo;\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n object.cardType = message.cardType;\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.flag != null && message.hasOwnProperty(\"flag\"))\r\n object.flag = message.flag;\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n object.orderNo = message.orderNo;\r\n if (message.dateType != null && message.hasOwnProperty(\"dateType\"))\r\n object.dateType = message.dateType;\r\n if (message.dateStart != null && message.hasOwnProperty(\"dateStart\"))\r\n object.dateStart = message.dateStart;\r\n if (message.dateEnd != null && message.hasOwnProperty(\"dateEnd\"))\r\n object.dateEnd = message.dateEnd;\r\n if (message.terminalNoStart != null && message.hasOwnProperty(\"terminalNoStart\"))\r\n object.terminalNoStart = message.terminalNoStart;\r\n if (message.terminalNoEnd != null && message.hasOwnProperty(\"terminalNoEnd\"))\r\n object.terminalNoEnd = message.terminalNoEnd;\r\n if (message.specificStore != null && message.hasOwnProperty(\"specificStore\"))\r\n object.specificStore = message.specificStore;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationQuery to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuery\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationQuery.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationQuery;\r\n })();\r\n\r\n Protobuf.AppropriationQuerySpecificStore = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationQuerySpecificStore.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationQuerySpecificStore\r\n * @property {string|null} [specificStore] AppropriationQuerySpecificStore specificStore\r\n * @property {string|null} [authCode] AppropriationQuerySpecificStore authCode\r\n * @property {string|null} [cardNo] AppropriationQuerySpecificStore cardNo\r\n * @property {string|null} [cardType] AppropriationQuerySpecificStore cardType\r\n * @property {number|null} [type] AppropriationQuerySpecificStore type\r\n * @property {number|null} [flag] AppropriationQuerySpecificStore flag\r\n * @property {string|null} [orderNo] AppropriationQuerySpecificStore orderNo\r\n * @property {string|null} [terminalNoStart] AppropriationQuerySpecificStore terminalNoStart\r\n * @property {string|null} [terminalNoEnd] AppropriationQuerySpecificStore terminalNoEnd\r\n * @property {string|null} [submitDateStart] AppropriationQuerySpecificStore submitDateStart\r\n * @property {string|null} [submitDateEnd] AppropriationQuerySpecificStore submitDateEnd\r\n * @property {string|null} [transDateStart] AppropriationQuerySpecificStore transDateStart\r\n * @property {string|null} [transDateEnd] AppropriationQuerySpecificStore transDateEnd\r\n * @property {string|null} [dateStart] AppropriationQuerySpecificStore dateStart\r\n * @property {string|null} [dateEnd] AppropriationQuerySpecificStore dateEnd\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationQuerySpecificStore.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationQuerySpecificStore.\r\n * @implements IAppropriationQuerySpecificStore\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationQuerySpecificStore=} [properties] Properties to set\r\n */\r\n function AppropriationQuerySpecificStore(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationQuerySpecificStore specificStore.\r\n * @member {string} specificStore\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n AppropriationQuerySpecificStore.prototype.specificStore = \"\";\r\n\r\n /**\r\n * AppropriationQuerySpecificStore authCode.\r\n * @member {string} authCode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n AppropriationQuerySpecificStore.prototype.authCode = \"\";\r\n\r\n /**\r\n * AppropriationQuerySpecificStore cardNo.\r\n * @member {string} cardNo\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n AppropriationQuerySpecificStore.prototype.cardNo = \"\";\r\n\r\n /**\r\n * AppropriationQuerySpecificStore cardType.\r\n * @member {string} cardType\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n AppropriationQuerySpecificStore.prototype.cardType = \"\";\r\n\r\n /**\r\n * AppropriationQuerySpecificStore type.\r\n * @member {number} type\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n AppropriationQuerySpecificStore.prototype.type = 0;\r\n\r\n /**\r\n * AppropriationQuerySpecificStore flag.\r\n * @member {number} flag\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n AppropriationQuerySpecificStore.prototype.flag = 0;\r\n\r\n /**\r\n * AppropriationQuerySpecificStore orderNo.\r\n * @member {string} orderNo\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n AppropriationQuerySpecificStore.prototype.orderNo = \"\";\r\n\r\n /**\r\n * AppropriationQuerySpecificStore terminalNoStart.\r\n * @member {string} terminalNoStart\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n AppropriationQuerySpecificStore.prototype.terminalNoStart = \"\";\r\n\r\n /**\r\n * AppropriationQuerySpecificStore terminalNoEnd.\r\n * @member {string} terminalNoEnd\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n AppropriationQuerySpecificStore.prototype.terminalNoEnd = \"\";\r\n\r\n /**\r\n * AppropriationQuerySpecificStore submitDateStart.\r\n * @member {string} submitDateStart\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n AppropriationQuerySpecificStore.prototype.submitDateStart = \"\";\r\n\r\n /**\r\n * AppropriationQuerySpecificStore submitDateEnd.\r\n * @member {string} submitDateEnd\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n AppropriationQuerySpecificStore.prototype.submitDateEnd = \"\";\r\n\r\n /**\r\n * AppropriationQuerySpecificStore transDateStart.\r\n * @member {string} transDateStart\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n AppropriationQuerySpecificStore.prototype.transDateStart = \"\";\r\n\r\n /**\r\n * AppropriationQuerySpecificStore transDateEnd.\r\n * @member {string} transDateEnd\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n AppropriationQuerySpecificStore.prototype.transDateEnd = \"\";\r\n\r\n /**\r\n * AppropriationQuerySpecificStore dateStart.\r\n * @member {string} dateStart\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n AppropriationQuerySpecificStore.prototype.dateStart = \"\";\r\n\r\n /**\r\n * AppropriationQuerySpecificStore dateEnd.\r\n * @member {string} dateEnd\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n AppropriationQuerySpecificStore.prototype.dateEnd = \"\";\r\n\r\n /**\r\n * Creates a new AppropriationQuerySpecificStore instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationQuerySpecificStore=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore} AppropriationQuerySpecificStore instance\r\n */\r\n AppropriationQuerySpecificStore.create = function create(properties) {\r\n return new AppropriationQuerySpecificStore(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationQuerySpecificStore message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationQuerySpecificStore} message AppropriationQuerySpecificStore message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationQuerySpecificStore.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.specificStore != null && Object.hasOwnProperty.call(message, \"specificStore\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.specificStore);\r\n if (message.authCode != null && Object.hasOwnProperty.call(message, \"authCode\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.authCode);\r\n if (message.cardNo != null && Object.hasOwnProperty.call(message, \"cardNo\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.cardNo);\r\n if (message.cardType != null && Object.hasOwnProperty.call(message, \"cardType\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.cardType);\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 5, wireType 0 =*/40).int32(message.type);\r\n if (message.flag != null && Object.hasOwnProperty.call(message, \"flag\"))\r\n writer.uint32(/* id 6, wireType 0 =*/48).int32(message.flag);\r\n if (message.orderNo != null && Object.hasOwnProperty.call(message, \"orderNo\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.orderNo);\r\n if (message.terminalNoStart != null && Object.hasOwnProperty.call(message, \"terminalNoStart\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.terminalNoStart);\r\n if (message.terminalNoEnd != null && Object.hasOwnProperty.call(message, \"terminalNoEnd\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.terminalNoEnd);\r\n if (message.submitDateStart != null && Object.hasOwnProperty.call(message, \"submitDateStart\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.submitDateStart);\r\n if (message.submitDateEnd != null && Object.hasOwnProperty.call(message, \"submitDateEnd\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.submitDateEnd);\r\n if (message.transDateStart != null && Object.hasOwnProperty.call(message, \"transDateStart\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.transDateStart);\r\n if (message.transDateEnd != null && Object.hasOwnProperty.call(message, \"transDateEnd\"))\r\n writer.uint32(/* id 13, wireType 2 =*/106).string(message.transDateEnd);\r\n if (message.dateStart != null && Object.hasOwnProperty.call(message, \"dateStart\"))\r\n writer.uint32(/* id 14, wireType 2 =*/114).string(message.dateStart);\r\n if (message.dateEnd != null && Object.hasOwnProperty.call(message, \"dateEnd\"))\r\n writer.uint32(/* id 15, wireType 2 =*/122).string(message.dateEnd);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationQuerySpecificStore message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationQuerySpecificStore} message AppropriationQuerySpecificStore message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationQuerySpecificStore.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationQuerySpecificStore message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore} AppropriationQuerySpecificStore\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationQuerySpecificStore.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.specificStore = reader.string();\r\n break;\r\n case 2:\r\n message.authCode = reader.string();\r\n break;\r\n case 3:\r\n message.cardNo = reader.string();\r\n break;\r\n case 4:\r\n message.cardType = reader.string();\r\n break;\r\n case 5:\r\n message.type = reader.int32();\r\n break;\r\n case 6:\r\n message.flag = reader.int32();\r\n break;\r\n case 7:\r\n message.orderNo = reader.string();\r\n break;\r\n case 8:\r\n message.terminalNoStart = reader.string();\r\n break;\r\n case 9:\r\n message.terminalNoEnd = reader.string();\r\n break;\r\n case 10:\r\n message.submitDateStart = reader.string();\r\n break;\r\n case 11:\r\n message.submitDateEnd = reader.string();\r\n break;\r\n case 12:\r\n message.transDateStart = reader.string();\r\n break;\r\n case 13:\r\n message.transDateEnd = reader.string();\r\n break;\r\n case 14:\r\n message.dateStart = reader.string();\r\n break;\r\n case 15:\r\n message.dateEnd = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationQuerySpecificStore message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore} AppropriationQuerySpecificStore\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationQuerySpecificStore.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationQuerySpecificStore message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationQuerySpecificStore.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.specificStore != null && message.hasOwnProperty(\"specificStore\"))\r\n if (!$util.isString(message.specificStore))\r\n return \"specificStore: string expected\";\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n if (!$util.isString(message.authCode))\r\n return \"authCode: string expected\";\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n if (!$util.isString(message.cardNo))\r\n return \"cardNo: string expected\";\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n if (!$util.isString(message.cardType))\r\n return \"cardType: string expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isInteger(message.type))\r\n return \"type: integer expected\";\r\n if (message.flag != null && message.hasOwnProperty(\"flag\"))\r\n if (!$util.isInteger(message.flag))\r\n return \"flag: integer expected\";\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n if (!$util.isString(message.orderNo))\r\n return \"orderNo: string expected\";\r\n if (message.terminalNoStart != null && message.hasOwnProperty(\"terminalNoStart\"))\r\n if (!$util.isString(message.terminalNoStart))\r\n return \"terminalNoStart: string expected\";\r\n if (message.terminalNoEnd != null && message.hasOwnProperty(\"terminalNoEnd\"))\r\n if (!$util.isString(message.terminalNoEnd))\r\n return \"terminalNoEnd: string expected\";\r\n if (message.submitDateStart != null && message.hasOwnProperty(\"submitDateStart\"))\r\n if (!$util.isString(message.submitDateStart))\r\n return \"submitDateStart: string expected\";\r\n if (message.submitDateEnd != null && message.hasOwnProperty(\"submitDateEnd\"))\r\n if (!$util.isString(message.submitDateEnd))\r\n return \"submitDateEnd: string expected\";\r\n if (message.transDateStart != null && message.hasOwnProperty(\"transDateStart\"))\r\n if (!$util.isString(message.transDateStart))\r\n return \"transDateStart: string expected\";\r\n if (message.transDateEnd != null && message.hasOwnProperty(\"transDateEnd\"))\r\n if (!$util.isString(message.transDateEnd))\r\n return \"transDateEnd: string expected\";\r\n if (message.dateStart != null && message.hasOwnProperty(\"dateStart\"))\r\n if (!$util.isString(message.dateStart))\r\n return \"dateStart: string expected\";\r\n if (message.dateEnd != null && message.hasOwnProperty(\"dateEnd\"))\r\n if (!$util.isString(message.dateEnd))\r\n return \"dateEnd: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationQuerySpecificStore message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore} AppropriationQuerySpecificStore\r\n */\r\n AppropriationQuerySpecificStore.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore();\r\n if (object.specificStore != null)\r\n message.specificStore = String(object.specificStore);\r\n if (object.authCode != null)\r\n message.authCode = String(object.authCode);\r\n if (object.cardNo != null)\r\n message.cardNo = String(object.cardNo);\r\n if (object.cardType != null)\r\n message.cardType = String(object.cardType);\r\n if (object.type != null)\r\n message.type = object.type | 0;\r\n if (object.flag != null)\r\n message.flag = object.flag | 0;\r\n if (object.orderNo != null)\r\n message.orderNo = String(object.orderNo);\r\n if (object.terminalNoStart != null)\r\n message.terminalNoStart = String(object.terminalNoStart);\r\n if (object.terminalNoEnd != null)\r\n message.terminalNoEnd = String(object.terminalNoEnd);\r\n if (object.submitDateStart != null)\r\n message.submitDateStart = String(object.submitDateStart);\r\n if (object.submitDateEnd != null)\r\n message.submitDateEnd = String(object.submitDateEnd);\r\n if (object.transDateStart != null)\r\n message.transDateStart = String(object.transDateStart);\r\n if (object.transDateEnd != null)\r\n message.transDateEnd = String(object.transDateEnd);\r\n if (object.dateStart != null)\r\n message.dateStart = String(object.dateStart);\r\n if (object.dateEnd != null)\r\n message.dateEnd = String(object.dateEnd);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationQuerySpecificStore message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore} message AppropriationQuerySpecificStore\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationQuerySpecificStore.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.specificStore = \"\";\r\n object.authCode = \"\";\r\n object.cardNo = \"\";\r\n object.cardType = \"\";\r\n object.type = 0;\r\n object.flag = 0;\r\n object.orderNo = \"\";\r\n object.terminalNoStart = \"\";\r\n object.terminalNoEnd = \"\";\r\n object.submitDateStart = \"\";\r\n object.submitDateEnd = \"\";\r\n object.transDateStart = \"\";\r\n object.transDateEnd = \"\";\r\n object.dateStart = \"\";\r\n object.dateEnd = \"\";\r\n }\r\n if (message.specificStore != null && message.hasOwnProperty(\"specificStore\"))\r\n object.specificStore = message.specificStore;\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n object.authCode = message.authCode;\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n object.cardNo = message.cardNo;\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n object.cardType = message.cardType;\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.flag != null && message.hasOwnProperty(\"flag\"))\r\n object.flag = message.flag;\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n object.orderNo = message.orderNo;\r\n if (message.terminalNoStart != null && message.hasOwnProperty(\"terminalNoStart\"))\r\n object.terminalNoStart = message.terminalNoStart;\r\n if (message.terminalNoEnd != null && message.hasOwnProperty(\"terminalNoEnd\"))\r\n object.terminalNoEnd = message.terminalNoEnd;\r\n if (message.submitDateStart != null && message.hasOwnProperty(\"submitDateStart\"))\r\n object.submitDateStart = message.submitDateStart;\r\n if (message.submitDateEnd != null && message.hasOwnProperty(\"submitDateEnd\"))\r\n object.submitDateEnd = message.submitDateEnd;\r\n if (message.transDateStart != null && message.hasOwnProperty(\"transDateStart\"))\r\n object.transDateStart = message.transDateStart;\r\n if (message.transDateEnd != null && message.hasOwnProperty(\"transDateEnd\"))\r\n object.transDateEnd = message.transDateEnd;\r\n if (message.dateStart != null && message.hasOwnProperty(\"dateStart\"))\r\n object.dateStart = message.dateStart;\r\n if (message.dateEnd != null && message.hasOwnProperty(\"dateEnd\"))\r\n object.dateEnd = message.dateEnd;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationQuerySpecificStore to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationQuerySpecificStore\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationQuerySpecificStore.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationQuerySpecificStore;\r\n })();\r\n\r\n Protobuf.AppropriationCreditExport = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationCreditExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationCreditExport\r\n * @property {string|null} [storeCode] AppropriationCreditExport storeCode\r\n * @property {string|null} [registerName] AppropriationCreditExport registerName\r\n * @property {string|null} [terminalNo] AppropriationCreditExport terminalNo\r\n * @property {string|null} [date] AppropriationCreditExport date\r\n * @property {string|null} [submitDate] AppropriationCreditExport submitDate\r\n * @property {string|null} [batchNo] AppropriationCreditExport batchNo\r\n * @property {string|null} [transDate] AppropriationCreditExport transDate\r\n * @property {string|null} [transTime] AppropriationCreditExport transTime\r\n * @property {string|null} [code] AppropriationCreditExport code\r\n * @property {string|null} [authCode] AppropriationCreditExport authCode\r\n * @property {string|null} [amount] AppropriationCreditExport amount\r\n * @property {string|null} [cardNo] AppropriationCreditExport cardNo\r\n * @property {string|null} [cardType] AppropriationCreditExport cardType\r\n * @property {string|null} [orderNo] AppropriationCreditExport orderNo\r\n * @property {string|null} [issuer] AppropriationCreditExport issuer\r\n * @property {string|null} [installCode] AppropriationCreditExport installCode\r\n * @property {string|null} [installTimes] AppropriationCreditExport installTimes\r\n * @property {string|null} [settleCode] AppropriationCreditExport settleCode\r\n * @property {string|null} [qrFlag] AppropriationCreditExport qrFlag\r\n * @property {string|null} [stan] AppropriationCreditExport stan\r\n * @property {string|null} [quotaFlag] AppropriationCreditExport quotaFlag\r\n * @property {string|null} [charge] AppropriationCreditExport charge\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationCreditExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationCreditExport.\r\n * @implements IAppropriationCreditExport\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCreditExport=} [properties] Properties to set\r\n */\r\n function AppropriationCreditExport(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationCreditExport storeCode.\r\n * @member {string} storeCode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n */\r\n AppropriationCreditExport.prototype.storeCode = \"\";\r\n\r\n /**\r\n * AppropriationCreditExport registerName.\r\n * @member {string} registerName\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n */\r\n AppropriationCreditExport.prototype.registerName = \"\";\r\n\r\n /**\r\n * AppropriationCreditExport terminalNo.\r\n * @member {string} terminalNo\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n */\r\n AppropriationCreditExport.prototype.terminalNo = \"\";\r\n\r\n /**\r\n * AppropriationCreditExport date.\r\n * @member {string} date\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n */\r\n AppropriationCreditExport.prototype.date = \"\";\r\n\r\n /**\r\n * AppropriationCreditExport submitDate.\r\n * @member {string} submitDate\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n */\r\n AppropriationCreditExport.prototype.submitDate = \"\";\r\n\r\n /**\r\n * AppropriationCreditExport batchNo.\r\n * @member {string} batchNo\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n */\r\n AppropriationCreditExport.prototype.batchNo = \"\";\r\n\r\n /**\r\n * AppropriationCreditExport transDate.\r\n * @member {string} transDate\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n */\r\n AppropriationCreditExport.prototype.transDate = \"\";\r\n\r\n /**\r\n * AppropriationCreditExport transTime.\r\n * @member {string} transTime\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n */\r\n AppropriationCreditExport.prototype.transTime = \"\";\r\n\r\n /**\r\n * AppropriationCreditExport code.\r\n * @member {string} code\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n */\r\n AppropriationCreditExport.prototype.code = \"\";\r\n\r\n /**\r\n * AppropriationCreditExport authCode.\r\n * @member {string} authCode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n */\r\n AppropriationCreditExport.prototype.authCode = \"\";\r\n\r\n /**\r\n * AppropriationCreditExport amount.\r\n * @member {string} amount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n */\r\n AppropriationCreditExport.prototype.amount = \"\";\r\n\r\n /**\r\n * AppropriationCreditExport cardNo.\r\n * @member {string} cardNo\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n */\r\n AppropriationCreditExport.prototype.cardNo = \"\";\r\n\r\n /**\r\n * AppropriationCreditExport cardType.\r\n * @member {string} cardType\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n */\r\n AppropriationCreditExport.prototype.cardType = \"\";\r\n\r\n /**\r\n * AppropriationCreditExport orderNo.\r\n * @member {string} orderNo\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n */\r\n AppropriationCreditExport.prototype.orderNo = \"\";\r\n\r\n /**\r\n * AppropriationCreditExport issuer.\r\n * @member {string} issuer\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n */\r\n AppropriationCreditExport.prototype.issuer = \"\";\r\n\r\n /**\r\n * AppropriationCreditExport installCode.\r\n * @member {string} installCode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n */\r\n AppropriationCreditExport.prototype.installCode = \"\";\r\n\r\n /**\r\n * AppropriationCreditExport installTimes.\r\n * @member {string} installTimes\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n */\r\n AppropriationCreditExport.prototype.installTimes = \"\";\r\n\r\n /**\r\n * AppropriationCreditExport settleCode.\r\n * @member {string} settleCode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n */\r\n AppropriationCreditExport.prototype.settleCode = \"\";\r\n\r\n /**\r\n * AppropriationCreditExport qrFlag.\r\n * @member {string} qrFlag\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n */\r\n AppropriationCreditExport.prototype.qrFlag = \"\";\r\n\r\n /**\r\n * AppropriationCreditExport stan.\r\n * @member {string} stan\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n */\r\n AppropriationCreditExport.prototype.stan = \"\";\r\n\r\n /**\r\n * AppropriationCreditExport quotaFlag.\r\n * @member {string} quotaFlag\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n */\r\n AppropriationCreditExport.prototype.quotaFlag = \"\";\r\n\r\n /**\r\n * AppropriationCreditExport charge.\r\n * @member {string} charge\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n */\r\n AppropriationCreditExport.prototype.charge = \"\";\r\n\r\n /**\r\n * Creates a new AppropriationCreditExport instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCreditExport=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCreditExport} AppropriationCreditExport instance\r\n */\r\n AppropriationCreditExport.create = function create(properties) {\r\n return new AppropriationCreditExport(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationCreditExport message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationCreditExport.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCreditExport} message AppropriationCreditExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationCreditExport.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.storeCode != null && Object.hasOwnProperty.call(message, \"storeCode\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.storeCode);\r\n if (message.registerName != null && Object.hasOwnProperty.call(message, \"registerName\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.registerName);\r\n if (message.terminalNo != null && Object.hasOwnProperty.call(message, \"terminalNo\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.terminalNo);\r\n if (message.date != null && Object.hasOwnProperty.call(message, \"date\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.date);\r\n if (message.submitDate != null && Object.hasOwnProperty.call(message, \"submitDate\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.submitDate);\r\n if (message.batchNo != null && Object.hasOwnProperty.call(message, \"batchNo\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.batchNo);\r\n if (message.transDate != null && Object.hasOwnProperty.call(message, \"transDate\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.transDate);\r\n if (message.transTime != null && Object.hasOwnProperty.call(message, \"transTime\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.transTime);\r\n if (message.code != null && Object.hasOwnProperty.call(message, \"code\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.code);\r\n if (message.authCode != null && Object.hasOwnProperty.call(message, \"authCode\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.authCode);\r\n if (message.amount != null && Object.hasOwnProperty.call(message, \"amount\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.amount);\r\n if (message.cardNo != null && Object.hasOwnProperty.call(message, \"cardNo\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.cardNo);\r\n if (message.cardType != null && Object.hasOwnProperty.call(message, \"cardType\"))\r\n writer.uint32(/* id 13, wireType 2 =*/106).string(message.cardType);\r\n if (message.orderNo != null && Object.hasOwnProperty.call(message, \"orderNo\"))\r\n writer.uint32(/* id 14, wireType 2 =*/114).string(message.orderNo);\r\n if (message.issuer != null && Object.hasOwnProperty.call(message, \"issuer\"))\r\n writer.uint32(/* id 15, wireType 2 =*/122).string(message.issuer);\r\n if (message.installCode != null && Object.hasOwnProperty.call(message, \"installCode\"))\r\n writer.uint32(/* id 16, wireType 2 =*/130).string(message.installCode);\r\n if (message.installTimes != null && Object.hasOwnProperty.call(message, \"installTimes\"))\r\n writer.uint32(/* id 17, wireType 2 =*/138).string(message.installTimes);\r\n if (message.settleCode != null && Object.hasOwnProperty.call(message, \"settleCode\"))\r\n writer.uint32(/* id 18, wireType 2 =*/146).string(message.settleCode);\r\n if (message.qrFlag != null && Object.hasOwnProperty.call(message, \"qrFlag\"))\r\n writer.uint32(/* id 19, wireType 2 =*/154).string(message.qrFlag);\r\n if (message.stan != null && Object.hasOwnProperty.call(message, \"stan\"))\r\n writer.uint32(/* id 20, wireType 2 =*/162).string(message.stan);\r\n if (message.quotaFlag != null && Object.hasOwnProperty.call(message, \"quotaFlag\"))\r\n writer.uint32(/* id 21, wireType 2 =*/170).string(message.quotaFlag);\r\n if (message.charge != null && Object.hasOwnProperty.call(message, \"charge\"))\r\n writer.uint32(/* id 22, wireType 2 =*/178).string(message.charge);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationCreditExport message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationCreditExport.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationCreditExport} message AppropriationCreditExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationCreditExport.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationCreditExport message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCreditExport} AppropriationCreditExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationCreditExport.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationCreditExport();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.storeCode = reader.string();\r\n break;\r\n case 2:\r\n message.registerName = reader.string();\r\n break;\r\n case 3:\r\n message.terminalNo = reader.string();\r\n break;\r\n case 4:\r\n message.date = reader.string();\r\n break;\r\n case 5:\r\n message.submitDate = reader.string();\r\n break;\r\n case 6:\r\n message.batchNo = reader.string();\r\n break;\r\n case 7:\r\n message.transDate = reader.string();\r\n break;\r\n case 8:\r\n message.transTime = reader.string();\r\n break;\r\n case 9:\r\n message.code = reader.string();\r\n break;\r\n case 10:\r\n message.authCode = reader.string();\r\n break;\r\n case 11:\r\n message.amount = reader.string();\r\n break;\r\n case 12:\r\n message.cardNo = reader.string();\r\n break;\r\n case 13:\r\n message.cardType = reader.string();\r\n break;\r\n case 14:\r\n message.orderNo = reader.string();\r\n break;\r\n case 15:\r\n message.issuer = reader.string();\r\n break;\r\n case 16:\r\n message.installCode = reader.string();\r\n break;\r\n case 17:\r\n message.installTimes = reader.string();\r\n break;\r\n case 18:\r\n message.settleCode = reader.string();\r\n break;\r\n case 19:\r\n message.qrFlag = reader.string();\r\n break;\r\n case 20:\r\n message.stan = reader.string();\r\n break;\r\n case 21:\r\n message.quotaFlag = reader.string();\r\n break;\r\n case 22:\r\n message.charge = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationCreditExport message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCreditExport} AppropriationCreditExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationCreditExport.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationCreditExport message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationCreditExport.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n if (!$util.isString(message.storeCode))\r\n return \"storeCode: string expected\";\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n if (!$util.isString(message.registerName))\r\n return \"registerName: string expected\";\r\n if (message.terminalNo != null && message.hasOwnProperty(\"terminalNo\"))\r\n if (!$util.isString(message.terminalNo))\r\n return \"terminalNo: string expected\";\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n if (!$util.isString(message.date))\r\n return \"date: string expected\";\r\n if (message.submitDate != null && message.hasOwnProperty(\"submitDate\"))\r\n if (!$util.isString(message.submitDate))\r\n return \"submitDate: string expected\";\r\n if (message.batchNo != null && message.hasOwnProperty(\"batchNo\"))\r\n if (!$util.isString(message.batchNo))\r\n return \"batchNo: string expected\";\r\n if (message.transDate != null && message.hasOwnProperty(\"transDate\"))\r\n if (!$util.isString(message.transDate))\r\n return \"transDate: string expected\";\r\n if (message.transTime != null && message.hasOwnProperty(\"transTime\"))\r\n if (!$util.isString(message.transTime))\r\n return \"transTime: string expected\";\r\n if (message.code != null && message.hasOwnProperty(\"code\"))\r\n if (!$util.isString(message.code))\r\n return \"code: string expected\";\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n if (!$util.isString(message.authCode))\r\n return \"authCode: string expected\";\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n if (!$util.isString(message.amount))\r\n return \"amount: string expected\";\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n if (!$util.isString(message.cardNo))\r\n return \"cardNo: string expected\";\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n if (!$util.isString(message.cardType))\r\n return \"cardType: string expected\";\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n if (!$util.isString(message.orderNo))\r\n return \"orderNo: string expected\";\r\n if (message.issuer != null && message.hasOwnProperty(\"issuer\"))\r\n if (!$util.isString(message.issuer))\r\n return \"issuer: string expected\";\r\n if (message.installCode != null && message.hasOwnProperty(\"installCode\"))\r\n if (!$util.isString(message.installCode))\r\n return \"installCode: string expected\";\r\n if (message.installTimes != null && message.hasOwnProperty(\"installTimes\"))\r\n if (!$util.isString(message.installTimes))\r\n return \"installTimes: string expected\";\r\n if (message.settleCode != null && message.hasOwnProperty(\"settleCode\"))\r\n if (!$util.isString(message.settleCode))\r\n return \"settleCode: string expected\";\r\n if (message.qrFlag != null && message.hasOwnProperty(\"qrFlag\"))\r\n if (!$util.isString(message.qrFlag))\r\n return \"qrFlag: string expected\";\r\n if (message.stan != null && message.hasOwnProperty(\"stan\"))\r\n if (!$util.isString(message.stan))\r\n return \"stan: string expected\";\r\n if (message.quotaFlag != null && message.hasOwnProperty(\"quotaFlag\"))\r\n if (!$util.isString(message.quotaFlag))\r\n return \"quotaFlag: string expected\";\r\n if (message.charge != null && message.hasOwnProperty(\"charge\"))\r\n if (!$util.isString(message.charge))\r\n return \"charge: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationCreditExport message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationCreditExport} AppropriationCreditExport\r\n */\r\n AppropriationCreditExport.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationCreditExport)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationCreditExport();\r\n if (object.storeCode != null)\r\n message.storeCode = String(object.storeCode);\r\n if (object.registerName != null)\r\n message.registerName = String(object.registerName);\r\n if (object.terminalNo != null)\r\n message.terminalNo = String(object.terminalNo);\r\n if (object.date != null)\r\n message.date = String(object.date);\r\n if (object.submitDate != null)\r\n message.submitDate = String(object.submitDate);\r\n if (object.batchNo != null)\r\n message.batchNo = String(object.batchNo);\r\n if (object.transDate != null)\r\n message.transDate = String(object.transDate);\r\n if (object.transTime != null)\r\n message.transTime = String(object.transTime);\r\n if (object.code != null)\r\n message.code = String(object.code);\r\n if (object.authCode != null)\r\n message.authCode = String(object.authCode);\r\n if (object.amount != null)\r\n message.amount = String(object.amount);\r\n if (object.cardNo != null)\r\n message.cardNo = String(object.cardNo);\r\n if (object.cardType != null)\r\n message.cardType = String(object.cardType);\r\n if (object.orderNo != null)\r\n message.orderNo = String(object.orderNo);\r\n if (object.issuer != null)\r\n message.issuer = String(object.issuer);\r\n if (object.installCode != null)\r\n message.installCode = String(object.installCode);\r\n if (object.installTimes != null)\r\n message.installTimes = String(object.installTimes);\r\n if (object.settleCode != null)\r\n message.settleCode = String(object.settleCode);\r\n if (object.qrFlag != null)\r\n message.qrFlag = String(object.qrFlag);\r\n if (object.stan != null)\r\n message.stan = String(object.stan);\r\n if (object.quotaFlag != null)\r\n message.quotaFlag = String(object.quotaFlag);\r\n if (object.charge != null)\r\n message.charge = String(object.charge);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationCreditExport message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationCreditExport} message AppropriationCreditExport\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationCreditExport.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.storeCode = \"\";\r\n object.registerName = \"\";\r\n object.terminalNo = \"\";\r\n object.date = \"\";\r\n object.submitDate = \"\";\r\n object.batchNo = \"\";\r\n object.transDate = \"\";\r\n object.transTime = \"\";\r\n object.code = \"\";\r\n object.authCode = \"\";\r\n object.amount = \"\";\r\n object.cardNo = \"\";\r\n object.cardType = \"\";\r\n object.orderNo = \"\";\r\n object.issuer = \"\";\r\n object.installCode = \"\";\r\n object.installTimes = \"\";\r\n object.settleCode = \"\";\r\n object.qrFlag = \"\";\r\n object.stan = \"\";\r\n object.quotaFlag = \"\";\r\n object.charge = \"\";\r\n }\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n object.storeCode = message.storeCode;\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n object.registerName = message.registerName;\r\n if (message.terminalNo != null && message.hasOwnProperty(\"terminalNo\"))\r\n object.terminalNo = message.terminalNo;\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n object.date = message.date;\r\n if (message.submitDate != null && message.hasOwnProperty(\"submitDate\"))\r\n object.submitDate = message.submitDate;\r\n if (message.batchNo != null && message.hasOwnProperty(\"batchNo\"))\r\n object.batchNo = message.batchNo;\r\n if (message.transDate != null && message.hasOwnProperty(\"transDate\"))\r\n object.transDate = message.transDate;\r\n if (message.transTime != null && message.hasOwnProperty(\"transTime\"))\r\n object.transTime = message.transTime;\r\n if (message.code != null && message.hasOwnProperty(\"code\"))\r\n object.code = message.code;\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n object.authCode = message.authCode;\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n object.amount = message.amount;\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n object.cardNo = message.cardNo;\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n object.cardType = message.cardType;\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n object.orderNo = message.orderNo;\r\n if (message.issuer != null && message.hasOwnProperty(\"issuer\"))\r\n object.issuer = message.issuer;\r\n if (message.installCode != null && message.hasOwnProperty(\"installCode\"))\r\n object.installCode = message.installCode;\r\n if (message.installTimes != null && message.hasOwnProperty(\"installTimes\"))\r\n object.installTimes = message.installTimes;\r\n if (message.settleCode != null && message.hasOwnProperty(\"settleCode\"))\r\n object.settleCode = message.settleCode;\r\n if (message.qrFlag != null && message.hasOwnProperty(\"qrFlag\"))\r\n object.qrFlag = message.qrFlag;\r\n if (message.stan != null && message.hasOwnProperty(\"stan\"))\r\n object.stan = message.stan;\r\n if (message.quotaFlag != null && message.hasOwnProperty(\"quotaFlag\"))\r\n object.quotaFlag = message.quotaFlag;\r\n if (message.charge != null && message.hasOwnProperty(\"charge\"))\r\n object.charge = message.charge;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationCreditExport to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationCreditExport\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationCreditExport.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationCreditExport;\r\n })();\r\n\r\n Protobuf.AppropriationAlipayExport = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationAlipayExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationAlipayExport\r\n * @property {string|null} [storeCode] AppropriationAlipayExport storeCode\r\n * @property {string|null} [registerName] AppropriationAlipayExport registerName\r\n * @property {string|null} [date] AppropriationAlipayExport date\r\n * @property {string|null} [submitDate] AppropriationAlipayExport submitDate\r\n * @property {string|null} [transDate] AppropriationAlipayExport transDate\r\n * @property {string|null} [transTime] AppropriationAlipayExport transTime\r\n * @property {string|null} [code] AppropriationAlipayExport code\r\n * @property {string|null} [abroadAmount] AppropriationAlipayExport abroadAmount\r\n * @property {string|null} [amount] AppropriationAlipayExport amount\r\n * @property {string|null} [storeCharge] AppropriationAlipayExport storeCharge\r\n * @property {string|null} [consumerCharge] AppropriationAlipayExport consumerCharge\r\n * @property {string|null} [orderNo] AppropriationAlipayExport orderNo\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationAlipayExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationAlipayExport.\r\n * @implements IAppropriationAlipayExport\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationAlipayExport=} [properties] Properties to set\r\n */\r\n function AppropriationAlipayExport(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationAlipayExport storeCode.\r\n * @member {string} storeCode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayExport\r\n * @instance\r\n */\r\n AppropriationAlipayExport.prototype.storeCode = \"\";\r\n\r\n /**\r\n * AppropriationAlipayExport registerName.\r\n * @member {string} registerName\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayExport\r\n * @instance\r\n */\r\n AppropriationAlipayExport.prototype.registerName = \"\";\r\n\r\n /**\r\n * AppropriationAlipayExport date.\r\n * @member {string} date\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayExport\r\n * @instance\r\n */\r\n AppropriationAlipayExport.prototype.date = \"\";\r\n\r\n /**\r\n * AppropriationAlipayExport submitDate.\r\n * @member {string} submitDate\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayExport\r\n * @instance\r\n */\r\n AppropriationAlipayExport.prototype.submitDate = \"\";\r\n\r\n /**\r\n * AppropriationAlipayExport transDate.\r\n * @member {string} transDate\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayExport\r\n * @instance\r\n */\r\n AppropriationAlipayExport.prototype.transDate = \"\";\r\n\r\n /**\r\n * AppropriationAlipayExport transTime.\r\n * @member {string} transTime\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayExport\r\n * @instance\r\n */\r\n AppropriationAlipayExport.prototype.transTime = \"\";\r\n\r\n /**\r\n * AppropriationAlipayExport code.\r\n * @member {string} code\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayExport\r\n * @instance\r\n */\r\n AppropriationAlipayExport.prototype.code = \"\";\r\n\r\n /**\r\n * AppropriationAlipayExport abroadAmount.\r\n * @member {string} abroadAmount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayExport\r\n * @instance\r\n */\r\n AppropriationAlipayExport.prototype.abroadAmount = \"\";\r\n\r\n /**\r\n * AppropriationAlipayExport amount.\r\n * @member {string} amount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayExport\r\n * @instance\r\n */\r\n AppropriationAlipayExport.prototype.amount = \"\";\r\n\r\n /**\r\n * AppropriationAlipayExport storeCharge.\r\n * @member {string} storeCharge\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayExport\r\n * @instance\r\n */\r\n AppropriationAlipayExport.prototype.storeCharge = \"\";\r\n\r\n /**\r\n * AppropriationAlipayExport consumerCharge.\r\n * @member {string} consumerCharge\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayExport\r\n * @instance\r\n */\r\n AppropriationAlipayExport.prototype.consumerCharge = \"\";\r\n\r\n /**\r\n * AppropriationAlipayExport orderNo.\r\n * @member {string} orderNo\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayExport\r\n * @instance\r\n */\r\n AppropriationAlipayExport.prototype.orderNo = \"\";\r\n\r\n /**\r\n * Creates a new AppropriationAlipayExport instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationAlipayExport=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationAlipayExport} AppropriationAlipayExport instance\r\n */\r\n AppropriationAlipayExport.create = function create(properties) {\r\n return new AppropriationAlipayExport(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationAlipayExport message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationAlipayExport.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationAlipayExport} message AppropriationAlipayExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationAlipayExport.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.storeCode != null && Object.hasOwnProperty.call(message, \"storeCode\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.storeCode);\r\n if (message.registerName != null && Object.hasOwnProperty.call(message, \"registerName\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.registerName);\r\n if (message.date != null && Object.hasOwnProperty.call(message, \"date\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.date);\r\n if (message.submitDate != null && Object.hasOwnProperty.call(message, \"submitDate\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.submitDate);\r\n if (message.transDate != null && Object.hasOwnProperty.call(message, \"transDate\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.transDate);\r\n if (message.transTime != null && Object.hasOwnProperty.call(message, \"transTime\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.transTime);\r\n if (message.code != null && Object.hasOwnProperty.call(message, \"code\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.code);\r\n if (message.abroadAmount != null && Object.hasOwnProperty.call(message, \"abroadAmount\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.abroadAmount);\r\n if (message.amount != null && Object.hasOwnProperty.call(message, \"amount\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.amount);\r\n if (message.storeCharge != null && Object.hasOwnProperty.call(message, \"storeCharge\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.storeCharge);\r\n if (message.consumerCharge != null && Object.hasOwnProperty.call(message, \"consumerCharge\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.consumerCharge);\r\n if (message.orderNo != null && Object.hasOwnProperty.call(message, \"orderNo\"))\r\n writer.uint32(/* id 13, wireType 2 =*/106).string(message.orderNo);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationAlipayExport message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationAlipayExport.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationAlipayExport} message AppropriationAlipayExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationAlipayExport.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationAlipayExport message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationAlipayExport} AppropriationAlipayExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationAlipayExport.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationAlipayExport();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.storeCode = reader.string();\r\n break;\r\n case 2:\r\n message.registerName = reader.string();\r\n break;\r\n case 3:\r\n message.date = reader.string();\r\n break;\r\n case 4:\r\n message.submitDate = reader.string();\r\n break;\r\n case 5:\r\n message.transDate = reader.string();\r\n break;\r\n case 6:\r\n message.transTime = reader.string();\r\n break;\r\n case 7:\r\n message.code = reader.string();\r\n break;\r\n case 9:\r\n message.abroadAmount = reader.string();\r\n break;\r\n case 10:\r\n message.amount = reader.string();\r\n break;\r\n case 11:\r\n message.storeCharge = reader.string();\r\n break;\r\n case 12:\r\n message.consumerCharge = reader.string();\r\n break;\r\n case 13:\r\n message.orderNo = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationAlipayExport message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationAlipayExport} AppropriationAlipayExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationAlipayExport.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationAlipayExport message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayExport\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationAlipayExport.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n if (!$util.isString(message.storeCode))\r\n return \"storeCode: string expected\";\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n if (!$util.isString(message.registerName))\r\n return \"registerName: string expected\";\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n if (!$util.isString(message.date))\r\n return \"date: string expected\";\r\n if (message.submitDate != null && message.hasOwnProperty(\"submitDate\"))\r\n if (!$util.isString(message.submitDate))\r\n return \"submitDate: string expected\";\r\n if (message.transDate != null && message.hasOwnProperty(\"transDate\"))\r\n if (!$util.isString(message.transDate))\r\n return \"transDate: string expected\";\r\n if (message.transTime != null && message.hasOwnProperty(\"transTime\"))\r\n if (!$util.isString(message.transTime))\r\n return \"transTime: string expected\";\r\n if (message.code != null && message.hasOwnProperty(\"code\"))\r\n if (!$util.isString(message.code))\r\n return \"code: string expected\";\r\n if (message.abroadAmount != null && message.hasOwnProperty(\"abroadAmount\"))\r\n if (!$util.isString(message.abroadAmount))\r\n return \"abroadAmount: string expected\";\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n if (!$util.isString(message.amount))\r\n return \"amount: string expected\";\r\n if (message.storeCharge != null && message.hasOwnProperty(\"storeCharge\"))\r\n if (!$util.isString(message.storeCharge))\r\n return \"storeCharge: string expected\";\r\n if (message.consumerCharge != null && message.hasOwnProperty(\"consumerCharge\"))\r\n if (!$util.isString(message.consumerCharge))\r\n return \"consumerCharge: string expected\";\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n if (!$util.isString(message.orderNo))\r\n return \"orderNo: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationAlipayExport message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayExport\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationAlipayExport} AppropriationAlipayExport\r\n */\r\n AppropriationAlipayExport.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationAlipayExport)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationAlipayExport();\r\n if (object.storeCode != null)\r\n message.storeCode = String(object.storeCode);\r\n if (object.registerName != null)\r\n message.registerName = String(object.registerName);\r\n if (object.date != null)\r\n message.date = String(object.date);\r\n if (object.submitDate != null)\r\n message.submitDate = String(object.submitDate);\r\n if (object.transDate != null)\r\n message.transDate = String(object.transDate);\r\n if (object.transTime != null)\r\n message.transTime = String(object.transTime);\r\n if (object.code != null)\r\n message.code = String(object.code);\r\n if (object.abroadAmount != null)\r\n message.abroadAmount = String(object.abroadAmount);\r\n if (object.amount != null)\r\n message.amount = String(object.amount);\r\n if (object.storeCharge != null)\r\n message.storeCharge = String(object.storeCharge);\r\n if (object.consumerCharge != null)\r\n message.consumerCharge = String(object.consumerCharge);\r\n if (object.orderNo != null)\r\n message.orderNo = String(object.orderNo);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationAlipayExport message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationAlipayExport} message AppropriationAlipayExport\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationAlipayExport.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.storeCode = \"\";\r\n object.registerName = \"\";\r\n object.date = \"\";\r\n object.submitDate = \"\";\r\n object.transDate = \"\";\r\n object.transTime = \"\";\r\n object.code = \"\";\r\n object.abroadAmount = \"\";\r\n object.amount = \"\";\r\n object.storeCharge = \"\";\r\n object.consumerCharge = \"\";\r\n object.orderNo = \"\";\r\n }\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n object.storeCode = message.storeCode;\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n object.registerName = message.registerName;\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n object.date = message.date;\r\n if (message.submitDate != null && message.hasOwnProperty(\"submitDate\"))\r\n object.submitDate = message.submitDate;\r\n if (message.transDate != null && message.hasOwnProperty(\"transDate\"))\r\n object.transDate = message.transDate;\r\n if (message.transTime != null && message.hasOwnProperty(\"transTime\"))\r\n object.transTime = message.transTime;\r\n if (message.code != null && message.hasOwnProperty(\"code\"))\r\n object.code = message.code;\r\n if (message.abroadAmount != null && message.hasOwnProperty(\"abroadAmount\"))\r\n object.abroadAmount = message.abroadAmount;\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n object.amount = message.amount;\r\n if (message.storeCharge != null && message.hasOwnProperty(\"storeCharge\"))\r\n object.storeCharge = message.storeCharge;\r\n if (message.consumerCharge != null && message.hasOwnProperty(\"consumerCharge\"))\r\n object.consumerCharge = message.consumerCharge;\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n object.orderNo = message.orderNo;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationAlipayExport to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationAlipayExport\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationAlipayExport.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationAlipayExport;\r\n })();\r\n\r\n Protobuf.AppropriationMotifyExport = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationMotifyExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationMotifyExport\r\n * @property {string|null} [storeCode] AppropriationMotifyExport storeCode\r\n * @property {string|null} [registerName] AppropriationMotifyExport registerName\r\n * @property {string|null} [date] AppropriationMotifyExport date\r\n * @property {string|null} [reimbursementDate] AppropriationMotifyExport reimbursementDate\r\n * @property {string|null} [batchNo] AppropriationMotifyExport batchNo\r\n * @property {string|null} [motifyAmount] AppropriationMotifyExport motifyAmount\r\n * @property {string|null} [motifyCharge] AppropriationMotifyExport motifyCharge\r\n * @property {string|null} [description] AppropriationMotifyExport description\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationMotifyExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationMotifyExport.\r\n * @implements IAppropriationMotifyExport\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationMotifyExport=} [properties] Properties to set\r\n */\r\n function AppropriationMotifyExport(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationMotifyExport storeCode.\r\n * @member {string} storeCode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyExport\r\n * @instance\r\n */\r\n AppropriationMotifyExport.prototype.storeCode = \"\";\r\n\r\n /**\r\n * AppropriationMotifyExport registerName.\r\n * @member {string} registerName\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyExport\r\n * @instance\r\n */\r\n AppropriationMotifyExport.prototype.registerName = \"\";\r\n\r\n /**\r\n * AppropriationMotifyExport date.\r\n * @member {string} date\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyExport\r\n * @instance\r\n */\r\n AppropriationMotifyExport.prototype.date = \"\";\r\n\r\n /**\r\n * AppropriationMotifyExport reimbursementDate.\r\n * @member {string} reimbursementDate\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyExport\r\n * @instance\r\n */\r\n AppropriationMotifyExport.prototype.reimbursementDate = \"\";\r\n\r\n /**\r\n * AppropriationMotifyExport batchNo.\r\n * @member {string} batchNo\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyExport\r\n * @instance\r\n */\r\n AppropriationMotifyExport.prototype.batchNo = \"\";\r\n\r\n /**\r\n * AppropriationMotifyExport motifyAmount.\r\n * @member {string} motifyAmount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyExport\r\n * @instance\r\n */\r\n AppropriationMotifyExport.prototype.motifyAmount = \"\";\r\n\r\n /**\r\n * AppropriationMotifyExport motifyCharge.\r\n * @member {string} motifyCharge\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyExport\r\n * @instance\r\n */\r\n AppropriationMotifyExport.prototype.motifyCharge = \"\";\r\n\r\n /**\r\n * AppropriationMotifyExport description.\r\n * @member {string} description\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyExport\r\n * @instance\r\n */\r\n AppropriationMotifyExport.prototype.description = \"\";\r\n\r\n /**\r\n * Creates a new AppropriationMotifyExport instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationMotifyExport=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationMotifyExport} AppropriationMotifyExport instance\r\n */\r\n AppropriationMotifyExport.create = function create(properties) {\r\n return new AppropriationMotifyExport(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationMotifyExport message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationMotifyExport.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationMotifyExport} message AppropriationMotifyExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationMotifyExport.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.storeCode != null && Object.hasOwnProperty.call(message, \"storeCode\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.storeCode);\r\n if (message.registerName != null && Object.hasOwnProperty.call(message, \"registerName\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.registerName);\r\n if (message.date != null && Object.hasOwnProperty.call(message, \"date\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.date);\r\n if (message.reimbursementDate != null && Object.hasOwnProperty.call(message, \"reimbursementDate\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.reimbursementDate);\r\n if (message.batchNo != null && Object.hasOwnProperty.call(message, \"batchNo\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.batchNo);\r\n if (message.motifyAmount != null && Object.hasOwnProperty.call(message, \"motifyAmount\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.motifyAmount);\r\n if (message.motifyCharge != null && Object.hasOwnProperty.call(message, \"motifyCharge\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.motifyCharge);\r\n if (message.description != null && Object.hasOwnProperty.call(message, \"description\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.description);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationMotifyExport message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationMotifyExport.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationMotifyExport} message AppropriationMotifyExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationMotifyExport.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationMotifyExport message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationMotifyExport} AppropriationMotifyExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationMotifyExport.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationMotifyExport();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.storeCode = reader.string();\r\n break;\r\n case 2:\r\n message.registerName = reader.string();\r\n break;\r\n case 3:\r\n message.date = reader.string();\r\n break;\r\n case 4:\r\n message.reimbursementDate = reader.string();\r\n break;\r\n case 5:\r\n message.batchNo = reader.string();\r\n break;\r\n case 6:\r\n message.motifyAmount = reader.string();\r\n break;\r\n case 7:\r\n message.motifyCharge = reader.string();\r\n break;\r\n case 8:\r\n message.description = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationMotifyExport message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationMotifyExport} AppropriationMotifyExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationMotifyExport.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationMotifyExport message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyExport\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationMotifyExport.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n if (!$util.isString(message.storeCode))\r\n return \"storeCode: string expected\";\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n if (!$util.isString(message.registerName))\r\n return \"registerName: string expected\";\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n if (!$util.isString(message.date))\r\n return \"date: string expected\";\r\n if (message.reimbursementDate != null && message.hasOwnProperty(\"reimbursementDate\"))\r\n if (!$util.isString(message.reimbursementDate))\r\n return \"reimbursementDate: string expected\";\r\n if (message.batchNo != null && message.hasOwnProperty(\"batchNo\"))\r\n if (!$util.isString(message.batchNo))\r\n return \"batchNo: string expected\";\r\n if (message.motifyAmount != null && message.hasOwnProperty(\"motifyAmount\"))\r\n if (!$util.isString(message.motifyAmount))\r\n return \"motifyAmount: string expected\";\r\n if (message.motifyCharge != null && message.hasOwnProperty(\"motifyCharge\"))\r\n if (!$util.isString(message.motifyCharge))\r\n return \"motifyCharge: string expected\";\r\n if (message.description != null && message.hasOwnProperty(\"description\"))\r\n if (!$util.isString(message.description))\r\n return \"description: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationMotifyExport message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyExport\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationMotifyExport} AppropriationMotifyExport\r\n */\r\n AppropriationMotifyExport.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationMotifyExport)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationMotifyExport();\r\n if (object.storeCode != null)\r\n message.storeCode = String(object.storeCode);\r\n if (object.registerName != null)\r\n message.registerName = String(object.registerName);\r\n if (object.date != null)\r\n message.date = String(object.date);\r\n if (object.reimbursementDate != null)\r\n message.reimbursementDate = String(object.reimbursementDate);\r\n if (object.batchNo != null)\r\n message.batchNo = String(object.batchNo);\r\n if (object.motifyAmount != null)\r\n message.motifyAmount = String(object.motifyAmount);\r\n if (object.motifyCharge != null)\r\n message.motifyCharge = String(object.motifyCharge);\r\n if (object.description != null)\r\n message.description = String(object.description);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationMotifyExport message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationMotifyExport} message AppropriationMotifyExport\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationMotifyExport.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.storeCode = \"\";\r\n object.registerName = \"\";\r\n object.date = \"\";\r\n object.reimbursementDate = \"\";\r\n object.batchNo = \"\";\r\n object.motifyAmount = \"\";\r\n object.motifyCharge = \"\";\r\n object.description = \"\";\r\n }\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n object.storeCode = message.storeCode;\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n object.registerName = message.registerName;\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n object.date = message.date;\r\n if (message.reimbursementDate != null && message.hasOwnProperty(\"reimbursementDate\"))\r\n object.reimbursementDate = message.reimbursementDate;\r\n if (message.batchNo != null && message.hasOwnProperty(\"batchNo\"))\r\n object.batchNo = message.batchNo;\r\n if (message.motifyAmount != null && message.hasOwnProperty(\"motifyAmount\"))\r\n object.motifyAmount = message.motifyAmount;\r\n if (message.motifyCharge != null && message.hasOwnProperty(\"motifyCharge\"))\r\n object.motifyCharge = message.motifyCharge;\r\n if (message.description != null && message.hasOwnProperty(\"description\"))\r\n object.description = message.description;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationMotifyExport to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationMotifyExport\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationMotifyExport.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationMotifyExport;\r\n })();\r\n\r\n Protobuf.AppropriationSummaryExport = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationSummaryExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationSummaryExport\r\n * @property {string|null} [storeCode] AppropriationSummaryExport storeCode\r\n * @property {string|null} [registerName] AppropriationSummaryExport registerName\r\n * @property {string|null} [terminalNo] AppropriationSummaryExport terminalNo\r\n * @property {string|null} [date] AppropriationSummaryExport date\r\n * @property {string|null} [typeFlag] AppropriationSummaryExport typeFlag\r\n * @property {string|null} [submitDate] AppropriationSummaryExport submitDate\r\n * @property {string|null} [totalCount] AppropriationSummaryExport totalCount\r\n * @property {string|null} [totalAmount] AppropriationSummaryExport totalAmount\r\n * @property {string|null} [salesCount] AppropriationSummaryExport salesCount\r\n * @property {string|null} [salesAmount] AppropriationSummaryExport salesAmount\r\n * @property {string|null} [returnCount] AppropriationSummaryExport returnCount\r\n * @property {string|null} [returnAmount] AppropriationSummaryExport returnAmount\r\n * @property {string|null} [charge] AppropriationSummaryExport charge\r\n * @property {string|null} [ifr] AppropriationSummaryExport ifr\r\n * @property {string|null} [motifyAmount] AppropriationSummaryExport motifyAmount\r\n * @property {string|null} [motifyCharge] AppropriationSummaryExport motifyCharge\r\n * @property {string|null} [installRate] AppropriationSummaryExport installRate\r\n * @property {string|null} [chargeRate] AppropriationSummaryExport chargeRate\r\n * @property {string|null} [netAmount] AppropriationSummaryExport netAmount\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationSummaryExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationSummaryExport.\r\n * @implements IAppropriationSummaryExport\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryExport=} [properties] Properties to set\r\n */\r\n function AppropriationSummaryExport(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationSummaryExport storeCode.\r\n * @member {string} storeCode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @instance\r\n */\r\n AppropriationSummaryExport.prototype.storeCode = \"\";\r\n\r\n /**\r\n * AppropriationSummaryExport registerName.\r\n * @member {string} registerName\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @instance\r\n */\r\n AppropriationSummaryExport.prototype.registerName = \"\";\r\n\r\n /**\r\n * AppropriationSummaryExport terminalNo.\r\n * @member {string} terminalNo\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @instance\r\n */\r\n AppropriationSummaryExport.prototype.terminalNo = \"\";\r\n\r\n /**\r\n * AppropriationSummaryExport date.\r\n * @member {string} date\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @instance\r\n */\r\n AppropriationSummaryExport.prototype.date = \"\";\r\n\r\n /**\r\n * AppropriationSummaryExport typeFlag.\r\n * @member {string} typeFlag\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @instance\r\n */\r\n AppropriationSummaryExport.prototype.typeFlag = \"\";\r\n\r\n /**\r\n * AppropriationSummaryExport submitDate.\r\n * @member {string} submitDate\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @instance\r\n */\r\n AppropriationSummaryExport.prototype.submitDate = \"\";\r\n\r\n /**\r\n * AppropriationSummaryExport totalCount.\r\n * @member {string} totalCount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @instance\r\n */\r\n AppropriationSummaryExport.prototype.totalCount = \"\";\r\n\r\n /**\r\n * AppropriationSummaryExport totalAmount.\r\n * @member {string} totalAmount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @instance\r\n */\r\n AppropriationSummaryExport.prototype.totalAmount = \"\";\r\n\r\n /**\r\n * AppropriationSummaryExport salesCount.\r\n * @member {string} salesCount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @instance\r\n */\r\n AppropriationSummaryExport.prototype.salesCount = \"\";\r\n\r\n /**\r\n * AppropriationSummaryExport salesAmount.\r\n * @member {string} salesAmount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @instance\r\n */\r\n AppropriationSummaryExport.prototype.salesAmount = \"\";\r\n\r\n /**\r\n * AppropriationSummaryExport returnCount.\r\n * @member {string} returnCount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @instance\r\n */\r\n AppropriationSummaryExport.prototype.returnCount = \"\";\r\n\r\n /**\r\n * AppropriationSummaryExport returnAmount.\r\n * @member {string} returnAmount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @instance\r\n */\r\n AppropriationSummaryExport.prototype.returnAmount = \"\";\r\n\r\n /**\r\n * AppropriationSummaryExport charge.\r\n * @member {string} charge\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @instance\r\n */\r\n AppropriationSummaryExport.prototype.charge = \"\";\r\n\r\n /**\r\n * AppropriationSummaryExport ifr.\r\n * @member {string} ifr\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @instance\r\n */\r\n AppropriationSummaryExport.prototype.ifr = \"\";\r\n\r\n /**\r\n * AppropriationSummaryExport motifyAmount.\r\n * @member {string} motifyAmount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @instance\r\n */\r\n AppropriationSummaryExport.prototype.motifyAmount = \"\";\r\n\r\n /**\r\n * AppropriationSummaryExport motifyCharge.\r\n * @member {string} motifyCharge\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @instance\r\n */\r\n AppropriationSummaryExport.prototype.motifyCharge = \"\";\r\n\r\n /**\r\n * AppropriationSummaryExport installRate.\r\n * @member {string} installRate\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @instance\r\n */\r\n AppropriationSummaryExport.prototype.installRate = \"\";\r\n\r\n /**\r\n * AppropriationSummaryExport chargeRate.\r\n * @member {string} chargeRate\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @instance\r\n */\r\n AppropriationSummaryExport.prototype.chargeRate = \"\";\r\n\r\n /**\r\n * AppropriationSummaryExport netAmount.\r\n * @member {string} netAmount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @instance\r\n */\r\n AppropriationSummaryExport.prototype.netAmount = \"\";\r\n\r\n /**\r\n * Creates a new AppropriationSummaryExport instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryExport=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryExport} AppropriationSummaryExport instance\r\n */\r\n AppropriationSummaryExport.create = function create(properties) {\r\n return new AppropriationSummaryExport(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryExport message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryExport.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryExport} message AppropriationSummaryExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryExport.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.storeCode != null && Object.hasOwnProperty.call(message, \"storeCode\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.storeCode);\r\n if (message.registerName != null && Object.hasOwnProperty.call(message, \"registerName\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.registerName);\r\n if (message.terminalNo != null && Object.hasOwnProperty.call(message, \"terminalNo\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.terminalNo);\r\n if (message.date != null && Object.hasOwnProperty.call(message, \"date\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.date);\r\n if (message.typeFlag != null && Object.hasOwnProperty.call(message, \"typeFlag\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.typeFlag);\r\n if (message.submitDate != null && Object.hasOwnProperty.call(message, \"submitDate\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.submitDate);\r\n if (message.totalCount != null && Object.hasOwnProperty.call(message, \"totalCount\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.totalCount);\r\n if (message.totalAmount != null && Object.hasOwnProperty.call(message, \"totalAmount\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.totalAmount);\r\n if (message.salesCount != null && Object.hasOwnProperty.call(message, \"salesCount\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.salesCount);\r\n if (message.salesAmount != null && Object.hasOwnProperty.call(message, \"salesAmount\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.salesAmount);\r\n if (message.returnCount != null && Object.hasOwnProperty.call(message, \"returnCount\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.returnCount);\r\n if (message.returnAmount != null && Object.hasOwnProperty.call(message, \"returnAmount\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.returnAmount);\r\n if (message.charge != null && Object.hasOwnProperty.call(message, \"charge\"))\r\n writer.uint32(/* id 13, wireType 2 =*/106).string(message.charge);\r\n if (message.ifr != null && Object.hasOwnProperty.call(message, \"ifr\"))\r\n writer.uint32(/* id 14, wireType 2 =*/114).string(message.ifr);\r\n if (message.motifyAmount != null && Object.hasOwnProperty.call(message, \"motifyAmount\"))\r\n writer.uint32(/* id 15, wireType 2 =*/122).string(message.motifyAmount);\r\n if (message.motifyCharge != null && Object.hasOwnProperty.call(message, \"motifyCharge\"))\r\n writer.uint32(/* id 16, wireType 2 =*/130).string(message.motifyCharge);\r\n if (message.installRate != null && Object.hasOwnProperty.call(message, \"installRate\"))\r\n writer.uint32(/* id 17, wireType 2 =*/138).string(message.installRate);\r\n if (message.chargeRate != null && Object.hasOwnProperty.call(message, \"chargeRate\"))\r\n writer.uint32(/* id 18, wireType 2 =*/146).string(message.chargeRate);\r\n if (message.netAmount != null && Object.hasOwnProperty.call(message, \"netAmount\"))\r\n writer.uint32(/* id 19, wireType 2 =*/154).string(message.netAmount);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryExport message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryExport.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryExport} message AppropriationSummaryExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryExport.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryExport message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryExport} AppropriationSummaryExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryExport.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryExport();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.storeCode = reader.string();\r\n break;\r\n case 2:\r\n message.registerName = reader.string();\r\n break;\r\n case 3:\r\n message.terminalNo = reader.string();\r\n break;\r\n case 4:\r\n message.date = reader.string();\r\n break;\r\n case 5:\r\n message.typeFlag = reader.string();\r\n break;\r\n case 6:\r\n message.submitDate = reader.string();\r\n break;\r\n case 7:\r\n message.totalCount = reader.string();\r\n break;\r\n case 8:\r\n message.totalAmount = reader.string();\r\n break;\r\n case 9:\r\n message.salesCount = reader.string();\r\n break;\r\n case 10:\r\n message.salesAmount = reader.string();\r\n break;\r\n case 11:\r\n message.returnCount = reader.string();\r\n break;\r\n case 12:\r\n message.returnAmount = reader.string();\r\n break;\r\n case 13:\r\n message.charge = reader.string();\r\n break;\r\n case 14:\r\n message.ifr = reader.string();\r\n break;\r\n case 15:\r\n message.motifyAmount = reader.string();\r\n break;\r\n case 16:\r\n message.motifyCharge = reader.string();\r\n break;\r\n case 17:\r\n message.installRate = reader.string();\r\n break;\r\n case 18:\r\n message.chargeRate = reader.string();\r\n break;\r\n case 19:\r\n message.netAmount = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryExport message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryExport} AppropriationSummaryExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryExport.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationSummaryExport message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationSummaryExport.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n if (!$util.isString(message.storeCode))\r\n return \"storeCode: string expected\";\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n if (!$util.isString(message.registerName))\r\n return \"registerName: string expected\";\r\n if (message.terminalNo != null && message.hasOwnProperty(\"terminalNo\"))\r\n if (!$util.isString(message.terminalNo))\r\n return \"terminalNo: string expected\";\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n if (!$util.isString(message.date))\r\n return \"date: string expected\";\r\n if (message.typeFlag != null && message.hasOwnProperty(\"typeFlag\"))\r\n if (!$util.isString(message.typeFlag))\r\n return \"typeFlag: string expected\";\r\n if (message.submitDate != null && message.hasOwnProperty(\"submitDate\"))\r\n if (!$util.isString(message.submitDate))\r\n return \"submitDate: string expected\";\r\n if (message.totalCount != null && message.hasOwnProperty(\"totalCount\"))\r\n if (!$util.isString(message.totalCount))\r\n return \"totalCount: string expected\";\r\n if (message.totalAmount != null && message.hasOwnProperty(\"totalAmount\"))\r\n if (!$util.isString(message.totalAmount))\r\n return \"totalAmount: string expected\";\r\n if (message.salesCount != null && message.hasOwnProperty(\"salesCount\"))\r\n if (!$util.isString(message.salesCount))\r\n return \"salesCount: string expected\";\r\n if (message.salesAmount != null && message.hasOwnProperty(\"salesAmount\"))\r\n if (!$util.isString(message.salesAmount))\r\n return \"salesAmount: string expected\";\r\n if (message.returnCount != null && message.hasOwnProperty(\"returnCount\"))\r\n if (!$util.isString(message.returnCount))\r\n return \"returnCount: string expected\";\r\n if (message.returnAmount != null && message.hasOwnProperty(\"returnAmount\"))\r\n if (!$util.isString(message.returnAmount))\r\n return \"returnAmount: string expected\";\r\n if (message.charge != null && message.hasOwnProperty(\"charge\"))\r\n if (!$util.isString(message.charge))\r\n return \"charge: string expected\";\r\n if (message.ifr != null && message.hasOwnProperty(\"ifr\"))\r\n if (!$util.isString(message.ifr))\r\n return \"ifr: string expected\";\r\n if (message.motifyAmount != null && message.hasOwnProperty(\"motifyAmount\"))\r\n if (!$util.isString(message.motifyAmount))\r\n return \"motifyAmount: string expected\";\r\n if (message.motifyCharge != null && message.hasOwnProperty(\"motifyCharge\"))\r\n if (!$util.isString(message.motifyCharge))\r\n return \"motifyCharge: string expected\";\r\n if (message.installRate != null && message.hasOwnProperty(\"installRate\"))\r\n if (!$util.isString(message.installRate))\r\n return \"installRate: string expected\";\r\n if (message.chargeRate != null && message.hasOwnProperty(\"chargeRate\"))\r\n if (!$util.isString(message.chargeRate))\r\n return \"chargeRate: string expected\";\r\n if (message.netAmount != null && message.hasOwnProperty(\"netAmount\"))\r\n if (!$util.isString(message.netAmount))\r\n return \"netAmount: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationSummaryExport message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryExport} AppropriationSummaryExport\r\n */\r\n AppropriationSummaryExport.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationSummaryExport)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryExport();\r\n if (object.storeCode != null)\r\n message.storeCode = String(object.storeCode);\r\n if (object.registerName != null)\r\n message.registerName = String(object.registerName);\r\n if (object.terminalNo != null)\r\n message.terminalNo = String(object.terminalNo);\r\n if (object.date != null)\r\n message.date = String(object.date);\r\n if (object.typeFlag != null)\r\n message.typeFlag = String(object.typeFlag);\r\n if (object.submitDate != null)\r\n message.submitDate = String(object.submitDate);\r\n if (object.totalCount != null)\r\n message.totalCount = String(object.totalCount);\r\n if (object.totalAmount != null)\r\n message.totalAmount = String(object.totalAmount);\r\n if (object.salesCount != null)\r\n message.salesCount = String(object.salesCount);\r\n if (object.salesAmount != null)\r\n message.salesAmount = String(object.salesAmount);\r\n if (object.returnCount != null)\r\n message.returnCount = String(object.returnCount);\r\n if (object.returnAmount != null)\r\n message.returnAmount = String(object.returnAmount);\r\n if (object.charge != null)\r\n message.charge = String(object.charge);\r\n if (object.ifr != null)\r\n message.ifr = String(object.ifr);\r\n if (object.motifyAmount != null)\r\n message.motifyAmount = String(object.motifyAmount);\r\n if (object.motifyCharge != null)\r\n message.motifyCharge = String(object.motifyCharge);\r\n if (object.installRate != null)\r\n message.installRate = String(object.installRate);\r\n if (object.chargeRate != null)\r\n message.chargeRate = String(object.chargeRate);\r\n if (object.netAmount != null)\r\n message.netAmount = String(object.netAmount);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationSummaryExport message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationSummaryExport} message AppropriationSummaryExport\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationSummaryExport.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.storeCode = \"\";\r\n object.registerName = \"\";\r\n object.terminalNo = \"\";\r\n object.date = \"\";\r\n object.typeFlag = \"\";\r\n object.submitDate = \"\";\r\n object.totalCount = \"\";\r\n object.totalAmount = \"\";\r\n object.salesCount = \"\";\r\n object.salesAmount = \"\";\r\n object.returnCount = \"\";\r\n object.returnAmount = \"\";\r\n object.charge = \"\";\r\n object.ifr = \"\";\r\n object.motifyAmount = \"\";\r\n object.motifyCharge = \"\";\r\n object.installRate = \"\";\r\n object.chargeRate = \"\";\r\n object.netAmount = \"\";\r\n }\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n object.storeCode = message.storeCode;\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n object.registerName = message.registerName;\r\n if (message.terminalNo != null && message.hasOwnProperty(\"terminalNo\"))\r\n object.terminalNo = message.terminalNo;\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n object.date = message.date;\r\n if (message.typeFlag != null && message.hasOwnProperty(\"typeFlag\"))\r\n object.typeFlag = message.typeFlag;\r\n if (message.submitDate != null && message.hasOwnProperty(\"submitDate\"))\r\n object.submitDate = message.submitDate;\r\n if (message.totalCount != null && message.hasOwnProperty(\"totalCount\"))\r\n object.totalCount = message.totalCount;\r\n if (message.totalAmount != null && message.hasOwnProperty(\"totalAmount\"))\r\n object.totalAmount = message.totalAmount;\r\n if (message.salesCount != null && message.hasOwnProperty(\"salesCount\"))\r\n object.salesCount = message.salesCount;\r\n if (message.salesAmount != null && message.hasOwnProperty(\"salesAmount\"))\r\n object.salesAmount = message.salesAmount;\r\n if (message.returnCount != null && message.hasOwnProperty(\"returnCount\"))\r\n object.returnCount = message.returnCount;\r\n if (message.returnAmount != null && message.hasOwnProperty(\"returnAmount\"))\r\n object.returnAmount = message.returnAmount;\r\n if (message.charge != null && message.hasOwnProperty(\"charge\"))\r\n object.charge = message.charge;\r\n if (message.ifr != null && message.hasOwnProperty(\"ifr\"))\r\n object.ifr = message.ifr;\r\n if (message.motifyAmount != null && message.hasOwnProperty(\"motifyAmount\"))\r\n object.motifyAmount = message.motifyAmount;\r\n if (message.motifyCharge != null && message.hasOwnProperty(\"motifyCharge\"))\r\n object.motifyCharge = message.motifyCharge;\r\n if (message.installRate != null && message.hasOwnProperty(\"installRate\"))\r\n object.installRate = message.installRate;\r\n if (message.chargeRate != null && message.hasOwnProperty(\"chargeRate\"))\r\n object.chargeRate = message.chargeRate;\r\n if (message.netAmount != null && message.hasOwnProperty(\"netAmount\"))\r\n object.netAmount = message.netAmount;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationSummaryExport to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryExport\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationSummaryExport.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationSummaryExport;\r\n })();\r\n\r\n Protobuf.AppropriationSummaryByCardTypeExport = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationSummaryByCardTypeExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationSummaryByCardTypeExport\r\n * @property {string|null} [storeCode] AppropriationSummaryByCardTypeExport storeCode\r\n * @property {string|null} [registerName] AppropriationSummaryByCardTypeExport registerName\r\n * @property {string|null} [cardType] AppropriationSummaryByCardTypeExport cardType\r\n * @property {string|null} [ourBankCount] AppropriationSummaryByCardTypeExport ourBankCount\r\n * @property {string|null} [ourBankAmount] AppropriationSummaryByCardTypeExport ourBankAmount\r\n * @property {string|null} [notOurBankCount] AppropriationSummaryByCardTypeExport notOurBankCount\r\n * @property {string|null} [notOurBankAmount] AppropriationSummaryByCardTypeExport notOurBankAmount\r\n * @property {string|null} [totalCount] AppropriationSummaryByCardTypeExport totalCount\r\n * @property {string|null} [totalAmount] AppropriationSummaryByCardTypeExport totalAmount\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationSummaryByCardTypeExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationSummaryByCardTypeExport.\r\n * @implements IAppropriationSummaryByCardTypeExport\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByCardTypeExport=} [properties] Properties to set\r\n */\r\n function AppropriationSummaryByCardTypeExport(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationSummaryByCardTypeExport storeCode.\r\n * @member {string} storeCode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport\r\n * @instance\r\n */\r\n AppropriationSummaryByCardTypeExport.prototype.storeCode = \"\";\r\n\r\n /**\r\n * AppropriationSummaryByCardTypeExport registerName.\r\n * @member {string} registerName\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport\r\n * @instance\r\n */\r\n AppropriationSummaryByCardTypeExport.prototype.registerName = \"\";\r\n\r\n /**\r\n * AppropriationSummaryByCardTypeExport cardType.\r\n * @member {string} cardType\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport\r\n * @instance\r\n */\r\n AppropriationSummaryByCardTypeExport.prototype.cardType = \"\";\r\n\r\n /**\r\n * AppropriationSummaryByCardTypeExport ourBankCount.\r\n * @member {string} ourBankCount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport\r\n * @instance\r\n */\r\n AppropriationSummaryByCardTypeExport.prototype.ourBankCount = \"\";\r\n\r\n /**\r\n * AppropriationSummaryByCardTypeExport ourBankAmount.\r\n * @member {string} ourBankAmount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport\r\n * @instance\r\n */\r\n AppropriationSummaryByCardTypeExport.prototype.ourBankAmount = \"\";\r\n\r\n /**\r\n * AppropriationSummaryByCardTypeExport notOurBankCount.\r\n * @member {string} notOurBankCount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport\r\n * @instance\r\n */\r\n AppropriationSummaryByCardTypeExport.prototype.notOurBankCount = \"\";\r\n\r\n /**\r\n * AppropriationSummaryByCardTypeExport notOurBankAmount.\r\n * @member {string} notOurBankAmount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport\r\n * @instance\r\n */\r\n AppropriationSummaryByCardTypeExport.prototype.notOurBankAmount = \"\";\r\n\r\n /**\r\n * AppropriationSummaryByCardTypeExport totalCount.\r\n * @member {string} totalCount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport\r\n * @instance\r\n */\r\n AppropriationSummaryByCardTypeExport.prototype.totalCount = \"\";\r\n\r\n /**\r\n * AppropriationSummaryByCardTypeExport totalAmount.\r\n * @member {string} totalAmount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport\r\n * @instance\r\n */\r\n AppropriationSummaryByCardTypeExport.prototype.totalAmount = \"\";\r\n\r\n /**\r\n * Creates a new AppropriationSummaryByCardTypeExport instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByCardTypeExport=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport} AppropriationSummaryByCardTypeExport instance\r\n */\r\n AppropriationSummaryByCardTypeExport.create = function create(properties) {\r\n return new AppropriationSummaryByCardTypeExport(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryByCardTypeExport message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByCardTypeExport} message AppropriationSummaryByCardTypeExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryByCardTypeExport.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.storeCode != null && Object.hasOwnProperty.call(message, \"storeCode\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.storeCode);\r\n if (message.registerName != null && Object.hasOwnProperty.call(message, \"registerName\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.registerName);\r\n if (message.cardType != null && Object.hasOwnProperty.call(message, \"cardType\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.cardType);\r\n if (message.ourBankCount != null && Object.hasOwnProperty.call(message, \"ourBankCount\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.ourBankCount);\r\n if (message.ourBankAmount != null && Object.hasOwnProperty.call(message, \"ourBankAmount\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.ourBankAmount);\r\n if (message.notOurBankCount != null && Object.hasOwnProperty.call(message, \"notOurBankCount\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.notOurBankCount);\r\n if (message.notOurBankAmount != null && Object.hasOwnProperty.call(message, \"notOurBankAmount\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.notOurBankAmount);\r\n if (message.totalCount != null && Object.hasOwnProperty.call(message, \"totalCount\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.totalCount);\r\n if (message.totalAmount != null && Object.hasOwnProperty.call(message, \"totalAmount\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.totalAmount);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryByCardTypeExport message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByCardTypeExport} message AppropriationSummaryByCardTypeExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryByCardTypeExport.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryByCardTypeExport message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport} AppropriationSummaryByCardTypeExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryByCardTypeExport.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.storeCode = reader.string();\r\n break;\r\n case 2:\r\n message.registerName = reader.string();\r\n break;\r\n case 3:\r\n message.cardType = reader.string();\r\n break;\r\n case 4:\r\n message.ourBankCount = reader.string();\r\n break;\r\n case 5:\r\n message.ourBankAmount = reader.string();\r\n break;\r\n case 6:\r\n message.notOurBankCount = reader.string();\r\n break;\r\n case 7:\r\n message.notOurBankAmount = reader.string();\r\n break;\r\n case 8:\r\n message.totalCount = reader.string();\r\n break;\r\n case 9:\r\n message.totalAmount = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryByCardTypeExport message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport} AppropriationSummaryByCardTypeExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryByCardTypeExport.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationSummaryByCardTypeExport message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationSummaryByCardTypeExport.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n if (!$util.isString(message.storeCode))\r\n return \"storeCode: string expected\";\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n if (!$util.isString(message.registerName))\r\n return \"registerName: string expected\";\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n if (!$util.isString(message.cardType))\r\n return \"cardType: string expected\";\r\n if (message.ourBankCount != null && message.hasOwnProperty(\"ourBankCount\"))\r\n if (!$util.isString(message.ourBankCount))\r\n return \"ourBankCount: string expected\";\r\n if (message.ourBankAmount != null && message.hasOwnProperty(\"ourBankAmount\"))\r\n if (!$util.isString(message.ourBankAmount))\r\n return \"ourBankAmount: string expected\";\r\n if (message.notOurBankCount != null && message.hasOwnProperty(\"notOurBankCount\"))\r\n if (!$util.isString(message.notOurBankCount))\r\n return \"notOurBankCount: string expected\";\r\n if (message.notOurBankAmount != null && message.hasOwnProperty(\"notOurBankAmount\"))\r\n if (!$util.isString(message.notOurBankAmount))\r\n return \"notOurBankAmount: string expected\";\r\n if (message.totalCount != null && message.hasOwnProperty(\"totalCount\"))\r\n if (!$util.isString(message.totalCount))\r\n return \"totalCount: string expected\";\r\n if (message.totalAmount != null && message.hasOwnProperty(\"totalAmount\"))\r\n if (!$util.isString(message.totalAmount))\r\n return \"totalAmount: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationSummaryByCardTypeExport message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport} AppropriationSummaryByCardTypeExport\r\n */\r\n AppropriationSummaryByCardTypeExport.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport();\r\n if (object.storeCode != null)\r\n message.storeCode = String(object.storeCode);\r\n if (object.registerName != null)\r\n message.registerName = String(object.registerName);\r\n if (object.cardType != null)\r\n message.cardType = String(object.cardType);\r\n if (object.ourBankCount != null)\r\n message.ourBankCount = String(object.ourBankCount);\r\n if (object.ourBankAmount != null)\r\n message.ourBankAmount = String(object.ourBankAmount);\r\n if (object.notOurBankCount != null)\r\n message.notOurBankCount = String(object.notOurBankCount);\r\n if (object.notOurBankAmount != null)\r\n message.notOurBankAmount = String(object.notOurBankAmount);\r\n if (object.totalCount != null)\r\n message.totalCount = String(object.totalCount);\r\n if (object.totalAmount != null)\r\n message.totalAmount = String(object.totalAmount);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationSummaryByCardTypeExport message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport} message AppropriationSummaryByCardTypeExport\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationSummaryByCardTypeExport.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.storeCode = \"\";\r\n object.registerName = \"\";\r\n object.cardType = \"\";\r\n object.ourBankCount = \"\";\r\n object.ourBankAmount = \"\";\r\n object.notOurBankCount = \"\";\r\n object.notOurBankAmount = \"\";\r\n object.totalCount = \"\";\r\n object.totalAmount = \"\";\r\n }\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n object.storeCode = message.storeCode;\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n object.registerName = message.registerName;\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n object.cardType = message.cardType;\r\n if (message.ourBankCount != null && message.hasOwnProperty(\"ourBankCount\"))\r\n object.ourBankCount = message.ourBankCount;\r\n if (message.ourBankAmount != null && message.hasOwnProperty(\"ourBankAmount\"))\r\n object.ourBankAmount = message.ourBankAmount;\r\n if (message.notOurBankCount != null && message.hasOwnProperty(\"notOurBankCount\"))\r\n object.notOurBankCount = message.notOurBankCount;\r\n if (message.notOurBankAmount != null && message.hasOwnProperty(\"notOurBankAmount\"))\r\n object.notOurBankAmount = message.notOurBankAmount;\r\n if (message.totalCount != null && message.hasOwnProperty(\"totalCount\"))\r\n object.totalCount = message.totalCount;\r\n if (message.totalAmount != null && message.hasOwnProperty(\"totalAmount\"))\r\n object.totalAmount = message.totalAmount;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationSummaryByCardTypeExport to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByCardTypeExport\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationSummaryByCardTypeExport.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationSummaryByCardTypeExport;\r\n })();\r\n\r\n Protobuf.AppropriationSummaryByIssuerExport = (function() {\r\n\r\n /**\r\n * Properties of an AppropriationSummaryByIssuerExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAppropriationSummaryByIssuerExport\r\n * @property {string|null} [storeCode] AppropriationSummaryByIssuerExport storeCode\r\n * @property {string|null} [registerName] AppropriationSummaryByIssuerExport registerName\r\n * @property {string|null} [issuer] AppropriationSummaryByIssuerExport issuer\r\n * @property {string|null} [issuerName] AppropriationSummaryByIssuerExport issuerName\r\n * @property {string|null} [count] AppropriationSummaryByIssuerExport count\r\n * @property {string|null} [amount] AppropriationSummaryByIssuerExport amount\r\n */\r\n\r\n /**\r\n * Constructs a new AppropriationSummaryByIssuerExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AppropriationSummaryByIssuerExport.\r\n * @implements IAppropriationSummaryByIssuerExport\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByIssuerExport=} [properties] Properties to set\r\n */\r\n function AppropriationSummaryByIssuerExport(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AppropriationSummaryByIssuerExport storeCode.\r\n * @member {string} storeCode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport\r\n * @instance\r\n */\r\n AppropriationSummaryByIssuerExport.prototype.storeCode = \"\";\r\n\r\n /**\r\n * AppropriationSummaryByIssuerExport registerName.\r\n * @member {string} registerName\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport\r\n * @instance\r\n */\r\n AppropriationSummaryByIssuerExport.prototype.registerName = \"\";\r\n\r\n /**\r\n * AppropriationSummaryByIssuerExport issuer.\r\n * @member {string} issuer\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport\r\n * @instance\r\n */\r\n AppropriationSummaryByIssuerExport.prototype.issuer = \"\";\r\n\r\n /**\r\n * AppropriationSummaryByIssuerExport issuerName.\r\n * @member {string} issuerName\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport\r\n * @instance\r\n */\r\n AppropriationSummaryByIssuerExport.prototype.issuerName = \"\";\r\n\r\n /**\r\n * AppropriationSummaryByIssuerExport count.\r\n * @member {string} count\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport\r\n * @instance\r\n */\r\n AppropriationSummaryByIssuerExport.prototype.count = \"\";\r\n\r\n /**\r\n * AppropriationSummaryByIssuerExport amount.\r\n * @member {string} amount\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport\r\n * @instance\r\n */\r\n AppropriationSummaryByIssuerExport.prototype.amount = \"\";\r\n\r\n /**\r\n * Creates a new AppropriationSummaryByIssuerExport instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByIssuerExport=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport} AppropriationSummaryByIssuerExport instance\r\n */\r\n AppropriationSummaryByIssuerExport.create = function create(properties) {\r\n return new AppropriationSummaryByIssuerExport(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryByIssuerExport message. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByIssuerExport} message AppropriationSummaryByIssuerExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryByIssuerExport.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.storeCode != null && Object.hasOwnProperty.call(message, \"storeCode\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.storeCode);\r\n if (message.registerName != null && Object.hasOwnProperty.call(message, \"registerName\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.registerName);\r\n if (message.issuer != null && Object.hasOwnProperty.call(message, \"issuer\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.issuer);\r\n if (message.issuerName != null && Object.hasOwnProperty.call(message, \"issuerName\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.issuerName);\r\n if (message.count != null && Object.hasOwnProperty.call(message, \"count\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.count);\r\n if (message.amount != null && Object.hasOwnProperty.call(message, \"amount\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.amount);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AppropriationSummaryByIssuerExport message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAppropriationSummaryByIssuerExport} message AppropriationSummaryByIssuerExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AppropriationSummaryByIssuerExport.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryByIssuerExport message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport} AppropriationSummaryByIssuerExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryByIssuerExport.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.storeCode = reader.string();\r\n break;\r\n case 2:\r\n message.registerName = reader.string();\r\n break;\r\n case 3:\r\n message.issuer = reader.string();\r\n break;\r\n case 4:\r\n message.issuerName = reader.string();\r\n break;\r\n case 5:\r\n message.count = reader.string();\r\n break;\r\n case 6:\r\n message.amount = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AppropriationSummaryByIssuerExport message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport} AppropriationSummaryByIssuerExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AppropriationSummaryByIssuerExport.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AppropriationSummaryByIssuerExport message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AppropriationSummaryByIssuerExport.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n if (!$util.isString(message.storeCode))\r\n return \"storeCode: string expected\";\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n if (!$util.isString(message.registerName))\r\n return \"registerName: string expected\";\r\n if (message.issuer != null && message.hasOwnProperty(\"issuer\"))\r\n if (!$util.isString(message.issuer))\r\n return \"issuer: string expected\";\r\n if (message.issuerName != null && message.hasOwnProperty(\"issuerName\"))\r\n if (!$util.isString(message.issuerName))\r\n return \"issuerName: string expected\";\r\n if (message.count != null && message.hasOwnProperty(\"count\"))\r\n if (!$util.isString(message.count))\r\n return \"count: string expected\";\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n if (!$util.isString(message.amount))\r\n return \"amount: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AppropriationSummaryByIssuerExport message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport} AppropriationSummaryByIssuerExport\r\n */\r\n AppropriationSummaryByIssuerExport.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport();\r\n if (object.storeCode != null)\r\n message.storeCode = String(object.storeCode);\r\n if (object.registerName != null)\r\n message.registerName = String(object.registerName);\r\n if (object.issuer != null)\r\n message.issuer = String(object.issuer);\r\n if (object.issuerName != null)\r\n message.issuerName = String(object.issuerName);\r\n if (object.count != null)\r\n message.count = String(object.count);\r\n if (object.amount != null)\r\n message.amount = String(object.amount);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AppropriationSummaryByIssuerExport message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport} message AppropriationSummaryByIssuerExport\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AppropriationSummaryByIssuerExport.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.storeCode = \"\";\r\n object.registerName = \"\";\r\n object.issuer = \"\";\r\n object.issuerName = \"\";\r\n object.count = \"\";\r\n object.amount = \"\";\r\n }\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n object.storeCode = message.storeCode;\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n object.registerName = message.registerName;\r\n if (message.issuer != null && message.hasOwnProperty(\"issuer\"))\r\n object.issuer = message.issuer;\r\n if (message.issuerName != null && message.hasOwnProperty(\"issuerName\"))\r\n object.issuerName = message.issuerName;\r\n if (message.count != null && message.hasOwnProperty(\"count\"))\r\n object.count = message.count;\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n object.amount = message.amount;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AppropriationSummaryByIssuerExport to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AppropriationSummaryByIssuerExport\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AppropriationSummaryByIssuerExport.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AppropriationSummaryByIssuerExport;\r\n })();\r\n\r\n Protobuf.DepositInfo = (function() {\r\n\r\n /**\r\n * Properties of a DepositInfo.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IDepositInfo\r\n * @property {number|null} [depositId] DepositInfo depositId\r\n * @property {string|null} [branchBankCode] DepositInfo branchBankCode\r\n * @property {string|null} [branchBankName] DepositInfo branchBankName\r\n * @property {string|null} [account] DepositInfo account\r\n * @property {string|null} [date] DepositInfo date\r\n * @property {string|null} [bankCode] DepositInfo bankCode\r\n * @property {string|null} [tidNumber] DepositInfo tidNumber\r\n * @property {string|null} [terminalNo] DepositInfo terminalNo\r\n * @property {string|null} [storeCode] DepositInfo storeCode\r\n * @property {string|null} [storeCodeMapping] DepositInfo storeCodeMapping\r\n * @property {string|null} [storeName] DepositInfo storeName\r\n * @property {number|null} [amount] DepositInfo amount\r\n * @property {number|null} [charge] DepositInfo charge\r\n * @property {number|null} [ifr] DepositInfo ifr\r\n * @property {number|null} [internalIfr] DepositInfo internalIfr\r\n * @property {number|null} [externalIfr] DepositInfo externalIfr\r\n * @property {number|null} [type] DepositInfo type\r\n * @property {string|null} [remarksCode] DepositInfo remarksCode\r\n * @property {string|null} [remarks] DepositInfo remarks\r\n * @property {number|null} [chargeTotal] DepositInfo chargeTotal\r\n * @property {number|null} [netAmount] DepositInfo netAmount\r\n * @property {number|null} [infoType] DepositInfo infoType\r\n */\r\n\r\n /**\r\n * Constructs a new DepositInfo.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a DepositInfo.\r\n * @implements IDepositInfo\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IDepositInfo=} [properties] Properties to set\r\n */\r\n function DepositInfo(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * DepositInfo depositId.\r\n * @member {number} depositId\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n */\r\n DepositInfo.prototype.depositId = 0;\r\n\r\n /**\r\n * DepositInfo branchBankCode.\r\n * @member {string} branchBankCode\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n */\r\n DepositInfo.prototype.branchBankCode = \"\";\r\n\r\n /**\r\n * DepositInfo branchBankName.\r\n * @member {string} branchBankName\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n */\r\n DepositInfo.prototype.branchBankName = \"\";\r\n\r\n /**\r\n * DepositInfo account.\r\n * @member {string} account\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n */\r\n DepositInfo.prototype.account = \"\";\r\n\r\n /**\r\n * DepositInfo date.\r\n * @member {string} date\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n */\r\n DepositInfo.prototype.date = \"\";\r\n\r\n /**\r\n * DepositInfo bankCode.\r\n * @member {string} bankCode\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n */\r\n DepositInfo.prototype.bankCode = \"\";\r\n\r\n /**\r\n * DepositInfo tidNumber.\r\n * @member {string} tidNumber\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n */\r\n DepositInfo.prototype.tidNumber = \"\";\r\n\r\n /**\r\n * DepositInfo terminalNo.\r\n * @member {string} terminalNo\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n */\r\n DepositInfo.prototype.terminalNo = \"\";\r\n\r\n /**\r\n * DepositInfo storeCode.\r\n * @member {string} storeCode\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n */\r\n DepositInfo.prototype.storeCode = \"\";\r\n\r\n /**\r\n * DepositInfo storeCodeMapping.\r\n * @member {string} storeCodeMapping\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n */\r\n DepositInfo.prototype.storeCodeMapping = \"\";\r\n\r\n /**\r\n * DepositInfo storeName.\r\n * @member {string} storeName\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n */\r\n DepositInfo.prototype.storeName = \"\";\r\n\r\n /**\r\n * DepositInfo amount.\r\n * @member {number} amount\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n */\r\n DepositInfo.prototype.amount = 0;\r\n\r\n /**\r\n * DepositInfo charge.\r\n * @member {number} charge\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n */\r\n DepositInfo.prototype.charge = 0;\r\n\r\n /**\r\n * DepositInfo ifr.\r\n * @member {number} ifr\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n */\r\n DepositInfo.prototype.ifr = 0;\r\n\r\n /**\r\n * DepositInfo internalIfr.\r\n * @member {number} internalIfr\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n */\r\n DepositInfo.prototype.internalIfr = 0;\r\n\r\n /**\r\n * DepositInfo externalIfr.\r\n * @member {number} externalIfr\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n */\r\n DepositInfo.prototype.externalIfr = 0;\r\n\r\n /**\r\n * DepositInfo type.\r\n * @member {number} type\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n */\r\n DepositInfo.prototype.type = 0;\r\n\r\n /**\r\n * DepositInfo remarksCode.\r\n * @member {string} remarksCode\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n */\r\n DepositInfo.prototype.remarksCode = \"\";\r\n\r\n /**\r\n * DepositInfo remarks.\r\n * @member {string} remarks\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n */\r\n DepositInfo.prototype.remarks = \"\";\r\n\r\n /**\r\n * DepositInfo chargeTotal.\r\n * @member {number} chargeTotal\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n */\r\n DepositInfo.prototype.chargeTotal = 0;\r\n\r\n /**\r\n * DepositInfo netAmount.\r\n * @member {number} netAmount\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n */\r\n DepositInfo.prototype.netAmount = 0;\r\n\r\n /**\r\n * DepositInfo infoType.\r\n * @member {number} infoType\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n */\r\n DepositInfo.prototype.infoType = 0;\r\n\r\n /**\r\n * Creates a new DepositInfo instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositInfo=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.DepositInfo} DepositInfo instance\r\n */\r\n DepositInfo.create = function create(properties) {\r\n return new DepositInfo(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified DepositInfo message. Does not implicitly {@link TCBReceiptApi.Protobuf.DepositInfo.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositInfo} message DepositInfo message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n DepositInfo.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.depositId != null && Object.hasOwnProperty.call(message, \"depositId\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.depositId);\r\n if (message.branchBankCode != null && Object.hasOwnProperty.call(message, \"branchBankCode\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.branchBankCode);\r\n if (message.branchBankName != null && Object.hasOwnProperty.call(message, \"branchBankName\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.branchBankName);\r\n if (message.account != null && Object.hasOwnProperty.call(message, \"account\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.account);\r\n if (message.date != null && Object.hasOwnProperty.call(message, \"date\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.date);\r\n if (message.bankCode != null && Object.hasOwnProperty.call(message, \"bankCode\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.bankCode);\r\n if (message.tidNumber != null && Object.hasOwnProperty.call(message, \"tidNumber\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.tidNumber);\r\n if (message.terminalNo != null && Object.hasOwnProperty.call(message, \"terminalNo\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.terminalNo);\r\n if (message.storeCode != null && Object.hasOwnProperty.call(message, \"storeCode\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.storeCode);\r\n if (message.storeCodeMapping != null && Object.hasOwnProperty.call(message, \"storeCodeMapping\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.storeCodeMapping);\r\n if (message.storeName != null && Object.hasOwnProperty.call(message, \"storeName\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.storeName);\r\n if (message.amount != null && Object.hasOwnProperty.call(message, \"amount\"))\r\n writer.uint32(/* id 12, wireType 1 =*/97).double(message.amount);\r\n if (message.charge != null && Object.hasOwnProperty.call(message, \"charge\"))\r\n writer.uint32(/* id 13, wireType 1 =*/105).double(message.charge);\r\n if (message.ifr != null && Object.hasOwnProperty.call(message, \"ifr\"))\r\n writer.uint32(/* id 14, wireType 1 =*/113).double(message.ifr);\r\n if (message.internalIfr != null && Object.hasOwnProperty.call(message, \"internalIfr\"))\r\n writer.uint32(/* id 15, wireType 1 =*/121).double(message.internalIfr);\r\n if (message.externalIfr != null && Object.hasOwnProperty.call(message, \"externalIfr\"))\r\n writer.uint32(/* id 16, wireType 1 =*/129).double(message.externalIfr);\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 17, wireType 0 =*/136).int32(message.type);\r\n if (message.remarksCode != null && Object.hasOwnProperty.call(message, \"remarksCode\"))\r\n writer.uint32(/* id 18, wireType 2 =*/146).string(message.remarksCode);\r\n if (message.remarks != null && Object.hasOwnProperty.call(message, \"remarks\"))\r\n writer.uint32(/* id 19, wireType 2 =*/154).string(message.remarks);\r\n if (message.chargeTotal != null && Object.hasOwnProperty.call(message, \"chargeTotal\"))\r\n writer.uint32(/* id 20, wireType 1 =*/161).double(message.chargeTotal);\r\n if (message.netAmount != null && Object.hasOwnProperty.call(message, \"netAmount\"))\r\n writer.uint32(/* id 21, wireType 1 =*/169).double(message.netAmount);\r\n if (message.infoType != null && Object.hasOwnProperty.call(message, \"infoType\"))\r\n writer.uint32(/* id 22, wireType 0 =*/176).int32(message.infoType);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified DepositInfo message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.DepositInfo.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositInfo} message DepositInfo message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n DepositInfo.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a DepositInfo message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.DepositInfo} DepositInfo\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n DepositInfo.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.DepositInfo();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.depositId = reader.int32();\r\n break;\r\n case 2:\r\n message.branchBankCode = reader.string();\r\n break;\r\n case 3:\r\n message.branchBankName = reader.string();\r\n break;\r\n case 4:\r\n message.account = reader.string();\r\n break;\r\n case 5:\r\n message.date = reader.string();\r\n break;\r\n case 6:\r\n message.bankCode = reader.string();\r\n break;\r\n case 7:\r\n message.tidNumber = reader.string();\r\n break;\r\n case 8:\r\n message.terminalNo = reader.string();\r\n break;\r\n case 9:\r\n message.storeCode = reader.string();\r\n break;\r\n case 10:\r\n message.storeCodeMapping = reader.string();\r\n break;\r\n case 11:\r\n message.storeName = reader.string();\r\n break;\r\n case 12:\r\n message.amount = reader.double();\r\n break;\r\n case 13:\r\n message.charge = reader.double();\r\n break;\r\n case 14:\r\n message.ifr = reader.double();\r\n break;\r\n case 15:\r\n message.internalIfr = reader.double();\r\n break;\r\n case 16:\r\n message.externalIfr = reader.double();\r\n break;\r\n case 17:\r\n message.type = reader.int32();\r\n break;\r\n case 18:\r\n message.remarksCode = reader.string();\r\n break;\r\n case 19:\r\n message.remarks = reader.string();\r\n break;\r\n case 20:\r\n message.chargeTotal = reader.double();\r\n break;\r\n case 21:\r\n message.netAmount = reader.double();\r\n break;\r\n case 22:\r\n message.infoType = reader.int32();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a DepositInfo message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.DepositInfo} DepositInfo\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n DepositInfo.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a DepositInfo message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n DepositInfo.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.depositId != null && message.hasOwnProperty(\"depositId\"))\r\n if (!$util.isInteger(message.depositId))\r\n return \"depositId: integer expected\";\r\n if (message.branchBankCode != null && message.hasOwnProperty(\"branchBankCode\"))\r\n if (!$util.isString(message.branchBankCode))\r\n return \"branchBankCode: string expected\";\r\n if (message.branchBankName != null && message.hasOwnProperty(\"branchBankName\"))\r\n if (!$util.isString(message.branchBankName))\r\n return \"branchBankName: string expected\";\r\n if (message.account != null && message.hasOwnProperty(\"account\"))\r\n if (!$util.isString(message.account))\r\n return \"account: string expected\";\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n if (!$util.isString(message.date))\r\n return \"date: string expected\";\r\n if (message.bankCode != null && message.hasOwnProperty(\"bankCode\"))\r\n if (!$util.isString(message.bankCode))\r\n return \"bankCode: string expected\";\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n if (!$util.isString(message.tidNumber))\r\n return \"tidNumber: string expected\";\r\n if (message.terminalNo != null && message.hasOwnProperty(\"terminalNo\"))\r\n if (!$util.isString(message.terminalNo))\r\n return \"terminalNo: string expected\";\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n if (!$util.isString(message.storeCode))\r\n return \"storeCode: string expected\";\r\n if (message.storeCodeMapping != null && message.hasOwnProperty(\"storeCodeMapping\"))\r\n if (!$util.isString(message.storeCodeMapping))\r\n return \"storeCodeMapping: string expected\";\r\n if (message.storeName != null && message.hasOwnProperty(\"storeName\"))\r\n if (!$util.isString(message.storeName))\r\n return \"storeName: string expected\";\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n if (typeof message.amount !== \"number\")\r\n return \"amount: number expected\";\r\n if (message.charge != null && message.hasOwnProperty(\"charge\"))\r\n if (typeof message.charge !== \"number\")\r\n return \"charge: number expected\";\r\n if (message.ifr != null && message.hasOwnProperty(\"ifr\"))\r\n if (typeof message.ifr !== \"number\")\r\n return \"ifr: number expected\";\r\n if (message.internalIfr != null && message.hasOwnProperty(\"internalIfr\"))\r\n if (typeof message.internalIfr !== \"number\")\r\n return \"internalIfr: number expected\";\r\n if (message.externalIfr != null && message.hasOwnProperty(\"externalIfr\"))\r\n if (typeof message.externalIfr !== \"number\")\r\n return \"externalIfr: number expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isInteger(message.type))\r\n return \"type: integer expected\";\r\n if (message.remarksCode != null && message.hasOwnProperty(\"remarksCode\"))\r\n if (!$util.isString(message.remarksCode))\r\n return \"remarksCode: string expected\";\r\n if (message.remarks != null && message.hasOwnProperty(\"remarks\"))\r\n if (!$util.isString(message.remarks))\r\n return \"remarks: string expected\";\r\n if (message.chargeTotal != null && message.hasOwnProperty(\"chargeTotal\"))\r\n if (typeof message.chargeTotal !== \"number\")\r\n return \"chargeTotal: number expected\";\r\n if (message.netAmount != null && message.hasOwnProperty(\"netAmount\"))\r\n if (typeof message.netAmount !== \"number\")\r\n return \"netAmount: number expected\";\r\n if (message.infoType != null && message.hasOwnProperty(\"infoType\"))\r\n if (!$util.isInteger(message.infoType))\r\n return \"infoType: integer expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a DepositInfo message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.DepositInfo} DepositInfo\r\n */\r\n DepositInfo.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.DepositInfo)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.DepositInfo();\r\n if (object.depositId != null)\r\n message.depositId = object.depositId | 0;\r\n if (object.branchBankCode != null)\r\n message.branchBankCode = String(object.branchBankCode);\r\n if (object.branchBankName != null)\r\n message.branchBankName = String(object.branchBankName);\r\n if (object.account != null)\r\n message.account = String(object.account);\r\n if (object.date != null)\r\n message.date = String(object.date);\r\n if (object.bankCode != null)\r\n message.bankCode = String(object.bankCode);\r\n if (object.tidNumber != null)\r\n message.tidNumber = String(object.tidNumber);\r\n if (object.terminalNo != null)\r\n message.terminalNo = String(object.terminalNo);\r\n if (object.storeCode != null)\r\n message.storeCode = String(object.storeCode);\r\n if (object.storeCodeMapping != null)\r\n message.storeCodeMapping = String(object.storeCodeMapping);\r\n if (object.storeName != null)\r\n message.storeName = String(object.storeName);\r\n if (object.amount != null)\r\n message.amount = Number(object.amount);\r\n if (object.charge != null)\r\n message.charge = Number(object.charge);\r\n if (object.ifr != null)\r\n message.ifr = Number(object.ifr);\r\n if (object.internalIfr != null)\r\n message.internalIfr = Number(object.internalIfr);\r\n if (object.externalIfr != null)\r\n message.externalIfr = Number(object.externalIfr);\r\n if (object.type != null)\r\n message.type = object.type | 0;\r\n if (object.remarksCode != null)\r\n message.remarksCode = String(object.remarksCode);\r\n if (object.remarks != null)\r\n message.remarks = String(object.remarks);\r\n if (object.chargeTotal != null)\r\n message.chargeTotal = Number(object.chargeTotal);\r\n if (object.netAmount != null)\r\n message.netAmount = Number(object.netAmount);\r\n if (object.infoType != null)\r\n message.infoType = object.infoType | 0;\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a DepositInfo message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.DepositInfo} message DepositInfo\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n DepositInfo.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.depositId = 0;\r\n object.branchBankCode = \"\";\r\n object.branchBankName = \"\";\r\n object.account = \"\";\r\n object.date = \"\";\r\n object.bankCode = \"\";\r\n object.tidNumber = \"\";\r\n object.terminalNo = \"\";\r\n object.storeCode = \"\";\r\n object.storeCodeMapping = \"\";\r\n object.storeName = \"\";\r\n object.amount = 0;\r\n object.charge = 0;\r\n object.ifr = 0;\r\n object.internalIfr = 0;\r\n object.externalIfr = 0;\r\n object.type = 0;\r\n object.remarksCode = \"\";\r\n object.remarks = \"\";\r\n object.chargeTotal = 0;\r\n object.netAmount = 0;\r\n object.infoType = 0;\r\n }\r\n if (message.depositId != null && message.hasOwnProperty(\"depositId\"))\r\n object.depositId = message.depositId;\r\n if (message.branchBankCode != null && message.hasOwnProperty(\"branchBankCode\"))\r\n object.branchBankCode = message.branchBankCode;\r\n if (message.branchBankName != null && message.hasOwnProperty(\"branchBankName\"))\r\n object.branchBankName = message.branchBankName;\r\n if (message.account != null && message.hasOwnProperty(\"account\"))\r\n object.account = message.account;\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n object.date = message.date;\r\n if (message.bankCode != null && message.hasOwnProperty(\"bankCode\"))\r\n object.bankCode = message.bankCode;\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n object.tidNumber = message.tidNumber;\r\n if (message.terminalNo != null && message.hasOwnProperty(\"terminalNo\"))\r\n object.terminalNo = message.terminalNo;\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n object.storeCode = message.storeCode;\r\n if (message.storeCodeMapping != null && message.hasOwnProperty(\"storeCodeMapping\"))\r\n object.storeCodeMapping = message.storeCodeMapping;\r\n if (message.storeName != null && message.hasOwnProperty(\"storeName\"))\r\n object.storeName = message.storeName;\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n object.amount = options.json && !isFinite(message.amount) ? String(message.amount) : message.amount;\r\n if (message.charge != null && message.hasOwnProperty(\"charge\"))\r\n object.charge = options.json && !isFinite(message.charge) ? String(message.charge) : message.charge;\r\n if (message.ifr != null && message.hasOwnProperty(\"ifr\"))\r\n object.ifr = options.json && !isFinite(message.ifr) ? String(message.ifr) : message.ifr;\r\n if (message.internalIfr != null && message.hasOwnProperty(\"internalIfr\"))\r\n object.internalIfr = options.json && !isFinite(message.internalIfr) ? String(message.internalIfr) : message.internalIfr;\r\n if (message.externalIfr != null && message.hasOwnProperty(\"externalIfr\"))\r\n object.externalIfr = options.json && !isFinite(message.externalIfr) ? String(message.externalIfr) : message.externalIfr;\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.remarksCode != null && message.hasOwnProperty(\"remarksCode\"))\r\n object.remarksCode = message.remarksCode;\r\n if (message.remarks != null && message.hasOwnProperty(\"remarks\"))\r\n object.remarks = message.remarks;\r\n if (message.chargeTotal != null && message.hasOwnProperty(\"chargeTotal\"))\r\n object.chargeTotal = options.json && !isFinite(message.chargeTotal) ? String(message.chargeTotal) : message.chargeTotal;\r\n if (message.netAmount != null && message.hasOwnProperty(\"netAmount\"))\r\n object.netAmount = options.json && !isFinite(message.netAmount) ? String(message.netAmount) : message.netAmount;\r\n if (message.infoType != null && message.hasOwnProperty(\"infoType\"))\r\n object.infoType = message.infoType;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this DepositInfo to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.DepositInfo\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n DepositInfo.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return DepositInfo;\r\n })();\r\n\r\n Protobuf.Deposit = (function() {\r\n\r\n /**\r\n * Properties of a Deposit.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IDeposit\r\n * @property {Array.|null} [list] Deposit list\r\n */\r\n\r\n /**\r\n * Constructs a new Deposit.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a Deposit.\r\n * @implements IDeposit\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IDeposit=} [properties] Properties to set\r\n */\r\n function Deposit(properties) {\r\n this.list = [];\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * Deposit list.\r\n * @member {Array.} list\r\n * @memberof TCBReceiptApi.Protobuf.Deposit\r\n * @instance\r\n */\r\n Deposit.prototype.list = $util.emptyArray;\r\n\r\n /**\r\n * Creates a new Deposit instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.Deposit\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDeposit=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.Deposit} Deposit instance\r\n */\r\n Deposit.create = function create(properties) {\r\n return new Deposit(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified Deposit message. Does not implicitly {@link TCBReceiptApi.Protobuf.Deposit.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.Deposit\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDeposit} message Deposit message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Deposit.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.list != null && message.list.length)\r\n for (var i = 0; i < message.list.length; ++i)\r\n $root.TCBReceiptApi.Protobuf.DepositInfo.encode(message.list[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified Deposit message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.Deposit.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Deposit\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDeposit} message Deposit message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Deposit.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a Deposit message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.Deposit\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.Deposit} Deposit\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Deposit.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.Deposit();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (!(message.list && message.list.length))\r\n message.list = [];\r\n message.list.push($root.TCBReceiptApi.Protobuf.DepositInfo.decode(reader, reader.uint32()));\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a Deposit message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Deposit\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.Deposit} Deposit\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Deposit.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a Deposit message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.Deposit\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n Deposit.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.list != null && message.hasOwnProperty(\"list\")) {\r\n if (!Array.isArray(message.list))\r\n return \"list: array expected\";\r\n for (var i = 0; i < message.list.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.DepositInfo.verify(message.list[i]);\r\n if (error)\r\n return \"list.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a Deposit message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.Deposit\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.Deposit} Deposit\r\n */\r\n Deposit.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.Deposit)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.Deposit();\r\n if (object.list) {\r\n if (!Array.isArray(object.list))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.Deposit.list: array expected\");\r\n message.list = [];\r\n for (var i = 0; i < object.list.length; ++i) {\r\n if (typeof object.list[i] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.Deposit.list: object expected\");\r\n message.list[i] = $root.TCBReceiptApi.Protobuf.DepositInfo.fromObject(object.list[i]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a Deposit message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.Deposit\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.Deposit} message Deposit\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n Deposit.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.arrays || options.defaults)\r\n object.list = [];\r\n if (message.list && message.list.length) {\r\n object.list = [];\r\n for (var j = 0; j < message.list.length; ++j)\r\n object.list[j] = $root.TCBReceiptApi.Protobuf.DepositInfo.toObject(message.list[j], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this Deposit to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.Deposit\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n Deposit.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return Deposit;\r\n })();\r\n\r\n Protobuf.DepositDateMap = (function() {\r\n\r\n /**\r\n * Properties of a DepositDateMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IDepositDateMap\r\n * @property {Object.|null} [byDate] DepositDateMap byDate\r\n */\r\n\r\n /**\r\n * Constructs a new DepositDateMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a DepositDateMap.\r\n * @implements IDepositDateMap\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IDepositDateMap=} [properties] Properties to set\r\n */\r\n function DepositDateMap(properties) {\r\n this.byDate = {};\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * DepositDateMap byDate.\r\n * @member {Object.} byDate\r\n * @memberof TCBReceiptApi.Protobuf.DepositDateMap\r\n * @instance\r\n */\r\n DepositDateMap.prototype.byDate = $util.emptyObject;\r\n\r\n /**\r\n * Creates a new DepositDateMap instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.DepositDateMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositDateMap=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.DepositDateMap} DepositDateMap instance\r\n */\r\n DepositDateMap.create = function create(properties) {\r\n return new DepositDateMap(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified DepositDateMap message. Does not implicitly {@link TCBReceiptApi.Protobuf.DepositDateMap.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.DepositDateMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositDateMap} message DepositDateMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n DepositDateMap.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.byDate != null && Object.hasOwnProperty.call(message, \"byDate\"))\r\n for (var keys = Object.keys(message.byDate), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.Deposit.encode(message.byDate[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified DepositDateMap message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.DepositDateMap.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.DepositDateMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositDateMap} message DepositDateMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n DepositDateMap.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a DepositDateMap message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.DepositDateMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.DepositDateMap} DepositDateMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n DepositDateMap.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.DepositDateMap(), key, value;\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (message.byDate === $util.emptyObject)\r\n message.byDate = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = \"\";\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.string();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.Deposit.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.byDate[key] = value;\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a DepositDateMap message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.DepositDateMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.DepositDateMap} DepositDateMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n DepositDateMap.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a DepositDateMap message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.DepositDateMap\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n DepositDateMap.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.byDate != null && message.hasOwnProperty(\"byDate\")) {\r\n if (!$util.isObject(message.byDate))\r\n return \"byDate: object expected\";\r\n var key = Object.keys(message.byDate);\r\n for (var i = 0; i < key.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.Deposit.verify(message.byDate[key[i]]);\r\n if (error)\r\n return \"byDate.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a DepositDateMap message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.DepositDateMap\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.DepositDateMap} DepositDateMap\r\n */\r\n DepositDateMap.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.DepositDateMap)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.DepositDateMap();\r\n if (object.byDate) {\r\n if (typeof object.byDate !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.DepositDateMap.byDate: object expected\");\r\n message.byDate = {};\r\n for (var keys = Object.keys(object.byDate), i = 0; i < keys.length; ++i) {\r\n if (typeof object.byDate[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.DepositDateMap.byDate: object expected\");\r\n message.byDate[keys[i]] = $root.TCBReceiptApi.Protobuf.Deposit.fromObject(object.byDate[keys[i]]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a DepositDateMap message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.DepositDateMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.DepositDateMap} message DepositDateMap\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n DepositDateMap.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.objects || options.defaults)\r\n object.byDate = {};\r\n var keys2;\r\n if (message.byDate && (keys2 = Object.keys(message.byDate)).length) {\r\n object.byDate = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.byDate[keys2[j]] = $root.TCBReceiptApi.Protobuf.Deposit.toObject(message.byDate[keys2[j]], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this DepositDateMap to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.DepositDateMap\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n DepositDateMap.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return DepositDateMap;\r\n })();\r\n\r\n Protobuf.DepositCollection = (function() {\r\n\r\n /**\r\n * Properties of a DepositCollection.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IDepositCollection\r\n * @property {TCBReceiptApi.Protobuf.IDepositDateMap|null} [byStore] DepositCollection byStore\r\n * @property {TCBReceiptApi.Protobuf.IDepositDateMap|null} [byAccount] DepositCollection byAccount\r\n * @property {Object.|null} [byDiffAccount] DepositCollection byDiffAccount\r\n */\r\n\r\n /**\r\n * Constructs a new DepositCollection.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a DepositCollection.\r\n * @implements IDepositCollection\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IDepositCollection=} [properties] Properties to set\r\n */\r\n function DepositCollection(properties) {\r\n this.byDiffAccount = {};\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * DepositCollection byStore.\r\n * @member {TCBReceiptApi.Protobuf.IDepositDateMap|null|undefined} byStore\r\n * @memberof TCBReceiptApi.Protobuf.DepositCollection\r\n * @instance\r\n */\r\n DepositCollection.prototype.byStore = null;\r\n\r\n /**\r\n * DepositCollection byAccount.\r\n * @member {TCBReceiptApi.Protobuf.IDepositDateMap|null|undefined} byAccount\r\n * @memberof TCBReceiptApi.Protobuf.DepositCollection\r\n * @instance\r\n */\r\n DepositCollection.prototype.byAccount = null;\r\n\r\n /**\r\n * DepositCollection byDiffAccount.\r\n * @member {Object.} byDiffAccount\r\n * @memberof TCBReceiptApi.Protobuf.DepositCollection\r\n * @instance\r\n */\r\n DepositCollection.prototype.byDiffAccount = $util.emptyObject;\r\n\r\n /**\r\n * Creates a new DepositCollection instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.DepositCollection\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositCollection=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.DepositCollection} DepositCollection instance\r\n */\r\n DepositCollection.create = function create(properties) {\r\n return new DepositCollection(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified DepositCollection message. Does not implicitly {@link TCBReceiptApi.Protobuf.DepositCollection.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.DepositCollection\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositCollection} message DepositCollection message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n DepositCollection.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.byStore != null && Object.hasOwnProperty.call(message, \"byStore\"))\r\n $root.TCBReceiptApi.Protobuf.DepositDateMap.encode(message.byStore, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n if (message.byAccount != null && Object.hasOwnProperty.call(message, \"byAccount\"))\r\n $root.TCBReceiptApi.Protobuf.DepositDateMap.encode(message.byAccount, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\r\n if (message.byDiffAccount != null && Object.hasOwnProperty.call(message, \"byDiffAccount\"))\r\n for (var keys = Object.keys(message.byDiffAccount), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 3, wireType 2 =*/26).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.DepositDateMap.encode(message.byDiffAccount[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified DepositCollection message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.DepositCollection.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.DepositCollection\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositCollection} message DepositCollection message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n DepositCollection.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a DepositCollection message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.DepositCollection\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.DepositCollection} DepositCollection\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n DepositCollection.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.DepositCollection(), key, value;\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.byStore = $root.TCBReceiptApi.Protobuf.DepositDateMap.decode(reader, reader.uint32());\r\n break;\r\n case 2:\r\n message.byAccount = $root.TCBReceiptApi.Protobuf.DepositDateMap.decode(reader, reader.uint32());\r\n break;\r\n case 3:\r\n if (message.byDiffAccount === $util.emptyObject)\r\n message.byDiffAccount = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = \"\";\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.string();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.DepositDateMap.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.byDiffAccount[key] = value;\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a DepositCollection message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.DepositCollection\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.DepositCollection} DepositCollection\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n DepositCollection.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a DepositCollection message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.DepositCollection\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n DepositCollection.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.byStore != null && message.hasOwnProperty(\"byStore\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.DepositDateMap.verify(message.byStore);\r\n if (error)\r\n return \"byStore.\" + error;\r\n }\r\n if (message.byAccount != null && message.hasOwnProperty(\"byAccount\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.DepositDateMap.verify(message.byAccount);\r\n if (error)\r\n return \"byAccount.\" + error;\r\n }\r\n if (message.byDiffAccount != null && message.hasOwnProperty(\"byDiffAccount\")) {\r\n if (!$util.isObject(message.byDiffAccount))\r\n return \"byDiffAccount: object expected\";\r\n var key = Object.keys(message.byDiffAccount);\r\n for (var i = 0; i < key.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.DepositDateMap.verify(message.byDiffAccount[key[i]]);\r\n if (error)\r\n return \"byDiffAccount.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a DepositCollection message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.DepositCollection\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.DepositCollection} DepositCollection\r\n */\r\n DepositCollection.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.DepositCollection)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.DepositCollection();\r\n if (object.byStore != null) {\r\n if (typeof object.byStore !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.DepositCollection.byStore: object expected\");\r\n message.byStore = $root.TCBReceiptApi.Protobuf.DepositDateMap.fromObject(object.byStore);\r\n }\r\n if (object.byAccount != null) {\r\n if (typeof object.byAccount !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.DepositCollection.byAccount: object expected\");\r\n message.byAccount = $root.TCBReceiptApi.Protobuf.DepositDateMap.fromObject(object.byAccount);\r\n }\r\n if (object.byDiffAccount) {\r\n if (typeof object.byDiffAccount !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.DepositCollection.byDiffAccount: object expected\");\r\n message.byDiffAccount = {};\r\n for (var keys = Object.keys(object.byDiffAccount), i = 0; i < keys.length; ++i) {\r\n if (typeof object.byDiffAccount[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.DepositCollection.byDiffAccount: object expected\");\r\n message.byDiffAccount[keys[i]] = $root.TCBReceiptApi.Protobuf.DepositDateMap.fromObject(object.byDiffAccount[keys[i]]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a DepositCollection message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.DepositCollection\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.DepositCollection} message DepositCollection\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n DepositCollection.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.objects || options.defaults)\r\n object.byDiffAccount = {};\r\n if (options.defaults) {\r\n object.byStore = null;\r\n object.byAccount = null;\r\n }\r\n if (message.byStore != null && message.hasOwnProperty(\"byStore\"))\r\n object.byStore = $root.TCBReceiptApi.Protobuf.DepositDateMap.toObject(message.byStore, options);\r\n if (message.byAccount != null && message.hasOwnProperty(\"byAccount\"))\r\n object.byAccount = $root.TCBReceiptApi.Protobuf.DepositDateMap.toObject(message.byAccount, options);\r\n var keys2;\r\n if (message.byDiffAccount && (keys2 = Object.keys(message.byDiffAccount)).length) {\r\n object.byDiffAccount = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.byDiffAccount[keys2[j]] = $root.TCBReceiptApi.Protobuf.DepositDateMap.toObject(message.byDiffAccount[keys2[j]], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this DepositCollection to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.DepositCollection\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n DepositCollection.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return DepositCollection;\r\n })();\r\n\r\n Protobuf.DepositCollectionMap = (function() {\r\n\r\n /**\r\n * Properties of a DepositCollectionMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IDepositCollectionMap\r\n * @property {Object.|null} [map] DepositCollectionMap map\r\n */\r\n\r\n /**\r\n * Constructs a new DepositCollectionMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a DepositCollectionMap.\r\n * @implements IDepositCollectionMap\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IDepositCollectionMap=} [properties] Properties to set\r\n */\r\n function DepositCollectionMap(properties) {\r\n this.map = {};\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * DepositCollectionMap map.\r\n * @member {Object.} map\r\n * @memberof TCBReceiptApi.Protobuf.DepositCollectionMap\r\n * @instance\r\n */\r\n DepositCollectionMap.prototype.map = $util.emptyObject;\r\n\r\n /**\r\n * Creates a new DepositCollectionMap instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.DepositCollectionMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositCollectionMap=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.DepositCollectionMap} DepositCollectionMap instance\r\n */\r\n DepositCollectionMap.create = function create(properties) {\r\n return new DepositCollectionMap(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified DepositCollectionMap message. Does not implicitly {@link TCBReceiptApi.Protobuf.DepositCollectionMap.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.DepositCollectionMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositCollectionMap} message DepositCollectionMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n DepositCollectionMap.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.map != null && Object.hasOwnProperty.call(message, \"map\"))\r\n for (var keys = Object.keys(message.map), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.DepositCollection.encode(message.map[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified DepositCollectionMap message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.DepositCollectionMap.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.DepositCollectionMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositCollectionMap} message DepositCollectionMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n DepositCollectionMap.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a DepositCollectionMap message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.DepositCollectionMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.DepositCollectionMap} DepositCollectionMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n DepositCollectionMap.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.DepositCollectionMap(), key, value;\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (message.map === $util.emptyObject)\r\n message.map = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = \"\";\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.string();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.DepositCollection.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.map[key] = value;\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a DepositCollectionMap message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.DepositCollectionMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.DepositCollectionMap} DepositCollectionMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n DepositCollectionMap.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a DepositCollectionMap message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.DepositCollectionMap\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n DepositCollectionMap.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.map != null && message.hasOwnProperty(\"map\")) {\r\n if (!$util.isObject(message.map))\r\n return \"map: object expected\";\r\n var key = Object.keys(message.map);\r\n for (var i = 0; i < key.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.DepositCollection.verify(message.map[key[i]]);\r\n if (error)\r\n return \"map.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a DepositCollectionMap message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.DepositCollectionMap\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.DepositCollectionMap} DepositCollectionMap\r\n */\r\n DepositCollectionMap.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.DepositCollectionMap)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.DepositCollectionMap();\r\n if (object.map) {\r\n if (typeof object.map !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.DepositCollectionMap.map: object expected\");\r\n message.map = {};\r\n for (var keys = Object.keys(object.map), i = 0; i < keys.length; ++i) {\r\n if (typeof object.map[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.DepositCollectionMap.map: object expected\");\r\n message.map[keys[i]] = $root.TCBReceiptApi.Protobuf.DepositCollection.fromObject(object.map[keys[i]]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a DepositCollectionMap message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.DepositCollectionMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.DepositCollectionMap} message DepositCollectionMap\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n DepositCollectionMap.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.objects || options.defaults)\r\n object.map = {};\r\n var keys2;\r\n if (message.map && (keys2 = Object.keys(message.map)).length) {\r\n object.map = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.map[keys2[j]] = $root.TCBReceiptApi.Protobuf.DepositCollection.toObject(message.map[keys2[j]], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this DepositCollectionMap to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.DepositCollectionMap\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n DepositCollectionMap.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return DepositCollectionMap;\r\n })();\r\n\r\n Protobuf.DepositTotal = (function() {\r\n\r\n /**\r\n * Properties of a DepositTotal.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IDepositTotal\r\n * @property {number|null} [count] DepositTotal count\r\n * @property {number|null} [total] DepositTotal total\r\n */\r\n\r\n /**\r\n * Constructs a new DepositTotal.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a DepositTotal.\r\n * @implements IDepositTotal\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IDepositTotal=} [properties] Properties to set\r\n */\r\n function DepositTotal(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * DepositTotal count.\r\n * @member {number} count\r\n * @memberof TCBReceiptApi.Protobuf.DepositTotal\r\n * @instance\r\n */\r\n DepositTotal.prototype.count = 0;\r\n\r\n /**\r\n * DepositTotal total.\r\n * @member {number} total\r\n * @memberof TCBReceiptApi.Protobuf.DepositTotal\r\n * @instance\r\n */\r\n DepositTotal.prototype.total = 0;\r\n\r\n /**\r\n * Creates a new DepositTotal instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.DepositTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositTotal=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.DepositTotal} DepositTotal instance\r\n */\r\n DepositTotal.create = function create(properties) {\r\n return new DepositTotal(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified DepositTotal message. Does not implicitly {@link TCBReceiptApi.Protobuf.DepositTotal.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.DepositTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositTotal} message DepositTotal message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n DepositTotal.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.count != null && Object.hasOwnProperty.call(message, \"count\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.count);\r\n if (message.total != null && Object.hasOwnProperty.call(message, \"total\"))\r\n writer.uint32(/* id 2, wireType 1 =*/17).double(message.total);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified DepositTotal message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.DepositTotal.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.DepositTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositTotal} message DepositTotal message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n DepositTotal.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a DepositTotal message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.DepositTotal\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.DepositTotal} DepositTotal\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n DepositTotal.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.DepositTotal();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.count = reader.int32();\r\n break;\r\n case 2:\r\n message.total = reader.double();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a DepositTotal message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.DepositTotal\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.DepositTotal} DepositTotal\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n DepositTotal.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a DepositTotal message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.DepositTotal\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n DepositTotal.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.count != null && message.hasOwnProperty(\"count\"))\r\n if (!$util.isInteger(message.count))\r\n return \"count: integer expected\";\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n if (typeof message.total !== \"number\")\r\n return \"total: number expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a DepositTotal message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.DepositTotal\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.DepositTotal} DepositTotal\r\n */\r\n DepositTotal.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.DepositTotal)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.DepositTotal();\r\n if (object.count != null)\r\n message.count = object.count | 0;\r\n if (object.total != null)\r\n message.total = Number(object.total);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a DepositTotal message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.DepositTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.DepositTotal} message DepositTotal\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n DepositTotal.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.count = 0;\r\n object.total = 0;\r\n }\r\n if (message.count != null && message.hasOwnProperty(\"count\"))\r\n object.count = message.count;\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n object.total = options.json && !isFinite(message.total) ? String(message.total) : message.total;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this DepositTotal to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.DepositTotal\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n DepositTotal.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return DepositTotal;\r\n })();\r\n\r\n Protobuf.DepositQuery = (function() {\r\n\r\n /**\r\n * Properties of a DepositQuery.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IDepositQuery\r\n * @property {Array.|null} [storeList] DepositQuery storeList\r\n * @property {string|null} [tidNumber] DepositQuery tidNumber\r\n * @property {string|null} [account] DepositQuery account\r\n * @property {number|null} [type] DepositQuery type\r\n * @property {string|null} [dateStart] DepositQuery dateStart\r\n * @property {string|null} [dateEnd] DepositQuery dateEnd\r\n * @property {string|null} [specificStore] DepositQuery specificStore\r\n * @property {string|null} [branchBankCode] DepositQuery branchBankCode\r\n */\r\n\r\n /**\r\n * Constructs a new DepositQuery.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a DepositQuery.\r\n * @implements IDepositQuery\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IDepositQuery=} [properties] Properties to set\r\n */\r\n function DepositQuery(properties) {\r\n this.storeList = [];\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * DepositQuery storeList.\r\n * @member {Array.} storeList\r\n * @memberof TCBReceiptApi.Protobuf.DepositQuery\r\n * @instance\r\n */\r\n DepositQuery.prototype.storeList = $util.emptyArray;\r\n\r\n /**\r\n * DepositQuery tidNumber.\r\n * @member {string} tidNumber\r\n * @memberof TCBReceiptApi.Protobuf.DepositQuery\r\n * @instance\r\n */\r\n DepositQuery.prototype.tidNumber = \"\";\r\n\r\n /**\r\n * DepositQuery account.\r\n * @member {string} account\r\n * @memberof TCBReceiptApi.Protobuf.DepositQuery\r\n * @instance\r\n */\r\n DepositQuery.prototype.account = \"\";\r\n\r\n /**\r\n * DepositQuery type.\r\n * @member {number} type\r\n * @memberof TCBReceiptApi.Protobuf.DepositQuery\r\n * @instance\r\n */\r\n DepositQuery.prototype.type = 0;\r\n\r\n /**\r\n * DepositQuery dateStart.\r\n * @member {string} dateStart\r\n * @memberof TCBReceiptApi.Protobuf.DepositQuery\r\n * @instance\r\n */\r\n DepositQuery.prototype.dateStart = \"\";\r\n\r\n /**\r\n * DepositQuery dateEnd.\r\n * @member {string} dateEnd\r\n * @memberof TCBReceiptApi.Protobuf.DepositQuery\r\n * @instance\r\n */\r\n DepositQuery.prototype.dateEnd = \"\";\r\n\r\n /**\r\n * DepositQuery specificStore.\r\n * @member {string} specificStore\r\n * @memberof TCBReceiptApi.Protobuf.DepositQuery\r\n * @instance\r\n */\r\n DepositQuery.prototype.specificStore = \"\";\r\n\r\n /**\r\n * DepositQuery branchBankCode.\r\n * @member {string} branchBankCode\r\n * @memberof TCBReceiptApi.Protobuf.DepositQuery\r\n * @instance\r\n */\r\n DepositQuery.prototype.branchBankCode = \"\";\r\n\r\n /**\r\n * Creates a new DepositQuery instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.DepositQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositQuery=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.DepositQuery} DepositQuery instance\r\n */\r\n DepositQuery.create = function create(properties) {\r\n return new DepositQuery(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified DepositQuery message. Does not implicitly {@link TCBReceiptApi.Protobuf.DepositQuery.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.DepositQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositQuery} message DepositQuery message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n DepositQuery.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.storeList != null && message.storeList.length)\r\n for (var i = 0; i < message.storeList.length; ++i)\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.storeList[i]);\r\n if (message.tidNumber != null && Object.hasOwnProperty.call(message, \"tidNumber\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.tidNumber);\r\n if (message.account != null && Object.hasOwnProperty.call(message, \"account\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.account);\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 4, wireType 0 =*/32).int32(message.type);\r\n if (message.dateStart != null && Object.hasOwnProperty.call(message, \"dateStart\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.dateStart);\r\n if (message.dateEnd != null && Object.hasOwnProperty.call(message, \"dateEnd\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.dateEnd);\r\n if (message.specificStore != null && Object.hasOwnProperty.call(message, \"specificStore\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.specificStore);\r\n if (message.branchBankCode != null && Object.hasOwnProperty.call(message, \"branchBankCode\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.branchBankCode);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified DepositQuery message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.DepositQuery.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.DepositQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositQuery} message DepositQuery message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n DepositQuery.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a DepositQuery message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.DepositQuery\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.DepositQuery} DepositQuery\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n DepositQuery.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.DepositQuery();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (!(message.storeList && message.storeList.length))\r\n message.storeList = [];\r\n message.storeList.push(reader.string());\r\n break;\r\n case 2:\r\n message.tidNumber = reader.string();\r\n break;\r\n case 3:\r\n message.account = reader.string();\r\n break;\r\n case 4:\r\n message.type = reader.int32();\r\n break;\r\n case 5:\r\n message.dateStart = reader.string();\r\n break;\r\n case 6:\r\n message.dateEnd = reader.string();\r\n break;\r\n case 7:\r\n message.specificStore = reader.string();\r\n break;\r\n case 8:\r\n message.branchBankCode = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a DepositQuery message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.DepositQuery\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.DepositQuery} DepositQuery\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n DepositQuery.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a DepositQuery message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.DepositQuery\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n DepositQuery.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.storeList != null && message.hasOwnProperty(\"storeList\")) {\r\n if (!Array.isArray(message.storeList))\r\n return \"storeList: array expected\";\r\n for (var i = 0; i < message.storeList.length; ++i)\r\n if (!$util.isString(message.storeList[i]))\r\n return \"storeList: string[] expected\";\r\n }\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n if (!$util.isString(message.tidNumber))\r\n return \"tidNumber: string expected\";\r\n if (message.account != null && message.hasOwnProperty(\"account\"))\r\n if (!$util.isString(message.account))\r\n return \"account: string expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isInteger(message.type))\r\n return \"type: integer expected\";\r\n if (message.dateStart != null && message.hasOwnProperty(\"dateStart\"))\r\n if (!$util.isString(message.dateStart))\r\n return \"dateStart: string expected\";\r\n if (message.dateEnd != null && message.hasOwnProperty(\"dateEnd\"))\r\n if (!$util.isString(message.dateEnd))\r\n return \"dateEnd: string expected\";\r\n if (message.specificStore != null && message.hasOwnProperty(\"specificStore\"))\r\n if (!$util.isString(message.specificStore))\r\n return \"specificStore: string expected\";\r\n if (message.branchBankCode != null && message.hasOwnProperty(\"branchBankCode\"))\r\n if (!$util.isString(message.branchBankCode))\r\n return \"branchBankCode: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a DepositQuery message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.DepositQuery\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.DepositQuery} DepositQuery\r\n */\r\n DepositQuery.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.DepositQuery)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.DepositQuery();\r\n if (object.storeList) {\r\n if (!Array.isArray(object.storeList))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.DepositQuery.storeList: array expected\");\r\n message.storeList = [];\r\n for (var i = 0; i < object.storeList.length; ++i)\r\n message.storeList[i] = String(object.storeList[i]);\r\n }\r\n if (object.tidNumber != null)\r\n message.tidNumber = String(object.tidNumber);\r\n if (object.account != null)\r\n message.account = String(object.account);\r\n if (object.type != null)\r\n message.type = object.type | 0;\r\n if (object.dateStart != null)\r\n message.dateStart = String(object.dateStart);\r\n if (object.dateEnd != null)\r\n message.dateEnd = String(object.dateEnd);\r\n if (object.specificStore != null)\r\n message.specificStore = String(object.specificStore);\r\n if (object.branchBankCode != null)\r\n message.branchBankCode = String(object.branchBankCode);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a DepositQuery message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.DepositQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.DepositQuery} message DepositQuery\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n DepositQuery.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.arrays || options.defaults)\r\n object.storeList = [];\r\n if (options.defaults) {\r\n object.tidNumber = \"\";\r\n object.account = \"\";\r\n object.type = 0;\r\n object.dateStart = \"\";\r\n object.dateEnd = \"\";\r\n object.specificStore = \"\";\r\n object.branchBankCode = \"\";\r\n }\r\n if (message.storeList && message.storeList.length) {\r\n object.storeList = [];\r\n for (var j = 0; j < message.storeList.length; ++j)\r\n object.storeList[j] = message.storeList[j];\r\n }\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n object.tidNumber = message.tidNumber;\r\n if (message.account != null && message.hasOwnProperty(\"account\"))\r\n object.account = message.account;\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.dateStart != null && message.hasOwnProperty(\"dateStart\"))\r\n object.dateStart = message.dateStart;\r\n if (message.dateEnd != null && message.hasOwnProperty(\"dateEnd\"))\r\n object.dateEnd = message.dateEnd;\r\n if (message.specificStore != null && message.hasOwnProperty(\"specificStore\"))\r\n object.specificStore = message.specificStore;\r\n if (message.branchBankCode != null && message.hasOwnProperty(\"branchBankCode\"))\r\n object.branchBankCode = message.branchBankCode;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this DepositQuery to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.DepositQuery\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n DepositQuery.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return DepositQuery;\r\n })();\r\n\r\n Protobuf.DepositSummaryByStoreExport = (function() {\r\n\r\n /**\r\n * Properties of a DepositSummaryByStoreExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IDepositSummaryByStoreExport\r\n * @property {string|null} [storeCode] DepositSummaryByStoreExport storeCode\r\n * @property {string|null} [registerName] DepositSummaryByStoreExport registerName\r\n * @property {string|null} [account] DepositSummaryByStoreExport account\r\n * @property {string|null} [date] DepositSummaryByStoreExport date\r\n * @property {string|null} [amount] DepositSummaryByStoreExport amount\r\n * @property {string|null} [charge] DepositSummaryByStoreExport charge\r\n * @property {string|null} [internalIfr] DepositSummaryByStoreExport internalIfr\r\n * @property {string|null} [externalIfr] DepositSummaryByStoreExport externalIfr\r\n * @property {string|null} [chargeTotal] DepositSummaryByStoreExport chargeTotal\r\n * @property {string|null} [netAmount] DepositSummaryByStoreExport netAmount\r\n * @property {string|null} [type] DepositSummaryByStoreExport type\r\n * @property {string|null} [remarksCode] DepositSummaryByStoreExport remarksCode\r\n * @property {string|null} [remarks] DepositSummaryByStoreExport remarks\r\n */\r\n\r\n /**\r\n * Constructs a new DepositSummaryByStoreExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a DepositSummaryByStoreExport.\r\n * @implements IDepositSummaryByStoreExport\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IDepositSummaryByStoreExport=} [properties] Properties to set\r\n */\r\n function DepositSummaryByStoreExport(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * DepositSummaryByStoreExport storeCode.\r\n * @member {string} storeCode\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByStoreExport\r\n * @instance\r\n */\r\n DepositSummaryByStoreExport.prototype.storeCode = \"\";\r\n\r\n /**\r\n * DepositSummaryByStoreExport registerName.\r\n * @member {string} registerName\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByStoreExport\r\n * @instance\r\n */\r\n DepositSummaryByStoreExport.prototype.registerName = \"\";\r\n\r\n /**\r\n * DepositSummaryByStoreExport account.\r\n * @member {string} account\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByStoreExport\r\n * @instance\r\n */\r\n DepositSummaryByStoreExport.prototype.account = \"\";\r\n\r\n /**\r\n * DepositSummaryByStoreExport date.\r\n * @member {string} date\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByStoreExport\r\n * @instance\r\n */\r\n DepositSummaryByStoreExport.prototype.date = \"\";\r\n\r\n /**\r\n * DepositSummaryByStoreExport amount.\r\n * @member {string} amount\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByStoreExport\r\n * @instance\r\n */\r\n DepositSummaryByStoreExport.prototype.amount = \"\";\r\n\r\n /**\r\n * DepositSummaryByStoreExport charge.\r\n * @member {string} charge\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByStoreExport\r\n * @instance\r\n */\r\n DepositSummaryByStoreExport.prototype.charge = \"\";\r\n\r\n /**\r\n * DepositSummaryByStoreExport internalIfr.\r\n * @member {string} internalIfr\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByStoreExport\r\n * @instance\r\n */\r\n DepositSummaryByStoreExport.prototype.internalIfr = \"\";\r\n\r\n /**\r\n * DepositSummaryByStoreExport externalIfr.\r\n * @member {string} externalIfr\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByStoreExport\r\n * @instance\r\n */\r\n DepositSummaryByStoreExport.prototype.externalIfr = \"\";\r\n\r\n /**\r\n * DepositSummaryByStoreExport chargeTotal.\r\n * @member {string} chargeTotal\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByStoreExport\r\n * @instance\r\n */\r\n DepositSummaryByStoreExport.prototype.chargeTotal = \"\";\r\n\r\n /**\r\n * DepositSummaryByStoreExport netAmount.\r\n * @member {string} netAmount\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByStoreExport\r\n * @instance\r\n */\r\n DepositSummaryByStoreExport.prototype.netAmount = \"\";\r\n\r\n /**\r\n * DepositSummaryByStoreExport type.\r\n * @member {string} type\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByStoreExport\r\n * @instance\r\n */\r\n DepositSummaryByStoreExport.prototype.type = \"\";\r\n\r\n /**\r\n * DepositSummaryByStoreExport remarksCode.\r\n * @member {string} remarksCode\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByStoreExport\r\n * @instance\r\n */\r\n DepositSummaryByStoreExport.prototype.remarksCode = \"\";\r\n\r\n /**\r\n * DepositSummaryByStoreExport remarks.\r\n * @member {string} remarks\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByStoreExport\r\n * @instance\r\n */\r\n DepositSummaryByStoreExport.prototype.remarks = \"\";\r\n\r\n /**\r\n * Creates a new DepositSummaryByStoreExport instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByStoreExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositSummaryByStoreExport=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.DepositSummaryByStoreExport} DepositSummaryByStoreExport instance\r\n */\r\n DepositSummaryByStoreExport.create = function create(properties) {\r\n return new DepositSummaryByStoreExport(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified DepositSummaryByStoreExport message. Does not implicitly {@link TCBReceiptApi.Protobuf.DepositSummaryByStoreExport.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByStoreExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositSummaryByStoreExport} message DepositSummaryByStoreExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n DepositSummaryByStoreExport.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.storeCode != null && Object.hasOwnProperty.call(message, \"storeCode\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.storeCode);\r\n if (message.registerName != null && Object.hasOwnProperty.call(message, \"registerName\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.registerName);\r\n if (message.account != null && Object.hasOwnProperty.call(message, \"account\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.account);\r\n if (message.date != null && Object.hasOwnProperty.call(message, \"date\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.date);\r\n if (message.amount != null && Object.hasOwnProperty.call(message, \"amount\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.amount);\r\n if (message.charge != null && Object.hasOwnProperty.call(message, \"charge\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.charge);\r\n if (message.internalIfr != null && Object.hasOwnProperty.call(message, \"internalIfr\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.internalIfr);\r\n if (message.externalIfr != null && Object.hasOwnProperty.call(message, \"externalIfr\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.externalIfr);\r\n if (message.chargeTotal != null && Object.hasOwnProperty.call(message, \"chargeTotal\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.chargeTotal);\r\n if (message.netAmount != null && Object.hasOwnProperty.call(message, \"netAmount\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.netAmount);\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.type);\r\n if (message.remarksCode != null && Object.hasOwnProperty.call(message, \"remarksCode\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.remarksCode);\r\n if (message.remarks != null && Object.hasOwnProperty.call(message, \"remarks\"))\r\n writer.uint32(/* id 13, wireType 2 =*/106).string(message.remarks);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified DepositSummaryByStoreExport message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.DepositSummaryByStoreExport.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByStoreExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositSummaryByStoreExport} message DepositSummaryByStoreExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n DepositSummaryByStoreExport.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a DepositSummaryByStoreExport message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByStoreExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.DepositSummaryByStoreExport} DepositSummaryByStoreExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n DepositSummaryByStoreExport.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.DepositSummaryByStoreExport();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.storeCode = reader.string();\r\n break;\r\n case 2:\r\n message.registerName = reader.string();\r\n break;\r\n case 3:\r\n message.account = reader.string();\r\n break;\r\n case 4:\r\n message.date = reader.string();\r\n break;\r\n case 5:\r\n message.amount = reader.string();\r\n break;\r\n case 6:\r\n message.charge = reader.string();\r\n break;\r\n case 7:\r\n message.internalIfr = reader.string();\r\n break;\r\n case 8:\r\n message.externalIfr = reader.string();\r\n break;\r\n case 9:\r\n message.chargeTotal = reader.string();\r\n break;\r\n case 10:\r\n message.netAmount = reader.string();\r\n break;\r\n case 11:\r\n message.type = reader.string();\r\n break;\r\n case 12:\r\n message.remarksCode = reader.string();\r\n break;\r\n case 13:\r\n message.remarks = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a DepositSummaryByStoreExport message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByStoreExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.DepositSummaryByStoreExport} DepositSummaryByStoreExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n DepositSummaryByStoreExport.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a DepositSummaryByStoreExport message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByStoreExport\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n DepositSummaryByStoreExport.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n if (!$util.isString(message.storeCode))\r\n return \"storeCode: string expected\";\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n if (!$util.isString(message.registerName))\r\n return \"registerName: string expected\";\r\n if (message.account != null && message.hasOwnProperty(\"account\"))\r\n if (!$util.isString(message.account))\r\n return \"account: string expected\";\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n if (!$util.isString(message.date))\r\n return \"date: string expected\";\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n if (!$util.isString(message.amount))\r\n return \"amount: string expected\";\r\n if (message.charge != null && message.hasOwnProperty(\"charge\"))\r\n if (!$util.isString(message.charge))\r\n return \"charge: string expected\";\r\n if (message.internalIfr != null && message.hasOwnProperty(\"internalIfr\"))\r\n if (!$util.isString(message.internalIfr))\r\n return \"internalIfr: string expected\";\r\n if (message.externalIfr != null && message.hasOwnProperty(\"externalIfr\"))\r\n if (!$util.isString(message.externalIfr))\r\n return \"externalIfr: string expected\";\r\n if (message.chargeTotal != null && message.hasOwnProperty(\"chargeTotal\"))\r\n if (!$util.isString(message.chargeTotal))\r\n return \"chargeTotal: string expected\";\r\n if (message.netAmount != null && message.hasOwnProperty(\"netAmount\"))\r\n if (!$util.isString(message.netAmount))\r\n return \"netAmount: string expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isString(message.type))\r\n return \"type: string expected\";\r\n if (message.remarksCode != null && message.hasOwnProperty(\"remarksCode\"))\r\n if (!$util.isString(message.remarksCode))\r\n return \"remarksCode: string expected\";\r\n if (message.remarks != null && message.hasOwnProperty(\"remarks\"))\r\n if (!$util.isString(message.remarks))\r\n return \"remarks: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a DepositSummaryByStoreExport message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByStoreExport\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.DepositSummaryByStoreExport} DepositSummaryByStoreExport\r\n */\r\n DepositSummaryByStoreExport.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.DepositSummaryByStoreExport)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.DepositSummaryByStoreExport();\r\n if (object.storeCode != null)\r\n message.storeCode = String(object.storeCode);\r\n if (object.registerName != null)\r\n message.registerName = String(object.registerName);\r\n if (object.account != null)\r\n message.account = String(object.account);\r\n if (object.date != null)\r\n message.date = String(object.date);\r\n if (object.amount != null)\r\n message.amount = String(object.amount);\r\n if (object.charge != null)\r\n message.charge = String(object.charge);\r\n if (object.internalIfr != null)\r\n message.internalIfr = String(object.internalIfr);\r\n if (object.externalIfr != null)\r\n message.externalIfr = String(object.externalIfr);\r\n if (object.chargeTotal != null)\r\n message.chargeTotal = String(object.chargeTotal);\r\n if (object.netAmount != null)\r\n message.netAmount = String(object.netAmount);\r\n if (object.type != null)\r\n message.type = String(object.type);\r\n if (object.remarksCode != null)\r\n message.remarksCode = String(object.remarksCode);\r\n if (object.remarks != null)\r\n message.remarks = String(object.remarks);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a DepositSummaryByStoreExport message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByStoreExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.DepositSummaryByStoreExport} message DepositSummaryByStoreExport\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n DepositSummaryByStoreExport.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.storeCode = \"\";\r\n object.registerName = \"\";\r\n object.account = \"\";\r\n object.date = \"\";\r\n object.amount = \"\";\r\n object.charge = \"\";\r\n object.internalIfr = \"\";\r\n object.externalIfr = \"\";\r\n object.chargeTotal = \"\";\r\n object.netAmount = \"\";\r\n object.type = \"\";\r\n object.remarksCode = \"\";\r\n object.remarks = \"\";\r\n }\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n object.storeCode = message.storeCode;\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n object.registerName = message.registerName;\r\n if (message.account != null && message.hasOwnProperty(\"account\"))\r\n object.account = message.account;\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n object.date = message.date;\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n object.amount = message.amount;\r\n if (message.charge != null && message.hasOwnProperty(\"charge\"))\r\n object.charge = message.charge;\r\n if (message.internalIfr != null && message.hasOwnProperty(\"internalIfr\"))\r\n object.internalIfr = message.internalIfr;\r\n if (message.externalIfr != null && message.hasOwnProperty(\"externalIfr\"))\r\n object.externalIfr = message.externalIfr;\r\n if (message.chargeTotal != null && message.hasOwnProperty(\"chargeTotal\"))\r\n object.chargeTotal = message.chargeTotal;\r\n if (message.netAmount != null && message.hasOwnProperty(\"netAmount\"))\r\n object.netAmount = message.netAmount;\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.remarksCode != null && message.hasOwnProperty(\"remarksCode\"))\r\n object.remarksCode = message.remarksCode;\r\n if (message.remarks != null && message.hasOwnProperty(\"remarks\"))\r\n object.remarks = message.remarks;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this DepositSummaryByStoreExport to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByStoreExport\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n DepositSummaryByStoreExport.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return DepositSummaryByStoreExport;\r\n })();\r\n\r\n Protobuf.DepositSummaryByAccountExport = (function() {\r\n\r\n /**\r\n * Properties of a DepositSummaryByAccountExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IDepositSummaryByAccountExport\r\n * @property {string|null} [account] DepositSummaryByAccountExport account\r\n * @property {string|null} [date] DepositSummaryByAccountExport date\r\n * @property {string|null} [storeCode] DepositSummaryByAccountExport storeCode\r\n * @property {string|null} [registerName] DepositSummaryByAccountExport registerName\r\n * @property {string|null} [amount] DepositSummaryByAccountExport amount\r\n * @property {string|null} [charge] DepositSummaryByAccountExport charge\r\n * @property {string|null} [internalIfr] DepositSummaryByAccountExport internalIfr\r\n * @property {string|null} [externalIfr] DepositSummaryByAccountExport externalIfr\r\n * @property {string|null} [chargeTotal] DepositSummaryByAccountExport chargeTotal\r\n * @property {string|null} [netAmount] DepositSummaryByAccountExport netAmount\r\n * @property {string|null} [type] DepositSummaryByAccountExport type\r\n * @property {string|null} [remarksCode] DepositSummaryByAccountExport remarksCode\r\n * @property {string|null} [remarks] DepositSummaryByAccountExport remarks\r\n */\r\n\r\n /**\r\n * Constructs a new DepositSummaryByAccountExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a DepositSummaryByAccountExport.\r\n * @implements IDepositSummaryByAccountExport\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IDepositSummaryByAccountExport=} [properties] Properties to set\r\n */\r\n function DepositSummaryByAccountExport(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * DepositSummaryByAccountExport account.\r\n * @member {string} account\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByAccountExport\r\n * @instance\r\n */\r\n DepositSummaryByAccountExport.prototype.account = \"\";\r\n\r\n /**\r\n * DepositSummaryByAccountExport date.\r\n * @member {string} date\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByAccountExport\r\n * @instance\r\n */\r\n DepositSummaryByAccountExport.prototype.date = \"\";\r\n\r\n /**\r\n * DepositSummaryByAccountExport storeCode.\r\n * @member {string} storeCode\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByAccountExport\r\n * @instance\r\n */\r\n DepositSummaryByAccountExport.prototype.storeCode = \"\";\r\n\r\n /**\r\n * DepositSummaryByAccountExport registerName.\r\n * @member {string} registerName\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByAccountExport\r\n * @instance\r\n */\r\n DepositSummaryByAccountExport.prototype.registerName = \"\";\r\n\r\n /**\r\n * DepositSummaryByAccountExport amount.\r\n * @member {string} amount\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByAccountExport\r\n * @instance\r\n */\r\n DepositSummaryByAccountExport.prototype.amount = \"\";\r\n\r\n /**\r\n * DepositSummaryByAccountExport charge.\r\n * @member {string} charge\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByAccountExport\r\n * @instance\r\n */\r\n DepositSummaryByAccountExport.prototype.charge = \"\";\r\n\r\n /**\r\n * DepositSummaryByAccountExport internalIfr.\r\n * @member {string} internalIfr\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByAccountExport\r\n * @instance\r\n */\r\n DepositSummaryByAccountExport.prototype.internalIfr = \"\";\r\n\r\n /**\r\n * DepositSummaryByAccountExport externalIfr.\r\n * @member {string} externalIfr\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByAccountExport\r\n * @instance\r\n */\r\n DepositSummaryByAccountExport.prototype.externalIfr = \"\";\r\n\r\n /**\r\n * DepositSummaryByAccountExport chargeTotal.\r\n * @member {string} chargeTotal\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByAccountExport\r\n * @instance\r\n */\r\n DepositSummaryByAccountExport.prototype.chargeTotal = \"\";\r\n\r\n /**\r\n * DepositSummaryByAccountExport netAmount.\r\n * @member {string} netAmount\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByAccountExport\r\n * @instance\r\n */\r\n DepositSummaryByAccountExport.prototype.netAmount = \"\";\r\n\r\n /**\r\n * DepositSummaryByAccountExport type.\r\n * @member {string} type\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByAccountExport\r\n * @instance\r\n */\r\n DepositSummaryByAccountExport.prototype.type = \"\";\r\n\r\n /**\r\n * DepositSummaryByAccountExport remarksCode.\r\n * @member {string} remarksCode\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByAccountExport\r\n * @instance\r\n */\r\n DepositSummaryByAccountExport.prototype.remarksCode = \"\";\r\n\r\n /**\r\n * DepositSummaryByAccountExport remarks.\r\n * @member {string} remarks\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByAccountExport\r\n * @instance\r\n */\r\n DepositSummaryByAccountExport.prototype.remarks = \"\";\r\n\r\n /**\r\n * Creates a new DepositSummaryByAccountExport instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByAccountExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositSummaryByAccountExport=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.DepositSummaryByAccountExport} DepositSummaryByAccountExport instance\r\n */\r\n DepositSummaryByAccountExport.create = function create(properties) {\r\n return new DepositSummaryByAccountExport(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified DepositSummaryByAccountExport message. Does not implicitly {@link TCBReceiptApi.Protobuf.DepositSummaryByAccountExport.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByAccountExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositSummaryByAccountExport} message DepositSummaryByAccountExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n DepositSummaryByAccountExport.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.account != null && Object.hasOwnProperty.call(message, \"account\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.account);\r\n if (message.date != null && Object.hasOwnProperty.call(message, \"date\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.date);\r\n if (message.storeCode != null && Object.hasOwnProperty.call(message, \"storeCode\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.storeCode);\r\n if (message.registerName != null && Object.hasOwnProperty.call(message, \"registerName\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.registerName);\r\n if (message.amount != null && Object.hasOwnProperty.call(message, \"amount\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.amount);\r\n if (message.charge != null && Object.hasOwnProperty.call(message, \"charge\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.charge);\r\n if (message.internalIfr != null && Object.hasOwnProperty.call(message, \"internalIfr\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.internalIfr);\r\n if (message.externalIfr != null && Object.hasOwnProperty.call(message, \"externalIfr\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.externalIfr);\r\n if (message.chargeTotal != null && Object.hasOwnProperty.call(message, \"chargeTotal\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.chargeTotal);\r\n if (message.netAmount != null && Object.hasOwnProperty.call(message, \"netAmount\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.netAmount);\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.type);\r\n if (message.remarksCode != null && Object.hasOwnProperty.call(message, \"remarksCode\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.remarksCode);\r\n if (message.remarks != null && Object.hasOwnProperty.call(message, \"remarks\"))\r\n writer.uint32(/* id 13, wireType 2 =*/106).string(message.remarks);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified DepositSummaryByAccountExport message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.DepositSummaryByAccountExport.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByAccountExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IDepositSummaryByAccountExport} message DepositSummaryByAccountExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n DepositSummaryByAccountExport.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a DepositSummaryByAccountExport message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByAccountExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.DepositSummaryByAccountExport} DepositSummaryByAccountExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n DepositSummaryByAccountExport.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.DepositSummaryByAccountExport();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.account = reader.string();\r\n break;\r\n case 2:\r\n message.date = reader.string();\r\n break;\r\n case 3:\r\n message.storeCode = reader.string();\r\n break;\r\n case 4:\r\n message.registerName = reader.string();\r\n break;\r\n case 5:\r\n message.amount = reader.string();\r\n break;\r\n case 6:\r\n message.charge = reader.string();\r\n break;\r\n case 7:\r\n message.internalIfr = reader.string();\r\n break;\r\n case 8:\r\n message.externalIfr = reader.string();\r\n break;\r\n case 9:\r\n message.chargeTotal = reader.string();\r\n break;\r\n case 10:\r\n message.netAmount = reader.string();\r\n break;\r\n case 11:\r\n message.type = reader.string();\r\n break;\r\n case 12:\r\n message.remarksCode = reader.string();\r\n break;\r\n case 13:\r\n message.remarks = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a DepositSummaryByAccountExport message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByAccountExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.DepositSummaryByAccountExport} DepositSummaryByAccountExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n DepositSummaryByAccountExport.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a DepositSummaryByAccountExport message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByAccountExport\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n DepositSummaryByAccountExport.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.account != null && message.hasOwnProperty(\"account\"))\r\n if (!$util.isString(message.account))\r\n return \"account: string expected\";\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n if (!$util.isString(message.date))\r\n return \"date: string expected\";\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n if (!$util.isString(message.storeCode))\r\n return \"storeCode: string expected\";\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n if (!$util.isString(message.registerName))\r\n return \"registerName: string expected\";\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n if (!$util.isString(message.amount))\r\n return \"amount: string expected\";\r\n if (message.charge != null && message.hasOwnProperty(\"charge\"))\r\n if (!$util.isString(message.charge))\r\n return \"charge: string expected\";\r\n if (message.internalIfr != null && message.hasOwnProperty(\"internalIfr\"))\r\n if (!$util.isString(message.internalIfr))\r\n return \"internalIfr: string expected\";\r\n if (message.externalIfr != null && message.hasOwnProperty(\"externalIfr\"))\r\n if (!$util.isString(message.externalIfr))\r\n return \"externalIfr: string expected\";\r\n if (message.chargeTotal != null && message.hasOwnProperty(\"chargeTotal\"))\r\n if (!$util.isString(message.chargeTotal))\r\n return \"chargeTotal: string expected\";\r\n if (message.netAmount != null && message.hasOwnProperty(\"netAmount\"))\r\n if (!$util.isString(message.netAmount))\r\n return \"netAmount: string expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isString(message.type))\r\n return \"type: string expected\";\r\n if (message.remarksCode != null && message.hasOwnProperty(\"remarksCode\"))\r\n if (!$util.isString(message.remarksCode))\r\n return \"remarksCode: string expected\";\r\n if (message.remarks != null && message.hasOwnProperty(\"remarks\"))\r\n if (!$util.isString(message.remarks))\r\n return \"remarks: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a DepositSummaryByAccountExport message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByAccountExport\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.DepositSummaryByAccountExport} DepositSummaryByAccountExport\r\n */\r\n DepositSummaryByAccountExport.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.DepositSummaryByAccountExport)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.DepositSummaryByAccountExport();\r\n if (object.account != null)\r\n message.account = String(object.account);\r\n if (object.date != null)\r\n message.date = String(object.date);\r\n if (object.storeCode != null)\r\n message.storeCode = String(object.storeCode);\r\n if (object.registerName != null)\r\n message.registerName = String(object.registerName);\r\n if (object.amount != null)\r\n message.amount = String(object.amount);\r\n if (object.charge != null)\r\n message.charge = String(object.charge);\r\n if (object.internalIfr != null)\r\n message.internalIfr = String(object.internalIfr);\r\n if (object.externalIfr != null)\r\n message.externalIfr = String(object.externalIfr);\r\n if (object.chargeTotal != null)\r\n message.chargeTotal = String(object.chargeTotal);\r\n if (object.netAmount != null)\r\n message.netAmount = String(object.netAmount);\r\n if (object.type != null)\r\n message.type = String(object.type);\r\n if (object.remarksCode != null)\r\n message.remarksCode = String(object.remarksCode);\r\n if (object.remarks != null)\r\n message.remarks = String(object.remarks);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a DepositSummaryByAccountExport message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByAccountExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.DepositSummaryByAccountExport} message DepositSummaryByAccountExport\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n DepositSummaryByAccountExport.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.account = \"\";\r\n object.date = \"\";\r\n object.storeCode = \"\";\r\n object.registerName = \"\";\r\n object.amount = \"\";\r\n object.charge = \"\";\r\n object.internalIfr = \"\";\r\n object.externalIfr = \"\";\r\n object.chargeTotal = \"\";\r\n object.netAmount = \"\";\r\n object.type = \"\";\r\n object.remarksCode = \"\";\r\n object.remarks = \"\";\r\n }\r\n if (message.account != null && message.hasOwnProperty(\"account\"))\r\n object.account = message.account;\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n object.date = message.date;\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n object.storeCode = message.storeCode;\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n object.registerName = message.registerName;\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n object.amount = message.amount;\r\n if (message.charge != null && message.hasOwnProperty(\"charge\"))\r\n object.charge = message.charge;\r\n if (message.internalIfr != null && message.hasOwnProperty(\"internalIfr\"))\r\n object.internalIfr = message.internalIfr;\r\n if (message.externalIfr != null && message.hasOwnProperty(\"externalIfr\"))\r\n object.externalIfr = message.externalIfr;\r\n if (message.chargeTotal != null && message.hasOwnProperty(\"chargeTotal\"))\r\n object.chargeTotal = message.chargeTotal;\r\n if (message.netAmount != null && message.hasOwnProperty(\"netAmount\"))\r\n object.netAmount = message.netAmount;\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.remarksCode != null && message.hasOwnProperty(\"remarksCode\"))\r\n object.remarksCode = message.remarksCode;\r\n if (message.remarks != null && message.hasOwnProperty(\"remarks\"))\r\n object.remarks = message.remarks;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this DepositSummaryByAccountExport to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.DepositSummaryByAccountExport\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n DepositSummaryByAccountExport.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return DepositSummaryByAccountExport;\r\n })();\r\n\r\n /**\r\n * CreatedMethod enum.\r\n * @name TCBReceiptApi.Protobuf.CreatedMethod\r\n * @enum {number}\r\n * @property {number} CM_NONE=0 CM_NONE value\r\n * @property {number} CM_SCHEDULE=1 CM_SCHEDULE value\r\n * @property {number} CM_MANUAL_CRD=2 CM_MANUAL_CRD value\r\n * @property {number} CM_MANUAL_CRD_FORCE=3 CM_MANUAL_CRD_FORCE value\r\n * @property {number} CM_MANUAL_NOT_CRD_FORCE=4 CM_MANUAL_NOT_CRD_FORCE value\r\n * @property {number} CM_EBILLING=5 CM_EBILLING value\r\n * @property {number} CM_ALIPAY=6 CM_ALIPAY value\r\n */\r\n Protobuf.CreatedMethod = (function() {\r\n var valuesById = {}, values = Object.create(valuesById);\r\n values[valuesById[0] = \"CM_NONE\"] = 0;\r\n values[valuesById[1] = \"CM_SCHEDULE\"] = 1;\r\n values[valuesById[2] = \"CM_MANUAL_CRD\"] = 2;\r\n values[valuesById[3] = \"CM_MANUAL_CRD_FORCE\"] = 3;\r\n values[valuesById[4] = \"CM_MANUAL_NOT_CRD_FORCE\"] = 4;\r\n values[valuesById[5] = \"CM_EBILLING\"] = 5;\r\n values[valuesById[6] = \"CM_ALIPAY\"] = 6;\r\n return values;\r\n })();\r\n\r\n /**\r\n * ReceiptCheckPoint enum.\r\n * @name TCBReceiptApi.Protobuf.ReceiptCheckPoint\r\n * @enum {number}\r\n * @property {number} RCP_NONE=0 RCP_NONE value\r\n * @property {number} RCP_GENERATE_FILE=1 RCP_GENERATE_FILE value\r\n * @property {number} RCP_UPDATE_LAST_TIME=2 RCP_UPDATE_LAST_TIME value\r\n * @property {number} RCP_INSERT_INTO_MEMORANDUMBOOK=3 RCP_INSERT_INTO_MEMORANDUMBOOK value\r\n * @property {number} RCP_FAILED_RETRY=99 RCP_FAILED_RETRY value\r\n */\r\n Protobuf.ReceiptCheckPoint = (function() {\r\n var valuesById = {}, values = Object.create(valuesById);\r\n values[valuesById[0] = \"RCP_NONE\"] = 0;\r\n values[valuesById[1] = \"RCP_GENERATE_FILE\"] = 1;\r\n values[valuesById[2] = \"RCP_UPDATE_LAST_TIME\"] = 2;\r\n values[valuesById[3] = \"RCP_INSERT_INTO_MEMORANDUMBOOK\"] = 3;\r\n values[valuesById[99] = \"RCP_FAILED_RETRY\"] = 99;\r\n return values;\r\n })();\r\n\r\n Protobuf.Sup = (function() {\r\n\r\n /**\r\n * Properties of a Sup.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface ISup\r\n * @property {string|null} [dataStatus] Sup dataStatus\r\n * @property {string|null} [retailerId] Sup retailerId\r\n * @property {string|null} [supplierCode] Sup supplierCode\r\n * @property {string|null} [supplierName] Sup supplierName\r\n * @property {string|null} [ban] Sup ban\r\n * @property {string|null} [invoiceTitle] Sup invoiceTitle\r\n * @property {string|null} [invoiceAddress] Sup invoiceAddress\r\n */\r\n\r\n /**\r\n * Constructs a new Sup.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a Sup.\r\n * @implements ISup\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.ISup=} [properties] Properties to set\r\n */\r\n function Sup(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * Sup dataStatus.\r\n * @member {string} dataStatus\r\n * @memberof TCBReceiptApi.Protobuf.Sup\r\n * @instance\r\n */\r\n Sup.prototype.dataStatus = \"\";\r\n\r\n /**\r\n * Sup retailerId.\r\n * @member {string} retailerId\r\n * @memberof TCBReceiptApi.Protobuf.Sup\r\n * @instance\r\n */\r\n Sup.prototype.retailerId = \"\";\r\n\r\n /**\r\n * Sup supplierCode.\r\n * @member {string} supplierCode\r\n * @memberof TCBReceiptApi.Protobuf.Sup\r\n * @instance\r\n */\r\n Sup.prototype.supplierCode = \"\";\r\n\r\n /**\r\n * Sup supplierName.\r\n * @member {string} supplierName\r\n * @memberof TCBReceiptApi.Protobuf.Sup\r\n * @instance\r\n */\r\n Sup.prototype.supplierName = \"\";\r\n\r\n /**\r\n * Sup ban.\r\n * @member {string} ban\r\n * @memberof TCBReceiptApi.Protobuf.Sup\r\n * @instance\r\n */\r\n Sup.prototype.ban = \"\";\r\n\r\n /**\r\n * Sup invoiceTitle.\r\n * @member {string} invoiceTitle\r\n * @memberof TCBReceiptApi.Protobuf.Sup\r\n * @instance\r\n */\r\n Sup.prototype.invoiceTitle = \"\";\r\n\r\n /**\r\n * Sup invoiceAddress.\r\n * @member {string} invoiceAddress\r\n * @memberof TCBReceiptApi.Protobuf.Sup\r\n * @instance\r\n */\r\n Sup.prototype.invoiceAddress = \"\";\r\n\r\n /**\r\n * Creates a new Sup instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.Sup\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ISup=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.Sup} Sup instance\r\n */\r\n Sup.create = function create(properties) {\r\n return new Sup(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified Sup message. Does not implicitly {@link TCBReceiptApi.Protobuf.Sup.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.Sup\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ISup} message Sup message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Sup.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.dataStatus != null && Object.hasOwnProperty.call(message, \"dataStatus\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.dataStatus);\r\n if (message.retailerId != null && Object.hasOwnProperty.call(message, \"retailerId\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.retailerId);\r\n if (message.supplierCode != null && Object.hasOwnProperty.call(message, \"supplierCode\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.supplierCode);\r\n if (message.supplierName != null && Object.hasOwnProperty.call(message, \"supplierName\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.supplierName);\r\n if (message.ban != null && Object.hasOwnProperty.call(message, \"ban\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.ban);\r\n if (message.invoiceTitle != null && Object.hasOwnProperty.call(message, \"invoiceTitle\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.invoiceTitle);\r\n if (message.invoiceAddress != null && Object.hasOwnProperty.call(message, \"invoiceAddress\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.invoiceAddress);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified Sup message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.Sup.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Sup\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ISup} message Sup message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Sup.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a Sup message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.Sup\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.Sup} Sup\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Sup.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.Sup();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.dataStatus = reader.string();\r\n break;\r\n case 2:\r\n message.retailerId = reader.string();\r\n break;\r\n case 3:\r\n message.supplierCode = reader.string();\r\n break;\r\n case 4:\r\n message.supplierName = reader.string();\r\n break;\r\n case 5:\r\n message.ban = reader.string();\r\n break;\r\n case 6:\r\n message.invoiceTitle = reader.string();\r\n break;\r\n case 7:\r\n message.invoiceAddress = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a Sup message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Sup\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.Sup} Sup\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Sup.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a Sup message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.Sup\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n Sup.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.dataStatus != null && message.hasOwnProperty(\"dataStatus\"))\r\n if (!$util.isString(message.dataStatus))\r\n return \"dataStatus: string expected\";\r\n if (message.retailerId != null && message.hasOwnProperty(\"retailerId\"))\r\n if (!$util.isString(message.retailerId))\r\n return \"retailerId: string expected\";\r\n if (message.supplierCode != null && message.hasOwnProperty(\"supplierCode\"))\r\n if (!$util.isString(message.supplierCode))\r\n return \"supplierCode: string expected\";\r\n if (message.supplierName != null && message.hasOwnProperty(\"supplierName\"))\r\n if (!$util.isString(message.supplierName))\r\n return \"supplierName: string expected\";\r\n if (message.ban != null && message.hasOwnProperty(\"ban\"))\r\n if (!$util.isString(message.ban))\r\n return \"ban: string expected\";\r\n if (message.invoiceTitle != null && message.hasOwnProperty(\"invoiceTitle\"))\r\n if (!$util.isString(message.invoiceTitle))\r\n return \"invoiceTitle: string expected\";\r\n if (message.invoiceAddress != null && message.hasOwnProperty(\"invoiceAddress\"))\r\n if (!$util.isString(message.invoiceAddress))\r\n return \"invoiceAddress: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a Sup message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.Sup\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.Sup} Sup\r\n */\r\n Sup.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.Sup)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.Sup();\r\n if (object.dataStatus != null)\r\n message.dataStatus = String(object.dataStatus);\r\n if (object.retailerId != null)\r\n message.retailerId = String(object.retailerId);\r\n if (object.supplierCode != null)\r\n message.supplierCode = String(object.supplierCode);\r\n if (object.supplierName != null)\r\n message.supplierName = String(object.supplierName);\r\n if (object.ban != null)\r\n message.ban = String(object.ban);\r\n if (object.invoiceTitle != null)\r\n message.invoiceTitle = String(object.invoiceTitle);\r\n if (object.invoiceAddress != null)\r\n message.invoiceAddress = String(object.invoiceAddress);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a Sup message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.Sup\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.Sup} message Sup\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n Sup.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.dataStatus = \"\";\r\n object.retailerId = \"\";\r\n object.supplierCode = \"\";\r\n object.supplierName = \"\";\r\n object.ban = \"\";\r\n object.invoiceTitle = \"\";\r\n object.invoiceAddress = \"\";\r\n }\r\n if (message.dataStatus != null && message.hasOwnProperty(\"dataStatus\"))\r\n object.dataStatus = message.dataStatus;\r\n if (message.retailerId != null && message.hasOwnProperty(\"retailerId\"))\r\n object.retailerId = message.retailerId;\r\n if (message.supplierCode != null && message.hasOwnProperty(\"supplierCode\"))\r\n object.supplierCode = message.supplierCode;\r\n if (message.supplierName != null && message.hasOwnProperty(\"supplierName\"))\r\n object.supplierName = message.supplierName;\r\n if (message.ban != null && message.hasOwnProperty(\"ban\"))\r\n object.ban = message.ban;\r\n if (message.invoiceTitle != null && message.hasOwnProperty(\"invoiceTitle\"))\r\n object.invoiceTitle = message.invoiceTitle;\r\n if (message.invoiceAddress != null && message.hasOwnProperty(\"invoiceAddress\"))\r\n object.invoiceAddress = message.invoiceAddress;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this Sup to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.Sup\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n Sup.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return Sup;\r\n })();\r\n\r\n Protobuf.User = (function() {\r\n\r\n /**\r\n * Properties of a User.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IUser\r\n * @property {string|null} [dataStatus] User dataStatus\r\n * @property {string|null} [retailerId] User retailerId\r\n * @property {string|null} [userCode] User userCode\r\n * @property {string|null} [userName] User userName\r\n * @property {string|null} [ban] User ban\r\n */\r\n\r\n /**\r\n * Constructs a new User.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a User.\r\n * @implements IUser\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IUser=} [properties] Properties to set\r\n */\r\n function User(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * User dataStatus.\r\n * @member {string} dataStatus\r\n * @memberof TCBReceiptApi.Protobuf.User\r\n * @instance\r\n */\r\n User.prototype.dataStatus = \"\";\r\n\r\n /**\r\n * User retailerId.\r\n * @member {string} retailerId\r\n * @memberof TCBReceiptApi.Protobuf.User\r\n * @instance\r\n */\r\n User.prototype.retailerId = \"\";\r\n\r\n /**\r\n * User userCode.\r\n * @member {string} userCode\r\n * @memberof TCBReceiptApi.Protobuf.User\r\n * @instance\r\n */\r\n User.prototype.userCode = \"\";\r\n\r\n /**\r\n * User userName.\r\n * @member {string} userName\r\n * @memberof TCBReceiptApi.Protobuf.User\r\n * @instance\r\n */\r\n User.prototype.userName = \"\";\r\n\r\n /**\r\n * User ban.\r\n * @member {string} ban\r\n * @memberof TCBReceiptApi.Protobuf.User\r\n * @instance\r\n */\r\n User.prototype.ban = \"\";\r\n\r\n /**\r\n * Creates a new User instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.User\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IUser=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.User} User instance\r\n */\r\n User.create = function create(properties) {\r\n return new User(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified User message. Does not implicitly {@link TCBReceiptApi.Protobuf.User.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.User\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IUser} message User message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n User.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.dataStatus != null && Object.hasOwnProperty.call(message, \"dataStatus\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.dataStatus);\r\n if (message.retailerId != null && Object.hasOwnProperty.call(message, \"retailerId\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.retailerId);\r\n if (message.userCode != null && Object.hasOwnProperty.call(message, \"userCode\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.userCode);\r\n if (message.userName != null && Object.hasOwnProperty.call(message, \"userName\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.userName);\r\n if (message.ban != null && Object.hasOwnProperty.call(message, \"ban\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.ban);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified User message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.User.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.User\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IUser} message User message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n User.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a User message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.User\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.User} User\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n User.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.User();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.dataStatus = reader.string();\r\n break;\r\n case 2:\r\n message.retailerId = reader.string();\r\n break;\r\n case 3:\r\n message.userCode = reader.string();\r\n break;\r\n case 4:\r\n message.userName = reader.string();\r\n break;\r\n case 5:\r\n message.ban = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a User message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.User\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.User} User\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n User.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a User message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.User\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n User.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.dataStatus != null && message.hasOwnProperty(\"dataStatus\"))\r\n if (!$util.isString(message.dataStatus))\r\n return \"dataStatus: string expected\";\r\n if (message.retailerId != null && message.hasOwnProperty(\"retailerId\"))\r\n if (!$util.isString(message.retailerId))\r\n return \"retailerId: string expected\";\r\n if (message.userCode != null && message.hasOwnProperty(\"userCode\"))\r\n if (!$util.isString(message.userCode))\r\n return \"userCode: string expected\";\r\n if (message.userName != null && message.hasOwnProperty(\"userName\"))\r\n if (!$util.isString(message.userName))\r\n return \"userName: string expected\";\r\n if (message.ban != null && message.hasOwnProperty(\"ban\"))\r\n if (!$util.isString(message.ban))\r\n return \"ban: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a User message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.User\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.User} User\r\n */\r\n User.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.User)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.User();\r\n if (object.dataStatus != null)\r\n message.dataStatus = String(object.dataStatus);\r\n if (object.retailerId != null)\r\n message.retailerId = String(object.retailerId);\r\n if (object.userCode != null)\r\n message.userCode = String(object.userCode);\r\n if (object.userName != null)\r\n message.userName = String(object.userName);\r\n if (object.ban != null)\r\n message.ban = String(object.ban);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a User message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.User\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.User} message User\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n User.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.dataStatus = \"\";\r\n object.retailerId = \"\";\r\n object.userCode = \"\";\r\n object.userName = \"\";\r\n object.ban = \"\";\r\n }\r\n if (message.dataStatus != null && message.hasOwnProperty(\"dataStatus\"))\r\n object.dataStatus = message.dataStatus;\r\n if (message.retailerId != null && message.hasOwnProperty(\"retailerId\"))\r\n object.retailerId = message.retailerId;\r\n if (message.userCode != null && message.hasOwnProperty(\"userCode\"))\r\n object.userCode = message.userCode;\r\n if (message.userName != null && message.hasOwnProperty(\"userName\"))\r\n object.userName = message.userName;\r\n if (message.ban != null && message.hasOwnProperty(\"ban\"))\r\n object.ban = message.ban;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this User to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.User\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n User.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return User;\r\n })();\r\n\r\n Protobuf.Access = (function() {\r\n\r\n /**\r\n * Properties of an Access.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAccess\r\n * @property {string|null} [dataStatus] Access dataStatus\r\n * @property {string|null} [retailerId] Access retailerId\r\n * @property {string|null} [userCode] Access userCode\r\n * @property {string|null} [supplierCode] Access supplierCode\r\n */\r\n\r\n /**\r\n * Constructs a new Access.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an Access.\r\n * @implements IAccess\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAccess=} [properties] Properties to set\r\n */\r\n function Access(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * Access dataStatus.\r\n * @member {string} dataStatus\r\n * @memberof TCBReceiptApi.Protobuf.Access\r\n * @instance\r\n */\r\n Access.prototype.dataStatus = \"\";\r\n\r\n /**\r\n * Access retailerId.\r\n * @member {string} retailerId\r\n * @memberof TCBReceiptApi.Protobuf.Access\r\n * @instance\r\n */\r\n Access.prototype.retailerId = \"\";\r\n\r\n /**\r\n * Access userCode.\r\n * @member {string} userCode\r\n * @memberof TCBReceiptApi.Protobuf.Access\r\n * @instance\r\n */\r\n Access.prototype.userCode = \"\";\r\n\r\n /**\r\n * Access supplierCode.\r\n * @member {string} supplierCode\r\n * @memberof TCBReceiptApi.Protobuf.Access\r\n * @instance\r\n */\r\n Access.prototype.supplierCode = \"\";\r\n\r\n /**\r\n * Creates a new Access instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.Access\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAccess=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.Access} Access instance\r\n */\r\n Access.create = function create(properties) {\r\n return new Access(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified Access message. Does not implicitly {@link TCBReceiptApi.Protobuf.Access.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.Access\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAccess} message Access message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Access.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.dataStatus != null && Object.hasOwnProperty.call(message, \"dataStatus\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.dataStatus);\r\n if (message.retailerId != null && Object.hasOwnProperty.call(message, \"retailerId\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.retailerId);\r\n if (message.userCode != null && Object.hasOwnProperty.call(message, \"userCode\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.userCode);\r\n if (message.supplierCode != null && Object.hasOwnProperty.call(message, \"supplierCode\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.supplierCode);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified Access message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.Access.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Access\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAccess} message Access message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Access.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an Access message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.Access\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.Access} Access\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Access.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.Access();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.dataStatus = reader.string();\r\n break;\r\n case 2:\r\n message.retailerId = reader.string();\r\n break;\r\n case 3:\r\n message.userCode = reader.string();\r\n break;\r\n case 4:\r\n message.supplierCode = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an Access message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Access\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.Access} Access\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Access.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an Access message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.Access\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n Access.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.dataStatus != null && message.hasOwnProperty(\"dataStatus\"))\r\n if (!$util.isString(message.dataStatus))\r\n return \"dataStatus: string expected\";\r\n if (message.retailerId != null && message.hasOwnProperty(\"retailerId\"))\r\n if (!$util.isString(message.retailerId))\r\n return \"retailerId: string expected\";\r\n if (message.userCode != null && message.hasOwnProperty(\"userCode\"))\r\n if (!$util.isString(message.userCode))\r\n return \"userCode: string expected\";\r\n if (message.supplierCode != null && message.hasOwnProperty(\"supplierCode\"))\r\n if (!$util.isString(message.supplierCode))\r\n return \"supplierCode: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an Access message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.Access\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.Access} Access\r\n */\r\n Access.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.Access)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.Access();\r\n if (object.dataStatus != null)\r\n message.dataStatus = String(object.dataStatus);\r\n if (object.retailerId != null)\r\n message.retailerId = String(object.retailerId);\r\n if (object.userCode != null)\r\n message.userCode = String(object.userCode);\r\n if (object.supplierCode != null)\r\n message.supplierCode = String(object.supplierCode);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an Access message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.Access\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.Access} message Access\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n Access.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.dataStatus = \"\";\r\n object.retailerId = \"\";\r\n object.userCode = \"\";\r\n object.supplierCode = \"\";\r\n }\r\n if (message.dataStatus != null && message.hasOwnProperty(\"dataStatus\"))\r\n object.dataStatus = message.dataStatus;\r\n if (message.retailerId != null && message.hasOwnProperty(\"retailerId\"))\r\n object.retailerId = message.retailerId;\r\n if (message.userCode != null && message.hasOwnProperty(\"userCode\"))\r\n object.userCode = message.userCode;\r\n if (message.supplierCode != null && message.hasOwnProperty(\"supplierCode\"))\r\n object.supplierCode = message.supplierCode;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this Access to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.Access\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n Access.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return Access;\r\n })();\r\n\r\n Protobuf.OBanT1 = (function() {\r\n\r\n /**\r\n * Properties of a OBanT1.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IOBanT1\r\n * @property {string|null} [recordType] OBanT1 recordType\r\n * @property {string|null} [formCode] OBanT1 formCode\r\n * @property {string|null} [deductType] OBanT1 deductType\r\n * @property {string|null} [invoiceType] OBanT1 invoiceType\r\n * @property {string|null} [invoiceStat] OBanT1 invoiceStat\r\n * @property {string|null} [invoiceNo] OBanT1 invoiceNo\r\n * @property {string|null} [checkDigit] OBanT1 checkDigit\r\n * @property {string|null} [invoiceDate] OBanT1 invoiceDate\r\n * @property {string|null} [salesAmout] OBanT1 salesAmout\r\n * @property {string|null} [vatType] OBanT1 vatType\r\n * @property {string|null} [vatAmount] OBanT1 vatAmount\r\n * @property {string|null} [invoiceAmout] OBanT1 invoiceAmout\r\n * @property {string|null} [invoiceBan] OBanT1 invoiceBan\r\n * @property {string|null} [storeCode] OBanT1 storeCode\r\n * @property {string|null} [invoiceName] OBanT1 invoiceName\r\n * @property {string|null} [invoiceAddress] OBanT1 invoiceAddress\r\n * @property {string|null} [referenceQualifier_1] OBanT1 referenceQualifier_1\r\n * @property {string|null} [reference_1] OBanT1 reference_1\r\n * @property {string|null} [referenceQualifier_2] OBanT1 referenceQualifier_2\r\n * @property {string|null} [reference_2] OBanT1 reference_2\r\n * @property {string|null} [reserved] OBanT1 reserved\r\n * @property {string|null} [sellerBan] OBanT1 sellerBan\r\n * @property {string|null} [sellerCode] OBanT1 sellerCode\r\n * @property {string|null} [sellerName] OBanT1 sellerName\r\n * @property {string|null} [sellerAddress] OBanT1 sellerAddress\r\n * @property {string|null} [sellerTel] OBanT1 sellerTel\r\n * @property {string|null} [sellerRep] OBanT1 sellerRep\r\n * @property {string|null} [invTransType] OBanT1 invTransType\r\n * @property {string|null} [isPaperInv] OBanT1 isPaperInv\r\n * @property {string|null} [invoiceTime] OBanT1 invoiceTime\r\n */\r\n\r\n /**\r\n * Constructs a new OBanT1.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a OBanT1.\r\n * @implements IOBanT1\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IOBanT1=} [properties] Properties to set\r\n */\r\n function OBanT1(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * OBanT1 recordType.\r\n * @member {string} recordType\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.recordType = \"\";\r\n\r\n /**\r\n * OBanT1 formCode.\r\n * @member {string} formCode\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.formCode = \"\";\r\n\r\n /**\r\n * OBanT1 deductType.\r\n * @member {string} deductType\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.deductType = \"\";\r\n\r\n /**\r\n * OBanT1 invoiceType.\r\n * @member {string} invoiceType\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.invoiceType = \"\";\r\n\r\n /**\r\n * OBanT1 invoiceStat.\r\n * @member {string} invoiceStat\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.invoiceStat = \"\";\r\n\r\n /**\r\n * OBanT1 invoiceNo.\r\n * @member {string} invoiceNo\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.invoiceNo = \"\";\r\n\r\n /**\r\n * OBanT1 checkDigit.\r\n * @member {string} checkDigit\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.checkDigit = \"\";\r\n\r\n /**\r\n * OBanT1 invoiceDate.\r\n * @member {string} invoiceDate\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.invoiceDate = \"\";\r\n\r\n /**\r\n * OBanT1 salesAmout.\r\n * @member {string} salesAmout\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.salesAmout = \"\";\r\n\r\n /**\r\n * OBanT1 vatType.\r\n * @member {string} vatType\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.vatType = \"\";\r\n\r\n /**\r\n * OBanT1 vatAmount.\r\n * @member {string} vatAmount\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.vatAmount = \"\";\r\n\r\n /**\r\n * OBanT1 invoiceAmout.\r\n * @member {string} invoiceAmout\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.invoiceAmout = \"\";\r\n\r\n /**\r\n * OBanT1 invoiceBan.\r\n * @member {string} invoiceBan\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.invoiceBan = \"\";\r\n\r\n /**\r\n * OBanT1 storeCode.\r\n * @member {string} storeCode\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.storeCode = \"\";\r\n\r\n /**\r\n * OBanT1 invoiceName.\r\n * @member {string} invoiceName\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.invoiceName = \"\";\r\n\r\n /**\r\n * OBanT1 invoiceAddress.\r\n * @member {string} invoiceAddress\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.invoiceAddress = \"\";\r\n\r\n /**\r\n * OBanT1 referenceQualifier_1.\r\n * @member {string} referenceQualifier_1\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.referenceQualifier_1 = \"\";\r\n\r\n /**\r\n * OBanT1 reference_1.\r\n * @member {string} reference_1\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.reference_1 = \"\";\r\n\r\n /**\r\n * OBanT1 referenceQualifier_2.\r\n * @member {string} referenceQualifier_2\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.referenceQualifier_2 = \"\";\r\n\r\n /**\r\n * OBanT1 reference_2.\r\n * @member {string} reference_2\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.reference_2 = \"\";\r\n\r\n /**\r\n * OBanT1 reserved.\r\n * @member {string} reserved\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.reserved = \"\";\r\n\r\n /**\r\n * OBanT1 sellerBan.\r\n * @member {string} sellerBan\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.sellerBan = \"\";\r\n\r\n /**\r\n * OBanT1 sellerCode.\r\n * @member {string} sellerCode\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.sellerCode = \"\";\r\n\r\n /**\r\n * OBanT1 sellerName.\r\n * @member {string} sellerName\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.sellerName = \"\";\r\n\r\n /**\r\n * OBanT1 sellerAddress.\r\n * @member {string} sellerAddress\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.sellerAddress = \"\";\r\n\r\n /**\r\n * OBanT1 sellerTel.\r\n * @member {string} sellerTel\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.sellerTel = \"\";\r\n\r\n /**\r\n * OBanT1 sellerRep.\r\n * @member {string} sellerRep\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.sellerRep = \"\";\r\n\r\n /**\r\n * OBanT1 invTransType.\r\n * @member {string} invTransType\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.invTransType = \"\";\r\n\r\n /**\r\n * OBanT1 isPaperInv.\r\n * @member {string} isPaperInv\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.isPaperInv = \"\";\r\n\r\n /**\r\n * OBanT1 invoiceTime.\r\n * @member {string} invoiceTime\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n */\r\n OBanT1.prototype.invoiceTime = \"\";\r\n\r\n /**\r\n * Creates a new OBanT1 instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IOBanT1=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.OBanT1} OBanT1 instance\r\n */\r\n OBanT1.create = function create(properties) {\r\n return new OBanT1(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified OBanT1 message. Does not implicitly {@link TCBReceiptApi.Protobuf.OBanT1.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IOBanT1} message OBanT1 message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n OBanT1.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.recordType != null && Object.hasOwnProperty.call(message, \"recordType\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.recordType);\r\n if (message.formCode != null && Object.hasOwnProperty.call(message, \"formCode\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.formCode);\r\n if (message.deductType != null && Object.hasOwnProperty.call(message, \"deductType\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.deductType);\r\n if (message.invoiceType != null && Object.hasOwnProperty.call(message, \"invoiceType\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.invoiceType);\r\n if (message.invoiceStat != null && Object.hasOwnProperty.call(message, \"invoiceStat\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.invoiceStat);\r\n if (message.invoiceNo != null && Object.hasOwnProperty.call(message, \"invoiceNo\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.invoiceNo);\r\n if (message.checkDigit != null && Object.hasOwnProperty.call(message, \"checkDigit\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.checkDigit);\r\n if (message.invoiceDate != null && Object.hasOwnProperty.call(message, \"invoiceDate\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.invoiceDate);\r\n if (message.salesAmout != null && Object.hasOwnProperty.call(message, \"salesAmout\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.salesAmout);\r\n if (message.vatType != null && Object.hasOwnProperty.call(message, \"vatType\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.vatType);\r\n if (message.vatAmount != null && Object.hasOwnProperty.call(message, \"vatAmount\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.vatAmount);\r\n if (message.invoiceAmout != null && Object.hasOwnProperty.call(message, \"invoiceAmout\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.invoiceAmout);\r\n if (message.invoiceBan != null && Object.hasOwnProperty.call(message, \"invoiceBan\"))\r\n writer.uint32(/* id 13, wireType 2 =*/106).string(message.invoiceBan);\r\n if (message.storeCode != null && Object.hasOwnProperty.call(message, \"storeCode\"))\r\n writer.uint32(/* id 14, wireType 2 =*/114).string(message.storeCode);\r\n if (message.invoiceName != null && Object.hasOwnProperty.call(message, \"invoiceName\"))\r\n writer.uint32(/* id 15, wireType 2 =*/122).string(message.invoiceName);\r\n if (message.invoiceAddress != null && Object.hasOwnProperty.call(message, \"invoiceAddress\"))\r\n writer.uint32(/* id 16, wireType 2 =*/130).string(message.invoiceAddress);\r\n if (message.referenceQualifier_1 != null && Object.hasOwnProperty.call(message, \"referenceQualifier_1\"))\r\n writer.uint32(/* id 17, wireType 2 =*/138).string(message.referenceQualifier_1);\r\n if (message.reference_1 != null && Object.hasOwnProperty.call(message, \"reference_1\"))\r\n writer.uint32(/* id 18, wireType 2 =*/146).string(message.reference_1);\r\n if (message.referenceQualifier_2 != null && Object.hasOwnProperty.call(message, \"referenceQualifier_2\"))\r\n writer.uint32(/* id 19, wireType 2 =*/154).string(message.referenceQualifier_2);\r\n if (message.reference_2 != null && Object.hasOwnProperty.call(message, \"reference_2\"))\r\n writer.uint32(/* id 20, wireType 2 =*/162).string(message.reference_2);\r\n if (message.reserved != null && Object.hasOwnProperty.call(message, \"reserved\"))\r\n writer.uint32(/* id 21, wireType 2 =*/170).string(message.reserved);\r\n if (message.sellerBan != null && Object.hasOwnProperty.call(message, \"sellerBan\"))\r\n writer.uint32(/* id 22, wireType 2 =*/178).string(message.sellerBan);\r\n if (message.sellerCode != null && Object.hasOwnProperty.call(message, \"sellerCode\"))\r\n writer.uint32(/* id 23, wireType 2 =*/186).string(message.sellerCode);\r\n if (message.sellerName != null && Object.hasOwnProperty.call(message, \"sellerName\"))\r\n writer.uint32(/* id 24, wireType 2 =*/194).string(message.sellerName);\r\n if (message.sellerAddress != null && Object.hasOwnProperty.call(message, \"sellerAddress\"))\r\n writer.uint32(/* id 25, wireType 2 =*/202).string(message.sellerAddress);\r\n if (message.sellerTel != null && Object.hasOwnProperty.call(message, \"sellerTel\"))\r\n writer.uint32(/* id 26, wireType 2 =*/210).string(message.sellerTel);\r\n if (message.sellerRep != null && Object.hasOwnProperty.call(message, \"sellerRep\"))\r\n writer.uint32(/* id 27, wireType 2 =*/218).string(message.sellerRep);\r\n if (message.invTransType != null && Object.hasOwnProperty.call(message, \"invTransType\"))\r\n writer.uint32(/* id 28, wireType 2 =*/226).string(message.invTransType);\r\n if (message.isPaperInv != null && Object.hasOwnProperty.call(message, \"isPaperInv\"))\r\n writer.uint32(/* id 29, wireType 2 =*/234).string(message.isPaperInv);\r\n if (message.invoiceTime != null && Object.hasOwnProperty.call(message, \"invoiceTime\"))\r\n writer.uint32(/* id 30, wireType 2 =*/242).string(message.invoiceTime);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified OBanT1 message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.OBanT1.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IOBanT1} message OBanT1 message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n OBanT1.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a OBanT1 message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.OBanT1} OBanT1\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n OBanT1.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.OBanT1();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.recordType = reader.string();\r\n break;\r\n case 2:\r\n message.formCode = reader.string();\r\n break;\r\n case 3:\r\n message.deductType = reader.string();\r\n break;\r\n case 4:\r\n message.invoiceType = reader.string();\r\n break;\r\n case 5:\r\n message.invoiceStat = reader.string();\r\n break;\r\n case 6:\r\n message.invoiceNo = reader.string();\r\n break;\r\n case 7:\r\n message.checkDigit = reader.string();\r\n break;\r\n case 8:\r\n message.invoiceDate = reader.string();\r\n break;\r\n case 9:\r\n message.salesAmout = reader.string();\r\n break;\r\n case 10:\r\n message.vatType = reader.string();\r\n break;\r\n case 11:\r\n message.vatAmount = reader.string();\r\n break;\r\n case 12:\r\n message.invoiceAmout = reader.string();\r\n break;\r\n case 13:\r\n message.invoiceBan = reader.string();\r\n break;\r\n case 14:\r\n message.storeCode = reader.string();\r\n break;\r\n case 15:\r\n message.invoiceName = reader.string();\r\n break;\r\n case 16:\r\n message.invoiceAddress = reader.string();\r\n break;\r\n case 17:\r\n message.referenceQualifier_1 = reader.string();\r\n break;\r\n case 18:\r\n message.reference_1 = reader.string();\r\n break;\r\n case 19:\r\n message.referenceQualifier_2 = reader.string();\r\n break;\r\n case 20:\r\n message.reference_2 = reader.string();\r\n break;\r\n case 21:\r\n message.reserved = reader.string();\r\n break;\r\n case 22:\r\n message.sellerBan = reader.string();\r\n break;\r\n case 23:\r\n message.sellerCode = reader.string();\r\n break;\r\n case 24:\r\n message.sellerName = reader.string();\r\n break;\r\n case 25:\r\n message.sellerAddress = reader.string();\r\n break;\r\n case 26:\r\n message.sellerTel = reader.string();\r\n break;\r\n case 27:\r\n message.sellerRep = reader.string();\r\n break;\r\n case 28:\r\n message.invTransType = reader.string();\r\n break;\r\n case 29:\r\n message.isPaperInv = reader.string();\r\n break;\r\n case 30:\r\n message.invoiceTime = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a OBanT1 message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.OBanT1} OBanT1\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n OBanT1.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a OBanT1 message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n OBanT1.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.recordType != null && message.hasOwnProperty(\"recordType\"))\r\n if (!$util.isString(message.recordType))\r\n return \"recordType: string expected\";\r\n if (message.formCode != null && message.hasOwnProperty(\"formCode\"))\r\n if (!$util.isString(message.formCode))\r\n return \"formCode: string expected\";\r\n if (message.deductType != null && message.hasOwnProperty(\"deductType\"))\r\n if (!$util.isString(message.deductType))\r\n return \"deductType: string expected\";\r\n if (message.invoiceType != null && message.hasOwnProperty(\"invoiceType\"))\r\n if (!$util.isString(message.invoiceType))\r\n return \"invoiceType: string expected\";\r\n if (message.invoiceStat != null && message.hasOwnProperty(\"invoiceStat\"))\r\n if (!$util.isString(message.invoiceStat))\r\n return \"invoiceStat: string expected\";\r\n if (message.invoiceNo != null && message.hasOwnProperty(\"invoiceNo\"))\r\n if (!$util.isString(message.invoiceNo))\r\n return \"invoiceNo: string expected\";\r\n if (message.checkDigit != null && message.hasOwnProperty(\"checkDigit\"))\r\n if (!$util.isString(message.checkDigit))\r\n return \"checkDigit: string expected\";\r\n if (message.invoiceDate != null && message.hasOwnProperty(\"invoiceDate\"))\r\n if (!$util.isString(message.invoiceDate))\r\n return \"invoiceDate: string expected\";\r\n if (message.salesAmout != null && message.hasOwnProperty(\"salesAmout\"))\r\n if (!$util.isString(message.salesAmout))\r\n return \"salesAmout: string expected\";\r\n if (message.vatType != null && message.hasOwnProperty(\"vatType\"))\r\n if (!$util.isString(message.vatType))\r\n return \"vatType: string expected\";\r\n if (message.vatAmount != null && message.hasOwnProperty(\"vatAmount\"))\r\n if (!$util.isString(message.vatAmount))\r\n return \"vatAmount: string expected\";\r\n if (message.invoiceAmout != null && message.hasOwnProperty(\"invoiceAmout\"))\r\n if (!$util.isString(message.invoiceAmout))\r\n return \"invoiceAmout: string expected\";\r\n if (message.invoiceBan != null && message.hasOwnProperty(\"invoiceBan\"))\r\n if (!$util.isString(message.invoiceBan))\r\n return \"invoiceBan: string expected\";\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n if (!$util.isString(message.storeCode))\r\n return \"storeCode: string expected\";\r\n if (message.invoiceName != null && message.hasOwnProperty(\"invoiceName\"))\r\n if (!$util.isString(message.invoiceName))\r\n return \"invoiceName: string expected\";\r\n if (message.invoiceAddress != null && message.hasOwnProperty(\"invoiceAddress\"))\r\n if (!$util.isString(message.invoiceAddress))\r\n return \"invoiceAddress: string expected\";\r\n if (message.referenceQualifier_1 != null && message.hasOwnProperty(\"referenceQualifier_1\"))\r\n if (!$util.isString(message.referenceQualifier_1))\r\n return \"referenceQualifier_1: string expected\";\r\n if (message.reference_1 != null && message.hasOwnProperty(\"reference_1\"))\r\n if (!$util.isString(message.reference_1))\r\n return \"reference_1: string expected\";\r\n if (message.referenceQualifier_2 != null && message.hasOwnProperty(\"referenceQualifier_2\"))\r\n if (!$util.isString(message.referenceQualifier_2))\r\n return \"referenceQualifier_2: string expected\";\r\n if (message.reference_2 != null && message.hasOwnProperty(\"reference_2\"))\r\n if (!$util.isString(message.reference_2))\r\n return \"reference_2: string expected\";\r\n if (message.reserved != null && message.hasOwnProperty(\"reserved\"))\r\n if (!$util.isString(message.reserved))\r\n return \"reserved: string expected\";\r\n if (message.sellerBan != null && message.hasOwnProperty(\"sellerBan\"))\r\n if (!$util.isString(message.sellerBan))\r\n return \"sellerBan: string expected\";\r\n if (message.sellerCode != null && message.hasOwnProperty(\"sellerCode\"))\r\n if (!$util.isString(message.sellerCode))\r\n return \"sellerCode: string expected\";\r\n if (message.sellerName != null && message.hasOwnProperty(\"sellerName\"))\r\n if (!$util.isString(message.sellerName))\r\n return \"sellerName: string expected\";\r\n if (message.sellerAddress != null && message.hasOwnProperty(\"sellerAddress\"))\r\n if (!$util.isString(message.sellerAddress))\r\n return \"sellerAddress: string expected\";\r\n if (message.sellerTel != null && message.hasOwnProperty(\"sellerTel\"))\r\n if (!$util.isString(message.sellerTel))\r\n return \"sellerTel: string expected\";\r\n if (message.sellerRep != null && message.hasOwnProperty(\"sellerRep\"))\r\n if (!$util.isString(message.sellerRep))\r\n return \"sellerRep: string expected\";\r\n if (message.invTransType != null && message.hasOwnProperty(\"invTransType\"))\r\n if (!$util.isString(message.invTransType))\r\n return \"invTransType: string expected\";\r\n if (message.isPaperInv != null && message.hasOwnProperty(\"isPaperInv\"))\r\n if (!$util.isString(message.isPaperInv))\r\n return \"isPaperInv: string expected\";\r\n if (message.invoiceTime != null && message.hasOwnProperty(\"invoiceTime\"))\r\n if (!$util.isString(message.invoiceTime))\r\n return \"invoiceTime: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a OBanT1 message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.OBanT1} OBanT1\r\n */\r\n OBanT1.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.OBanT1)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.OBanT1();\r\n if (object.recordType != null)\r\n message.recordType = String(object.recordType);\r\n if (object.formCode != null)\r\n message.formCode = String(object.formCode);\r\n if (object.deductType != null)\r\n message.deductType = String(object.deductType);\r\n if (object.invoiceType != null)\r\n message.invoiceType = String(object.invoiceType);\r\n if (object.invoiceStat != null)\r\n message.invoiceStat = String(object.invoiceStat);\r\n if (object.invoiceNo != null)\r\n message.invoiceNo = String(object.invoiceNo);\r\n if (object.checkDigit != null)\r\n message.checkDigit = String(object.checkDigit);\r\n if (object.invoiceDate != null)\r\n message.invoiceDate = String(object.invoiceDate);\r\n if (object.salesAmout != null)\r\n message.salesAmout = String(object.salesAmout);\r\n if (object.vatType != null)\r\n message.vatType = String(object.vatType);\r\n if (object.vatAmount != null)\r\n message.vatAmount = String(object.vatAmount);\r\n if (object.invoiceAmout != null)\r\n message.invoiceAmout = String(object.invoiceAmout);\r\n if (object.invoiceBan != null)\r\n message.invoiceBan = String(object.invoiceBan);\r\n if (object.storeCode != null)\r\n message.storeCode = String(object.storeCode);\r\n if (object.invoiceName != null)\r\n message.invoiceName = String(object.invoiceName);\r\n if (object.invoiceAddress != null)\r\n message.invoiceAddress = String(object.invoiceAddress);\r\n if (object.referenceQualifier_1 != null)\r\n message.referenceQualifier_1 = String(object.referenceQualifier_1);\r\n if (object.reference_1 != null)\r\n message.reference_1 = String(object.reference_1);\r\n if (object.referenceQualifier_2 != null)\r\n message.referenceQualifier_2 = String(object.referenceQualifier_2);\r\n if (object.reference_2 != null)\r\n message.reference_2 = String(object.reference_2);\r\n if (object.reserved != null)\r\n message.reserved = String(object.reserved);\r\n if (object.sellerBan != null)\r\n message.sellerBan = String(object.sellerBan);\r\n if (object.sellerCode != null)\r\n message.sellerCode = String(object.sellerCode);\r\n if (object.sellerName != null)\r\n message.sellerName = String(object.sellerName);\r\n if (object.sellerAddress != null)\r\n message.sellerAddress = String(object.sellerAddress);\r\n if (object.sellerTel != null)\r\n message.sellerTel = String(object.sellerTel);\r\n if (object.sellerRep != null)\r\n message.sellerRep = String(object.sellerRep);\r\n if (object.invTransType != null)\r\n message.invTransType = String(object.invTransType);\r\n if (object.isPaperInv != null)\r\n message.isPaperInv = String(object.isPaperInv);\r\n if (object.invoiceTime != null)\r\n message.invoiceTime = String(object.invoiceTime);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a OBanT1 message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.OBanT1} message OBanT1\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n OBanT1.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.recordType = \"\";\r\n object.formCode = \"\";\r\n object.deductType = \"\";\r\n object.invoiceType = \"\";\r\n object.invoiceStat = \"\";\r\n object.invoiceNo = \"\";\r\n object.checkDigit = \"\";\r\n object.invoiceDate = \"\";\r\n object.salesAmout = \"\";\r\n object.vatType = \"\";\r\n object.vatAmount = \"\";\r\n object.invoiceAmout = \"\";\r\n object.invoiceBan = \"\";\r\n object.storeCode = \"\";\r\n object.invoiceName = \"\";\r\n object.invoiceAddress = \"\";\r\n object.referenceQualifier_1 = \"\";\r\n object.reference_1 = \"\";\r\n object.referenceQualifier_2 = \"\";\r\n object.reference_2 = \"\";\r\n object.reserved = \"\";\r\n object.sellerBan = \"\";\r\n object.sellerCode = \"\";\r\n object.sellerName = \"\";\r\n object.sellerAddress = \"\";\r\n object.sellerTel = \"\";\r\n object.sellerRep = \"\";\r\n object.invTransType = \"\";\r\n object.isPaperInv = \"\";\r\n object.invoiceTime = \"\";\r\n }\r\n if (message.recordType != null && message.hasOwnProperty(\"recordType\"))\r\n object.recordType = message.recordType;\r\n if (message.formCode != null && message.hasOwnProperty(\"formCode\"))\r\n object.formCode = message.formCode;\r\n if (message.deductType != null && message.hasOwnProperty(\"deductType\"))\r\n object.deductType = message.deductType;\r\n if (message.invoiceType != null && message.hasOwnProperty(\"invoiceType\"))\r\n object.invoiceType = message.invoiceType;\r\n if (message.invoiceStat != null && message.hasOwnProperty(\"invoiceStat\"))\r\n object.invoiceStat = message.invoiceStat;\r\n if (message.invoiceNo != null && message.hasOwnProperty(\"invoiceNo\"))\r\n object.invoiceNo = message.invoiceNo;\r\n if (message.checkDigit != null && message.hasOwnProperty(\"checkDigit\"))\r\n object.checkDigit = message.checkDigit;\r\n if (message.invoiceDate != null && message.hasOwnProperty(\"invoiceDate\"))\r\n object.invoiceDate = message.invoiceDate;\r\n if (message.salesAmout != null && message.hasOwnProperty(\"salesAmout\"))\r\n object.salesAmout = message.salesAmout;\r\n if (message.vatType != null && message.hasOwnProperty(\"vatType\"))\r\n object.vatType = message.vatType;\r\n if (message.vatAmount != null && message.hasOwnProperty(\"vatAmount\"))\r\n object.vatAmount = message.vatAmount;\r\n if (message.invoiceAmout != null && message.hasOwnProperty(\"invoiceAmout\"))\r\n object.invoiceAmout = message.invoiceAmout;\r\n if (message.invoiceBan != null && message.hasOwnProperty(\"invoiceBan\"))\r\n object.invoiceBan = message.invoiceBan;\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n object.storeCode = message.storeCode;\r\n if (message.invoiceName != null && message.hasOwnProperty(\"invoiceName\"))\r\n object.invoiceName = message.invoiceName;\r\n if (message.invoiceAddress != null && message.hasOwnProperty(\"invoiceAddress\"))\r\n object.invoiceAddress = message.invoiceAddress;\r\n if (message.referenceQualifier_1 != null && message.hasOwnProperty(\"referenceQualifier_1\"))\r\n object.referenceQualifier_1 = message.referenceQualifier_1;\r\n if (message.reference_1 != null && message.hasOwnProperty(\"reference_1\"))\r\n object.reference_1 = message.reference_1;\r\n if (message.referenceQualifier_2 != null && message.hasOwnProperty(\"referenceQualifier_2\"))\r\n object.referenceQualifier_2 = message.referenceQualifier_2;\r\n if (message.reference_2 != null && message.hasOwnProperty(\"reference_2\"))\r\n object.reference_2 = message.reference_2;\r\n if (message.reserved != null && message.hasOwnProperty(\"reserved\"))\r\n object.reserved = message.reserved;\r\n if (message.sellerBan != null && message.hasOwnProperty(\"sellerBan\"))\r\n object.sellerBan = message.sellerBan;\r\n if (message.sellerCode != null && message.hasOwnProperty(\"sellerCode\"))\r\n object.sellerCode = message.sellerCode;\r\n if (message.sellerName != null && message.hasOwnProperty(\"sellerName\"))\r\n object.sellerName = message.sellerName;\r\n if (message.sellerAddress != null && message.hasOwnProperty(\"sellerAddress\"))\r\n object.sellerAddress = message.sellerAddress;\r\n if (message.sellerTel != null && message.hasOwnProperty(\"sellerTel\"))\r\n object.sellerTel = message.sellerTel;\r\n if (message.sellerRep != null && message.hasOwnProperty(\"sellerRep\"))\r\n object.sellerRep = message.sellerRep;\r\n if (message.invTransType != null && message.hasOwnProperty(\"invTransType\"))\r\n object.invTransType = message.invTransType;\r\n if (message.isPaperInv != null && message.hasOwnProperty(\"isPaperInv\"))\r\n object.isPaperInv = message.isPaperInv;\r\n if (message.invoiceTime != null && message.hasOwnProperty(\"invoiceTime\"))\r\n object.invoiceTime = message.invoiceTime;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this OBanT1 to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.OBanT1\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n OBanT1.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return OBanT1;\r\n })();\r\n\r\n Protobuf.OBanT2 = (function() {\r\n\r\n /**\r\n * Properties of a OBanT2.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IOBanT2\r\n * @property {string|null} [recordType] OBanT2 recordType\r\n * @property {string|null} [seqNo] OBanT2 seqNo\r\n * @property {string|null} [productName] OBanT2 productName\r\n * @property {string|null} [qty] OBanT2 qty\r\n * @property {string|null} [unitPrice] OBanT2 unitPrice\r\n * @property {string|null} [netAmout] OBanT2 netAmout\r\n * @property {string|null} [amout] OBanT2 amout\r\n * @property {string|null} [tax] OBanT2 tax\r\n * @property {string|null} [barCode] OBanT2 barCode\r\n */\r\n\r\n /**\r\n * Constructs a new OBanT2.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a OBanT2.\r\n * @implements IOBanT2\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IOBanT2=} [properties] Properties to set\r\n */\r\n function OBanT2(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * OBanT2 recordType.\r\n * @member {string} recordType\r\n * @memberof TCBReceiptApi.Protobuf.OBanT2\r\n * @instance\r\n */\r\n OBanT2.prototype.recordType = \"\";\r\n\r\n /**\r\n * OBanT2 seqNo.\r\n * @member {string} seqNo\r\n * @memberof TCBReceiptApi.Protobuf.OBanT2\r\n * @instance\r\n */\r\n OBanT2.prototype.seqNo = \"\";\r\n\r\n /**\r\n * OBanT2 productName.\r\n * @member {string} productName\r\n * @memberof TCBReceiptApi.Protobuf.OBanT2\r\n * @instance\r\n */\r\n OBanT2.prototype.productName = \"\";\r\n\r\n /**\r\n * OBanT2 qty.\r\n * @member {string} qty\r\n * @memberof TCBReceiptApi.Protobuf.OBanT2\r\n * @instance\r\n */\r\n OBanT2.prototype.qty = \"\";\r\n\r\n /**\r\n * OBanT2 unitPrice.\r\n * @member {string} unitPrice\r\n * @memberof TCBReceiptApi.Protobuf.OBanT2\r\n * @instance\r\n */\r\n OBanT2.prototype.unitPrice = \"\";\r\n\r\n /**\r\n * OBanT2 netAmout.\r\n * @member {string} netAmout\r\n * @memberof TCBReceiptApi.Protobuf.OBanT2\r\n * @instance\r\n */\r\n OBanT2.prototype.netAmout = \"\";\r\n\r\n /**\r\n * OBanT2 amout.\r\n * @member {string} amout\r\n * @memberof TCBReceiptApi.Protobuf.OBanT2\r\n * @instance\r\n */\r\n OBanT2.prototype.amout = \"\";\r\n\r\n /**\r\n * OBanT2 tax.\r\n * @member {string} tax\r\n * @memberof TCBReceiptApi.Protobuf.OBanT2\r\n * @instance\r\n */\r\n OBanT2.prototype.tax = \"\";\r\n\r\n /**\r\n * OBanT2 barCode.\r\n * @member {string} barCode\r\n * @memberof TCBReceiptApi.Protobuf.OBanT2\r\n * @instance\r\n */\r\n OBanT2.prototype.barCode = \"\";\r\n\r\n /**\r\n * Creates a new OBanT2 instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.OBanT2\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IOBanT2=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.OBanT2} OBanT2 instance\r\n */\r\n OBanT2.create = function create(properties) {\r\n return new OBanT2(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified OBanT2 message. Does not implicitly {@link TCBReceiptApi.Protobuf.OBanT2.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.OBanT2\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IOBanT2} message OBanT2 message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n OBanT2.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.recordType != null && Object.hasOwnProperty.call(message, \"recordType\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.recordType);\r\n if (message.seqNo != null && Object.hasOwnProperty.call(message, \"seqNo\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.seqNo);\r\n if (message.productName != null && Object.hasOwnProperty.call(message, \"productName\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.productName);\r\n if (message.qty != null && Object.hasOwnProperty.call(message, \"qty\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.qty);\r\n if (message.unitPrice != null && Object.hasOwnProperty.call(message, \"unitPrice\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.unitPrice);\r\n if (message.netAmout != null && Object.hasOwnProperty.call(message, \"netAmout\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.netAmout);\r\n if (message.amout != null && Object.hasOwnProperty.call(message, \"amout\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.amout);\r\n if (message.tax != null && Object.hasOwnProperty.call(message, \"tax\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.tax);\r\n if (message.barCode != null && Object.hasOwnProperty.call(message, \"barCode\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.barCode);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified OBanT2 message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.OBanT2.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.OBanT2\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IOBanT2} message OBanT2 message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n OBanT2.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a OBanT2 message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.OBanT2\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.OBanT2} OBanT2\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n OBanT2.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.OBanT2();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.recordType = reader.string();\r\n break;\r\n case 2:\r\n message.seqNo = reader.string();\r\n break;\r\n case 3:\r\n message.productName = reader.string();\r\n break;\r\n case 4:\r\n message.qty = reader.string();\r\n break;\r\n case 5:\r\n message.unitPrice = reader.string();\r\n break;\r\n case 6:\r\n message.netAmout = reader.string();\r\n break;\r\n case 7:\r\n message.amout = reader.string();\r\n break;\r\n case 8:\r\n message.tax = reader.string();\r\n break;\r\n case 9:\r\n message.barCode = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a OBanT2 message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.OBanT2\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.OBanT2} OBanT2\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n OBanT2.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a OBanT2 message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.OBanT2\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n OBanT2.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.recordType != null && message.hasOwnProperty(\"recordType\"))\r\n if (!$util.isString(message.recordType))\r\n return \"recordType: string expected\";\r\n if (message.seqNo != null && message.hasOwnProperty(\"seqNo\"))\r\n if (!$util.isString(message.seqNo))\r\n return \"seqNo: string expected\";\r\n if (message.productName != null && message.hasOwnProperty(\"productName\"))\r\n if (!$util.isString(message.productName))\r\n return \"productName: string expected\";\r\n if (message.qty != null && message.hasOwnProperty(\"qty\"))\r\n if (!$util.isString(message.qty))\r\n return \"qty: string expected\";\r\n if (message.unitPrice != null && message.hasOwnProperty(\"unitPrice\"))\r\n if (!$util.isString(message.unitPrice))\r\n return \"unitPrice: string expected\";\r\n if (message.netAmout != null && message.hasOwnProperty(\"netAmout\"))\r\n if (!$util.isString(message.netAmout))\r\n return \"netAmout: string expected\";\r\n if (message.amout != null && message.hasOwnProperty(\"amout\"))\r\n if (!$util.isString(message.amout))\r\n return \"amout: string expected\";\r\n if (message.tax != null && message.hasOwnProperty(\"tax\"))\r\n if (!$util.isString(message.tax))\r\n return \"tax: string expected\";\r\n if (message.barCode != null && message.hasOwnProperty(\"barCode\"))\r\n if (!$util.isString(message.barCode))\r\n return \"barCode: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a OBanT2 message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.OBanT2\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.OBanT2} OBanT2\r\n */\r\n OBanT2.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.OBanT2)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.OBanT2();\r\n if (object.recordType != null)\r\n message.recordType = String(object.recordType);\r\n if (object.seqNo != null)\r\n message.seqNo = String(object.seqNo);\r\n if (object.productName != null)\r\n message.productName = String(object.productName);\r\n if (object.qty != null)\r\n message.qty = String(object.qty);\r\n if (object.unitPrice != null)\r\n message.unitPrice = String(object.unitPrice);\r\n if (object.netAmout != null)\r\n message.netAmout = String(object.netAmout);\r\n if (object.amout != null)\r\n message.amout = String(object.amout);\r\n if (object.tax != null)\r\n message.tax = String(object.tax);\r\n if (object.barCode != null)\r\n message.barCode = String(object.barCode);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a OBanT2 message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.OBanT2\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.OBanT2} message OBanT2\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n OBanT2.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.recordType = \"\";\r\n object.seqNo = \"\";\r\n object.productName = \"\";\r\n object.qty = \"\";\r\n object.unitPrice = \"\";\r\n object.netAmout = \"\";\r\n object.amout = \"\";\r\n object.tax = \"\";\r\n object.barCode = \"\";\r\n }\r\n if (message.recordType != null && message.hasOwnProperty(\"recordType\"))\r\n object.recordType = message.recordType;\r\n if (message.seqNo != null && message.hasOwnProperty(\"seqNo\"))\r\n object.seqNo = message.seqNo;\r\n if (message.productName != null && message.hasOwnProperty(\"productName\"))\r\n object.productName = message.productName;\r\n if (message.qty != null && message.hasOwnProperty(\"qty\"))\r\n object.qty = message.qty;\r\n if (message.unitPrice != null && message.hasOwnProperty(\"unitPrice\"))\r\n object.unitPrice = message.unitPrice;\r\n if (message.netAmout != null && message.hasOwnProperty(\"netAmout\"))\r\n object.netAmout = message.netAmout;\r\n if (message.amout != null && message.hasOwnProperty(\"amout\"))\r\n object.amout = message.amout;\r\n if (message.tax != null && message.hasOwnProperty(\"tax\"))\r\n object.tax = message.tax;\r\n if (message.barCode != null && message.hasOwnProperty(\"barCode\"))\r\n object.barCode = message.barCode;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this OBanT2 to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.OBanT2\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n OBanT2.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return OBanT2;\r\n })();\r\n\r\n Protobuf.OBan = (function() {\r\n\r\n /**\r\n * Properties of a OBan.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IOBan\r\n * @property {TCBReceiptApi.Protobuf.IOBanT1|null} [t1] OBan t1\r\n * @property {TCBReceiptApi.Protobuf.IOBanT2|null} [t2] OBan t2\r\n */\r\n\r\n /**\r\n * Constructs a new OBan.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a OBan.\r\n * @implements IOBan\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IOBan=} [properties] Properties to set\r\n */\r\n function OBan(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * OBan t1.\r\n * @member {TCBReceiptApi.Protobuf.IOBanT1|null|undefined} t1\r\n * @memberof TCBReceiptApi.Protobuf.OBan\r\n * @instance\r\n */\r\n OBan.prototype.t1 = null;\r\n\r\n /**\r\n * OBan t2.\r\n * @member {TCBReceiptApi.Protobuf.IOBanT2|null|undefined} t2\r\n * @memberof TCBReceiptApi.Protobuf.OBan\r\n * @instance\r\n */\r\n OBan.prototype.t2 = null;\r\n\r\n /**\r\n * Creates a new OBan instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.OBan\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IOBan=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.OBan} OBan instance\r\n */\r\n OBan.create = function create(properties) {\r\n return new OBan(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified OBan message. Does not implicitly {@link TCBReceiptApi.Protobuf.OBan.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.OBan\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IOBan} message OBan message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n OBan.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.t1 != null && Object.hasOwnProperty.call(message, \"t1\"))\r\n $root.TCBReceiptApi.Protobuf.OBanT1.encode(message.t1, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n if (message.t2 != null && Object.hasOwnProperty.call(message, \"t2\"))\r\n $root.TCBReceiptApi.Protobuf.OBanT2.encode(message.t2, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified OBan message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.OBan.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.OBan\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IOBan} message OBan message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n OBan.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a OBan message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.OBan\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.OBan} OBan\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n OBan.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.OBan();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.t1 = $root.TCBReceiptApi.Protobuf.OBanT1.decode(reader, reader.uint32());\r\n break;\r\n case 2:\r\n message.t2 = $root.TCBReceiptApi.Protobuf.OBanT2.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a OBan message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.OBan\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.OBan} OBan\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n OBan.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a OBan message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.OBan\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n OBan.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.t1 != null && message.hasOwnProperty(\"t1\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.OBanT1.verify(message.t1);\r\n if (error)\r\n return \"t1.\" + error;\r\n }\r\n if (message.t2 != null && message.hasOwnProperty(\"t2\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.OBanT2.verify(message.t2);\r\n if (error)\r\n return \"t2.\" + error;\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a OBan message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.OBan\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.OBan} OBan\r\n */\r\n OBan.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.OBan)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.OBan();\r\n if (object.t1 != null) {\r\n if (typeof object.t1 !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.OBan.t1: object expected\");\r\n message.t1 = $root.TCBReceiptApi.Protobuf.OBanT1.fromObject(object.t1);\r\n }\r\n if (object.t2 != null) {\r\n if (typeof object.t2 !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.OBan.t2: object expected\");\r\n message.t2 = $root.TCBReceiptApi.Protobuf.OBanT2.fromObject(object.t2);\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a OBan message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.OBan\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.OBan} message OBan\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n OBan.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.t1 = null;\r\n object.t2 = null;\r\n }\r\n if (message.t1 != null && message.hasOwnProperty(\"t1\"))\r\n object.t1 = $root.TCBReceiptApi.Protobuf.OBanT1.toObject(message.t1, options);\r\n if (message.t2 != null && message.hasOwnProperty(\"t2\"))\r\n object.t2 = $root.TCBReceiptApi.Protobuf.OBanT2.toObject(message.t2, options);\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this OBan to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.OBan\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n OBan.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return OBan;\r\n })();\r\n\r\n Protobuf.ABanT1 = (function() {\r\n\r\n /**\r\n * Properties of a ABanT1.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IABanT1\r\n * @property {string|null} [recordType] ABanT1 recordType\r\n * @property {string|null} [formCode] ABanT1 formCode\r\n * @property {string|null} [allowanceType] ABanT1 allowanceType\r\n * @property {string|null} [allowanceStat] ABanT1 allowanceStat\r\n * @property {string|null} [allowanceNo] ABanT1 allowanceNo\r\n * @property {string|null} [allowanceDate] ABanT1 allowanceDate\r\n * @property {string|null} [salesAmout] ABanT1 salesAmout\r\n * @property {string|null} [vatType] ABanT1 vatType\r\n * @property {string|null} [vatAmount] ABanT1 vatAmount\r\n * @property {string|null} [totalAmout] ABanT1 totalAmout\r\n * @property {string|null} [buyerBan] ABanT1 buyerBan\r\n * @property {string|null} [buyerName] ABanT1 buyerName\r\n * @property {string|null} [referenceQualifier_2] ABanT1 referenceQualifier_2\r\n * @property {string|null} [reference_2] ABanT1 reference_2\r\n * @property {string|null} [reserved] ABanT1 reserved\r\n * @property {string|null} [sellerBan] ABanT1 sellerBan\r\n * @property {string|null} [sellerCode] ABanT1 sellerCode\r\n * @property {string|null} [alwTransType] ABanT1 alwTransType\r\n * @property {string|null} [isPaperAlw] ABanT1 isPaperAlw\r\n */\r\n\r\n /**\r\n * Constructs a new ABanT1.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ABanT1.\r\n * @implements IABanT1\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IABanT1=} [properties] Properties to set\r\n */\r\n function ABanT1(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ABanT1 recordType.\r\n * @member {string} recordType\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @instance\r\n */\r\n ABanT1.prototype.recordType = \"\";\r\n\r\n /**\r\n * ABanT1 formCode.\r\n * @member {string} formCode\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @instance\r\n */\r\n ABanT1.prototype.formCode = \"\";\r\n\r\n /**\r\n * ABanT1 allowanceType.\r\n * @member {string} allowanceType\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @instance\r\n */\r\n ABanT1.prototype.allowanceType = \"\";\r\n\r\n /**\r\n * ABanT1 allowanceStat.\r\n * @member {string} allowanceStat\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @instance\r\n */\r\n ABanT1.prototype.allowanceStat = \"\";\r\n\r\n /**\r\n * ABanT1 allowanceNo.\r\n * @member {string} allowanceNo\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @instance\r\n */\r\n ABanT1.prototype.allowanceNo = \"\";\r\n\r\n /**\r\n * ABanT1 allowanceDate.\r\n * @member {string} allowanceDate\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @instance\r\n */\r\n ABanT1.prototype.allowanceDate = \"\";\r\n\r\n /**\r\n * ABanT1 salesAmout.\r\n * @member {string} salesAmout\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @instance\r\n */\r\n ABanT1.prototype.salesAmout = \"\";\r\n\r\n /**\r\n * ABanT1 vatType.\r\n * @member {string} vatType\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @instance\r\n */\r\n ABanT1.prototype.vatType = \"\";\r\n\r\n /**\r\n * ABanT1 vatAmount.\r\n * @member {string} vatAmount\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @instance\r\n */\r\n ABanT1.prototype.vatAmount = \"\";\r\n\r\n /**\r\n * ABanT1 totalAmout.\r\n * @member {string} totalAmout\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @instance\r\n */\r\n ABanT1.prototype.totalAmout = \"\";\r\n\r\n /**\r\n * ABanT1 buyerBan.\r\n * @member {string} buyerBan\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @instance\r\n */\r\n ABanT1.prototype.buyerBan = \"\";\r\n\r\n /**\r\n * ABanT1 buyerName.\r\n * @member {string} buyerName\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @instance\r\n */\r\n ABanT1.prototype.buyerName = \"\";\r\n\r\n /**\r\n * ABanT1 referenceQualifier_2.\r\n * @member {string} referenceQualifier_2\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @instance\r\n */\r\n ABanT1.prototype.referenceQualifier_2 = \"\";\r\n\r\n /**\r\n * ABanT1 reference_2.\r\n * @member {string} reference_2\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @instance\r\n */\r\n ABanT1.prototype.reference_2 = \"\";\r\n\r\n /**\r\n * ABanT1 reserved.\r\n * @member {string} reserved\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @instance\r\n */\r\n ABanT1.prototype.reserved = \"\";\r\n\r\n /**\r\n * ABanT1 sellerBan.\r\n * @member {string} sellerBan\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @instance\r\n */\r\n ABanT1.prototype.sellerBan = \"\";\r\n\r\n /**\r\n * ABanT1 sellerCode.\r\n * @member {string} sellerCode\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @instance\r\n */\r\n ABanT1.prototype.sellerCode = \"\";\r\n\r\n /**\r\n * ABanT1 alwTransType.\r\n * @member {string} alwTransType\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @instance\r\n */\r\n ABanT1.prototype.alwTransType = \"\";\r\n\r\n /**\r\n * ABanT1 isPaperAlw.\r\n * @member {string} isPaperAlw\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @instance\r\n */\r\n ABanT1.prototype.isPaperAlw = \"\";\r\n\r\n /**\r\n * Creates a new ABanT1 instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IABanT1=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ABanT1} ABanT1 instance\r\n */\r\n ABanT1.create = function create(properties) {\r\n return new ABanT1(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ABanT1 message. Does not implicitly {@link TCBReceiptApi.Protobuf.ABanT1.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IABanT1} message ABanT1 message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ABanT1.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.recordType != null && Object.hasOwnProperty.call(message, \"recordType\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.recordType);\r\n if (message.formCode != null && Object.hasOwnProperty.call(message, \"formCode\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.formCode);\r\n if (message.allowanceType != null && Object.hasOwnProperty.call(message, \"allowanceType\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.allowanceType);\r\n if (message.allowanceStat != null && Object.hasOwnProperty.call(message, \"allowanceStat\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.allowanceStat);\r\n if (message.allowanceNo != null && Object.hasOwnProperty.call(message, \"allowanceNo\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.allowanceNo);\r\n if (message.allowanceDate != null && Object.hasOwnProperty.call(message, \"allowanceDate\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.allowanceDate);\r\n if (message.salesAmout != null && Object.hasOwnProperty.call(message, \"salesAmout\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.salesAmout);\r\n if (message.vatType != null && Object.hasOwnProperty.call(message, \"vatType\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.vatType);\r\n if (message.vatAmount != null && Object.hasOwnProperty.call(message, \"vatAmount\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.vatAmount);\r\n if (message.totalAmout != null && Object.hasOwnProperty.call(message, \"totalAmout\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.totalAmout);\r\n if (message.buyerBan != null && Object.hasOwnProperty.call(message, \"buyerBan\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.buyerBan);\r\n if (message.buyerName != null && Object.hasOwnProperty.call(message, \"buyerName\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.buyerName);\r\n if (message.referenceQualifier_2 != null && Object.hasOwnProperty.call(message, \"referenceQualifier_2\"))\r\n writer.uint32(/* id 13, wireType 2 =*/106).string(message.referenceQualifier_2);\r\n if (message.reference_2 != null && Object.hasOwnProperty.call(message, \"reference_2\"))\r\n writer.uint32(/* id 14, wireType 2 =*/114).string(message.reference_2);\r\n if (message.reserved != null && Object.hasOwnProperty.call(message, \"reserved\"))\r\n writer.uint32(/* id 15, wireType 2 =*/122).string(message.reserved);\r\n if (message.sellerBan != null && Object.hasOwnProperty.call(message, \"sellerBan\"))\r\n writer.uint32(/* id 16, wireType 2 =*/130).string(message.sellerBan);\r\n if (message.sellerCode != null && Object.hasOwnProperty.call(message, \"sellerCode\"))\r\n writer.uint32(/* id 17, wireType 2 =*/138).string(message.sellerCode);\r\n if (message.alwTransType != null && Object.hasOwnProperty.call(message, \"alwTransType\"))\r\n writer.uint32(/* id 18, wireType 2 =*/146).string(message.alwTransType);\r\n if (message.isPaperAlw != null && Object.hasOwnProperty.call(message, \"isPaperAlw\"))\r\n writer.uint32(/* id 19, wireType 2 =*/154).string(message.isPaperAlw);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ABanT1 message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ABanT1.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IABanT1} message ABanT1 message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ABanT1.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ABanT1 message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ABanT1} ABanT1\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ABanT1.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ABanT1();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.recordType = reader.string();\r\n break;\r\n case 2:\r\n message.formCode = reader.string();\r\n break;\r\n case 3:\r\n message.allowanceType = reader.string();\r\n break;\r\n case 4:\r\n message.allowanceStat = reader.string();\r\n break;\r\n case 5:\r\n message.allowanceNo = reader.string();\r\n break;\r\n case 6:\r\n message.allowanceDate = reader.string();\r\n break;\r\n case 7:\r\n message.salesAmout = reader.string();\r\n break;\r\n case 8:\r\n message.vatType = reader.string();\r\n break;\r\n case 9:\r\n message.vatAmount = reader.string();\r\n break;\r\n case 10:\r\n message.totalAmout = reader.string();\r\n break;\r\n case 11:\r\n message.buyerBan = reader.string();\r\n break;\r\n case 12:\r\n message.buyerName = reader.string();\r\n break;\r\n case 13:\r\n message.referenceQualifier_2 = reader.string();\r\n break;\r\n case 14:\r\n message.reference_2 = reader.string();\r\n break;\r\n case 15:\r\n message.reserved = reader.string();\r\n break;\r\n case 16:\r\n message.sellerBan = reader.string();\r\n break;\r\n case 17:\r\n message.sellerCode = reader.string();\r\n break;\r\n case 18:\r\n message.alwTransType = reader.string();\r\n break;\r\n case 19:\r\n message.isPaperAlw = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ABanT1 message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ABanT1} ABanT1\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ABanT1.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ABanT1 message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ABanT1.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.recordType != null && message.hasOwnProperty(\"recordType\"))\r\n if (!$util.isString(message.recordType))\r\n return \"recordType: string expected\";\r\n if (message.formCode != null && message.hasOwnProperty(\"formCode\"))\r\n if (!$util.isString(message.formCode))\r\n return \"formCode: string expected\";\r\n if (message.allowanceType != null && message.hasOwnProperty(\"allowanceType\"))\r\n if (!$util.isString(message.allowanceType))\r\n return \"allowanceType: string expected\";\r\n if (message.allowanceStat != null && message.hasOwnProperty(\"allowanceStat\"))\r\n if (!$util.isString(message.allowanceStat))\r\n return \"allowanceStat: string expected\";\r\n if (message.allowanceNo != null && message.hasOwnProperty(\"allowanceNo\"))\r\n if (!$util.isString(message.allowanceNo))\r\n return \"allowanceNo: string expected\";\r\n if (message.allowanceDate != null && message.hasOwnProperty(\"allowanceDate\"))\r\n if (!$util.isString(message.allowanceDate))\r\n return \"allowanceDate: string expected\";\r\n if (message.salesAmout != null && message.hasOwnProperty(\"salesAmout\"))\r\n if (!$util.isString(message.salesAmout))\r\n return \"salesAmout: string expected\";\r\n if (message.vatType != null && message.hasOwnProperty(\"vatType\"))\r\n if (!$util.isString(message.vatType))\r\n return \"vatType: string expected\";\r\n if (message.vatAmount != null && message.hasOwnProperty(\"vatAmount\"))\r\n if (!$util.isString(message.vatAmount))\r\n return \"vatAmount: string expected\";\r\n if (message.totalAmout != null && message.hasOwnProperty(\"totalAmout\"))\r\n if (!$util.isString(message.totalAmout))\r\n return \"totalAmout: string expected\";\r\n if (message.buyerBan != null && message.hasOwnProperty(\"buyerBan\"))\r\n if (!$util.isString(message.buyerBan))\r\n return \"buyerBan: string expected\";\r\n if (message.buyerName != null && message.hasOwnProperty(\"buyerName\"))\r\n if (!$util.isString(message.buyerName))\r\n return \"buyerName: string expected\";\r\n if (message.referenceQualifier_2 != null && message.hasOwnProperty(\"referenceQualifier_2\"))\r\n if (!$util.isString(message.referenceQualifier_2))\r\n return \"referenceQualifier_2: string expected\";\r\n if (message.reference_2 != null && message.hasOwnProperty(\"reference_2\"))\r\n if (!$util.isString(message.reference_2))\r\n return \"reference_2: string expected\";\r\n if (message.reserved != null && message.hasOwnProperty(\"reserved\"))\r\n if (!$util.isString(message.reserved))\r\n return \"reserved: string expected\";\r\n if (message.sellerBan != null && message.hasOwnProperty(\"sellerBan\"))\r\n if (!$util.isString(message.sellerBan))\r\n return \"sellerBan: string expected\";\r\n if (message.sellerCode != null && message.hasOwnProperty(\"sellerCode\"))\r\n if (!$util.isString(message.sellerCode))\r\n return \"sellerCode: string expected\";\r\n if (message.alwTransType != null && message.hasOwnProperty(\"alwTransType\"))\r\n if (!$util.isString(message.alwTransType))\r\n return \"alwTransType: string expected\";\r\n if (message.isPaperAlw != null && message.hasOwnProperty(\"isPaperAlw\"))\r\n if (!$util.isString(message.isPaperAlw))\r\n return \"isPaperAlw: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ABanT1 message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ABanT1} ABanT1\r\n */\r\n ABanT1.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ABanT1)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ABanT1();\r\n if (object.recordType != null)\r\n message.recordType = String(object.recordType);\r\n if (object.formCode != null)\r\n message.formCode = String(object.formCode);\r\n if (object.allowanceType != null)\r\n message.allowanceType = String(object.allowanceType);\r\n if (object.allowanceStat != null)\r\n message.allowanceStat = String(object.allowanceStat);\r\n if (object.allowanceNo != null)\r\n message.allowanceNo = String(object.allowanceNo);\r\n if (object.allowanceDate != null)\r\n message.allowanceDate = String(object.allowanceDate);\r\n if (object.salesAmout != null)\r\n message.salesAmout = String(object.salesAmout);\r\n if (object.vatType != null)\r\n message.vatType = String(object.vatType);\r\n if (object.vatAmount != null)\r\n message.vatAmount = String(object.vatAmount);\r\n if (object.totalAmout != null)\r\n message.totalAmout = String(object.totalAmout);\r\n if (object.buyerBan != null)\r\n message.buyerBan = String(object.buyerBan);\r\n if (object.buyerName != null)\r\n message.buyerName = String(object.buyerName);\r\n if (object.referenceQualifier_2 != null)\r\n message.referenceQualifier_2 = String(object.referenceQualifier_2);\r\n if (object.reference_2 != null)\r\n message.reference_2 = String(object.reference_2);\r\n if (object.reserved != null)\r\n message.reserved = String(object.reserved);\r\n if (object.sellerBan != null)\r\n message.sellerBan = String(object.sellerBan);\r\n if (object.sellerCode != null)\r\n message.sellerCode = String(object.sellerCode);\r\n if (object.alwTransType != null)\r\n message.alwTransType = String(object.alwTransType);\r\n if (object.isPaperAlw != null)\r\n message.isPaperAlw = String(object.isPaperAlw);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ABanT1 message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ABanT1} message ABanT1\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ABanT1.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.recordType = \"\";\r\n object.formCode = \"\";\r\n object.allowanceType = \"\";\r\n object.allowanceStat = \"\";\r\n object.allowanceNo = \"\";\r\n object.allowanceDate = \"\";\r\n object.salesAmout = \"\";\r\n object.vatType = \"\";\r\n object.vatAmount = \"\";\r\n object.totalAmout = \"\";\r\n object.buyerBan = \"\";\r\n object.buyerName = \"\";\r\n object.referenceQualifier_2 = \"\";\r\n object.reference_2 = \"\";\r\n object.reserved = \"\";\r\n object.sellerBan = \"\";\r\n object.sellerCode = \"\";\r\n object.alwTransType = \"\";\r\n object.isPaperAlw = \"\";\r\n }\r\n if (message.recordType != null && message.hasOwnProperty(\"recordType\"))\r\n object.recordType = message.recordType;\r\n if (message.formCode != null && message.hasOwnProperty(\"formCode\"))\r\n object.formCode = message.formCode;\r\n if (message.allowanceType != null && message.hasOwnProperty(\"allowanceType\"))\r\n object.allowanceType = message.allowanceType;\r\n if (message.allowanceStat != null && message.hasOwnProperty(\"allowanceStat\"))\r\n object.allowanceStat = message.allowanceStat;\r\n if (message.allowanceNo != null && message.hasOwnProperty(\"allowanceNo\"))\r\n object.allowanceNo = message.allowanceNo;\r\n if (message.allowanceDate != null && message.hasOwnProperty(\"allowanceDate\"))\r\n object.allowanceDate = message.allowanceDate;\r\n if (message.salesAmout != null && message.hasOwnProperty(\"salesAmout\"))\r\n object.salesAmout = message.salesAmout;\r\n if (message.vatType != null && message.hasOwnProperty(\"vatType\"))\r\n object.vatType = message.vatType;\r\n if (message.vatAmount != null && message.hasOwnProperty(\"vatAmount\"))\r\n object.vatAmount = message.vatAmount;\r\n if (message.totalAmout != null && message.hasOwnProperty(\"totalAmout\"))\r\n object.totalAmout = message.totalAmout;\r\n if (message.buyerBan != null && message.hasOwnProperty(\"buyerBan\"))\r\n object.buyerBan = message.buyerBan;\r\n if (message.buyerName != null && message.hasOwnProperty(\"buyerName\"))\r\n object.buyerName = message.buyerName;\r\n if (message.referenceQualifier_2 != null && message.hasOwnProperty(\"referenceQualifier_2\"))\r\n object.referenceQualifier_2 = message.referenceQualifier_2;\r\n if (message.reference_2 != null && message.hasOwnProperty(\"reference_2\"))\r\n object.reference_2 = message.reference_2;\r\n if (message.reserved != null && message.hasOwnProperty(\"reserved\"))\r\n object.reserved = message.reserved;\r\n if (message.sellerBan != null && message.hasOwnProperty(\"sellerBan\"))\r\n object.sellerBan = message.sellerBan;\r\n if (message.sellerCode != null && message.hasOwnProperty(\"sellerCode\"))\r\n object.sellerCode = message.sellerCode;\r\n if (message.alwTransType != null && message.hasOwnProperty(\"alwTransType\"))\r\n object.alwTransType = message.alwTransType;\r\n if (message.isPaperAlw != null && message.hasOwnProperty(\"isPaperAlw\"))\r\n object.isPaperAlw = message.isPaperAlw;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ABanT1 to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ABanT1\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ABanT1.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ABanT1;\r\n })();\r\n\r\n Protobuf.ABanT2 = (function() {\r\n\r\n /**\r\n * Properties of a ABanT2.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IABanT2\r\n * @property {string|null} [recordType] ABanT2 recordType\r\n * @property {string|null} [seqNo] ABanT2 seqNo\r\n * @property {string|null} [invoiceNo] ABanT2 invoiceNo\r\n * @property {string|null} [invoiceDate] ABanT2 invoiceDate\r\n * @property {string|null} [productName] ABanT2 productName\r\n * @property {string|null} [qty] ABanT2 qty\r\n * @property {string|null} [unitPrice] ABanT2 unitPrice\r\n * @property {string|null} [amout] ABanT2 amout\r\n * @property {string|null} [taxType] ABanT2 taxType\r\n * @property {string|null} [taxAmount] ABanT2 taxAmount\r\n * @property {string|null} [totalAmount] ABanT2 totalAmount\r\n * @property {string|null} [migProductName] ABanT2 migProductName\r\n */\r\n\r\n /**\r\n * Constructs a new ABanT2.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ABanT2.\r\n * @implements IABanT2\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IABanT2=} [properties] Properties to set\r\n */\r\n function ABanT2(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ABanT2 recordType.\r\n * @member {string} recordType\r\n * @memberof TCBReceiptApi.Protobuf.ABanT2\r\n * @instance\r\n */\r\n ABanT2.prototype.recordType = \"\";\r\n\r\n /**\r\n * ABanT2 seqNo.\r\n * @member {string} seqNo\r\n * @memberof TCBReceiptApi.Protobuf.ABanT2\r\n * @instance\r\n */\r\n ABanT2.prototype.seqNo = \"\";\r\n\r\n /**\r\n * ABanT2 invoiceNo.\r\n * @member {string} invoiceNo\r\n * @memberof TCBReceiptApi.Protobuf.ABanT2\r\n * @instance\r\n */\r\n ABanT2.prototype.invoiceNo = \"\";\r\n\r\n /**\r\n * ABanT2 invoiceDate.\r\n * @member {string} invoiceDate\r\n * @memberof TCBReceiptApi.Protobuf.ABanT2\r\n * @instance\r\n */\r\n ABanT2.prototype.invoiceDate = \"\";\r\n\r\n /**\r\n * ABanT2 productName.\r\n * @member {string} productName\r\n * @memberof TCBReceiptApi.Protobuf.ABanT2\r\n * @instance\r\n */\r\n ABanT2.prototype.productName = \"\";\r\n\r\n /**\r\n * ABanT2 qty.\r\n * @member {string} qty\r\n * @memberof TCBReceiptApi.Protobuf.ABanT2\r\n * @instance\r\n */\r\n ABanT2.prototype.qty = \"\";\r\n\r\n /**\r\n * ABanT2 unitPrice.\r\n * @member {string} unitPrice\r\n * @memberof TCBReceiptApi.Protobuf.ABanT2\r\n * @instance\r\n */\r\n ABanT2.prototype.unitPrice = \"\";\r\n\r\n /**\r\n * ABanT2 amout.\r\n * @member {string} amout\r\n * @memberof TCBReceiptApi.Protobuf.ABanT2\r\n * @instance\r\n */\r\n ABanT2.prototype.amout = \"\";\r\n\r\n /**\r\n * ABanT2 taxType.\r\n * @member {string} taxType\r\n * @memberof TCBReceiptApi.Protobuf.ABanT2\r\n * @instance\r\n */\r\n ABanT2.prototype.taxType = \"\";\r\n\r\n /**\r\n * ABanT2 taxAmount.\r\n * @member {string} taxAmount\r\n * @memberof TCBReceiptApi.Protobuf.ABanT2\r\n * @instance\r\n */\r\n ABanT2.prototype.taxAmount = \"\";\r\n\r\n /**\r\n * ABanT2 totalAmount.\r\n * @member {string} totalAmount\r\n * @memberof TCBReceiptApi.Protobuf.ABanT2\r\n * @instance\r\n */\r\n ABanT2.prototype.totalAmount = \"\";\r\n\r\n /**\r\n * ABanT2 migProductName.\r\n * @member {string} migProductName\r\n * @memberof TCBReceiptApi.Protobuf.ABanT2\r\n * @instance\r\n */\r\n ABanT2.prototype.migProductName = \"\";\r\n\r\n /**\r\n * Creates a new ABanT2 instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ABanT2\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IABanT2=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ABanT2} ABanT2 instance\r\n */\r\n ABanT2.create = function create(properties) {\r\n return new ABanT2(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ABanT2 message. Does not implicitly {@link TCBReceiptApi.Protobuf.ABanT2.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ABanT2\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IABanT2} message ABanT2 message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ABanT2.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.recordType != null && Object.hasOwnProperty.call(message, \"recordType\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.recordType);\r\n if (message.seqNo != null && Object.hasOwnProperty.call(message, \"seqNo\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.seqNo);\r\n if (message.invoiceNo != null && Object.hasOwnProperty.call(message, \"invoiceNo\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.invoiceNo);\r\n if (message.invoiceDate != null && Object.hasOwnProperty.call(message, \"invoiceDate\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.invoiceDate);\r\n if (message.productName != null && Object.hasOwnProperty.call(message, \"productName\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.productName);\r\n if (message.qty != null && Object.hasOwnProperty.call(message, \"qty\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.qty);\r\n if (message.unitPrice != null && Object.hasOwnProperty.call(message, \"unitPrice\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.unitPrice);\r\n if (message.amout != null && Object.hasOwnProperty.call(message, \"amout\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.amout);\r\n if (message.taxType != null && Object.hasOwnProperty.call(message, \"taxType\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.taxType);\r\n if (message.taxAmount != null && Object.hasOwnProperty.call(message, \"taxAmount\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.taxAmount);\r\n if (message.totalAmount != null && Object.hasOwnProperty.call(message, \"totalAmount\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.totalAmount);\r\n if (message.migProductName != null && Object.hasOwnProperty.call(message, \"migProductName\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.migProductName);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ABanT2 message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ABanT2.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ABanT2\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IABanT2} message ABanT2 message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ABanT2.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ABanT2 message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ABanT2\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ABanT2} ABanT2\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ABanT2.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ABanT2();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.recordType = reader.string();\r\n break;\r\n case 2:\r\n message.seqNo = reader.string();\r\n break;\r\n case 3:\r\n message.invoiceNo = reader.string();\r\n break;\r\n case 4:\r\n message.invoiceDate = reader.string();\r\n break;\r\n case 5:\r\n message.productName = reader.string();\r\n break;\r\n case 6:\r\n message.qty = reader.string();\r\n break;\r\n case 7:\r\n message.unitPrice = reader.string();\r\n break;\r\n case 8:\r\n message.amout = reader.string();\r\n break;\r\n case 9:\r\n message.taxType = reader.string();\r\n break;\r\n case 10:\r\n message.taxAmount = reader.string();\r\n break;\r\n case 11:\r\n message.totalAmount = reader.string();\r\n break;\r\n case 12:\r\n message.migProductName = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ABanT2 message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ABanT2\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ABanT2} ABanT2\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ABanT2.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ABanT2 message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ABanT2\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ABanT2.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.recordType != null && message.hasOwnProperty(\"recordType\"))\r\n if (!$util.isString(message.recordType))\r\n return \"recordType: string expected\";\r\n if (message.seqNo != null && message.hasOwnProperty(\"seqNo\"))\r\n if (!$util.isString(message.seqNo))\r\n return \"seqNo: string expected\";\r\n if (message.invoiceNo != null && message.hasOwnProperty(\"invoiceNo\"))\r\n if (!$util.isString(message.invoiceNo))\r\n return \"invoiceNo: string expected\";\r\n if (message.invoiceDate != null && message.hasOwnProperty(\"invoiceDate\"))\r\n if (!$util.isString(message.invoiceDate))\r\n return \"invoiceDate: string expected\";\r\n if (message.productName != null && message.hasOwnProperty(\"productName\"))\r\n if (!$util.isString(message.productName))\r\n return \"productName: string expected\";\r\n if (message.qty != null && message.hasOwnProperty(\"qty\"))\r\n if (!$util.isString(message.qty))\r\n return \"qty: string expected\";\r\n if (message.unitPrice != null && message.hasOwnProperty(\"unitPrice\"))\r\n if (!$util.isString(message.unitPrice))\r\n return \"unitPrice: string expected\";\r\n if (message.amout != null && message.hasOwnProperty(\"amout\"))\r\n if (!$util.isString(message.amout))\r\n return \"amout: string expected\";\r\n if (message.taxType != null && message.hasOwnProperty(\"taxType\"))\r\n if (!$util.isString(message.taxType))\r\n return \"taxType: string expected\";\r\n if (message.taxAmount != null && message.hasOwnProperty(\"taxAmount\"))\r\n if (!$util.isString(message.taxAmount))\r\n return \"taxAmount: string expected\";\r\n if (message.totalAmount != null && message.hasOwnProperty(\"totalAmount\"))\r\n if (!$util.isString(message.totalAmount))\r\n return \"totalAmount: string expected\";\r\n if (message.migProductName != null && message.hasOwnProperty(\"migProductName\"))\r\n if (!$util.isString(message.migProductName))\r\n return \"migProductName: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ABanT2 message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ABanT2\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ABanT2} ABanT2\r\n */\r\n ABanT2.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ABanT2)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ABanT2();\r\n if (object.recordType != null)\r\n message.recordType = String(object.recordType);\r\n if (object.seqNo != null)\r\n message.seqNo = String(object.seqNo);\r\n if (object.invoiceNo != null)\r\n message.invoiceNo = String(object.invoiceNo);\r\n if (object.invoiceDate != null)\r\n message.invoiceDate = String(object.invoiceDate);\r\n if (object.productName != null)\r\n message.productName = String(object.productName);\r\n if (object.qty != null)\r\n message.qty = String(object.qty);\r\n if (object.unitPrice != null)\r\n message.unitPrice = String(object.unitPrice);\r\n if (object.amout != null)\r\n message.amout = String(object.amout);\r\n if (object.taxType != null)\r\n message.taxType = String(object.taxType);\r\n if (object.taxAmount != null)\r\n message.taxAmount = String(object.taxAmount);\r\n if (object.totalAmount != null)\r\n message.totalAmount = String(object.totalAmount);\r\n if (object.migProductName != null)\r\n message.migProductName = String(object.migProductName);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ABanT2 message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ABanT2\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ABanT2} message ABanT2\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ABanT2.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.recordType = \"\";\r\n object.seqNo = \"\";\r\n object.invoiceNo = \"\";\r\n object.invoiceDate = \"\";\r\n object.productName = \"\";\r\n object.qty = \"\";\r\n object.unitPrice = \"\";\r\n object.amout = \"\";\r\n object.taxType = \"\";\r\n object.taxAmount = \"\";\r\n object.totalAmount = \"\";\r\n object.migProductName = \"\";\r\n }\r\n if (message.recordType != null && message.hasOwnProperty(\"recordType\"))\r\n object.recordType = message.recordType;\r\n if (message.seqNo != null && message.hasOwnProperty(\"seqNo\"))\r\n object.seqNo = message.seqNo;\r\n if (message.invoiceNo != null && message.hasOwnProperty(\"invoiceNo\"))\r\n object.invoiceNo = message.invoiceNo;\r\n if (message.invoiceDate != null && message.hasOwnProperty(\"invoiceDate\"))\r\n object.invoiceDate = message.invoiceDate;\r\n if (message.productName != null && message.hasOwnProperty(\"productName\"))\r\n object.productName = message.productName;\r\n if (message.qty != null && message.hasOwnProperty(\"qty\"))\r\n object.qty = message.qty;\r\n if (message.unitPrice != null && message.hasOwnProperty(\"unitPrice\"))\r\n object.unitPrice = message.unitPrice;\r\n if (message.amout != null && message.hasOwnProperty(\"amout\"))\r\n object.amout = message.amout;\r\n if (message.taxType != null && message.hasOwnProperty(\"taxType\"))\r\n object.taxType = message.taxType;\r\n if (message.taxAmount != null && message.hasOwnProperty(\"taxAmount\"))\r\n object.taxAmount = message.taxAmount;\r\n if (message.totalAmount != null && message.hasOwnProperty(\"totalAmount\"))\r\n object.totalAmount = message.totalAmount;\r\n if (message.migProductName != null && message.hasOwnProperty(\"migProductName\"))\r\n object.migProductName = message.migProductName;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ABanT2 to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ABanT2\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ABanT2.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ABanT2;\r\n })();\r\n\r\n Protobuf.ABan = (function() {\r\n\r\n /**\r\n * Properties of a ABan.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IABan\r\n * @property {TCBReceiptApi.Protobuf.IABanT1|null} [a1] ABan a1\r\n * @property {Array.|null} [a2List] ABan a2List\r\n */\r\n\r\n /**\r\n * Constructs a new ABan.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ABan.\r\n * @implements IABan\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IABan=} [properties] Properties to set\r\n */\r\n function ABan(properties) {\r\n this.a2List = [];\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ABan a1.\r\n * @member {TCBReceiptApi.Protobuf.IABanT1|null|undefined} a1\r\n * @memberof TCBReceiptApi.Protobuf.ABan\r\n * @instance\r\n */\r\n ABan.prototype.a1 = null;\r\n\r\n /**\r\n * ABan a2List.\r\n * @member {Array.} a2List\r\n * @memberof TCBReceiptApi.Protobuf.ABan\r\n * @instance\r\n */\r\n ABan.prototype.a2List = $util.emptyArray;\r\n\r\n /**\r\n * Creates a new ABan instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ABan\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IABan=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ABan} ABan instance\r\n */\r\n ABan.create = function create(properties) {\r\n return new ABan(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ABan message. Does not implicitly {@link TCBReceiptApi.Protobuf.ABan.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ABan\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IABan} message ABan message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ABan.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.a1 != null && Object.hasOwnProperty.call(message, \"a1\"))\r\n $root.TCBReceiptApi.Protobuf.ABanT1.encode(message.a1, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n if (message.a2List != null && message.a2List.length)\r\n for (var i = 0; i < message.a2List.length; ++i)\r\n $root.TCBReceiptApi.Protobuf.ABanT2.encode(message.a2List[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ABan message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ABan.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ABan\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IABan} message ABan message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ABan.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ABan message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ABan\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ABan} ABan\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ABan.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ABan();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.a1 = $root.TCBReceiptApi.Protobuf.ABanT1.decode(reader, reader.uint32());\r\n break;\r\n case 2:\r\n if (!(message.a2List && message.a2List.length))\r\n message.a2List = [];\r\n message.a2List.push($root.TCBReceiptApi.Protobuf.ABanT2.decode(reader, reader.uint32()));\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ABan message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ABan\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ABan} ABan\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ABan.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ABan message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ABan\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ABan.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.a1 != null && message.hasOwnProperty(\"a1\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ABanT1.verify(message.a1);\r\n if (error)\r\n return \"a1.\" + error;\r\n }\r\n if (message.a2List != null && message.hasOwnProperty(\"a2List\")) {\r\n if (!Array.isArray(message.a2List))\r\n return \"a2List: array expected\";\r\n for (var i = 0; i < message.a2List.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.ABanT2.verify(message.a2List[i]);\r\n if (error)\r\n return \"a2List.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ABan message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ABan\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ABan} ABan\r\n */\r\n ABan.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ABan)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ABan();\r\n if (object.a1 != null) {\r\n if (typeof object.a1 !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ABan.a1: object expected\");\r\n message.a1 = $root.TCBReceiptApi.Protobuf.ABanT1.fromObject(object.a1);\r\n }\r\n if (object.a2List) {\r\n if (!Array.isArray(object.a2List))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ABan.a2List: array expected\");\r\n message.a2List = [];\r\n for (var i = 0; i < object.a2List.length; ++i) {\r\n if (typeof object.a2List[i] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ABan.a2List: object expected\");\r\n message.a2List[i] = $root.TCBReceiptApi.Protobuf.ABanT2.fromObject(object.a2List[i]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ABan message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ABan\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ABan} message ABan\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ABan.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.arrays || options.defaults)\r\n object.a2List = [];\r\n if (options.defaults)\r\n object.a1 = null;\r\n if (message.a1 != null && message.hasOwnProperty(\"a1\"))\r\n object.a1 = $root.TCBReceiptApi.Protobuf.ABanT1.toObject(message.a1, options);\r\n if (message.a2List && message.a2List.length) {\r\n object.a2List = [];\r\n for (var j = 0; j < message.a2List.length; ++j)\r\n object.a2List[j] = $root.TCBReceiptApi.Protobuf.ABanT2.toObject(message.a2List[j], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ABan to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ABan\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ABan.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ABan;\r\n })();\r\n\r\n Protobuf.RPT = (function() {\r\n\r\n /**\r\n * Properties of a RPT.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IRPT\r\n * @property {string|null} [dataStatus] RPT dataStatus\r\n * @property {string|null} [retailerId] RPT retailerId\r\n * @property {string|null} [supplierCode] RPT supplierCode\r\n * @property {string|null} [receiptDate] RPT receiptDate\r\n * @property {string|null} [receiptNo] RPT receiptNo\r\n * @property {string|null} [invoiceNo] RPT invoiceNo\r\n * @property {string|null} [invoiceStatus] RPT invoiceStatus\r\n * @property {string|null} [totalAmount] RPT totalAmount\r\n * @property {string|null} [storeCode] RPT storeCode\r\n * @property {string|null} [sellerPerson] RPT sellerPerson\r\n * @property {string|null} [amountNative] RPT amountNative\r\n * @property {string|null} [amountForeign] RPT amountForeign\r\n */\r\n\r\n /**\r\n * Constructs a new RPT.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a RPT.\r\n * @implements IRPT\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IRPT=} [properties] Properties to set\r\n */\r\n function RPT(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * RPT dataStatus.\r\n * @member {string} dataStatus\r\n * @memberof TCBReceiptApi.Protobuf.RPT\r\n * @instance\r\n */\r\n RPT.prototype.dataStatus = \"\";\r\n\r\n /**\r\n * RPT retailerId.\r\n * @member {string} retailerId\r\n * @memberof TCBReceiptApi.Protobuf.RPT\r\n * @instance\r\n */\r\n RPT.prototype.retailerId = \"\";\r\n\r\n /**\r\n * RPT supplierCode.\r\n * @member {string} supplierCode\r\n * @memberof TCBReceiptApi.Protobuf.RPT\r\n * @instance\r\n */\r\n RPT.prototype.supplierCode = \"\";\r\n\r\n /**\r\n * RPT receiptDate.\r\n * @member {string} receiptDate\r\n * @memberof TCBReceiptApi.Protobuf.RPT\r\n * @instance\r\n */\r\n RPT.prototype.receiptDate = \"\";\r\n\r\n /**\r\n * RPT receiptNo.\r\n * @member {string} receiptNo\r\n * @memberof TCBReceiptApi.Protobuf.RPT\r\n * @instance\r\n */\r\n RPT.prototype.receiptNo = \"\";\r\n\r\n /**\r\n * RPT invoiceNo.\r\n * @member {string} invoiceNo\r\n * @memberof TCBReceiptApi.Protobuf.RPT\r\n * @instance\r\n */\r\n RPT.prototype.invoiceNo = \"\";\r\n\r\n /**\r\n * RPT invoiceStatus.\r\n * @member {string} invoiceStatus\r\n * @memberof TCBReceiptApi.Protobuf.RPT\r\n * @instance\r\n */\r\n RPT.prototype.invoiceStatus = \"\";\r\n\r\n /**\r\n * RPT totalAmount.\r\n * @member {string} totalAmount\r\n * @memberof TCBReceiptApi.Protobuf.RPT\r\n * @instance\r\n */\r\n RPT.prototype.totalAmount = \"\";\r\n\r\n /**\r\n * RPT storeCode.\r\n * @member {string} storeCode\r\n * @memberof TCBReceiptApi.Protobuf.RPT\r\n * @instance\r\n */\r\n RPT.prototype.storeCode = \"\";\r\n\r\n /**\r\n * RPT sellerPerson.\r\n * @member {string} sellerPerson\r\n * @memberof TCBReceiptApi.Protobuf.RPT\r\n * @instance\r\n */\r\n RPT.prototype.sellerPerson = \"\";\r\n\r\n /**\r\n * RPT amountNative.\r\n * @member {string} amountNative\r\n * @memberof TCBReceiptApi.Protobuf.RPT\r\n * @instance\r\n */\r\n RPT.prototype.amountNative = \"\";\r\n\r\n /**\r\n * RPT amountForeign.\r\n * @member {string} amountForeign\r\n * @memberof TCBReceiptApi.Protobuf.RPT\r\n * @instance\r\n */\r\n RPT.prototype.amountForeign = \"\";\r\n\r\n /**\r\n * Creates a new RPT instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.RPT\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IRPT=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.RPT} RPT instance\r\n */\r\n RPT.create = function create(properties) {\r\n return new RPT(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified RPT message. Does not implicitly {@link TCBReceiptApi.Protobuf.RPT.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.RPT\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IRPT} message RPT message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n RPT.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.dataStatus != null && Object.hasOwnProperty.call(message, \"dataStatus\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.dataStatus);\r\n if (message.retailerId != null && Object.hasOwnProperty.call(message, \"retailerId\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.retailerId);\r\n if (message.supplierCode != null && Object.hasOwnProperty.call(message, \"supplierCode\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.supplierCode);\r\n if (message.receiptDate != null && Object.hasOwnProperty.call(message, \"receiptDate\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.receiptDate);\r\n if (message.receiptNo != null && Object.hasOwnProperty.call(message, \"receiptNo\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.receiptNo);\r\n if (message.invoiceNo != null && Object.hasOwnProperty.call(message, \"invoiceNo\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.invoiceNo);\r\n if (message.invoiceStatus != null && Object.hasOwnProperty.call(message, \"invoiceStatus\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.invoiceStatus);\r\n if (message.totalAmount != null && Object.hasOwnProperty.call(message, \"totalAmount\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.totalAmount);\r\n if (message.storeCode != null && Object.hasOwnProperty.call(message, \"storeCode\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.storeCode);\r\n if (message.sellerPerson != null && Object.hasOwnProperty.call(message, \"sellerPerson\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.sellerPerson);\r\n if (message.amountNative != null && Object.hasOwnProperty.call(message, \"amountNative\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.amountNative);\r\n if (message.amountForeign != null && Object.hasOwnProperty.call(message, \"amountForeign\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.amountForeign);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified RPT message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.RPT.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.RPT\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IRPT} message RPT message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n RPT.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a RPT message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.RPT\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.RPT} RPT\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n RPT.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.RPT();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.dataStatus = reader.string();\r\n break;\r\n case 2:\r\n message.retailerId = reader.string();\r\n break;\r\n case 3:\r\n message.supplierCode = reader.string();\r\n break;\r\n case 4:\r\n message.receiptDate = reader.string();\r\n break;\r\n case 5:\r\n message.receiptNo = reader.string();\r\n break;\r\n case 6:\r\n message.invoiceNo = reader.string();\r\n break;\r\n case 7:\r\n message.invoiceStatus = reader.string();\r\n break;\r\n case 8:\r\n message.totalAmount = reader.string();\r\n break;\r\n case 9:\r\n message.storeCode = reader.string();\r\n break;\r\n case 10:\r\n message.sellerPerson = reader.string();\r\n break;\r\n case 11:\r\n message.amountNative = reader.string();\r\n break;\r\n case 12:\r\n message.amountForeign = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a RPT message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.RPT\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.RPT} RPT\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n RPT.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a RPT message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.RPT\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n RPT.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.dataStatus != null && message.hasOwnProperty(\"dataStatus\"))\r\n if (!$util.isString(message.dataStatus))\r\n return \"dataStatus: string expected\";\r\n if (message.retailerId != null && message.hasOwnProperty(\"retailerId\"))\r\n if (!$util.isString(message.retailerId))\r\n return \"retailerId: string expected\";\r\n if (message.supplierCode != null && message.hasOwnProperty(\"supplierCode\"))\r\n if (!$util.isString(message.supplierCode))\r\n return \"supplierCode: string expected\";\r\n if (message.receiptDate != null && message.hasOwnProperty(\"receiptDate\"))\r\n if (!$util.isString(message.receiptDate))\r\n return \"receiptDate: string expected\";\r\n if (message.receiptNo != null && message.hasOwnProperty(\"receiptNo\"))\r\n if (!$util.isString(message.receiptNo))\r\n return \"receiptNo: string expected\";\r\n if (message.invoiceNo != null && message.hasOwnProperty(\"invoiceNo\"))\r\n if (!$util.isString(message.invoiceNo))\r\n return \"invoiceNo: string expected\";\r\n if (message.invoiceStatus != null && message.hasOwnProperty(\"invoiceStatus\"))\r\n if (!$util.isString(message.invoiceStatus))\r\n return \"invoiceStatus: string expected\";\r\n if (message.totalAmount != null && message.hasOwnProperty(\"totalAmount\"))\r\n if (!$util.isString(message.totalAmount))\r\n return \"totalAmount: string expected\";\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n if (!$util.isString(message.storeCode))\r\n return \"storeCode: string expected\";\r\n if (message.sellerPerson != null && message.hasOwnProperty(\"sellerPerson\"))\r\n if (!$util.isString(message.sellerPerson))\r\n return \"sellerPerson: string expected\";\r\n if (message.amountNative != null && message.hasOwnProperty(\"amountNative\"))\r\n if (!$util.isString(message.amountNative))\r\n return \"amountNative: string expected\";\r\n if (message.amountForeign != null && message.hasOwnProperty(\"amountForeign\"))\r\n if (!$util.isString(message.amountForeign))\r\n return \"amountForeign: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a RPT message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.RPT\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.RPT} RPT\r\n */\r\n RPT.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.RPT)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.RPT();\r\n if (object.dataStatus != null)\r\n message.dataStatus = String(object.dataStatus);\r\n if (object.retailerId != null)\r\n message.retailerId = String(object.retailerId);\r\n if (object.supplierCode != null)\r\n message.supplierCode = String(object.supplierCode);\r\n if (object.receiptDate != null)\r\n message.receiptDate = String(object.receiptDate);\r\n if (object.receiptNo != null)\r\n message.receiptNo = String(object.receiptNo);\r\n if (object.invoiceNo != null)\r\n message.invoiceNo = String(object.invoiceNo);\r\n if (object.invoiceStatus != null)\r\n message.invoiceStatus = String(object.invoiceStatus);\r\n if (object.totalAmount != null)\r\n message.totalAmount = String(object.totalAmount);\r\n if (object.storeCode != null)\r\n message.storeCode = String(object.storeCode);\r\n if (object.sellerPerson != null)\r\n message.sellerPerson = String(object.sellerPerson);\r\n if (object.amountNative != null)\r\n message.amountNative = String(object.amountNative);\r\n if (object.amountForeign != null)\r\n message.amountForeign = String(object.amountForeign);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a RPT message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.RPT\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.RPT} message RPT\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n RPT.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.dataStatus = \"\";\r\n object.retailerId = \"\";\r\n object.supplierCode = \"\";\r\n object.receiptDate = \"\";\r\n object.receiptNo = \"\";\r\n object.invoiceNo = \"\";\r\n object.invoiceStatus = \"\";\r\n object.totalAmount = \"\";\r\n object.storeCode = \"\";\r\n object.sellerPerson = \"\";\r\n object.amountNative = \"\";\r\n object.amountForeign = \"\";\r\n }\r\n if (message.dataStatus != null && message.hasOwnProperty(\"dataStatus\"))\r\n object.dataStatus = message.dataStatus;\r\n if (message.retailerId != null && message.hasOwnProperty(\"retailerId\"))\r\n object.retailerId = message.retailerId;\r\n if (message.supplierCode != null && message.hasOwnProperty(\"supplierCode\"))\r\n object.supplierCode = message.supplierCode;\r\n if (message.receiptDate != null && message.hasOwnProperty(\"receiptDate\"))\r\n object.receiptDate = message.receiptDate;\r\n if (message.receiptNo != null && message.hasOwnProperty(\"receiptNo\"))\r\n object.receiptNo = message.receiptNo;\r\n if (message.invoiceNo != null && message.hasOwnProperty(\"invoiceNo\"))\r\n object.invoiceNo = message.invoiceNo;\r\n if (message.invoiceStatus != null && message.hasOwnProperty(\"invoiceStatus\"))\r\n object.invoiceStatus = message.invoiceStatus;\r\n if (message.totalAmount != null && message.hasOwnProperty(\"totalAmount\"))\r\n object.totalAmount = message.totalAmount;\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n object.storeCode = message.storeCode;\r\n if (message.sellerPerson != null && message.hasOwnProperty(\"sellerPerson\"))\r\n object.sellerPerson = message.sellerPerson;\r\n if (message.amountNative != null && message.hasOwnProperty(\"amountNative\"))\r\n object.amountNative = message.amountNative;\r\n if (message.amountForeign != null && message.hasOwnProperty(\"amountForeign\"))\r\n object.amountForeign = message.amountForeign;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this RPT to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.RPT\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n RPT.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return RPT;\r\n })();\r\n\r\n Protobuf.AckRaw = (function() {\r\n\r\n /**\r\n * Properties of an AckRaw.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAckRaw\r\n * @property {string|null} [invoiceNo] AckRaw invoiceNo\r\n * @property {string|null} [invoiceDate] AckRaw invoiceDate\r\n * @property {string|null} [status] AckRaw status\r\n * @property {string|null} [buyerBan] AckRaw buyerBan\r\n * @property {string|null} [sellerBan] AckRaw sellerBan\r\n * @property {string|null} [reason] AckRaw reason\r\n */\r\n\r\n /**\r\n * Constructs a new AckRaw.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an AckRaw.\r\n * @implements IAckRaw\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAckRaw=} [properties] Properties to set\r\n */\r\n function AckRaw(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * AckRaw invoiceNo.\r\n * @member {string} invoiceNo\r\n * @memberof TCBReceiptApi.Protobuf.AckRaw\r\n * @instance\r\n */\r\n AckRaw.prototype.invoiceNo = \"\";\r\n\r\n /**\r\n * AckRaw invoiceDate.\r\n * @member {string} invoiceDate\r\n * @memberof TCBReceiptApi.Protobuf.AckRaw\r\n * @instance\r\n */\r\n AckRaw.prototype.invoiceDate = \"\";\r\n\r\n /**\r\n * AckRaw status.\r\n * @member {string} status\r\n * @memberof TCBReceiptApi.Protobuf.AckRaw\r\n * @instance\r\n */\r\n AckRaw.prototype.status = \"\";\r\n\r\n /**\r\n * AckRaw buyerBan.\r\n * @member {string} buyerBan\r\n * @memberof TCBReceiptApi.Protobuf.AckRaw\r\n * @instance\r\n */\r\n AckRaw.prototype.buyerBan = \"\";\r\n\r\n /**\r\n * AckRaw sellerBan.\r\n * @member {string} sellerBan\r\n * @memberof TCBReceiptApi.Protobuf.AckRaw\r\n * @instance\r\n */\r\n AckRaw.prototype.sellerBan = \"\";\r\n\r\n /**\r\n * AckRaw reason.\r\n * @member {string} reason\r\n * @memberof TCBReceiptApi.Protobuf.AckRaw\r\n * @instance\r\n */\r\n AckRaw.prototype.reason = \"\";\r\n\r\n /**\r\n * Creates a new AckRaw instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.AckRaw\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAckRaw=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.AckRaw} AckRaw instance\r\n */\r\n AckRaw.create = function create(properties) {\r\n return new AckRaw(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified AckRaw message. Does not implicitly {@link TCBReceiptApi.Protobuf.AckRaw.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.AckRaw\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAckRaw} message AckRaw message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AckRaw.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.invoiceNo != null && Object.hasOwnProperty.call(message, \"invoiceNo\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.invoiceNo);\r\n if (message.invoiceDate != null && Object.hasOwnProperty.call(message, \"invoiceDate\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.invoiceDate);\r\n if (message.status != null && Object.hasOwnProperty.call(message, \"status\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.status);\r\n if (message.buyerBan != null && Object.hasOwnProperty.call(message, \"buyerBan\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.buyerBan);\r\n if (message.sellerBan != null && Object.hasOwnProperty.call(message, \"sellerBan\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.sellerBan);\r\n if (message.reason != null && Object.hasOwnProperty.call(message, \"reason\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.reason);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified AckRaw message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.AckRaw.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AckRaw\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAckRaw} message AckRaw message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n AckRaw.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an AckRaw message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.AckRaw\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.AckRaw} AckRaw\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AckRaw.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.AckRaw();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.invoiceNo = reader.string();\r\n break;\r\n case 2:\r\n message.invoiceDate = reader.string();\r\n break;\r\n case 3:\r\n message.status = reader.string();\r\n break;\r\n case 4:\r\n message.buyerBan = reader.string();\r\n break;\r\n case 5:\r\n message.sellerBan = reader.string();\r\n break;\r\n case 6:\r\n message.reason = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an AckRaw message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.AckRaw\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.AckRaw} AckRaw\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n AckRaw.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an AckRaw message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.AckRaw\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n AckRaw.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.invoiceNo != null && message.hasOwnProperty(\"invoiceNo\"))\r\n if (!$util.isString(message.invoiceNo))\r\n return \"invoiceNo: string expected\";\r\n if (message.invoiceDate != null && message.hasOwnProperty(\"invoiceDate\"))\r\n if (!$util.isString(message.invoiceDate))\r\n return \"invoiceDate: string expected\";\r\n if (message.status != null && message.hasOwnProperty(\"status\"))\r\n if (!$util.isString(message.status))\r\n return \"status: string expected\";\r\n if (message.buyerBan != null && message.hasOwnProperty(\"buyerBan\"))\r\n if (!$util.isString(message.buyerBan))\r\n return \"buyerBan: string expected\";\r\n if (message.sellerBan != null && message.hasOwnProperty(\"sellerBan\"))\r\n if (!$util.isString(message.sellerBan))\r\n return \"sellerBan: string expected\";\r\n if (message.reason != null && message.hasOwnProperty(\"reason\"))\r\n if (!$util.isString(message.reason))\r\n return \"reason: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an AckRaw message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.AckRaw\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.AckRaw} AckRaw\r\n */\r\n AckRaw.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.AckRaw)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.AckRaw();\r\n if (object.invoiceNo != null)\r\n message.invoiceNo = String(object.invoiceNo);\r\n if (object.invoiceDate != null)\r\n message.invoiceDate = String(object.invoiceDate);\r\n if (object.status != null)\r\n message.status = String(object.status);\r\n if (object.buyerBan != null)\r\n message.buyerBan = String(object.buyerBan);\r\n if (object.sellerBan != null)\r\n message.sellerBan = String(object.sellerBan);\r\n if (object.reason != null)\r\n message.reason = String(object.reason);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an AckRaw message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.AckRaw\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.AckRaw} message AckRaw\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n AckRaw.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.invoiceNo = \"\";\r\n object.invoiceDate = \"\";\r\n object.status = \"\";\r\n object.buyerBan = \"\";\r\n object.sellerBan = \"\";\r\n object.reason = \"\";\r\n }\r\n if (message.invoiceNo != null && message.hasOwnProperty(\"invoiceNo\"))\r\n object.invoiceNo = message.invoiceNo;\r\n if (message.invoiceDate != null && message.hasOwnProperty(\"invoiceDate\"))\r\n object.invoiceDate = message.invoiceDate;\r\n if (message.status != null && message.hasOwnProperty(\"status\"))\r\n object.status = message.status;\r\n if (message.buyerBan != null && message.hasOwnProperty(\"buyerBan\"))\r\n object.buyerBan = message.buyerBan;\r\n if (message.sellerBan != null && message.hasOwnProperty(\"sellerBan\"))\r\n object.sellerBan = message.sellerBan;\r\n if (message.reason != null && message.hasOwnProperty(\"reason\"))\r\n object.reason = message.reason;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this AckRaw to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.AckRaw\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n AckRaw.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return AckRaw;\r\n })();\r\n\r\n Protobuf.Ack = (function() {\r\n\r\n /**\r\n * Properties of an Ack.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IAck\r\n * @property {number|null} [receiptAckId] Ack receiptAckId\r\n * @property {number|null} [type] Ack type\r\n * @property {string|null} [number] Ack number\r\n * @property {string|null} [date] Ack date\r\n * @property {string|null} [tidNumber] Ack tidNumber\r\n * @property {string|null} [sellerNumber] Ack sellerNumber\r\n * @property {number|null} [generateMethod] Ack generateMethod\r\n * @property {string|null} [fileName] Ack fileName\r\n * @property {number|null} [state] Ack state\r\n * @property {string|null} [returnReason] Ack returnReason\r\n * @property {string|null} [recordDate] Ack recordDate\r\n * @property {string|null} [hash] Ack hash\r\n */\r\n\r\n /**\r\n * Constructs a new Ack.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents an Ack.\r\n * @implements IAck\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IAck=} [properties] Properties to set\r\n */\r\n function Ack(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * Ack receiptAckId.\r\n * @member {number} receiptAckId\r\n * @memberof TCBReceiptApi.Protobuf.Ack\r\n * @instance\r\n */\r\n Ack.prototype.receiptAckId = 0;\r\n\r\n /**\r\n * Ack type.\r\n * @member {number} type\r\n * @memberof TCBReceiptApi.Protobuf.Ack\r\n * @instance\r\n */\r\n Ack.prototype.type = 0;\r\n\r\n /**\r\n * Ack number.\r\n * @member {string} number\r\n * @memberof TCBReceiptApi.Protobuf.Ack\r\n * @instance\r\n */\r\n Ack.prototype.number = \"\";\r\n\r\n /**\r\n * Ack date.\r\n * @member {string} date\r\n * @memberof TCBReceiptApi.Protobuf.Ack\r\n * @instance\r\n */\r\n Ack.prototype.date = \"\";\r\n\r\n /**\r\n * Ack tidNumber.\r\n * @member {string} tidNumber\r\n * @memberof TCBReceiptApi.Protobuf.Ack\r\n * @instance\r\n */\r\n Ack.prototype.tidNumber = \"\";\r\n\r\n /**\r\n * Ack sellerNumber.\r\n * @member {string} sellerNumber\r\n * @memberof TCBReceiptApi.Protobuf.Ack\r\n * @instance\r\n */\r\n Ack.prototype.sellerNumber = \"\";\r\n\r\n /**\r\n * Ack generateMethod.\r\n * @member {number} generateMethod\r\n * @memberof TCBReceiptApi.Protobuf.Ack\r\n * @instance\r\n */\r\n Ack.prototype.generateMethod = 0;\r\n\r\n /**\r\n * Ack fileName.\r\n * @member {string} fileName\r\n * @memberof TCBReceiptApi.Protobuf.Ack\r\n * @instance\r\n */\r\n Ack.prototype.fileName = \"\";\r\n\r\n /**\r\n * Ack state.\r\n * @member {number} state\r\n * @memberof TCBReceiptApi.Protobuf.Ack\r\n * @instance\r\n */\r\n Ack.prototype.state = 0;\r\n\r\n /**\r\n * Ack returnReason.\r\n * @member {string} returnReason\r\n * @memberof TCBReceiptApi.Protobuf.Ack\r\n * @instance\r\n */\r\n Ack.prototype.returnReason = \"\";\r\n\r\n /**\r\n * Ack recordDate.\r\n * @member {string} recordDate\r\n * @memberof TCBReceiptApi.Protobuf.Ack\r\n * @instance\r\n */\r\n Ack.prototype.recordDate = \"\";\r\n\r\n /**\r\n * Ack hash.\r\n * @member {string} hash\r\n * @memberof TCBReceiptApi.Protobuf.Ack\r\n * @instance\r\n */\r\n Ack.prototype.hash = \"\";\r\n\r\n /**\r\n * Creates a new Ack instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.Ack\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAck=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.Ack} Ack instance\r\n */\r\n Ack.create = function create(properties) {\r\n return new Ack(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified Ack message. Does not implicitly {@link TCBReceiptApi.Protobuf.Ack.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.Ack\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAck} message Ack message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Ack.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.receiptAckId != null && Object.hasOwnProperty.call(message, \"receiptAckId\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.receiptAckId);\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 2, wireType 0 =*/16).int32(message.type);\r\n if (message.number != null && Object.hasOwnProperty.call(message, \"number\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.number);\r\n if (message.date != null && Object.hasOwnProperty.call(message, \"date\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.date);\r\n if (message.tidNumber != null && Object.hasOwnProperty.call(message, \"tidNumber\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.tidNumber);\r\n if (message.sellerNumber != null && Object.hasOwnProperty.call(message, \"sellerNumber\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.sellerNumber);\r\n if (message.generateMethod != null && Object.hasOwnProperty.call(message, \"generateMethod\"))\r\n writer.uint32(/* id 7, wireType 0 =*/56).int32(message.generateMethod);\r\n if (message.fileName != null && Object.hasOwnProperty.call(message, \"fileName\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.fileName);\r\n if (message.state != null && Object.hasOwnProperty.call(message, \"state\"))\r\n writer.uint32(/* id 9, wireType 0 =*/72).int32(message.state);\r\n if (message.returnReason != null && Object.hasOwnProperty.call(message, \"returnReason\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.returnReason);\r\n if (message.recordDate != null && Object.hasOwnProperty.call(message, \"recordDate\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.recordDate);\r\n if (message.hash != null && Object.hasOwnProperty.call(message, \"hash\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.hash);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified Ack message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.Ack.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Ack\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IAck} message Ack message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Ack.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes an Ack message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.Ack\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.Ack} Ack\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Ack.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.Ack();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.receiptAckId = reader.int32();\r\n break;\r\n case 2:\r\n message.type = reader.int32();\r\n break;\r\n case 3:\r\n message.number = reader.string();\r\n break;\r\n case 4:\r\n message.date = reader.string();\r\n break;\r\n case 5:\r\n message.tidNumber = reader.string();\r\n break;\r\n case 6:\r\n message.sellerNumber = reader.string();\r\n break;\r\n case 7:\r\n message.generateMethod = reader.int32();\r\n break;\r\n case 8:\r\n message.fileName = reader.string();\r\n break;\r\n case 9:\r\n message.state = reader.int32();\r\n break;\r\n case 10:\r\n message.returnReason = reader.string();\r\n break;\r\n case 11:\r\n message.recordDate = reader.string();\r\n break;\r\n case 12:\r\n message.hash = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes an Ack message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Ack\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.Ack} Ack\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Ack.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies an Ack message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.Ack\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n Ack.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.receiptAckId != null && message.hasOwnProperty(\"receiptAckId\"))\r\n if (!$util.isInteger(message.receiptAckId))\r\n return \"receiptAckId: integer expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isInteger(message.type))\r\n return \"type: integer expected\";\r\n if (message.number != null && message.hasOwnProperty(\"number\"))\r\n if (!$util.isString(message.number))\r\n return \"number: string expected\";\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n if (!$util.isString(message.date))\r\n return \"date: string expected\";\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n if (!$util.isString(message.tidNumber))\r\n return \"tidNumber: string expected\";\r\n if (message.sellerNumber != null && message.hasOwnProperty(\"sellerNumber\"))\r\n if (!$util.isString(message.sellerNumber))\r\n return \"sellerNumber: string expected\";\r\n if (message.generateMethod != null && message.hasOwnProperty(\"generateMethod\"))\r\n if (!$util.isInteger(message.generateMethod))\r\n return \"generateMethod: integer expected\";\r\n if (message.fileName != null && message.hasOwnProperty(\"fileName\"))\r\n if (!$util.isString(message.fileName))\r\n return \"fileName: string expected\";\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n if (!$util.isInteger(message.state))\r\n return \"state: integer expected\";\r\n if (message.returnReason != null && message.hasOwnProperty(\"returnReason\"))\r\n if (!$util.isString(message.returnReason))\r\n return \"returnReason: string expected\";\r\n if (message.recordDate != null && message.hasOwnProperty(\"recordDate\"))\r\n if (!$util.isString(message.recordDate))\r\n return \"recordDate: string expected\";\r\n if (message.hash != null && message.hasOwnProperty(\"hash\"))\r\n if (!$util.isString(message.hash))\r\n return \"hash: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates an Ack message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.Ack\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.Ack} Ack\r\n */\r\n Ack.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.Ack)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.Ack();\r\n if (object.receiptAckId != null)\r\n message.receiptAckId = object.receiptAckId | 0;\r\n if (object.type != null)\r\n message.type = object.type | 0;\r\n if (object.number != null)\r\n message.number = String(object.number);\r\n if (object.date != null)\r\n message.date = String(object.date);\r\n if (object.tidNumber != null)\r\n message.tidNumber = String(object.tidNumber);\r\n if (object.sellerNumber != null)\r\n message.sellerNumber = String(object.sellerNumber);\r\n if (object.generateMethod != null)\r\n message.generateMethod = object.generateMethod | 0;\r\n if (object.fileName != null)\r\n message.fileName = String(object.fileName);\r\n if (object.state != null)\r\n message.state = object.state | 0;\r\n if (object.returnReason != null)\r\n message.returnReason = String(object.returnReason);\r\n if (object.recordDate != null)\r\n message.recordDate = String(object.recordDate);\r\n if (object.hash != null)\r\n message.hash = String(object.hash);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from an Ack message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.Ack\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.Ack} message Ack\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n Ack.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.receiptAckId = 0;\r\n object.type = 0;\r\n object.number = \"\";\r\n object.date = \"\";\r\n object.tidNumber = \"\";\r\n object.sellerNumber = \"\";\r\n object.generateMethod = 0;\r\n object.fileName = \"\";\r\n object.state = 0;\r\n object.returnReason = \"\";\r\n object.recordDate = \"\";\r\n object.hash = \"\";\r\n }\r\n if (message.receiptAckId != null && message.hasOwnProperty(\"receiptAckId\"))\r\n object.receiptAckId = message.receiptAckId;\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.number != null && message.hasOwnProperty(\"number\"))\r\n object.number = message.number;\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n object.date = message.date;\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n object.tidNumber = message.tidNumber;\r\n if (message.sellerNumber != null && message.hasOwnProperty(\"sellerNumber\"))\r\n object.sellerNumber = message.sellerNumber;\r\n if (message.generateMethod != null && message.hasOwnProperty(\"generateMethod\"))\r\n object.generateMethod = message.generateMethod;\r\n if (message.fileName != null && message.hasOwnProperty(\"fileName\"))\r\n object.fileName = message.fileName;\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n object.state = message.state;\r\n if (message.returnReason != null && message.hasOwnProperty(\"returnReason\"))\r\n object.returnReason = message.returnReason;\r\n if (message.recordDate != null && message.hasOwnProperty(\"recordDate\"))\r\n object.recordDate = message.recordDate;\r\n if (message.hash != null && message.hasOwnProperty(\"hash\"))\r\n object.hash = message.hash;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this Ack to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.Ack\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n Ack.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return Ack;\r\n })();\r\n\r\n /**\r\n * PermissionType enum.\r\n * @name TCBReceiptApi.Protobuf.PermissionType\r\n * @enum {number}\r\n * @property {number} PT_NONE=0 PT_NONE value\r\n * @property {number} PT_GET=1 PT_GET value\r\n * @property {number} PT_ADD=2 PT_ADD value\r\n * @property {number} PT_EDIT=3 PT_EDIT value\r\n * @property {number} PT_DELETE=4 PT_DELETE value\r\n * @property {number} PT_RELEASE=5 PT_RELEASE value\r\n */\r\n Protobuf.PermissionType = (function() {\r\n var valuesById = {}, values = Object.create(valuesById);\r\n values[valuesById[0] = \"PT_NONE\"] = 0;\r\n values[valuesById[1] = \"PT_GET\"] = 1;\r\n values[valuesById[2] = \"PT_ADD\"] = 2;\r\n values[valuesById[3] = \"PT_EDIT\"] = 3;\r\n values[valuesById[4] = \"PT_DELETE\"] = 4;\r\n values[valuesById[5] = \"PT_RELEASE\"] = 5;\r\n return values;\r\n })();\r\n\r\n /**\r\n * StoreGroupType enum.\r\n * @name TCBReceiptApi.Protobuf.StoreGroupType\r\n * @enum {number}\r\n * @property {number} SGT_NONE_1=0 SGT_NONE_1 value\r\n * @property {number} SGT_STORE=1 SGT_STORE value\r\n * @property {number} SGT_RECONCILIATION=2 SGT_RECONCILIATION value\r\n */\r\n Protobuf.StoreGroupType = (function() {\r\n var valuesById = {}, values = Object.create(valuesById);\r\n values[valuesById[0] = \"SGT_NONE_1\"] = 0;\r\n values[valuesById[1] = \"SGT_STORE\"] = 1;\r\n values[valuesById[2] = \"SGT_RECONCILIATION\"] = 2;\r\n return values;\r\n })();\r\n\r\n /**\r\n * StoreUserGroupType enum.\r\n * @name TCBReceiptApi.Protobuf.StoreUserGroupType\r\n * @enum {number}\r\n * @property {number} SUGT_NONE=0 SUGT_NONE value\r\n * @property {number} SUGT_STORE_USER=1 SUGT_STORE_USER value\r\n */\r\n Protobuf.StoreUserGroupType = (function() {\r\n var valuesById = {}, values = Object.create(valuesById);\r\n values[valuesById[0] = \"SUGT_NONE\"] = 0;\r\n values[valuesById[1] = \"SUGT_STORE_USER\"] = 1;\r\n return values;\r\n })();\r\n\r\n /**\r\n * EReceiptUserGroupType enum.\r\n * @name TCBReceiptApi.Protobuf.EReceiptUserGroupType\r\n * @enum {number}\r\n * @property {number} ERUGT_NONE=0 ERUGT_NONE value\r\n * @property {number} ERUGT_E_RECEIPT_USER=1 ERUGT_E_RECEIPT_USER value\r\n */\r\n Protobuf.EReceiptUserGroupType = (function() {\r\n var valuesById = {}, values = Object.create(valuesById);\r\n values[valuesById[0] = \"ERUGT_NONE\"] = 0;\r\n values[valuesById[1] = \"ERUGT_E_RECEIPT_USER\"] = 1;\r\n return values;\r\n })();\r\n\r\n /**\r\n * ScheduleGroupType enum.\r\n * @name TCBReceiptApi.Protobuf.ScheduleGroupType\r\n * @enum {number}\r\n * @property {number} SGT_NONE_4=0 SGT_NONE_4 value\r\n * @property {number} SGT_SCHEDULE=1 SGT_SCHEDULE value\r\n * @property {number} SGT_FILE_IMPORT=2 SGT_FILE_IMPORT value\r\n */\r\n Protobuf.ScheduleGroupType = (function() {\r\n var valuesById = {}, values = Object.create(valuesById);\r\n values[valuesById[0] = \"SGT_NONE_4\"] = 0;\r\n values[valuesById[1] = \"SGT_SCHEDULE\"] = 1;\r\n values[valuesById[2] = \"SGT_FILE_IMPORT\"] = 2;\r\n return values;\r\n })();\r\n\r\n /**\r\n * EReceiptGroupType enum.\r\n * @name TCBReceiptApi.Protobuf.EReceiptGroupType\r\n * @enum {number}\r\n * @property {number} EGT_NONE=0 EGT_NONE value\r\n * @property {number} EGT_PREFIX=1 EGT_PREFIX value\r\n * @property {number} EGT_DATA=2 EGT_DATA value\r\n * @property {number} EGT_MANUAL=3 EGT_MANUAL value\r\n * @property {number} EGT_VOID=4 EGT_VOID value\r\n * @property {number} EGT_RETURN=5 EGT_RETURN value\r\n * @property {number} EGT_MEDIA_FILE=6 EGT_MEDIA_FILE value\r\n * @property {number} EGT_EXPORT=7 EGT_EXPORT value\r\n * @property {number} EGT_ACK=8 EGT_ACK value\r\n * @property {number} EGT_MEMORANDUM_BOOK=9 EGT_MEMORANDUM_BOOK value\r\n * @property {number} EGT_REPORT=10 EGT_REPORT value\r\n * @property {number} EGT_PRODUCT_NAME=11 EGT_PRODUCT_NAME value\r\n * @property {number} EGT_NO_STORE_VENDEE=12 EGT_NO_STORE_VENDEE value\r\n * @property {number} EGT_STAMP=13 EGT_STAMP value\r\n */\r\n Protobuf.EReceiptGroupType = (function() {\r\n var valuesById = {}, values = Object.create(valuesById);\r\n values[valuesById[0] = \"EGT_NONE\"] = 0;\r\n values[valuesById[1] = \"EGT_PREFIX\"] = 1;\r\n values[valuesById[2] = \"EGT_DATA\"] = 2;\r\n values[valuesById[3] = \"EGT_MANUAL\"] = 3;\r\n values[valuesById[4] = \"EGT_VOID\"] = 4;\r\n values[valuesById[5] = \"EGT_RETURN\"] = 5;\r\n values[valuesById[6] = \"EGT_MEDIA_FILE\"] = 6;\r\n values[valuesById[7] = \"EGT_EXPORT\"] = 7;\r\n values[valuesById[8] = \"EGT_ACK\"] = 8;\r\n values[valuesById[9] = \"EGT_MEMORANDUM_BOOK\"] = 9;\r\n values[valuesById[10] = \"EGT_REPORT\"] = 10;\r\n values[valuesById[11] = \"EGT_PRODUCT_NAME\"] = 11;\r\n values[valuesById[12] = \"EGT_NO_STORE_VENDEE\"] = 12;\r\n values[valuesById[13] = \"EGT_STAMP\"] = 13;\r\n return values;\r\n })();\r\n\r\n /**\r\n * SystemGroupType enum.\r\n * @name TCBReceiptApi.Protobuf.SystemGroupType\r\n * @enum {number}\r\n * @property {number} SGT_NONE_6=0 SGT_NONE_6 value\r\n * @property {number} SGT_DASHBOARD=1 SGT_DASHBOARD value\r\n */\r\n Protobuf.SystemGroupType = (function() {\r\n var valuesById = {}, values = Object.create(valuesById);\r\n values[valuesById[0] = \"SGT_NONE_6\"] = 0;\r\n values[valuesById[1] = \"SGT_DASHBOARD\"] = 1;\r\n return values;\r\n })();\r\n\r\n /**\r\n * GroupPermissionGroupType enum.\r\n * @name TCBReceiptApi.Protobuf.GroupPermissionGroupType\r\n * @enum {number}\r\n * @property {number} GPGT_NONE=0 GPGT_NONE value\r\n * @property {number} GPGT_BACK=1 GPGT_BACK value\r\n * @property {number} GPGT_FRONT=2 GPGT_FRONT value\r\n */\r\n Protobuf.GroupPermissionGroupType = (function() {\r\n var valuesById = {}, values = Object.create(valuesById);\r\n values[valuesById[0] = \"GPGT_NONE\"] = 0;\r\n values[valuesById[1] = \"GPGT_BACK\"] = 1;\r\n values[valuesById[2] = \"GPGT_FRONT\"] = 2;\r\n return values;\r\n })();\r\n\r\n /**\r\n * LogGroupType enum.\r\n * @name TCBReceiptApi.Protobuf.LogGroupType\r\n * @enum {number}\r\n * @property {number} LGT_NONE=0 LGT_NONE value\r\n * @property {number} LGT_BACK=1 LGT_BACK value\r\n * @property {number} LGT_FRONT=2 LGT_FRONT value\r\n */\r\n Protobuf.LogGroupType = (function() {\r\n var valuesById = {}, values = Object.create(valuesById);\r\n values[valuesById[0] = \"LGT_NONE\"] = 0;\r\n values[valuesById[1] = \"LGT_BACK\"] = 1;\r\n values[valuesById[2] = \"LGT_FRONT\"] = 2;\r\n return values;\r\n })();\r\n\r\n /**\r\n * AnnouncementGroupType enum.\r\n * @name TCBReceiptApi.Protobuf.AnnouncementGroupType\r\n * @enum {number}\r\n * @property {number} AGT_NONE=0 AGT_NONE value\r\n * @property {number} AGT_ANNOUNCEMENT=1 AGT_ANNOUNCEMENT value\r\n */\r\n Protobuf.AnnouncementGroupType = (function() {\r\n var valuesById = {}, values = Object.create(valuesById);\r\n values[valuesById[0] = \"AGT_NONE\"] = 0;\r\n values[valuesById[1] = \"AGT_ANNOUNCEMENT\"] = 1;\r\n return values;\r\n })();\r\n\r\n /**\r\n * ItemType enum.\r\n * @name TCBReceiptApi.Protobuf.ItemType\r\n * @enum {number}\r\n * @property {number} IT_NONE=0 IT_NONE value\r\n * @property {number} IT_STORE=1 IT_STORE value\r\n * @property {number} IT_STORE_USER=2 IT_STORE_USER value\r\n * @property {number} IT_E_RECEIPT_USER=3 IT_E_RECEIPT_USER value\r\n * @property {number} IT_SCHEDULE=4 IT_SCHEDULE value\r\n * @property {number} IT_E_RECEIPT=5 IT_E_RECEIPT value\r\n * @property {number} IT_SYSTEM_USER=6 IT_SYSTEM_USER value\r\n * @property {number} IT_GROUP_PERMISSION=7 IT_GROUP_PERMISSION value\r\n * @property {number} IT_LOG=8 IT_LOG value\r\n * @property {number} IT_ANNOUNCEMENT=9 IT_ANNOUNCEMENT value\r\n */\r\n Protobuf.ItemType = (function() {\r\n var valuesById = {}, values = Object.create(valuesById);\r\n values[valuesById[0] = \"IT_NONE\"] = 0;\r\n values[valuesById[1] = \"IT_STORE\"] = 1;\r\n values[valuesById[2] = \"IT_STORE_USER\"] = 2;\r\n values[valuesById[3] = \"IT_E_RECEIPT_USER\"] = 3;\r\n values[valuesById[4] = \"IT_SCHEDULE\"] = 4;\r\n values[valuesById[5] = \"IT_E_RECEIPT\"] = 5;\r\n values[valuesById[6] = \"IT_SYSTEM_USER\"] = 6;\r\n values[valuesById[7] = \"IT_GROUP_PERMISSION\"] = 7;\r\n values[valuesById[8] = \"IT_LOG\"] = 8;\r\n values[valuesById[9] = \"IT_ANNOUNCEMENT\"] = 9;\r\n return values;\r\n })();\r\n\r\n Protobuf.Permission = (function() {\r\n\r\n /**\r\n * Properties of a Permission.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IPermission\r\n * @property {number|null} [get] Permission get\r\n * @property {number|null} [add] Permission add\r\n * @property {number|null} [edit] Permission edit\r\n * @property {number|null} [\"delete\"] Permission delete\r\n * @property {number|null} [release] Permission release\r\n */\r\n\r\n /**\r\n * Constructs a new Permission.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a Permission.\r\n * @implements IPermission\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IPermission=} [properties] Properties to set\r\n */\r\n function Permission(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * Permission get.\r\n * @member {number} get\r\n * @memberof TCBReceiptApi.Protobuf.Permission\r\n * @instance\r\n */\r\n Permission.prototype.get = 0;\r\n\r\n /**\r\n * Permission add.\r\n * @member {number} add\r\n * @memberof TCBReceiptApi.Protobuf.Permission\r\n * @instance\r\n */\r\n Permission.prototype.add = 0;\r\n\r\n /**\r\n * Permission edit.\r\n * @member {number} edit\r\n * @memberof TCBReceiptApi.Protobuf.Permission\r\n * @instance\r\n */\r\n Permission.prototype.edit = 0;\r\n\r\n /**\r\n * Permission delete.\r\n * @member {number} delete\r\n * @memberof TCBReceiptApi.Protobuf.Permission\r\n * @instance\r\n */\r\n Permission.prototype[\"delete\"] = 0;\r\n\r\n /**\r\n * Permission release.\r\n * @member {number} release\r\n * @memberof TCBReceiptApi.Protobuf.Permission\r\n * @instance\r\n */\r\n Permission.prototype.release = 0;\r\n\r\n /**\r\n * Creates a new Permission instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.Permission\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IPermission=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.Permission} Permission instance\r\n */\r\n Permission.create = function create(properties) {\r\n return new Permission(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified Permission message. Does not implicitly {@link TCBReceiptApi.Protobuf.Permission.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.Permission\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IPermission} message Permission message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Permission.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.get != null && Object.hasOwnProperty.call(message, \"get\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.get);\r\n if (message.add != null && Object.hasOwnProperty.call(message, \"add\"))\r\n writer.uint32(/* id 2, wireType 0 =*/16).int32(message.add);\r\n if (message.edit != null && Object.hasOwnProperty.call(message, \"edit\"))\r\n writer.uint32(/* id 3, wireType 0 =*/24).int32(message.edit);\r\n if (message[\"delete\"] != null && Object.hasOwnProperty.call(message, \"delete\"))\r\n writer.uint32(/* id 4, wireType 0 =*/32).int32(message[\"delete\"]);\r\n if (message.release != null && Object.hasOwnProperty.call(message, \"release\"))\r\n writer.uint32(/* id 5, wireType 0 =*/40).int32(message.release);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified Permission message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.Permission.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Permission\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IPermission} message Permission message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Permission.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a Permission message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.Permission\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.Permission} Permission\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Permission.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.Permission();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.get = reader.int32();\r\n break;\r\n case 2:\r\n message.add = reader.int32();\r\n break;\r\n case 3:\r\n message.edit = reader.int32();\r\n break;\r\n case 4:\r\n message[\"delete\"] = reader.int32();\r\n break;\r\n case 5:\r\n message.release = reader.int32();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a Permission message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Permission\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.Permission} Permission\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Permission.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a Permission message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.Permission\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n Permission.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.get != null && message.hasOwnProperty(\"get\"))\r\n if (!$util.isInteger(message.get))\r\n return \"get: integer expected\";\r\n if (message.add != null && message.hasOwnProperty(\"add\"))\r\n if (!$util.isInteger(message.add))\r\n return \"add: integer expected\";\r\n if (message.edit != null && message.hasOwnProperty(\"edit\"))\r\n if (!$util.isInteger(message.edit))\r\n return \"edit: integer expected\";\r\n if (message[\"delete\"] != null && message.hasOwnProperty(\"delete\"))\r\n if (!$util.isInteger(message[\"delete\"]))\r\n return \"delete: integer expected\";\r\n if (message.release != null && message.hasOwnProperty(\"release\"))\r\n if (!$util.isInteger(message.release))\r\n return \"release: integer expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a Permission message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.Permission\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.Permission} Permission\r\n */\r\n Permission.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.Permission)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.Permission();\r\n if (object.get != null)\r\n message.get = object.get | 0;\r\n if (object.add != null)\r\n message.add = object.add | 0;\r\n if (object.edit != null)\r\n message.edit = object.edit | 0;\r\n if (object[\"delete\"] != null)\r\n message[\"delete\"] = object[\"delete\"] | 0;\r\n if (object.release != null)\r\n message.release = object.release | 0;\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a Permission message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.Permission\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.Permission} message Permission\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n Permission.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.get = 0;\r\n object.add = 0;\r\n object.edit = 0;\r\n object[\"delete\"] = 0;\r\n object.release = 0;\r\n }\r\n if (message.get != null && message.hasOwnProperty(\"get\"))\r\n object.get = message.get;\r\n if (message.add != null && message.hasOwnProperty(\"add\"))\r\n object.add = message.add;\r\n if (message.edit != null && message.hasOwnProperty(\"edit\"))\r\n object.edit = message.edit;\r\n if (message[\"delete\"] != null && message.hasOwnProperty(\"delete\"))\r\n object[\"delete\"] = message[\"delete\"];\r\n if (message.release != null && message.hasOwnProperty(\"release\"))\r\n object.release = message.release;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this Permission to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.Permission\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n Permission.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return Permission;\r\n })();\r\n\r\n Protobuf.GroupMap = (function() {\r\n\r\n /**\r\n * Properties of a GroupMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IGroupMap\r\n * @property {Object.|null} [map] GroupMap map\r\n */\r\n\r\n /**\r\n * Constructs a new GroupMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a GroupMap.\r\n * @implements IGroupMap\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IGroupMap=} [properties] Properties to set\r\n */\r\n function GroupMap(properties) {\r\n this.map = {};\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * GroupMap map.\r\n * @member {Object.} map\r\n * @memberof TCBReceiptApi.Protobuf.GroupMap\r\n * @instance\r\n */\r\n GroupMap.prototype.map = $util.emptyObject;\r\n\r\n /**\r\n * Creates a new GroupMap instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.GroupMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IGroupMap=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.GroupMap} GroupMap instance\r\n */\r\n GroupMap.create = function create(properties) {\r\n return new GroupMap(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified GroupMap message. Does not implicitly {@link TCBReceiptApi.Protobuf.GroupMap.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.GroupMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IGroupMap} message GroupMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n GroupMap.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.map != null && Object.hasOwnProperty.call(message, \"map\"))\r\n for (var keys = Object.keys(message.map), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.Permission.encode(message.map[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified GroupMap message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.GroupMap.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.GroupMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IGroupMap} message GroupMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n GroupMap.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a GroupMap message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.GroupMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.GroupMap} GroupMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n GroupMap.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.GroupMap(), key, value;\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (message.map === $util.emptyObject)\r\n message.map = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = \"\";\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.string();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.Permission.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.map[key] = value;\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a GroupMap message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.GroupMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.GroupMap} GroupMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n GroupMap.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a GroupMap message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.GroupMap\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n GroupMap.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.map != null && message.hasOwnProperty(\"map\")) {\r\n if (!$util.isObject(message.map))\r\n return \"map: object expected\";\r\n var key = Object.keys(message.map);\r\n for (var i = 0; i < key.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.Permission.verify(message.map[key[i]]);\r\n if (error)\r\n return \"map.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a GroupMap message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.GroupMap\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.GroupMap} GroupMap\r\n */\r\n GroupMap.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.GroupMap)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.GroupMap();\r\n if (object.map) {\r\n if (typeof object.map !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.GroupMap.map: object expected\");\r\n message.map = {};\r\n for (var keys = Object.keys(object.map), i = 0; i < keys.length; ++i) {\r\n if (typeof object.map[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.GroupMap.map: object expected\");\r\n message.map[keys[i]] = $root.TCBReceiptApi.Protobuf.Permission.fromObject(object.map[keys[i]]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a GroupMap message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.GroupMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.GroupMap} message GroupMap\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n GroupMap.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.objects || options.defaults)\r\n object.map = {};\r\n var keys2;\r\n if (message.map && (keys2 = Object.keys(message.map)).length) {\r\n object.map = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.map[keys2[j]] = $root.TCBReceiptApi.Protobuf.Permission.toObject(message.map[keys2[j]], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this GroupMap to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.GroupMap\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n GroupMap.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return GroupMap;\r\n })();\r\n\r\n Protobuf.GroupPermission = (function() {\r\n\r\n /**\r\n * Properties of a GroupPermission.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IGroupPermission\r\n * @property {number|null} [groupPermissionId] GroupPermission groupPermissionId\r\n * @property {string|null} [code] GroupPermission code\r\n * @property {string|null} [name] GroupPermission name\r\n * @property {number|null} [state] GroupPermission state\r\n * @property {Object.|null} [permission] GroupPermission permission\r\n */\r\n\r\n /**\r\n * Constructs a new GroupPermission.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a GroupPermission.\r\n * @implements IGroupPermission\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IGroupPermission=} [properties] Properties to set\r\n */\r\n function GroupPermission(properties) {\r\n this.permission = {};\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * GroupPermission groupPermissionId.\r\n * @member {number} groupPermissionId\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermission\r\n * @instance\r\n */\r\n GroupPermission.prototype.groupPermissionId = 0;\r\n\r\n /**\r\n * GroupPermission code.\r\n * @member {string} code\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermission\r\n * @instance\r\n */\r\n GroupPermission.prototype.code = \"\";\r\n\r\n /**\r\n * GroupPermission name.\r\n * @member {string} name\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermission\r\n * @instance\r\n */\r\n GroupPermission.prototype.name = \"\";\r\n\r\n /**\r\n * GroupPermission state.\r\n * @member {number} state\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermission\r\n * @instance\r\n */\r\n GroupPermission.prototype.state = 0;\r\n\r\n /**\r\n * GroupPermission permission.\r\n * @member {Object.} permission\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermission\r\n * @instance\r\n */\r\n GroupPermission.prototype.permission = $util.emptyObject;\r\n\r\n /**\r\n * Creates a new GroupPermission instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermission\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IGroupPermission=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.GroupPermission} GroupPermission instance\r\n */\r\n GroupPermission.create = function create(properties) {\r\n return new GroupPermission(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified GroupPermission message. Does not implicitly {@link TCBReceiptApi.Protobuf.GroupPermission.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermission\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IGroupPermission} message GroupPermission message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n GroupPermission.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.groupPermissionId != null && Object.hasOwnProperty.call(message, \"groupPermissionId\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.groupPermissionId);\r\n if (message.code != null && Object.hasOwnProperty.call(message, \"code\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.code);\r\n if (message.name != null && Object.hasOwnProperty.call(message, \"name\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.name);\r\n if (message.state != null && Object.hasOwnProperty.call(message, \"state\"))\r\n writer.uint32(/* id 4, wireType 0 =*/32).int32(message.state);\r\n if (message.permission != null && Object.hasOwnProperty.call(message, \"permission\"))\r\n for (var keys = Object.keys(message.permission), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 5, wireType 2 =*/42).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.GroupMap.encode(message.permission[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified GroupPermission message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.GroupPermission.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermission\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IGroupPermission} message GroupPermission message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n GroupPermission.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a GroupPermission message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermission\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.GroupPermission} GroupPermission\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n GroupPermission.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.GroupPermission(), key, value;\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.groupPermissionId = reader.int32();\r\n break;\r\n case 2:\r\n message.code = reader.string();\r\n break;\r\n case 3:\r\n message.name = reader.string();\r\n break;\r\n case 4:\r\n message.state = reader.int32();\r\n break;\r\n case 5:\r\n if (message.permission === $util.emptyObject)\r\n message.permission = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = \"\";\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.string();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.GroupMap.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.permission[key] = value;\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a GroupPermission message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermission\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.GroupPermission} GroupPermission\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n GroupPermission.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a GroupPermission message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermission\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n GroupPermission.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.groupPermissionId != null && message.hasOwnProperty(\"groupPermissionId\"))\r\n if (!$util.isInteger(message.groupPermissionId))\r\n return \"groupPermissionId: integer expected\";\r\n if (message.code != null && message.hasOwnProperty(\"code\"))\r\n if (!$util.isString(message.code))\r\n return \"code: string expected\";\r\n if (message.name != null && message.hasOwnProperty(\"name\"))\r\n if (!$util.isString(message.name))\r\n return \"name: string expected\";\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n if (!$util.isInteger(message.state))\r\n return \"state: integer expected\";\r\n if (message.permission != null && message.hasOwnProperty(\"permission\")) {\r\n if (!$util.isObject(message.permission))\r\n return \"permission: object expected\";\r\n var key = Object.keys(message.permission);\r\n for (var i = 0; i < key.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.GroupMap.verify(message.permission[key[i]]);\r\n if (error)\r\n return \"permission.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a GroupPermission message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermission\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.GroupPermission} GroupPermission\r\n */\r\n GroupPermission.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.GroupPermission)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.GroupPermission();\r\n if (object.groupPermissionId != null)\r\n message.groupPermissionId = object.groupPermissionId | 0;\r\n if (object.code != null)\r\n message.code = String(object.code);\r\n if (object.name != null)\r\n message.name = String(object.name);\r\n if (object.state != null)\r\n message.state = object.state | 0;\r\n if (object.permission) {\r\n if (typeof object.permission !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.GroupPermission.permission: object expected\");\r\n message.permission = {};\r\n for (var keys = Object.keys(object.permission), i = 0; i < keys.length; ++i) {\r\n if (typeof object.permission[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.GroupPermission.permission: object expected\");\r\n message.permission[keys[i]] = $root.TCBReceiptApi.Protobuf.GroupMap.fromObject(object.permission[keys[i]]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a GroupPermission message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermission\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.GroupPermission} message GroupPermission\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n GroupPermission.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.objects || options.defaults)\r\n object.permission = {};\r\n if (options.defaults) {\r\n object.groupPermissionId = 0;\r\n object.code = \"\";\r\n object.name = \"\";\r\n object.state = 0;\r\n }\r\n if (message.groupPermissionId != null && message.hasOwnProperty(\"groupPermissionId\"))\r\n object.groupPermissionId = message.groupPermissionId;\r\n if (message.code != null && message.hasOwnProperty(\"code\"))\r\n object.code = message.code;\r\n if (message.name != null && message.hasOwnProperty(\"name\"))\r\n object.name = message.name;\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n object.state = message.state;\r\n var keys2;\r\n if (message.permission && (keys2 = Object.keys(message.permission)).length) {\r\n object.permission = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.permission[keys2[j]] = $root.TCBReceiptApi.Protobuf.GroupMap.toObject(message.permission[keys2[j]], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this GroupPermission to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermission\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n GroupPermission.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return GroupPermission;\r\n })();\r\n\r\n Protobuf.GroupPermissionList = (function() {\r\n\r\n /**\r\n * Properties of a GroupPermissionList.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IGroupPermissionList\r\n * @property {Array.|null} [list] GroupPermissionList list\r\n * @property {number|null} [total] GroupPermissionList total\r\n */\r\n\r\n /**\r\n * Constructs a new GroupPermissionList.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a GroupPermissionList.\r\n * @implements IGroupPermissionList\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IGroupPermissionList=} [properties] Properties to set\r\n */\r\n function GroupPermissionList(properties) {\r\n this.list = [];\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * GroupPermissionList list.\r\n * @member {Array.} list\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermissionList\r\n * @instance\r\n */\r\n GroupPermissionList.prototype.list = $util.emptyArray;\r\n\r\n /**\r\n * GroupPermissionList total.\r\n * @member {number} total\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermissionList\r\n * @instance\r\n */\r\n GroupPermissionList.prototype.total = 0;\r\n\r\n /**\r\n * Creates a new GroupPermissionList instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermissionList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IGroupPermissionList=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.GroupPermissionList} GroupPermissionList instance\r\n */\r\n GroupPermissionList.create = function create(properties) {\r\n return new GroupPermissionList(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified GroupPermissionList message. Does not implicitly {@link TCBReceiptApi.Protobuf.GroupPermissionList.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermissionList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IGroupPermissionList} message GroupPermissionList message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n GroupPermissionList.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.list != null && message.list.length)\r\n for (var i = 0; i < message.list.length; ++i)\r\n $root.TCBReceiptApi.Protobuf.GroupPermission.encode(message.list[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n if (message.total != null && Object.hasOwnProperty.call(message, \"total\"))\r\n writer.uint32(/* id 2, wireType 0 =*/16).int32(message.total);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified GroupPermissionList message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.GroupPermissionList.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermissionList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IGroupPermissionList} message GroupPermissionList message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n GroupPermissionList.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a GroupPermissionList message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermissionList\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.GroupPermissionList} GroupPermissionList\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n GroupPermissionList.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.GroupPermissionList();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (!(message.list && message.list.length))\r\n message.list = [];\r\n message.list.push($root.TCBReceiptApi.Protobuf.GroupPermission.decode(reader, reader.uint32()));\r\n break;\r\n case 2:\r\n message.total = reader.int32();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a GroupPermissionList message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermissionList\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.GroupPermissionList} GroupPermissionList\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n GroupPermissionList.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a GroupPermissionList message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermissionList\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n GroupPermissionList.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.list != null && message.hasOwnProperty(\"list\")) {\r\n if (!Array.isArray(message.list))\r\n return \"list: array expected\";\r\n for (var i = 0; i < message.list.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.GroupPermission.verify(message.list[i]);\r\n if (error)\r\n return \"list.\" + error;\r\n }\r\n }\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n if (!$util.isInteger(message.total))\r\n return \"total: integer expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a GroupPermissionList message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermissionList\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.GroupPermissionList} GroupPermissionList\r\n */\r\n GroupPermissionList.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.GroupPermissionList)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.GroupPermissionList();\r\n if (object.list) {\r\n if (!Array.isArray(object.list))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.GroupPermissionList.list: array expected\");\r\n message.list = [];\r\n for (var i = 0; i < object.list.length; ++i) {\r\n if (typeof object.list[i] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.GroupPermissionList.list: object expected\");\r\n message.list[i] = $root.TCBReceiptApi.Protobuf.GroupPermission.fromObject(object.list[i]);\r\n }\r\n }\r\n if (object.total != null)\r\n message.total = object.total | 0;\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a GroupPermissionList message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermissionList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.GroupPermissionList} message GroupPermissionList\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n GroupPermissionList.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.arrays || options.defaults)\r\n object.list = [];\r\n if (options.defaults)\r\n object.total = 0;\r\n if (message.list && message.list.length) {\r\n object.list = [];\r\n for (var j = 0; j < message.list.length; ++j)\r\n object.list[j] = $root.TCBReceiptApi.Protobuf.GroupPermission.toObject(message.list[j], options);\r\n }\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n object.total = message.total;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this GroupPermissionList to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.GroupPermissionList\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n GroupPermissionList.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return GroupPermissionList;\r\n })();\r\n\r\n Protobuf.Reconciliation = (function() {\r\n\r\n /**\r\n * Properties of a Reconciliation.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IReconciliation\r\n * @property {string|null} [storeCode] Reconciliation storeCode\r\n * @property {string|null} [storeName] Reconciliation storeName\r\n * @property {string|null} [branchBank] Reconciliation branchBank\r\n * @property {string|null} [account] Reconciliation account\r\n * @property {string|null} [submitDateStart] Reconciliation submitDateStart\r\n * @property {string|null} [submitDateEnd] Reconciliation submitDateEnd\r\n * @property {string|null} [transDateStart] Reconciliation transDateStart\r\n * @property {string|null} [transDateEnd] Reconciliation transDateEnd\r\n * @property {string|null} [dateStart] Reconciliation dateStart\r\n * @property {string|null} [dateEnd] Reconciliation dateEnd\r\n * @property {number|null} [isQuota] Reconciliation isQuota\r\n */\r\n\r\n /**\r\n * Constructs a new Reconciliation.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a Reconciliation.\r\n * @implements IReconciliation\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IReconciliation=} [properties] Properties to set\r\n */\r\n function Reconciliation(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * Reconciliation storeCode.\r\n * @member {string} storeCode\r\n * @memberof TCBReceiptApi.Protobuf.Reconciliation\r\n * @instance\r\n */\r\n Reconciliation.prototype.storeCode = \"\";\r\n\r\n /**\r\n * Reconciliation storeName.\r\n * @member {string} storeName\r\n * @memberof TCBReceiptApi.Protobuf.Reconciliation\r\n * @instance\r\n */\r\n Reconciliation.prototype.storeName = \"\";\r\n\r\n /**\r\n * Reconciliation branchBank.\r\n * @member {string} branchBank\r\n * @memberof TCBReceiptApi.Protobuf.Reconciliation\r\n * @instance\r\n */\r\n Reconciliation.prototype.branchBank = \"\";\r\n\r\n /**\r\n * Reconciliation account.\r\n * @member {string} account\r\n * @memberof TCBReceiptApi.Protobuf.Reconciliation\r\n * @instance\r\n */\r\n Reconciliation.prototype.account = \"\";\r\n\r\n /**\r\n * Reconciliation submitDateStart.\r\n * @member {string} submitDateStart\r\n * @memberof TCBReceiptApi.Protobuf.Reconciliation\r\n * @instance\r\n */\r\n Reconciliation.prototype.submitDateStart = \"\";\r\n\r\n /**\r\n * Reconciliation submitDateEnd.\r\n * @member {string} submitDateEnd\r\n * @memberof TCBReceiptApi.Protobuf.Reconciliation\r\n * @instance\r\n */\r\n Reconciliation.prototype.submitDateEnd = \"\";\r\n\r\n /**\r\n * Reconciliation transDateStart.\r\n * @member {string} transDateStart\r\n * @memberof TCBReceiptApi.Protobuf.Reconciliation\r\n * @instance\r\n */\r\n Reconciliation.prototype.transDateStart = \"\";\r\n\r\n /**\r\n * Reconciliation transDateEnd.\r\n * @member {string} transDateEnd\r\n * @memberof TCBReceiptApi.Protobuf.Reconciliation\r\n * @instance\r\n */\r\n Reconciliation.prototype.transDateEnd = \"\";\r\n\r\n /**\r\n * Reconciliation dateStart.\r\n * @member {string} dateStart\r\n * @memberof TCBReceiptApi.Protobuf.Reconciliation\r\n * @instance\r\n */\r\n Reconciliation.prototype.dateStart = \"\";\r\n\r\n /**\r\n * Reconciliation dateEnd.\r\n * @member {string} dateEnd\r\n * @memberof TCBReceiptApi.Protobuf.Reconciliation\r\n * @instance\r\n */\r\n Reconciliation.prototype.dateEnd = \"\";\r\n\r\n /**\r\n * Reconciliation isQuota.\r\n * @member {number} isQuota\r\n * @memberof TCBReceiptApi.Protobuf.Reconciliation\r\n * @instance\r\n */\r\n Reconciliation.prototype.isQuota = 0;\r\n\r\n /**\r\n * Creates a new Reconciliation instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.Reconciliation\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReconciliation=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.Reconciliation} Reconciliation instance\r\n */\r\n Reconciliation.create = function create(properties) {\r\n return new Reconciliation(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified Reconciliation message. Does not implicitly {@link TCBReceiptApi.Protobuf.Reconciliation.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.Reconciliation\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReconciliation} message Reconciliation message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Reconciliation.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.storeCode != null && Object.hasOwnProperty.call(message, \"storeCode\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.storeCode);\r\n if (message.storeName != null && Object.hasOwnProperty.call(message, \"storeName\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.storeName);\r\n if (message.branchBank != null && Object.hasOwnProperty.call(message, \"branchBank\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.branchBank);\r\n if (message.account != null && Object.hasOwnProperty.call(message, \"account\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.account);\r\n if (message.submitDateStart != null && Object.hasOwnProperty.call(message, \"submitDateStart\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.submitDateStart);\r\n if (message.submitDateEnd != null && Object.hasOwnProperty.call(message, \"submitDateEnd\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.submitDateEnd);\r\n if (message.transDateStart != null && Object.hasOwnProperty.call(message, \"transDateStart\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.transDateStart);\r\n if (message.transDateEnd != null && Object.hasOwnProperty.call(message, \"transDateEnd\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.transDateEnd);\r\n if (message.dateStart != null && Object.hasOwnProperty.call(message, \"dateStart\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.dateStart);\r\n if (message.dateEnd != null && Object.hasOwnProperty.call(message, \"dateEnd\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.dateEnd);\r\n if (message.isQuota != null && Object.hasOwnProperty.call(message, \"isQuota\"))\r\n writer.uint32(/* id 11, wireType 0 =*/88).int32(message.isQuota);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified Reconciliation message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.Reconciliation.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Reconciliation\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReconciliation} message Reconciliation message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Reconciliation.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a Reconciliation message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.Reconciliation\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.Reconciliation} Reconciliation\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Reconciliation.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.Reconciliation();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.storeCode = reader.string();\r\n break;\r\n case 2:\r\n message.storeName = reader.string();\r\n break;\r\n case 3:\r\n message.branchBank = reader.string();\r\n break;\r\n case 4:\r\n message.account = reader.string();\r\n break;\r\n case 5:\r\n message.submitDateStart = reader.string();\r\n break;\r\n case 6:\r\n message.submitDateEnd = reader.string();\r\n break;\r\n case 7:\r\n message.transDateStart = reader.string();\r\n break;\r\n case 8:\r\n message.transDateEnd = reader.string();\r\n break;\r\n case 9:\r\n message.dateStart = reader.string();\r\n break;\r\n case 10:\r\n message.dateEnd = reader.string();\r\n break;\r\n case 11:\r\n message.isQuota = reader.int32();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a Reconciliation message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Reconciliation\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.Reconciliation} Reconciliation\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Reconciliation.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a Reconciliation message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.Reconciliation\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n Reconciliation.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n if (!$util.isString(message.storeCode))\r\n return \"storeCode: string expected\";\r\n if (message.storeName != null && message.hasOwnProperty(\"storeName\"))\r\n if (!$util.isString(message.storeName))\r\n return \"storeName: string expected\";\r\n if (message.branchBank != null && message.hasOwnProperty(\"branchBank\"))\r\n if (!$util.isString(message.branchBank))\r\n return \"branchBank: string expected\";\r\n if (message.account != null && message.hasOwnProperty(\"account\"))\r\n if (!$util.isString(message.account))\r\n return \"account: string expected\";\r\n if (message.submitDateStart != null && message.hasOwnProperty(\"submitDateStart\"))\r\n if (!$util.isString(message.submitDateStart))\r\n return \"submitDateStart: string expected\";\r\n if (message.submitDateEnd != null && message.hasOwnProperty(\"submitDateEnd\"))\r\n if (!$util.isString(message.submitDateEnd))\r\n return \"submitDateEnd: string expected\";\r\n if (message.transDateStart != null && message.hasOwnProperty(\"transDateStart\"))\r\n if (!$util.isString(message.transDateStart))\r\n return \"transDateStart: string expected\";\r\n if (message.transDateEnd != null && message.hasOwnProperty(\"transDateEnd\"))\r\n if (!$util.isString(message.transDateEnd))\r\n return \"transDateEnd: string expected\";\r\n if (message.dateStart != null && message.hasOwnProperty(\"dateStart\"))\r\n if (!$util.isString(message.dateStart))\r\n return \"dateStart: string expected\";\r\n if (message.dateEnd != null && message.hasOwnProperty(\"dateEnd\"))\r\n if (!$util.isString(message.dateEnd))\r\n return \"dateEnd: string expected\";\r\n if (message.isQuota != null && message.hasOwnProperty(\"isQuota\"))\r\n if (!$util.isInteger(message.isQuota))\r\n return \"isQuota: integer expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a Reconciliation message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.Reconciliation\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.Reconciliation} Reconciliation\r\n */\r\n Reconciliation.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.Reconciliation)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.Reconciliation();\r\n if (object.storeCode != null)\r\n message.storeCode = String(object.storeCode);\r\n if (object.storeName != null)\r\n message.storeName = String(object.storeName);\r\n if (object.branchBank != null)\r\n message.branchBank = String(object.branchBank);\r\n if (object.account != null)\r\n message.account = String(object.account);\r\n if (object.submitDateStart != null)\r\n message.submitDateStart = String(object.submitDateStart);\r\n if (object.submitDateEnd != null)\r\n message.submitDateEnd = String(object.submitDateEnd);\r\n if (object.transDateStart != null)\r\n message.transDateStart = String(object.transDateStart);\r\n if (object.transDateEnd != null)\r\n message.transDateEnd = String(object.transDateEnd);\r\n if (object.dateStart != null)\r\n message.dateStart = String(object.dateStart);\r\n if (object.dateEnd != null)\r\n message.dateEnd = String(object.dateEnd);\r\n if (object.isQuota != null)\r\n message.isQuota = object.isQuota | 0;\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a Reconciliation message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.Reconciliation\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.Reconciliation} message Reconciliation\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n Reconciliation.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.storeCode = \"\";\r\n object.storeName = \"\";\r\n object.branchBank = \"\";\r\n object.account = \"\";\r\n object.submitDateStart = \"\";\r\n object.submitDateEnd = \"\";\r\n object.transDateStart = \"\";\r\n object.transDateEnd = \"\";\r\n object.dateStart = \"\";\r\n object.dateEnd = \"\";\r\n object.isQuota = 0;\r\n }\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n object.storeCode = message.storeCode;\r\n if (message.storeName != null && message.hasOwnProperty(\"storeName\"))\r\n object.storeName = message.storeName;\r\n if (message.branchBank != null && message.hasOwnProperty(\"branchBank\"))\r\n object.branchBank = message.branchBank;\r\n if (message.account != null && message.hasOwnProperty(\"account\"))\r\n object.account = message.account;\r\n if (message.submitDateStart != null && message.hasOwnProperty(\"submitDateStart\"))\r\n object.submitDateStart = message.submitDateStart;\r\n if (message.submitDateEnd != null && message.hasOwnProperty(\"submitDateEnd\"))\r\n object.submitDateEnd = message.submitDateEnd;\r\n if (message.transDateStart != null && message.hasOwnProperty(\"transDateStart\"))\r\n object.transDateStart = message.transDateStart;\r\n if (message.transDateEnd != null && message.hasOwnProperty(\"transDateEnd\"))\r\n object.transDateEnd = message.transDateEnd;\r\n if (message.dateStart != null && message.hasOwnProperty(\"dateStart\"))\r\n object.dateStart = message.dateStart;\r\n if (message.dateEnd != null && message.hasOwnProperty(\"dateEnd\"))\r\n object.dateEnd = message.dateEnd;\r\n if (message.isQuota != null && message.hasOwnProperty(\"isQuota\"))\r\n object.isQuota = message.isQuota;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this Reconciliation to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.Reconciliation\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n Reconciliation.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return Reconciliation;\r\n })();\r\n\r\n Protobuf.ReconciliationList = (function() {\r\n\r\n /**\r\n * Properties of a ReconciliationList.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IReconciliationList\r\n * @property {Array.|null} [list] ReconciliationList list\r\n */\r\n\r\n /**\r\n * Constructs a new ReconciliationList.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ReconciliationList.\r\n * @implements IReconciliationList\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IReconciliationList=} [properties] Properties to set\r\n */\r\n function ReconciliationList(properties) {\r\n this.list = [];\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ReconciliationList list.\r\n * @member {Array.} list\r\n * @memberof TCBReceiptApi.Protobuf.ReconciliationList\r\n * @instance\r\n */\r\n ReconciliationList.prototype.list = $util.emptyArray;\r\n\r\n /**\r\n * Creates a new ReconciliationList instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ReconciliationList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReconciliationList=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ReconciliationList} ReconciliationList instance\r\n */\r\n ReconciliationList.create = function create(properties) {\r\n return new ReconciliationList(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ReconciliationList message. Does not implicitly {@link TCBReceiptApi.Protobuf.ReconciliationList.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ReconciliationList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReconciliationList} message ReconciliationList message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReconciliationList.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.list != null && message.list.length)\r\n for (var i = 0; i < message.list.length; ++i)\r\n $root.TCBReceiptApi.Protobuf.Reconciliation.encode(message.list[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ReconciliationList message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ReconciliationList.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReconciliationList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReconciliationList} message ReconciliationList message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReconciliationList.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ReconciliationList message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ReconciliationList\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ReconciliationList} ReconciliationList\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReconciliationList.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ReconciliationList();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (!(message.list && message.list.length))\r\n message.list = [];\r\n message.list.push($root.TCBReceiptApi.Protobuf.Reconciliation.decode(reader, reader.uint32()));\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ReconciliationList message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReconciliationList\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ReconciliationList} ReconciliationList\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReconciliationList.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ReconciliationList message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ReconciliationList\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ReconciliationList.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.list != null && message.hasOwnProperty(\"list\")) {\r\n if (!Array.isArray(message.list))\r\n return \"list: array expected\";\r\n for (var i = 0; i < message.list.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.Reconciliation.verify(message.list[i]);\r\n if (error)\r\n return \"list.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ReconciliationList message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ReconciliationList\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ReconciliationList} ReconciliationList\r\n */\r\n ReconciliationList.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ReconciliationList)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ReconciliationList();\r\n if (object.list) {\r\n if (!Array.isArray(object.list))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReconciliationList.list: array expected\");\r\n message.list = [];\r\n for (var i = 0; i < object.list.length; ++i) {\r\n if (typeof object.list[i] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReconciliationList.list: object expected\");\r\n message.list[i] = $root.TCBReceiptApi.Protobuf.Reconciliation.fromObject(object.list[i]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ReconciliationList message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ReconciliationList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ReconciliationList} message ReconciliationList\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ReconciliationList.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.arrays || options.defaults)\r\n object.list = [];\r\n if (message.list && message.list.length) {\r\n object.list = [];\r\n for (var j = 0; j < message.list.length; ++j)\r\n object.list[j] = $root.TCBReceiptApi.Protobuf.Reconciliation.toObject(message.list[j], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ReconciliationList to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ReconciliationList\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ReconciliationList.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ReconciliationList;\r\n })();\r\n\r\n Protobuf.ReimbursementInfo = (function() {\r\n\r\n /**\r\n * Properties of a ReimbursementInfo.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IReimbursementInfo\r\n * @property {number|null} [reimbursementId] ReimbursementInfo reimbursementId\r\n * @property {number|null} [sourceId] ReimbursementInfo sourceId\r\n * @property {string|null} [batchNo] ReimbursementInfo batchNo\r\n * @property {string|null} [batchNoOrigin] ReimbursementInfo batchNoOrigin\r\n * @property {string|null} [date] ReimbursementInfo date\r\n * @property {string|null} [time] ReimbursementInfo time\r\n * @property {string|null} [submitDate] ReimbursementInfo submitDate\r\n * @property {string|null} [paydueDate] ReimbursementInfo paydueDate\r\n * @property {string|null} [cardNo] ReimbursementInfo cardNo\r\n * @property {string|null} [authCode] ReimbursementInfo authCode\r\n * @property {number|null} [amount] ReimbursementInfo amount\r\n * @property {number|null} [code] ReimbursementInfo code\r\n * @property {string|null} [codeOrigin] ReimbursementInfo codeOrigin\r\n * @property {number|null} [type] ReimbursementInfo type\r\n * @property {number|null} [settleCode] ReimbursementInfo settleCode\r\n * @property {string|null} [orderNo] ReimbursementInfo orderNo\r\n * @property {number|null} [isCreditCard] ReimbursementInfo isCreditCard\r\n * @property {number|null} [cardType] ReimbursementInfo cardType\r\n * @property {string|null} [cardTypeOrigin] ReimbursementInfo cardTypeOrigin\r\n * @property {number|null} [installCode] ReimbursementInfo installCode\r\n * @property {string|null} [installCodeOrigin] ReimbursementInfo installCodeOrigin\r\n * @property {number|null} [payFlag] ReimbursementInfo payFlag\r\n * @property {string|null} [payFlagOrigin] ReimbursementInfo payFlagOrigin\r\n * @property {number|null} [installTimes] ReimbursementInfo installTimes\r\n * @property {number|null} [installAverageAmount] ReimbursementInfo installAverageAmount\r\n * @property {string|null} [storeCode] ReimbursementInfo storeCode\r\n * @property {string|null} [terminalNo] ReimbursementInfo terminalNo\r\n * @property {number|null} [feeFlag] ReimbursementInfo feeFlag\r\n * @property {string|null} [feeFlagOrigin] ReimbursementInfo feeFlagOrigin\r\n * @property {string|null} [stan] ReimbursementInfo stan\r\n * @property {string|null} [issuer] ReimbursementInfo issuer\r\n * @property {number|null} [isOurBank] ReimbursementInfo isOurBank\r\n * @property {number|null} [taiwanPayQrFlag] ReimbursementInfo taiwanPayQrFlag\r\n * @property {number|null} [infoType] ReimbursementInfo infoType\r\n * @property {string|null} [tidNumber] ReimbursementInfo tidNumber\r\n * @property {string|null} [storeCodeMapping] ReimbursementInfo storeCodeMapping\r\n * @property {string|null} [subStoreCode] ReimbursementInfo subStoreCode\r\n * @property {string|null} [stanOrigin] ReimbursementInfo stanOrigin\r\n * @property {string|null} [tpan] ReimbursementInfo tpan\r\n * @property {string|null} [issuerOrigin] ReimbursementInfo issuerOrigin\r\n */\r\n\r\n /**\r\n * Constructs a new ReimbursementInfo.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ReimbursementInfo.\r\n * @implements IReimbursementInfo\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementInfo=} [properties] Properties to set\r\n */\r\n function ReimbursementInfo(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ReimbursementInfo reimbursementId.\r\n * @member {number} reimbursementId\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.reimbursementId = 0;\r\n\r\n /**\r\n * ReimbursementInfo sourceId.\r\n * @member {number} sourceId\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.sourceId = 0;\r\n\r\n /**\r\n * ReimbursementInfo batchNo.\r\n * @member {string} batchNo\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.batchNo = \"\";\r\n\r\n /**\r\n * ReimbursementInfo batchNoOrigin.\r\n * @member {string} batchNoOrigin\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.batchNoOrigin = \"\";\r\n\r\n /**\r\n * ReimbursementInfo date.\r\n * @member {string} date\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.date = \"\";\r\n\r\n /**\r\n * ReimbursementInfo time.\r\n * @member {string} time\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.time = \"\";\r\n\r\n /**\r\n * ReimbursementInfo submitDate.\r\n * @member {string} submitDate\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.submitDate = \"\";\r\n\r\n /**\r\n * ReimbursementInfo paydueDate.\r\n * @member {string} paydueDate\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.paydueDate = \"\";\r\n\r\n /**\r\n * ReimbursementInfo cardNo.\r\n * @member {string} cardNo\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.cardNo = \"\";\r\n\r\n /**\r\n * ReimbursementInfo authCode.\r\n * @member {string} authCode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.authCode = \"\";\r\n\r\n /**\r\n * ReimbursementInfo amount.\r\n * @member {number} amount\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.amount = 0;\r\n\r\n /**\r\n * ReimbursementInfo code.\r\n * @member {number} code\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.code = 0;\r\n\r\n /**\r\n * ReimbursementInfo codeOrigin.\r\n * @member {string} codeOrigin\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.codeOrigin = \"\";\r\n\r\n /**\r\n * ReimbursementInfo type.\r\n * @member {number} type\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.type = 0;\r\n\r\n /**\r\n * ReimbursementInfo settleCode.\r\n * @member {number} settleCode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.settleCode = 0;\r\n\r\n /**\r\n * ReimbursementInfo orderNo.\r\n * @member {string} orderNo\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.orderNo = \"\";\r\n\r\n /**\r\n * ReimbursementInfo isCreditCard.\r\n * @member {number} isCreditCard\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.isCreditCard = 0;\r\n\r\n /**\r\n * ReimbursementInfo cardType.\r\n * @member {number} cardType\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.cardType = 0;\r\n\r\n /**\r\n * ReimbursementInfo cardTypeOrigin.\r\n * @member {string} cardTypeOrigin\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.cardTypeOrigin = \"\";\r\n\r\n /**\r\n * ReimbursementInfo installCode.\r\n * @member {number} installCode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.installCode = 0;\r\n\r\n /**\r\n * ReimbursementInfo installCodeOrigin.\r\n * @member {string} installCodeOrigin\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.installCodeOrigin = \"\";\r\n\r\n /**\r\n * ReimbursementInfo payFlag.\r\n * @member {number} payFlag\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.payFlag = 0;\r\n\r\n /**\r\n * ReimbursementInfo payFlagOrigin.\r\n * @member {string} payFlagOrigin\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.payFlagOrigin = \"\";\r\n\r\n /**\r\n * ReimbursementInfo installTimes.\r\n * @member {number} installTimes\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.installTimes = 0;\r\n\r\n /**\r\n * ReimbursementInfo installAverageAmount.\r\n * @member {number} installAverageAmount\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.installAverageAmount = 0;\r\n\r\n /**\r\n * ReimbursementInfo storeCode.\r\n * @member {string} storeCode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.storeCode = \"\";\r\n\r\n /**\r\n * ReimbursementInfo terminalNo.\r\n * @member {string} terminalNo\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.terminalNo = \"\";\r\n\r\n /**\r\n * ReimbursementInfo feeFlag.\r\n * @member {number} feeFlag\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.feeFlag = 0;\r\n\r\n /**\r\n * ReimbursementInfo feeFlagOrigin.\r\n * @member {string} feeFlagOrigin\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.feeFlagOrigin = \"\";\r\n\r\n /**\r\n * ReimbursementInfo stan.\r\n * @member {string} stan\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.stan = \"\";\r\n\r\n /**\r\n * ReimbursementInfo issuer.\r\n * @member {string} issuer\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.issuer = \"\";\r\n\r\n /**\r\n * ReimbursementInfo isOurBank.\r\n * @member {number} isOurBank\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.isOurBank = 0;\r\n\r\n /**\r\n * ReimbursementInfo taiwanPayQrFlag.\r\n * @member {number} taiwanPayQrFlag\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.taiwanPayQrFlag = 0;\r\n\r\n /**\r\n * ReimbursementInfo infoType.\r\n * @member {number} infoType\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.infoType = 0;\r\n\r\n /**\r\n * ReimbursementInfo tidNumber.\r\n * @member {string} tidNumber\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.tidNumber = \"\";\r\n\r\n /**\r\n * ReimbursementInfo storeCodeMapping.\r\n * @member {string} storeCodeMapping\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.storeCodeMapping = \"\";\r\n\r\n /**\r\n * ReimbursementInfo subStoreCode.\r\n * @member {string} subStoreCode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.subStoreCode = \"\";\r\n\r\n /**\r\n * ReimbursementInfo stanOrigin.\r\n * @member {string} stanOrigin\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.stanOrigin = \"\";\r\n\r\n /**\r\n * ReimbursementInfo tpan.\r\n * @member {string} tpan\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.tpan = \"\";\r\n\r\n /**\r\n * ReimbursementInfo issuerOrigin.\r\n * @member {string} issuerOrigin\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n */\r\n ReimbursementInfo.prototype.issuerOrigin = \"\";\r\n\r\n /**\r\n * Creates a new ReimbursementInfo instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementInfo=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementInfo} ReimbursementInfo instance\r\n */\r\n ReimbursementInfo.create = function create(properties) {\r\n return new ReimbursementInfo(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementInfo message. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementInfo.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementInfo} message ReimbursementInfo message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementInfo.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.reimbursementId != null && Object.hasOwnProperty.call(message, \"reimbursementId\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.reimbursementId);\r\n if (message.sourceId != null && Object.hasOwnProperty.call(message, \"sourceId\"))\r\n writer.uint32(/* id 2, wireType 0 =*/16).int32(message.sourceId);\r\n if (message.batchNo != null && Object.hasOwnProperty.call(message, \"batchNo\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.batchNo);\r\n if (message.batchNoOrigin != null && Object.hasOwnProperty.call(message, \"batchNoOrigin\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.batchNoOrigin);\r\n if (message.date != null && Object.hasOwnProperty.call(message, \"date\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.date);\r\n if (message.time != null && Object.hasOwnProperty.call(message, \"time\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.time);\r\n if (message.submitDate != null && Object.hasOwnProperty.call(message, \"submitDate\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.submitDate);\r\n if (message.paydueDate != null && Object.hasOwnProperty.call(message, \"paydueDate\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.paydueDate);\r\n if (message.cardNo != null && Object.hasOwnProperty.call(message, \"cardNo\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.cardNo);\r\n if (message.authCode != null && Object.hasOwnProperty.call(message, \"authCode\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.authCode);\r\n if (message.amount != null && Object.hasOwnProperty.call(message, \"amount\"))\r\n writer.uint32(/* id 11, wireType 1 =*/89).double(message.amount);\r\n if (message.code != null && Object.hasOwnProperty.call(message, \"code\"))\r\n writer.uint32(/* id 12, wireType 0 =*/96).int32(message.code);\r\n if (message.codeOrigin != null && Object.hasOwnProperty.call(message, \"codeOrigin\"))\r\n writer.uint32(/* id 13, wireType 2 =*/106).string(message.codeOrigin);\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 14, wireType 0 =*/112).int32(message.type);\r\n if (message.settleCode != null && Object.hasOwnProperty.call(message, \"settleCode\"))\r\n writer.uint32(/* id 15, wireType 0 =*/120).int32(message.settleCode);\r\n if (message.orderNo != null && Object.hasOwnProperty.call(message, \"orderNo\"))\r\n writer.uint32(/* id 16, wireType 2 =*/130).string(message.orderNo);\r\n if (message.isCreditCard != null && Object.hasOwnProperty.call(message, \"isCreditCard\"))\r\n writer.uint32(/* id 17, wireType 0 =*/136).int32(message.isCreditCard);\r\n if (message.cardType != null && Object.hasOwnProperty.call(message, \"cardType\"))\r\n writer.uint32(/* id 18, wireType 0 =*/144).int32(message.cardType);\r\n if (message.cardTypeOrigin != null && Object.hasOwnProperty.call(message, \"cardTypeOrigin\"))\r\n writer.uint32(/* id 19, wireType 2 =*/154).string(message.cardTypeOrigin);\r\n if (message.installCode != null && Object.hasOwnProperty.call(message, \"installCode\"))\r\n writer.uint32(/* id 20, wireType 0 =*/160).int32(message.installCode);\r\n if (message.installCodeOrigin != null && Object.hasOwnProperty.call(message, \"installCodeOrigin\"))\r\n writer.uint32(/* id 21, wireType 2 =*/170).string(message.installCodeOrigin);\r\n if (message.payFlag != null && Object.hasOwnProperty.call(message, \"payFlag\"))\r\n writer.uint32(/* id 22, wireType 0 =*/176).int32(message.payFlag);\r\n if (message.payFlagOrigin != null && Object.hasOwnProperty.call(message, \"payFlagOrigin\"))\r\n writer.uint32(/* id 23, wireType 2 =*/186).string(message.payFlagOrigin);\r\n if (message.installTimes != null && Object.hasOwnProperty.call(message, \"installTimes\"))\r\n writer.uint32(/* id 24, wireType 0 =*/192).int32(message.installTimes);\r\n if (message.installAverageAmount != null && Object.hasOwnProperty.call(message, \"installAverageAmount\"))\r\n writer.uint32(/* id 25, wireType 1 =*/201).double(message.installAverageAmount);\r\n if (message.storeCode != null && Object.hasOwnProperty.call(message, \"storeCode\"))\r\n writer.uint32(/* id 26, wireType 2 =*/210).string(message.storeCode);\r\n if (message.terminalNo != null && Object.hasOwnProperty.call(message, \"terminalNo\"))\r\n writer.uint32(/* id 27, wireType 2 =*/218).string(message.terminalNo);\r\n if (message.feeFlag != null && Object.hasOwnProperty.call(message, \"feeFlag\"))\r\n writer.uint32(/* id 28, wireType 0 =*/224).int32(message.feeFlag);\r\n if (message.feeFlagOrigin != null && Object.hasOwnProperty.call(message, \"feeFlagOrigin\"))\r\n writer.uint32(/* id 29, wireType 2 =*/234).string(message.feeFlagOrigin);\r\n if (message.stan != null && Object.hasOwnProperty.call(message, \"stan\"))\r\n writer.uint32(/* id 30, wireType 2 =*/242).string(message.stan);\r\n if (message.issuer != null && Object.hasOwnProperty.call(message, \"issuer\"))\r\n writer.uint32(/* id 31, wireType 2 =*/250).string(message.issuer);\r\n if (message.isOurBank != null && Object.hasOwnProperty.call(message, \"isOurBank\"))\r\n writer.uint32(/* id 32, wireType 0 =*/256).int32(message.isOurBank);\r\n if (message.taiwanPayQrFlag != null && Object.hasOwnProperty.call(message, \"taiwanPayQrFlag\"))\r\n writer.uint32(/* id 33, wireType 0 =*/264).int32(message.taiwanPayQrFlag);\r\n if (message.infoType != null && Object.hasOwnProperty.call(message, \"infoType\"))\r\n writer.uint32(/* id 34, wireType 0 =*/272).int32(message.infoType);\r\n if (message.tidNumber != null && Object.hasOwnProperty.call(message, \"tidNumber\"))\r\n writer.uint32(/* id 35, wireType 2 =*/282).string(message.tidNumber);\r\n if (message.storeCodeMapping != null && Object.hasOwnProperty.call(message, \"storeCodeMapping\"))\r\n writer.uint32(/* id 36, wireType 2 =*/290).string(message.storeCodeMapping);\r\n if (message.subStoreCode != null && Object.hasOwnProperty.call(message, \"subStoreCode\"))\r\n writer.uint32(/* id 37, wireType 2 =*/298).string(message.subStoreCode);\r\n if (message.stanOrigin != null && Object.hasOwnProperty.call(message, \"stanOrigin\"))\r\n writer.uint32(/* id 38, wireType 2 =*/306).string(message.stanOrigin);\r\n if (message.tpan != null && Object.hasOwnProperty.call(message, \"tpan\"))\r\n writer.uint32(/* id 39, wireType 2 =*/314).string(message.tpan);\r\n if (message.issuerOrigin != null && Object.hasOwnProperty.call(message, \"issuerOrigin\"))\r\n writer.uint32(/* id 40, wireType 2 =*/322).string(message.issuerOrigin);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementInfo message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementInfo.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementInfo} message ReimbursementInfo message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementInfo.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementInfo message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementInfo} ReimbursementInfo\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementInfo.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ReimbursementInfo();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.reimbursementId = reader.int32();\r\n break;\r\n case 2:\r\n message.sourceId = reader.int32();\r\n break;\r\n case 3:\r\n message.batchNo = reader.string();\r\n break;\r\n case 4:\r\n message.batchNoOrigin = reader.string();\r\n break;\r\n case 5:\r\n message.date = reader.string();\r\n break;\r\n case 6:\r\n message.time = reader.string();\r\n break;\r\n case 7:\r\n message.submitDate = reader.string();\r\n break;\r\n case 8:\r\n message.paydueDate = reader.string();\r\n break;\r\n case 9:\r\n message.cardNo = reader.string();\r\n break;\r\n case 10:\r\n message.authCode = reader.string();\r\n break;\r\n case 11:\r\n message.amount = reader.double();\r\n break;\r\n case 12:\r\n message.code = reader.int32();\r\n break;\r\n case 13:\r\n message.codeOrigin = reader.string();\r\n break;\r\n case 14:\r\n message.type = reader.int32();\r\n break;\r\n case 15:\r\n message.settleCode = reader.int32();\r\n break;\r\n case 16:\r\n message.orderNo = reader.string();\r\n break;\r\n case 17:\r\n message.isCreditCard = reader.int32();\r\n break;\r\n case 18:\r\n message.cardType = reader.int32();\r\n break;\r\n case 19:\r\n message.cardTypeOrigin = reader.string();\r\n break;\r\n case 20:\r\n message.installCode = reader.int32();\r\n break;\r\n case 21:\r\n message.installCodeOrigin = reader.string();\r\n break;\r\n case 22:\r\n message.payFlag = reader.int32();\r\n break;\r\n case 23:\r\n message.payFlagOrigin = reader.string();\r\n break;\r\n case 24:\r\n message.installTimes = reader.int32();\r\n break;\r\n case 25:\r\n message.installAverageAmount = reader.double();\r\n break;\r\n case 26:\r\n message.storeCode = reader.string();\r\n break;\r\n case 27:\r\n message.terminalNo = reader.string();\r\n break;\r\n case 28:\r\n message.feeFlag = reader.int32();\r\n break;\r\n case 29:\r\n message.feeFlagOrigin = reader.string();\r\n break;\r\n case 30:\r\n message.stan = reader.string();\r\n break;\r\n case 31:\r\n message.issuer = reader.string();\r\n break;\r\n case 32:\r\n message.isOurBank = reader.int32();\r\n break;\r\n case 33:\r\n message.taiwanPayQrFlag = reader.int32();\r\n break;\r\n case 34:\r\n message.infoType = reader.int32();\r\n break;\r\n case 35:\r\n message.tidNumber = reader.string();\r\n break;\r\n case 36:\r\n message.storeCodeMapping = reader.string();\r\n break;\r\n case 37:\r\n message.subStoreCode = reader.string();\r\n break;\r\n case 38:\r\n message.stanOrigin = reader.string();\r\n break;\r\n case 39:\r\n message.tpan = reader.string();\r\n break;\r\n case 40:\r\n message.issuerOrigin = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementInfo message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementInfo} ReimbursementInfo\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementInfo.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ReimbursementInfo message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ReimbursementInfo.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.reimbursementId != null && message.hasOwnProperty(\"reimbursementId\"))\r\n if (!$util.isInteger(message.reimbursementId))\r\n return \"reimbursementId: integer expected\";\r\n if (message.sourceId != null && message.hasOwnProperty(\"sourceId\"))\r\n if (!$util.isInteger(message.sourceId))\r\n return \"sourceId: integer expected\";\r\n if (message.batchNo != null && message.hasOwnProperty(\"batchNo\"))\r\n if (!$util.isString(message.batchNo))\r\n return \"batchNo: string expected\";\r\n if (message.batchNoOrigin != null && message.hasOwnProperty(\"batchNoOrigin\"))\r\n if (!$util.isString(message.batchNoOrigin))\r\n return \"batchNoOrigin: string expected\";\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n if (!$util.isString(message.date))\r\n return \"date: string expected\";\r\n if (message.time != null && message.hasOwnProperty(\"time\"))\r\n if (!$util.isString(message.time))\r\n return \"time: string expected\";\r\n if (message.submitDate != null && message.hasOwnProperty(\"submitDate\"))\r\n if (!$util.isString(message.submitDate))\r\n return \"submitDate: string expected\";\r\n if (message.paydueDate != null && message.hasOwnProperty(\"paydueDate\"))\r\n if (!$util.isString(message.paydueDate))\r\n return \"paydueDate: string expected\";\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n if (!$util.isString(message.cardNo))\r\n return \"cardNo: string expected\";\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n if (!$util.isString(message.authCode))\r\n return \"authCode: string expected\";\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n if (typeof message.amount !== \"number\")\r\n return \"amount: number expected\";\r\n if (message.code != null && message.hasOwnProperty(\"code\"))\r\n if (!$util.isInteger(message.code))\r\n return \"code: integer expected\";\r\n if (message.codeOrigin != null && message.hasOwnProperty(\"codeOrigin\"))\r\n if (!$util.isString(message.codeOrigin))\r\n return \"codeOrigin: string expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isInteger(message.type))\r\n return \"type: integer expected\";\r\n if (message.settleCode != null && message.hasOwnProperty(\"settleCode\"))\r\n if (!$util.isInteger(message.settleCode))\r\n return \"settleCode: integer expected\";\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n if (!$util.isString(message.orderNo))\r\n return \"orderNo: string expected\";\r\n if (message.isCreditCard != null && message.hasOwnProperty(\"isCreditCard\"))\r\n if (!$util.isInteger(message.isCreditCard))\r\n return \"isCreditCard: integer expected\";\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n if (!$util.isInteger(message.cardType))\r\n return \"cardType: integer expected\";\r\n if (message.cardTypeOrigin != null && message.hasOwnProperty(\"cardTypeOrigin\"))\r\n if (!$util.isString(message.cardTypeOrigin))\r\n return \"cardTypeOrigin: string expected\";\r\n if (message.installCode != null && message.hasOwnProperty(\"installCode\"))\r\n if (!$util.isInteger(message.installCode))\r\n return \"installCode: integer expected\";\r\n if (message.installCodeOrigin != null && message.hasOwnProperty(\"installCodeOrigin\"))\r\n if (!$util.isString(message.installCodeOrigin))\r\n return \"installCodeOrigin: string expected\";\r\n if (message.payFlag != null && message.hasOwnProperty(\"payFlag\"))\r\n if (!$util.isInteger(message.payFlag))\r\n return \"payFlag: integer expected\";\r\n if (message.payFlagOrigin != null && message.hasOwnProperty(\"payFlagOrigin\"))\r\n if (!$util.isString(message.payFlagOrigin))\r\n return \"payFlagOrigin: string expected\";\r\n if (message.installTimes != null && message.hasOwnProperty(\"installTimes\"))\r\n if (!$util.isInteger(message.installTimes))\r\n return \"installTimes: integer expected\";\r\n if (message.installAverageAmount != null && message.hasOwnProperty(\"installAverageAmount\"))\r\n if (typeof message.installAverageAmount !== \"number\")\r\n return \"installAverageAmount: number expected\";\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n if (!$util.isString(message.storeCode))\r\n return \"storeCode: string expected\";\r\n if (message.terminalNo != null && message.hasOwnProperty(\"terminalNo\"))\r\n if (!$util.isString(message.terminalNo))\r\n return \"terminalNo: string expected\";\r\n if (message.feeFlag != null && message.hasOwnProperty(\"feeFlag\"))\r\n if (!$util.isInteger(message.feeFlag))\r\n return \"feeFlag: integer expected\";\r\n if (message.feeFlagOrigin != null && message.hasOwnProperty(\"feeFlagOrigin\"))\r\n if (!$util.isString(message.feeFlagOrigin))\r\n return \"feeFlagOrigin: string expected\";\r\n if (message.stan != null && message.hasOwnProperty(\"stan\"))\r\n if (!$util.isString(message.stan))\r\n return \"stan: string expected\";\r\n if (message.issuer != null && message.hasOwnProperty(\"issuer\"))\r\n if (!$util.isString(message.issuer))\r\n return \"issuer: string expected\";\r\n if (message.isOurBank != null && message.hasOwnProperty(\"isOurBank\"))\r\n if (!$util.isInteger(message.isOurBank))\r\n return \"isOurBank: integer expected\";\r\n if (message.taiwanPayQrFlag != null && message.hasOwnProperty(\"taiwanPayQrFlag\"))\r\n if (!$util.isInteger(message.taiwanPayQrFlag))\r\n return \"taiwanPayQrFlag: integer expected\";\r\n if (message.infoType != null && message.hasOwnProperty(\"infoType\"))\r\n if (!$util.isInteger(message.infoType))\r\n return \"infoType: integer expected\";\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n if (!$util.isString(message.tidNumber))\r\n return \"tidNumber: string expected\";\r\n if (message.storeCodeMapping != null && message.hasOwnProperty(\"storeCodeMapping\"))\r\n if (!$util.isString(message.storeCodeMapping))\r\n return \"storeCodeMapping: string expected\";\r\n if (message.subStoreCode != null && message.hasOwnProperty(\"subStoreCode\"))\r\n if (!$util.isString(message.subStoreCode))\r\n return \"subStoreCode: string expected\";\r\n if (message.stanOrigin != null && message.hasOwnProperty(\"stanOrigin\"))\r\n if (!$util.isString(message.stanOrigin))\r\n return \"stanOrigin: string expected\";\r\n if (message.tpan != null && message.hasOwnProperty(\"tpan\"))\r\n if (!$util.isString(message.tpan))\r\n return \"tpan: string expected\";\r\n if (message.issuerOrigin != null && message.hasOwnProperty(\"issuerOrigin\"))\r\n if (!$util.isString(message.issuerOrigin))\r\n return \"issuerOrigin: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ReimbursementInfo message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementInfo} ReimbursementInfo\r\n */\r\n ReimbursementInfo.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ReimbursementInfo)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ReimbursementInfo();\r\n if (object.reimbursementId != null)\r\n message.reimbursementId = object.reimbursementId | 0;\r\n if (object.sourceId != null)\r\n message.sourceId = object.sourceId | 0;\r\n if (object.batchNo != null)\r\n message.batchNo = String(object.batchNo);\r\n if (object.batchNoOrigin != null)\r\n message.batchNoOrigin = String(object.batchNoOrigin);\r\n if (object.date != null)\r\n message.date = String(object.date);\r\n if (object.time != null)\r\n message.time = String(object.time);\r\n if (object.submitDate != null)\r\n message.submitDate = String(object.submitDate);\r\n if (object.paydueDate != null)\r\n message.paydueDate = String(object.paydueDate);\r\n if (object.cardNo != null)\r\n message.cardNo = String(object.cardNo);\r\n if (object.authCode != null)\r\n message.authCode = String(object.authCode);\r\n if (object.amount != null)\r\n message.amount = Number(object.amount);\r\n if (object.code != null)\r\n message.code = object.code | 0;\r\n if (object.codeOrigin != null)\r\n message.codeOrigin = String(object.codeOrigin);\r\n if (object.type != null)\r\n message.type = object.type | 0;\r\n if (object.settleCode != null)\r\n message.settleCode = object.settleCode | 0;\r\n if (object.orderNo != null)\r\n message.orderNo = String(object.orderNo);\r\n if (object.isCreditCard != null)\r\n message.isCreditCard = object.isCreditCard | 0;\r\n if (object.cardType != null)\r\n message.cardType = object.cardType | 0;\r\n if (object.cardTypeOrigin != null)\r\n message.cardTypeOrigin = String(object.cardTypeOrigin);\r\n if (object.installCode != null)\r\n message.installCode = object.installCode | 0;\r\n if (object.installCodeOrigin != null)\r\n message.installCodeOrigin = String(object.installCodeOrigin);\r\n if (object.payFlag != null)\r\n message.payFlag = object.payFlag | 0;\r\n if (object.payFlagOrigin != null)\r\n message.payFlagOrigin = String(object.payFlagOrigin);\r\n if (object.installTimes != null)\r\n message.installTimes = object.installTimes | 0;\r\n if (object.installAverageAmount != null)\r\n message.installAverageAmount = Number(object.installAverageAmount);\r\n if (object.storeCode != null)\r\n message.storeCode = String(object.storeCode);\r\n if (object.terminalNo != null)\r\n message.terminalNo = String(object.terminalNo);\r\n if (object.feeFlag != null)\r\n message.feeFlag = object.feeFlag | 0;\r\n if (object.feeFlagOrigin != null)\r\n message.feeFlagOrigin = String(object.feeFlagOrigin);\r\n if (object.stan != null)\r\n message.stan = String(object.stan);\r\n if (object.issuer != null)\r\n message.issuer = String(object.issuer);\r\n if (object.isOurBank != null)\r\n message.isOurBank = object.isOurBank | 0;\r\n if (object.taiwanPayQrFlag != null)\r\n message.taiwanPayQrFlag = object.taiwanPayQrFlag | 0;\r\n if (object.infoType != null)\r\n message.infoType = object.infoType | 0;\r\n if (object.tidNumber != null)\r\n message.tidNumber = String(object.tidNumber);\r\n if (object.storeCodeMapping != null)\r\n message.storeCodeMapping = String(object.storeCodeMapping);\r\n if (object.subStoreCode != null)\r\n message.subStoreCode = String(object.subStoreCode);\r\n if (object.stanOrigin != null)\r\n message.stanOrigin = String(object.stanOrigin);\r\n if (object.tpan != null)\r\n message.tpan = String(object.tpan);\r\n if (object.issuerOrigin != null)\r\n message.issuerOrigin = String(object.issuerOrigin);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ReimbursementInfo message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ReimbursementInfo} message ReimbursementInfo\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ReimbursementInfo.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.reimbursementId = 0;\r\n object.sourceId = 0;\r\n object.batchNo = \"\";\r\n object.batchNoOrigin = \"\";\r\n object.date = \"\";\r\n object.time = \"\";\r\n object.submitDate = \"\";\r\n object.paydueDate = \"\";\r\n object.cardNo = \"\";\r\n object.authCode = \"\";\r\n object.amount = 0;\r\n object.code = 0;\r\n object.codeOrigin = \"\";\r\n object.type = 0;\r\n object.settleCode = 0;\r\n object.orderNo = \"\";\r\n object.isCreditCard = 0;\r\n object.cardType = 0;\r\n object.cardTypeOrigin = \"\";\r\n object.installCode = 0;\r\n object.installCodeOrigin = \"\";\r\n object.payFlag = 0;\r\n object.payFlagOrigin = \"\";\r\n object.installTimes = 0;\r\n object.installAverageAmount = 0;\r\n object.storeCode = \"\";\r\n object.terminalNo = \"\";\r\n object.feeFlag = 0;\r\n object.feeFlagOrigin = \"\";\r\n object.stan = \"\";\r\n object.issuer = \"\";\r\n object.isOurBank = 0;\r\n object.taiwanPayQrFlag = 0;\r\n object.infoType = 0;\r\n object.tidNumber = \"\";\r\n object.storeCodeMapping = \"\";\r\n object.subStoreCode = \"\";\r\n object.stanOrigin = \"\";\r\n object.tpan = \"\";\r\n object.issuerOrigin = \"\";\r\n }\r\n if (message.reimbursementId != null && message.hasOwnProperty(\"reimbursementId\"))\r\n object.reimbursementId = message.reimbursementId;\r\n if (message.sourceId != null && message.hasOwnProperty(\"sourceId\"))\r\n object.sourceId = message.sourceId;\r\n if (message.batchNo != null && message.hasOwnProperty(\"batchNo\"))\r\n object.batchNo = message.batchNo;\r\n if (message.batchNoOrigin != null && message.hasOwnProperty(\"batchNoOrigin\"))\r\n object.batchNoOrigin = message.batchNoOrigin;\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n object.date = message.date;\r\n if (message.time != null && message.hasOwnProperty(\"time\"))\r\n object.time = message.time;\r\n if (message.submitDate != null && message.hasOwnProperty(\"submitDate\"))\r\n object.submitDate = message.submitDate;\r\n if (message.paydueDate != null && message.hasOwnProperty(\"paydueDate\"))\r\n object.paydueDate = message.paydueDate;\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n object.cardNo = message.cardNo;\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n object.authCode = message.authCode;\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n object.amount = options.json && !isFinite(message.amount) ? String(message.amount) : message.amount;\r\n if (message.code != null && message.hasOwnProperty(\"code\"))\r\n object.code = message.code;\r\n if (message.codeOrigin != null && message.hasOwnProperty(\"codeOrigin\"))\r\n object.codeOrigin = message.codeOrigin;\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.settleCode != null && message.hasOwnProperty(\"settleCode\"))\r\n object.settleCode = message.settleCode;\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n object.orderNo = message.orderNo;\r\n if (message.isCreditCard != null && message.hasOwnProperty(\"isCreditCard\"))\r\n object.isCreditCard = message.isCreditCard;\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n object.cardType = message.cardType;\r\n if (message.cardTypeOrigin != null && message.hasOwnProperty(\"cardTypeOrigin\"))\r\n object.cardTypeOrigin = message.cardTypeOrigin;\r\n if (message.installCode != null && message.hasOwnProperty(\"installCode\"))\r\n object.installCode = message.installCode;\r\n if (message.installCodeOrigin != null && message.hasOwnProperty(\"installCodeOrigin\"))\r\n object.installCodeOrigin = message.installCodeOrigin;\r\n if (message.payFlag != null && message.hasOwnProperty(\"payFlag\"))\r\n object.payFlag = message.payFlag;\r\n if (message.payFlagOrigin != null && message.hasOwnProperty(\"payFlagOrigin\"))\r\n object.payFlagOrigin = message.payFlagOrigin;\r\n if (message.installTimes != null && message.hasOwnProperty(\"installTimes\"))\r\n object.installTimes = message.installTimes;\r\n if (message.installAverageAmount != null && message.hasOwnProperty(\"installAverageAmount\"))\r\n object.installAverageAmount = options.json && !isFinite(message.installAverageAmount) ? String(message.installAverageAmount) : message.installAverageAmount;\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n object.storeCode = message.storeCode;\r\n if (message.terminalNo != null && message.hasOwnProperty(\"terminalNo\"))\r\n object.terminalNo = message.terminalNo;\r\n if (message.feeFlag != null && message.hasOwnProperty(\"feeFlag\"))\r\n object.feeFlag = message.feeFlag;\r\n if (message.feeFlagOrigin != null && message.hasOwnProperty(\"feeFlagOrigin\"))\r\n object.feeFlagOrigin = message.feeFlagOrigin;\r\n if (message.stan != null && message.hasOwnProperty(\"stan\"))\r\n object.stan = message.stan;\r\n if (message.issuer != null && message.hasOwnProperty(\"issuer\"))\r\n object.issuer = message.issuer;\r\n if (message.isOurBank != null && message.hasOwnProperty(\"isOurBank\"))\r\n object.isOurBank = message.isOurBank;\r\n if (message.taiwanPayQrFlag != null && message.hasOwnProperty(\"taiwanPayQrFlag\"))\r\n object.taiwanPayQrFlag = message.taiwanPayQrFlag;\r\n if (message.infoType != null && message.hasOwnProperty(\"infoType\"))\r\n object.infoType = message.infoType;\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n object.tidNumber = message.tidNumber;\r\n if (message.storeCodeMapping != null && message.hasOwnProperty(\"storeCodeMapping\"))\r\n object.storeCodeMapping = message.storeCodeMapping;\r\n if (message.subStoreCode != null && message.hasOwnProperty(\"subStoreCode\"))\r\n object.subStoreCode = message.subStoreCode;\r\n if (message.stanOrigin != null && message.hasOwnProperty(\"stanOrigin\"))\r\n object.stanOrigin = message.stanOrigin;\r\n if (message.tpan != null && message.hasOwnProperty(\"tpan\"))\r\n object.tpan = message.tpan;\r\n if (message.issuerOrigin != null && message.hasOwnProperty(\"issuerOrigin\"))\r\n object.issuerOrigin = message.issuerOrigin;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ReimbursementInfo to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementInfo\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ReimbursementInfo.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ReimbursementInfo;\r\n })();\r\n\r\n Protobuf.Reimbursement = (function() {\r\n\r\n /**\r\n * Properties of a Reimbursement.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IReimbursement\r\n * @property {Array.|null} [list] Reimbursement list\r\n */\r\n\r\n /**\r\n * Constructs a new Reimbursement.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a Reimbursement.\r\n * @implements IReimbursement\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IReimbursement=} [properties] Properties to set\r\n */\r\n function Reimbursement(properties) {\r\n this.list = [];\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * Reimbursement list.\r\n * @member {Array.} list\r\n * @memberof TCBReceiptApi.Protobuf.Reimbursement\r\n * @instance\r\n */\r\n Reimbursement.prototype.list = $util.emptyArray;\r\n\r\n /**\r\n * Creates a new Reimbursement instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.Reimbursement\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursement=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.Reimbursement} Reimbursement instance\r\n */\r\n Reimbursement.create = function create(properties) {\r\n return new Reimbursement(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified Reimbursement message. Does not implicitly {@link TCBReceiptApi.Protobuf.Reimbursement.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.Reimbursement\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursement} message Reimbursement message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Reimbursement.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.list != null && message.list.length)\r\n for (var i = 0; i < message.list.length; ++i)\r\n $root.TCBReceiptApi.Protobuf.ReimbursementInfo.encode(message.list[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified Reimbursement message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.Reimbursement.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Reimbursement\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursement} message Reimbursement message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Reimbursement.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a Reimbursement message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.Reimbursement\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.Reimbursement} Reimbursement\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Reimbursement.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.Reimbursement();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (!(message.list && message.list.length))\r\n message.list = [];\r\n message.list.push($root.TCBReceiptApi.Protobuf.ReimbursementInfo.decode(reader, reader.uint32()));\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a Reimbursement message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Reimbursement\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.Reimbursement} Reimbursement\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Reimbursement.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a Reimbursement message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.Reimbursement\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n Reimbursement.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.list != null && message.hasOwnProperty(\"list\")) {\r\n if (!Array.isArray(message.list))\r\n return \"list: array expected\";\r\n for (var i = 0; i < message.list.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementInfo.verify(message.list[i]);\r\n if (error)\r\n return \"list.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a Reimbursement message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.Reimbursement\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.Reimbursement} Reimbursement\r\n */\r\n Reimbursement.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.Reimbursement)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.Reimbursement();\r\n if (object.list) {\r\n if (!Array.isArray(object.list))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.Reimbursement.list: array expected\");\r\n message.list = [];\r\n for (var i = 0; i < object.list.length; ++i) {\r\n if (typeof object.list[i] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.Reimbursement.list: object expected\");\r\n message.list[i] = $root.TCBReceiptApi.Protobuf.ReimbursementInfo.fromObject(object.list[i]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a Reimbursement message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.Reimbursement\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.Reimbursement} message Reimbursement\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n Reimbursement.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.arrays || options.defaults)\r\n object.list = [];\r\n if (message.list && message.list.length) {\r\n object.list = [];\r\n for (var j = 0; j < message.list.length; ++j)\r\n object.list[j] = $root.TCBReceiptApi.Protobuf.ReimbursementInfo.toObject(message.list[j], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this Reimbursement to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.Reimbursement\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n Reimbursement.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return Reimbursement;\r\n })();\r\n\r\n Protobuf.ReimbursementBatchNoMap = (function() {\r\n\r\n /**\r\n * Properties of a ReimbursementBatchNoMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IReimbursementBatchNoMap\r\n * @property {Object.|null} [byBatchNo] ReimbursementBatchNoMap byBatchNo\r\n */\r\n\r\n /**\r\n * Constructs a new ReimbursementBatchNoMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ReimbursementBatchNoMap.\r\n * @implements IReimbursementBatchNoMap\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementBatchNoMap=} [properties] Properties to set\r\n */\r\n function ReimbursementBatchNoMap(properties) {\r\n this.byBatchNo = {};\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ReimbursementBatchNoMap byBatchNo.\r\n * @member {Object.} byBatchNo\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementBatchNoMap\r\n * @instance\r\n */\r\n ReimbursementBatchNoMap.prototype.byBatchNo = $util.emptyObject;\r\n\r\n /**\r\n * Creates a new ReimbursementBatchNoMap instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementBatchNoMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementBatchNoMap=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementBatchNoMap} ReimbursementBatchNoMap instance\r\n */\r\n ReimbursementBatchNoMap.create = function create(properties) {\r\n return new ReimbursementBatchNoMap(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementBatchNoMap message. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementBatchNoMap.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementBatchNoMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementBatchNoMap} message ReimbursementBatchNoMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementBatchNoMap.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.byBatchNo != null && Object.hasOwnProperty.call(message, \"byBatchNo\"))\r\n for (var keys = Object.keys(message.byBatchNo), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.Reimbursement.encode(message.byBatchNo[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementBatchNoMap message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementBatchNoMap.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementBatchNoMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementBatchNoMap} message ReimbursementBatchNoMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementBatchNoMap.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementBatchNoMap message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementBatchNoMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementBatchNoMap} ReimbursementBatchNoMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementBatchNoMap.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ReimbursementBatchNoMap(), key, value;\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (message.byBatchNo === $util.emptyObject)\r\n message.byBatchNo = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = \"\";\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.string();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.Reimbursement.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.byBatchNo[key] = value;\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementBatchNoMap message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementBatchNoMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementBatchNoMap} ReimbursementBatchNoMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementBatchNoMap.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ReimbursementBatchNoMap message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementBatchNoMap\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ReimbursementBatchNoMap.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.byBatchNo != null && message.hasOwnProperty(\"byBatchNo\")) {\r\n if (!$util.isObject(message.byBatchNo))\r\n return \"byBatchNo: object expected\";\r\n var key = Object.keys(message.byBatchNo);\r\n for (var i = 0; i < key.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.Reimbursement.verify(message.byBatchNo[key[i]]);\r\n if (error)\r\n return \"byBatchNo.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ReimbursementBatchNoMap message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementBatchNoMap\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementBatchNoMap} ReimbursementBatchNoMap\r\n */\r\n ReimbursementBatchNoMap.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ReimbursementBatchNoMap)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ReimbursementBatchNoMap();\r\n if (object.byBatchNo) {\r\n if (typeof object.byBatchNo !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementBatchNoMap.byBatchNo: object expected\");\r\n message.byBatchNo = {};\r\n for (var keys = Object.keys(object.byBatchNo), i = 0; i < keys.length; ++i) {\r\n if (typeof object.byBatchNo[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementBatchNoMap.byBatchNo: object expected\");\r\n message.byBatchNo[keys[i]] = $root.TCBReceiptApi.Protobuf.Reimbursement.fromObject(object.byBatchNo[keys[i]]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ReimbursementBatchNoMap message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementBatchNoMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ReimbursementBatchNoMap} message ReimbursementBatchNoMap\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ReimbursementBatchNoMap.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.objects || options.defaults)\r\n object.byBatchNo = {};\r\n var keys2;\r\n if (message.byBatchNo && (keys2 = Object.keys(message.byBatchNo)).length) {\r\n object.byBatchNo = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.byBatchNo[keys2[j]] = $root.TCBReceiptApi.Protobuf.Reimbursement.toObject(message.byBatchNo[keys2[j]], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ReimbursementBatchNoMap to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementBatchNoMap\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ReimbursementBatchNoMap.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ReimbursementBatchNoMap;\r\n })();\r\n\r\n Protobuf.ReimbursementSecondMap = (function() {\r\n\r\n /**\r\n * Properties of a ReimbursementSecondMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IReimbursementSecondMap\r\n * @property {Object.|null} [bySecondColumn] ReimbursementSecondMap bySecondColumn\r\n */\r\n\r\n /**\r\n * Constructs a new ReimbursementSecondMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ReimbursementSecondMap.\r\n * @implements IReimbursementSecondMap\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementSecondMap=} [properties] Properties to set\r\n */\r\n function ReimbursementSecondMap(properties) {\r\n this.bySecondColumn = {};\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ReimbursementSecondMap bySecondColumn.\r\n * @member {Object.} bySecondColumn\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSecondMap\r\n * @instance\r\n */\r\n ReimbursementSecondMap.prototype.bySecondColumn = $util.emptyObject;\r\n\r\n /**\r\n * Creates a new ReimbursementSecondMap instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSecondMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementSecondMap=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementSecondMap} ReimbursementSecondMap instance\r\n */\r\n ReimbursementSecondMap.create = function create(properties) {\r\n return new ReimbursementSecondMap(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementSecondMap message. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementSecondMap.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSecondMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementSecondMap} message ReimbursementSecondMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementSecondMap.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.bySecondColumn != null && Object.hasOwnProperty.call(message, \"bySecondColumn\"))\r\n for (var keys = Object.keys(message.bySecondColumn), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.ReimbursementBatchNoMap.encode(message.bySecondColumn[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementSecondMap message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementSecondMap.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSecondMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementSecondMap} message ReimbursementSecondMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementSecondMap.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementSecondMap message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSecondMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementSecondMap} ReimbursementSecondMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementSecondMap.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ReimbursementSecondMap(), key, value;\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (message.bySecondColumn === $util.emptyObject)\r\n message.bySecondColumn = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = \"\";\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.string();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.ReimbursementBatchNoMap.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.bySecondColumn[key] = value;\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementSecondMap message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSecondMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementSecondMap} ReimbursementSecondMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementSecondMap.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ReimbursementSecondMap message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSecondMap\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ReimbursementSecondMap.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.bySecondColumn != null && message.hasOwnProperty(\"bySecondColumn\")) {\r\n if (!$util.isObject(message.bySecondColumn))\r\n return \"bySecondColumn: object expected\";\r\n var key = Object.keys(message.bySecondColumn);\r\n for (var i = 0; i < key.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementBatchNoMap.verify(message.bySecondColumn[key[i]]);\r\n if (error)\r\n return \"bySecondColumn.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ReimbursementSecondMap message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSecondMap\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementSecondMap} ReimbursementSecondMap\r\n */\r\n ReimbursementSecondMap.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ReimbursementSecondMap)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ReimbursementSecondMap();\r\n if (object.bySecondColumn) {\r\n if (typeof object.bySecondColumn !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementSecondMap.bySecondColumn: object expected\");\r\n message.bySecondColumn = {};\r\n for (var keys = Object.keys(object.bySecondColumn), i = 0; i < keys.length; ++i) {\r\n if (typeof object.bySecondColumn[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementSecondMap.bySecondColumn: object expected\");\r\n message.bySecondColumn[keys[i]] = $root.TCBReceiptApi.Protobuf.ReimbursementBatchNoMap.fromObject(object.bySecondColumn[keys[i]]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ReimbursementSecondMap message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSecondMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ReimbursementSecondMap} message ReimbursementSecondMap\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ReimbursementSecondMap.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.objects || options.defaults)\r\n object.bySecondColumn = {};\r\n var keys2;\r\n if (message.bySecondColumn && (keys2 = Object.keys(message.bySecondColumn)).length) {\r\n object.bySecondColumn = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.bySecondColumn[keys2[j]] = $root.TCBReceiptApi.Protobuf.ReimbursementBatchNoMap.toObject(message.bySecondColumn[keys2[j]], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ReimbursementSecondMap to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSecondMap\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ReimbursementSecondMap.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ReimbursementSecondMap;\r\n })();\r\n\r\n Protobuf.ReimbursementFirstMap = (function() {\r\n\r\n /**\r\n * Properties of a ReimbursementFirstMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IReimbursementFirstMap\r\n * @property {Object.|null} [byFirstColumn] ReimbursementFirstMap byFirstColumn\r\n */\r\n\r\n /**\r\n * Constructs a new ReimbursementFirstMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ReimbursementFirstMap.\r\n * @implements IReimbursementFirstMap\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementFirstMap=} [properties] Properties to set\r\n */\r\n function ReimbursementFirstMap(properties) {\r\n this.byFirstColumn = {};\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ReimbursementFirstMap byFirstColumn.\r\n * @member {Object.} byFirstColumn\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementFirstMap\r\n * @instance\r\n */\r\n ReimbursementFirstMap.prototype.byFirstColumn = $util.emptyObject;\r\n\r\n /**\r\n * Creates a new ReimbursementFirstMap instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementFirstMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementFirstMap=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementFirstMap} ReimbursementFirstMap instance\r\n */\r\n ReimbursementFirstMap.create = function create(properties) {\r\n return new ReimbursementFirstMap(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementFirstMap message. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementFirstMap.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementFirstMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementFirstMap} message ReimbursementFirstMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementFirstMap.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.byFirstColumn != null && Object.hasOwnProperty.call(message, \"byFirstColumn\"))\r\n for (var keys = Object.keys(message.byFirstColumn), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.ReimbursementSecondMap.encode(message.byFirstColumn[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementFirstMap message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementFirstMap.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementFirstMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementFirstMap} message ReimbursementFirstMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementFirstMap.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementFirstMap message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementFirstMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementFirstMap} ReimbursementFirstMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementFirstMap.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ReimbursementFirstMap(), key, value;\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (message.byFirstColumn === $util.emptyObject)\r\n message.byFirstColumn = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = \"\";\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.string();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.ReimbursementSecondMap.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.byFirstColumn[key] = value;\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementFirstMap message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementFirstMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementFirstMap} ReimbursementFirstMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementFirstMap.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ReimbursementFirstMap message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementFirstMap\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ReimbursementFirstMap.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.byFirstColumn != null && message.hasOwnProperty(\"byFirstColumn\")) {\r\n if (!$util.isObject(message.byFirstColumn))\r\n return \"byFirstColumn: object expected\";\r\n var key = Object.keys(message.byFirstColumn);\r\n for (var i = 0; i < key.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementSecondMap.verify(message.byFirstColumn[key[i]]);\r\n if (error)\r\n return \"byFirstColumn.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ReimbursementFirstMap message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementFirstMap\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementFirstMap} ReimbursementFirstMap\r\n */\r\n ReimbursementFirstMap.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ReimbursementFirstMap)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ReimbursementFirstMap();\r\n if (object.byFirstColumn) {\r\n if (typeof object.byFirstColumn !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementFirstMap.byFirstColumn: object expected\");\r\n message.byFirstColumn = {};\r\n for (var keys = Object.keys(object.byFirstColumn), i = 0; i < keys.length; ++i) {\r\n if (typeof object.byFirstColumn[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementFirstMap.byFirstColumn: object expected\");\r\n message.byFirstColumn[keys[i]] = $root.TCBReceiptApi.Protobuf.ReimbursementSecondMap.fromObject(object.byFirstColumn[keys[i]]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ReimbursementFirstMap message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementFirstMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ReimbursementFirstMap} message ReimbursementFirstMap\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ReimbursementFirstMap.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.objects || options.defaults)\r\n object.byFirstColumn = {};\r\n var keys2;\r\n if (message.byFirstColumn && (keys2 = Object.keys(message.byFirstColumn)).length) {\r\n object.byFirstColumn = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.byFirstColumn[keys2[j]] = $root.TCBReceiptApi.Protobuf.ReimbursementSecondMap.toObject(message.byFirstColumn[keys2[j]], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ReimbursementFirstMap to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementFirstMap\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ReimbursementFirstMap.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ReimbursementFirstMap;\r\n })();\r\n\r\n Protobuf.ReimbursementCollection = (function() {\r\n\r\n /**\r\n * Properties of a ReimbursementCollection.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IReimbursementCollection\r\n * @property {TCBReceiptApi.Protobuf.IReimbursementFirstMap|null} [byDate] ReimbursementCollection byDate\r\n * @property {TCBReceiptApi.Protobuf.IReimbursementFirstMap|null} [byTerminalNo] ReimbursementCollection byTerminalNo\r\n */\r\n\r\n /**\r\n * Constructs a new ReimbursementCollection.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ReimbursementCollection.\r\n * @implements IReimbursementCollection\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementCollection=} [properties] Properties to set\r\n */\r\n function ReimbursementCollection(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ReimbursementCollection byDate.\r\n * @member {TCBReceiptApi.Protobuf.IReimbursementFirstMap|null|undefined} byDate\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementCollection\r\n * @instance\r\n */\r\n ReimbursementCollection.prototype.byDate = null;\r\n\r\n /**\r\n * ReimbursementCollection byTerminalNo.\r\n * @member {TCBReceiptApi.Protobuf.IReimbursementFirstMap|null|undefined} byTerminalNo\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementCollection\r\n * @instance\r\n */\r\n ReimbursementCollection.prototype.byTerminalNo = null;\r\n\r\n /**\r\n * Creates a new ReimbursementCollection instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementCollection\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementCollection=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementCollection} ReimbursementCollection instance\r\n */\r\n ReimbursementCollection.create = function create(properties) {\r\n return new ReimbursementCollection(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementCollection message. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementCollection.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementCollection\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementCollection} message ReimbursementCollection message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementCollection.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.byDate != null && Object.hasOwnProperty.call(message, \"byDate\"))\r\n $root.TCBReceiptApi.Protobuf.ReimbursementFirstMap.encode(message.byDate, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n if (message.byTerminalNo != null && Object.hasOwnProperty.call(message, \"byTerminalNo\"))\r\n $root.TCBReceiptApi.Protobuf.ReimbursementFirstMap.encode(message.byTerminalNo, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementCollection message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementCollection.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementCollection\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementCollection} message ReimbursementCollection message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementCollection.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementCollection message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementCollection\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementCollection} ReimbursementCollection\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementCollection.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ReimbursementCollection();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.byDate = $root.TCBReceiptApi.Protobuf.ReimbursementFirstMap.decode(reader, reader.uint32());\r\n break;\r\n case 2:\r\n message.byTerminalNo = $root.TCBReceiptApi.Protobuf.ReimbursementFirstMap.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementCollection message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementCollection\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementCollection} ReimbursementCollection\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementCollection.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ReimbursementCollection message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementCollection\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ReimbursementCollection.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.byDate != null && message.hasOwnProperty(\"byDate\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementFirstMap.verify(message.byDate);\r\n if (error)\r\n return \"byDate.\" + error;\r\n }\r\n if (message.byTerminalNo != null && message.hasOwnProperty(\"byTerminalNo\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementFirstMap.verify(message.byTerminalNo);\r\n if (error)\r\n return \"byTerminalNo.\" + error;\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ReimbursementCollection message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementCollection\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementCollection} ReimbursementCollection\r\n */\r\n ReimbursementCollection.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ReimbursementCollection)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ReimbursementCollection();\r\n if (object.byDate != null) {\r\n if (typeof object.byDate !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementCollection.byDate: object expected\");\r\n message.byDate = $root.TCBReceiptApi.Protobuf.ReimbursementFirstMap.fromObject(object.byDate);\r\n }\r\n if (object.byTerminalNo != null) {\r\n if (typeof object.byTerminalNo !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementCollection.byTerminalNo: object expected\");\r\n message.byTerminalNo = $root.TCBReceiptApi.Protobuf.ReimbursementFirstMap.fromObject(object.byTerminalNo);\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ReimbursementCollection message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementCollection\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ReimbursementCollection} message ReimbursementCollection\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ReimbursementCollection.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.byDate = null;\r\n object.byTerminalNo = null;\r\n }\r\n if (message.byDate != null && message.hasOwnProperty(\"byDate\"))\r\n object.byDate = $root.TCBReceiptApi.Protobuf.ReimbursementFirstMap.toObject(message.byDate, options);\r\n if (message.byTerminalNo != null && message.hasOwnProperty(\"byTerminalNo\"))\r\n object.byTerminalNo = $root.TCBReceiptApi.Protobuf.ReimbursementFirstMap.toObject(message.byTerminalNo, options);\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ReimbursementCollection to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementCollection\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ReimbursementCollection.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ReimbursementCollection;\r\n })();\r\n\r\n Protobuf.ReimbursementCollectionMap = (function() {\r\n\r\n /**\r\n * Properties of a ReimbursementCollectionMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IReimbursementCollectionMap\r\n * @property {Object.|null} [map] ReimbursementCollectionMap map\r\n */\r\n\r\n /**\r\n * Constructs a new ReimbursementCollectionMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ReimbursementCollectionMap.\r\n * @implements IReimbursementCollectionMap\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementCollectionMap=} [properties] Properties to set\r\n */\r\n function ReimbursementCollectionMap(properties) {\r\n this.map = {};\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ReimbursementCollectionMap map.\r\n * @member {Object.} map\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementCollectionMap\r\n * @instance\r\n */\r\n ReimbursementCollectionMap.prototype.map = $util.emptyObject;\r\n\r\n /**\r\n * Creates a new ReimbursementCollectionMap instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementCollectionMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementCollectionMap=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementCollectionMap} ReimbursementCollectionMap instance\r\n */\r\n ReimbursementCollectionMap.create = function create(properties) {\r\n return new ReimbursementCollectionMap(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementCollectionMap message. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementCollectionMap.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementCollectionMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementCollectionMap} message ReimbursementCollectionMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementCollectionMap.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.map != null && Object.hasOwnProperty.call(message, \"map\"))\r\n for (var keys = Object.keys(message.map), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.ReimbursementCollection.encode(message.map[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementCollectionMap message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementCollectionMap.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementCollectionMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementCollectionMap} message ReimbursementCollectionMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementCollectionMap.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementCollectionMap message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementCollectionMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementCollectionMap} ReimbursementCollectionMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementCollectionMap.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ReimbursementCollectionMap(), key, value;\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (message.map === $util.emptyObject)\r\n message.map = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = \"\";\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.string();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.ReimbursementCollection.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.map[key] = value;\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementCollectionMap message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementCollectionMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementCollectionMap} ReimbursementCollectionMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementCollectionMap.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ReimbursementCollectionMap message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementCollectionMap\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ReimbursementCollectionMap.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.map != null && message.hasOwnProperty(\"map\")) {\r\n if (!$util.isObject(message.map))\r\n return \"map: object expected\";\r\n var key = Object.keys(message.map);\r\n for (var i = 0; i < key.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementCollection.verify(message.map[key[i]]);\r\n if (error)\r\n return \"map.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ReimbursementCollectionMap message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementCollectionMap\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementCollectionMap} ReimbursementCollectionMap\r\n */\r\n ReimbursementCollectionMap.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ReimbursementCollectionMap)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ReimbursementCollectionMap();\r\n if (object.map) {\r\n if (typeof object.map !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementCollectionMap.map: object expected\");\r\n message.map = {};\r\n for (var keys = Object.keys(object.map), i = 0; i < keys.length; ++i) {\r\n if (typeof object.map[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementCollectionMap.map: object expected\");\r\n message.map[keys[i]] = $root.TCBReceiptApi.Protobuf.ReimbursementCollection.fromObject(object.map[keys[i]]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ReimbursementCollectionMap message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementCollectionMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ReimbursementCollectionMap} message ReimbursementCollectionMap\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ReimbursementCollectionMap.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.objects || options.defaults)\r\n object.map = {};\r\n var keys2;\r\n if (message.map && (keys2 = Object.keys(message.map)).length) {\r\n object.map = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.map[keys2[j]] = $root.TCBReceiptApi.Protobuf.ReimbursementCollection.toObject(message.map[keys2[j]], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ReimbursementCollectionMap to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementCollectionMap\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ReimbursementCollectionMap.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ReimbursementCollectionMap;\r\n })();\r\n\r\n Protobuf.ReimbursementTotal = (function() {\r\n\r\n /**\r\n * Properties of a ReimbursementTotal.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IReimbursementTotal\r\n * @property {number|null} [count] ReimbursementTotal count\r\n * @property {number|null} [total] ReimbursementTotal total\r\n */\r\n\r\n /**\r\n * Constructs a new ReimbursementTotal.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ReimbursementTotal.\r\n * @implements IReimbursementTotal\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementTotal=} [properties] Properties to set\r\n */\r\n function ReimbursementTotal(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ReimbursementTotal count.\r\n * @member {number} count\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementTotal\r\n * @instance\r\n */\r\n ReimbursementTotal.prototype.count = 0;\r\n\r\n /**\r\n * ReimbursementTotal total.\r\n * @member {number} total\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementTotal\r\n * @instance\r\n */\r\n ReimbursementTotal.prototype.total = 0;\r\n\r\n /**\r\n * Creates a new ReimbursementTotal instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementTotal=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementTotal} ReimbursementTotal instance\r\n */\r\n ReimbursementTotal.create = function create(properties) {\r\n return new ReimbursementTotal(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementTotal message. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementTotal.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementTotal} message ReimbursementTotal message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementTotal.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.count != null && Object.hasOwnProperty.call(message, \"count\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.count);\r\n if (message.total != null && Object.hasOwnProperty.call(message, \"total\"))\r\n writer.uint32(/* id 2, wireType 1 =*/17).double(message.total);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementTotal message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementTotal.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementTotal} message ReimbursementTotal message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementTotal.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementTotal message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementTotal\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementTotal} ReimbursementTotal\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementTotal.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ReimbursementTotal();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.count = reader.int32();\r\n break;\r\n case 2:\r\n message.total = reader.double();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementTotal message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementTotal\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementTotal} ReimbursementTotal\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementTotal.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ReimbursementTotal message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementTotal\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ReimbursementTotal.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.count != null && message.hasOwnProperty(\"count\"))\r\n if (!$util.isInteger(message.count))\r\n return \"count: integer expected\";\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n if (typeof message.total !== \"number\")\r\n return \"total: number expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ReimbursementTotal message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementTotal\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementTotal} ReimbursementTotal\r\n */\r\n ReimbursementTotal.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ReimbursementTotal)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ReimbursementTotal();\r\n if (object.count != null)\r\n message.count = object.count | 0;\r\n if (object.total != null)\r\n message.total = Number(object.total);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ReimbursementTotal message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementTotal\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ReimbursementTotal} message ReimbursementTotal\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ReimbursementTotal.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.count = 0;\r\n object.total = 0;\r\n }\r\n if (message.count != null && message.hasOwnProperty(\"count\"))\r\n object.count = message.count;\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n object.total = options.json && !isFinite(message.total) ? String(message.total) : message.total;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ReimbursementTotal to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementTotal\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ReimbursementTotal.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ReimbursementTotal;\r\n })();\r\n\r\n Protobuf.ReimbursementSummaryInfo = (function() {\r\n\r\n /**\r\n * Properties of a ReimbursementSummaryInfo.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IReimbursementSummaryInfo\r\n * @property {number|null} [ourBankCount] ReimbursementSummaryInfo ourBankCount\r\n * @property {number|null} [ourBankAmount] ReimbursementSummaryInfo ourBankAmount\r\n * @property {number|null} [notOurBankCount] ReimbursementSummaryInfo notOurBankCount\r\n * @property {number|null} [notOurBankAmount] ReimbursementSummaryInfo notOurBankAmount\r\n * @property {number|null} [totalCount] ReimbursementSummaryInfo totalCount\r\n * @property {number|null} [totalAmount] ReimbursementSummaryInfo totalAmount\r\n */\r\n\r\n /**\r\n * Constructs a new ReimbursementSummaryInfo.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ReimbursementSummaryInfo.\r\n * @implements IReimbursementSummaryInfo\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo=} [properties] Properties to set\r\n */\r\n function ReimbursementSummaryInfo(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ReimbursementSummaryInfo ourBankCount.\r\n * @member {number} ourBankCount\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryInfo\r\n * @instance\r\n */\r\n ReimbursementSummaryInfo.prototype.ourBankCount = 0;\r\n\r\n /**\r\n * ReimbursementSummaryInfo ourBankAmount.\r\n * @member {number} ourBankAmount\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryInfo\r\n * @instance\r\n */\r\n ReimbursementSummaryInfo.prototype.ourBankAmount = 0;\r\n\r\n /**\r\n * ReimbursementSummaryInfo notOurBankCount.\r\n * @member {number} notOurBankCount\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryInfo\r\n * @instance\r\n */\r\n ReimbursementSummaryInfo.prototype.notOurBankCount = 0;\r\n\r\n /**\r\n * ReimbursementSummaryInfo notOurBankAmount.\r\n * @member {number} notOurBankAmount\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryInfo\r\n * @instance\r\n */\r\n ReimbursementSummaryInfo.prototype.notOurBankAmount = 0;\r\n\r\n /**\r\n * ReimbursementSummaryInfo totalCount.\r\n * @member {number} totalCount\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryInfo\r\n * @instance\r\n */\r\n ReimbursementSummaryInfo.prototype.totalCount = 0;\r\n\r\n /**\r\n * ReimbursementSummaryInfo totalAmount.\r\n * @member {number} totalAmount\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryInfo\r\n * @instance\r\n */\r\n ReimbursementSummaryInfo.prototype.totalAmount = 0;\r\n\r\n /**\r\n * Creates a new ReimbursementSummaryInfo instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryInfo\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementSummaryInfo} ReimbursementSummaryInfo instance\r\n */\r\n ReimbursementSummaryInfo.create = function create(properties) {\r\n return new ReimbursementSummaryInfo(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementSummaryInfo message. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryInfo\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo} message ReimbursementSummaryInfo message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementSummaryInfo.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.ourBankCount != null && Object.hasOwnProperty.call(message, \"ourBankCount\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.ourBankCount);\r\n if (message.ourBankAmount != null && Object.hasOwnProperty.call(message, \"ourBankAmount\"))\r\n writer.uint32(/* id 2, wireType 1 =*/17).double(message.ourBankAmount);\r\n if (message.notOurBankCount != null && Object.hasOwnProperty.call(message, \"notOurBankCount\"))\r\n writer.uint32(/* id 3, wireType 0 =*/24).int32(message.notOurBankCount);\r\n if (message.notOurBankAmount != null && Object.hasOwnProperty.call(message, \"notOurBankAmount\"))\r\n writer.uint32(/* id 4, wireType 1 =*/33).double(message.notOurBankAmount);\r\n if (message.totalCount != null && Object.hasOwnProperty.call(message, \"totalCount\"))\r\n writer.uint32(/* id 5, wireType 0 =*/40).int32(message.totalCount);\r\n if (message.totalAmount != null && Object.hasOwnProperty.call(message, \"totalAmount\"))\r\n writer.uint32(/* id 6, wireType 1 =*/49).double(message.totalAmount);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementSummaryInfo message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryInfo\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo} message ReimbursementSummaryInfo message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementSummaryInfo.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementSummaryInfo message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryInfo\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementSummaryInfo} ReimbursementSummaryInfo\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementSummaryInfo.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.ourBankCount = reader.int32();\r\n break;\r\n case 2:\r\n message.ourBankAmount = reader.double();\r\n break;\r\n case 3:\r\n message.notOurBankCount = reader.int32();\r\n break;\r\n case 4:\r\n message.notOurBankAmount = reader.double();\r\n break;\r\n case 5:\r\n message.totalCount = reader.int32();\r\n break;\r\n case 6:\r\n message.totalAmount = reader.double();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementSummaryInfo message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryInfo\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementSummaryInfo} ReimbursementSummaryInfo\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementSummaryInfo.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ReimbursementSummaryInfo message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryInfo\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ReimbursementSummaryInfo.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.ourBankCount != null && message.hasOwnProperty(\"ourBankCount\"))\r\n if (!$util.isInteger(message.ourBankCount))\r\n return \"ourBankCount: integer expected\";\r\n if (message.ourBankAmount != null && message.hasOwnProperty(\"ourBankAmount\"))\r\n if (typeof message.ourBankAmount !== \"number\")\r\n return \"ourBankAmount: number expected\";\r\n if (message.notOurBankCount != null && message.hasOwnProperty(\"notOurBankCount\"))\r\n if (!$util.isInteger(message.notOurBankCount))\r\n return \"notOurBankCount: integer expected\";\r\n if (message.notOurBankAmount != null && message.hasOwnProperty(\"notOurBankAmount\"))\r\n if (typeof message.notOurBankAmount !== \"number\")\r\n return \"notOurBankAmount: number expected\";\r\n if (message.totalCount != null && message.hasOwnProperty(\"totalCount\"))\r\n if (!$util.isInteger(message.totalCount))\r\n return \"totalCount: integer expected\";\r\n if (message.totalAmount != null && message.hasOwnProperty(\"totalAmount\"))\r\n if (typeof message.totalAmount !== \"number\")\r\n return \"totalAmount: number expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ReimbursementSummaryInfo message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryInfo\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementSummaryInfo} ReimbursementSummaryInfo\r\n */\r\n ReimbursementSummaryInfo.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo();\r\n if (object.ourBankCount != null)\r\n message.ourBankCount = object.ourBankCount | 0;\r\n if (object.ourBankAmount != null)\r\n message.ourBankAmount = Number(object.ourBankAmount);\r\n if (object.notOurBankCount != null)\r\n message.notOurBankCount = object.notOurBankCount | 0;\r\n if (object.notOurBankAmount != null)\r\n message.notOurBankAmount = Number(object.notOurBankAmount);\r\n if (object.totalCount != null)\r\n message.totalCount = object.totalCount | 0;\r\n if (object.totalAmount != null)\r\n message.totalAmount = Number(object.totalAmount);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ReimbursementSummaryInfo message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryInfo\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ReimbursementSummaryInfo} message ReimbursementSummaryInfo\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ReimbursementSummaryInfo.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.ourBankCount = 0;\r\n object.ourBankAmount = 0;\r\n object.notOurBankCount = 0;\r\n object.notOurBankAmount = 0;\r\n object.totalCount = 0;\r\n object.totalAmount = 0;\r\n }\r\n if (message.ourBankCount != null && message.hasOwnProperty(\"ourBankCount\"))\r\n object.ourBankCount = message.ourBankCount;\r\n if (message.ourBankAmount != null && message.hasOwnProperty(\"ourBankAmount\"))\r\n object.ourBankAmount = options.json && !isFinite(message.ourBankAmount) ? String(message.ourBankAmount) : message.ourBankAmount;\r\n if (message.notOurBankCount != null && message.hasOwnProperty(\"notOurBankCount\"))\r\n object.notOurBankCount = message.notOurBankCount;\r\n if (message.notOurBankAmount != null && message.hasOwnProperty(\"notOurBankAmount\"))\r\n object.notOurBankAmount = options.json && !isFinite(message.notOurBankAmount) ? String(message.notOurBankAmount) : message.notOurBankAmount;\r\n if (message.totalCount != null && message.hasOwnProperty(\"totalCount\"))\r\n object.totalCount = message.totalCount;\r\n if (message.totalAmount != null && message.hasOwnProperty(\"totalAmount\"))\r\n object.totalAmount = options.json && !isFinite(message.totalAmount) ? String(message.totalAmount) : message.totalAmount;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ReimbursementSummaryInfo to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryInfo\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ReimbursementSummaryInfo.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ReimbursementSummaryInfo;\r\n })();\r\n\r\n Protobuf.ReimbursementSummary = (function() {\r\n\r\n /**\r\n * Properties of a ReimbursementSummary.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IReimbursementSummary\r\n * @property {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null} [visaPay] ReimbursementSummary visaPay\r\n * @property {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null} [visaRefund] ReimbursementSummary visaRefund\r\n * @property {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null} [visaTotal] ReimbursementSummary visaTotal\r\n * @property {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null} [mcPay] ReimbursementSummary mcPay\r\n * @property {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null} [mcRefund] ReimbursementSummary mcRefund\r\n * @property {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null} [mcTotal] ReimbursementSummary mcTotal\r\n * @property {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null} [jcbPay] ReimbursementSummary jcbPay\r\n * @property {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null} [jcbRefund] ReimbursementSummary jcbRefund\r\n * @property {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null} [jcbTotal] ReimbursementSummary jcbTotal\r\n * @property {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null} [cupPay] ReimbursementSummary cupPay\r\n * @property {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null} [cupRefund] ReimbursementSummary cupRefund\r\n * @property {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null} [cupTotal] ReimbursementSummary cupTotal\r\n * @property {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null} [fiscPay] ReimbursementSummary fiscPay\r\n * @property {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null} [fiscRefund] ReimbursementSummary fiscRefund\r\n * @property {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null} [fiscTotal] ReimbursementSummary fiscTotal\r\n * @property {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null} [allPay] ReimbursementSummary allPay\r\n * @property {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null} [allRefund] ReimbursementSummary allRefund\r\n * @property {number|null} [allTotal] ReimbursementSummary allTotal\r\n */\r\n\r\n /**\r\n * Constructs a new ReimbursementSummary.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ReimbursementSummary.\r\n * @implements IReimbursementSummary\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementSummary=} [properties] Properties to set\r\n */\r\n function ReimbursementSummary(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ReimbursementSummary visaPay.\r\n * @member {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null|undefined} visaPay\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @instance\r\n */\r\n ReimbursementSummary.prototype.visaPay = null;\r\n\r\n /**\r\n * ReimbursementSummary visaRefund.\r\n * @member {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null|undefined} visaRefund\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @instance\r\n */\r\n ReimbursementSummary.prototype.visaRefund = null;\r\n\r\n /**\r\n * ReimbursementSummary visaTotal.\r\n * @member {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null|undefined} visaTotal\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @instance\r\n */\r\n ReimbursementSummary.prototype.visaTotal = null;\r\n\r\n /**\r\n * ReimbursementSummary mcPay.\r\n * @member {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null|undefined} mcPay\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @instance\r\n */\r\n ReimbursementSummary.prototype.mcPay = null;\r\n\r\n /**\r\n * ReimbursementSummary mcRefund.\r\n * @member {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null|undefined} mcRefund\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @instance\r\n */\r\n ReimbursementSummary.prototype.mcRefund = null;\r\n\r\n /**\r\n * ReimbursementSummary mcTotal.\r\n * @member {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null|undefined} mcTotal\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @instance\r\n */\r\n ReimbursementSummary.prototype.mcTotal = null;\r\n\r\n /**\r\n * ReimbursementSummary jcbPay.\r\n * @member {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null|undefined} jcbPay\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @instance\r\n */\r\n ReimbursementSummary.prototype.jcbPay = null;\r\n\r\n /**\r\n * ReimbursementSummary jcbRefund.\r\n * @member {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null|undefined} jcbRefund\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @instance\r\n */\r\n ReimbursementSummary.prototype.jcbRefund = null;\r\n\r\n /**\r\n * ReimbursementSummary jcbTotal.\r\n * @member {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null|undefined} jcbTotal\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @instance\r\n */\r\n ReimbursementSummary.prototype.jcbTotal = null;\r\n\r\n /**\r\n * ReimbursementSummary cupPay.\r\n * @member {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null|undefined} cupPay\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @instance\r\n */\r\n ReimbursementSummary.prototype.cupPay = null;\r\n\r\n /**\r\n * ReimbursementSummary cupRefund.\r\n * @member {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null|undefined} cupRefund\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @instance\r\n */\r\n ReimbursementSummary.prototype.cupRefund = null;\r\n\r\n /**\r\n * ReimbursementSummary cupTotal.\r\n * @member {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null|undefined} cupTotal\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @instance\r\n */\r\n ReimbursementSummary.prototype.cupTotal = null;\r\n\r\n /**\r\n * ReimbursementSummary fiscPay.\r\n * @member {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null|undefined} fiscPay\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @instance\r\n */\r\n ReimbursementSummary.prototype.fiscPay = null;\r\n\r\n /**\r\n * ReimbursementSummary fiscRefund.\r\n * @member {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null|undefined} fiscRefund\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @instance\r\n */\r\n ReimbursementSummary.prototype.fiscRefund = null;\r\n\r\n /**\r\n * ReimbursementSummary fiscTotal.\r\n * @member {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null|undefined} fiscTotal\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @instance\r\n */\r\n ReimbursementSummary.prototype.fiscTotal = null;\r\n\r\n /**\r\n * ReimbursementSummary allPay.\r\n * @member {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null|undefined} allPay\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @instance\r\n */\r\n ReimbursementSummary.prototype.allPay = null;\r\n\r\n /**\r\n * ReimbursementSummary allRefund.\r\n * @member {TCBReceiptApi.Protobuf.IReimbursementSummaryInfo|null|undefined} allRefund\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @instance\r\n */\r\n ReimbursementSummary.prototype.allRefund = null;\r\n\r\n /**\r\n * ReimbursementSummary allTotal.\r\n * @member {number} allTotal\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @instance\r\n */\r\n ReimbursementSummary.prototype.allTotal = 0;\r\n\r\n /**\r\n * Creates a new ReimbursementSummary instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementSummary=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementSummary} ReimbursementSummary instance\r\n */\r\n ReimbursementSummary.create = function create(properties) {\r\n return new ReimbursementSummary(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementSummary message. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementSummary.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementSummary} message ReimbursementSummary message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementSummary.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.visaPay != null && Object.hasOwnProperty.call(message, \"visaPay\"))\r\n $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.encode(message.visaPay, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n if (message.visaRefund != null && Object.hasOwnProperty.call(message, \"visaRefund\"))\r\n $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.encode(message.visaRefund, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\r\n if (message.visaTotal != null && Object.hasOwnProperty.call(message, \"visaTotal\"))\r\n $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.encode(message.visaTotal, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();\r\n if (message.mcPay != null && Object.hasOwnProperty.call(message, \"mcPay\"))\r\n $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.encode(message.mcPay, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();\r\n if (message.mcRefund != null && Object.hasOwnProperty.call(message, \"mcRefund\"))\r\n $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.encode(message.mcRefund, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();\r\n if (message.mcTotal != null && Object.hasOwnProperty.call(message, \"mcTotal\"))\r\n $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.encode(message.mcTotal, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();\r\n if (message.jcbPay != null && Object.hasOwnProperty.call(message, \"jcbPay\"))\r\n $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.encode(message.jcbPay, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();\r\n if (message.jcbRefund != null && Object.hasOwnProperty.call(message, \"jcbRefund\"))\r\n $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.encode(message.jcbRefund, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();\r\n if (message.jcbTotal != null && Object.hasOwnProperty.call(message, \"jcbTotal\"))\r\n $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.encode(message.jcbTotal, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();\r\n if (message.cupPay != null && Object.hasOwnProperty.call(message, \"cupPay\"))\r\n $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.encode(message.cupPay, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();\r\n if (message.cupRefund != null && Object.hasOwnProperty.call(message, \"cupRefund\"))\r\n $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.encode(message.cupRefund, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim();\r\n if (message.cupTotal != null && Object.hasOwnProperty.call(message, \"cupTotal\"))\r\n $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.encode(message.cupTotal, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim();\r\n if (message.fiscPay != null && Object.hasOwnProperty.call(message, \"fiscPay\"))\r\n $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.encode(message.fiscPay, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim();\r\n if (message.fiscRefund != null && Object.hasOwnProperty.call(message, \"fiscRefund\"))\r\n $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.encode(message.fiscRefund, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim();\r\n if (message.fiscTotal != null && Object.hasOwnProperty.call(message, \"fiscTotal\"))\r\n $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.encode(message.fiscTotal, writer.uint32(/* id 15, wireType 2 =*/122).fork()).ldelim();\r\n if (message.allPay != null && Object.hasOwnProperty.call(message, \"allPay\"))\r\n $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.encode(message.allPay, writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim();\r\n if (message.allRefund != null && Object.hasOwnProperty.call(message, \"allRefund\"))\r\n $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.encode(message.allRefund, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim();\r\n if (message.allTotal != null && Object.hasOwnProperty.call(message, \"allTotal\"))\r\n writer.uint32(/* id 18, wireType 1 =*/145).double(message.allTotal);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementSummary message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementSummary.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementSummary} message ReimbursementSummary message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementSummary.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementSummary message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementSummary} ReimbursementSummary\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementSummary.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ReimbursementSummary();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.visaPay = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.decode(reader, reader.uint32());\r\n break;\r\n case 2:\r\n message.visaRefund = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.decode(reader, reader.uint32());\r\n break;\r\n case 3:\r\n message.visaTotal = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.decode(reader, reader.uint32());\r\n break;\r\n case 4:\r\n message.mcPay = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.decode(reader, reader.uint32());\r\n break;\r\n case 5:\r\n message.mcRefund = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.decode(reader, reader.uint32());\r\n break;\r\n case 6:\r\n message.mcTotal = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.decode(reader, reader.uint32());\r\n break;\r\n case 7:\r\n message.jcbPay = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.decode(reader, reader.uint32());\r\n break;\r\n case 8:\r\n message.jcbRefund = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.decode(reader, reader.uint32());\r\n break;\r\n case 9:\r\n message.jcbTotal = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.decode(reader, reader.uint32());\r\n break;\r\n case 10:\r\n message.cupPay = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.decode(reader, reader.uint32());\r\n break;\r\n case 11:\r\n message.cupRefund = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.decode(reader, reader.uint32());\r\n break;\r\n case 12:\r\n message.cupTotal = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.decode(reader, reader.uint32());\r\n break;\r\n case 13:\r\n message.fiscPay = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.decode(reader, reader.uint32());\r\n break;\r\n case 14:\r\n message.fiscRefund = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.decode(reader, reader.uint32());\r\n break;\r\n case 15:\r\n message.fiscTotal = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.decode(reader, reader.uint32());\r\n break;\r\n case 16:\r\n message.allPay = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.decode(reader, reader.uint32());\r\n break;\r\n case 17:\r\n message.allRefund = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.decode(reader, reader.uint32());\r\n break;\r\n case 18:\r\n message.allTotal = reader.double();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementSummary message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementSummary} ReimbursementSummary\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementSummary.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ReimbursementSummary message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ReimbursementSummary.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.visaPay != null && message.hasOwnProperty(\"visaPay\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.verify(message.visaPay);\r\n if (error)\r\n return \"visaPay.\" + error;\r\n }\r\n if (message.visaRefund != null && message.hasOwnProperty(\"visaRefund\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.verify(message.visaRefund);\r\n if (error)\r\n return \"visaRefund.\" + error;\r\n }\r\n if (message.visaTotal != null && message.hasOwnProperty(\"visaTotal\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.verify(message.visaTotal);\r\n if (error)\r\n return \"visaTotal.\" + error;\r\n }\r\n if (message.mcPay != null && message.hasOwnProperty(\"mcPay\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.verify(message.mcPay);\r\n if (error)\r\n return \"mcPay.\" + error;\r\n }\r\n if (message.mcRefund != null && message.hasOwnProperty(\"mcRefund\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.verify(message.mcRefund);\r\n if (error)\r\n return \"mcRefund.\" + error;\r\n }\r\n if (message.mcTotal != null && message.hasOwnProperty(\"mcTotal\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.verify(message.mcTotal);\r\n if (error)\r\n return \"mcTotal.\" + error;\r\n }\r\n if (message.jcbPay != null && message.hasOwnProperty(\"jcbPay\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.verify(message.jcbPay);\r\n if (error)\r\n return \"jcbPay.\" + error;\r\n }\r\n if (message.jcbRefund != null && message.hasOwnProperty(\"jcbRefund\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.verify(message.jcbRefund);\r\n if (error)\r\n return \"jcbRefund.\" + error;\r\n }\r\n if (message.jcbTotal != null && message.hasOwnProperty(\"jcbTotal\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.verify(message.jcbTotal);\r\n if (error)\r\n return \"jcbTotal.\" + error;\r\n }\r\n if (message.cupPay != null && message.hasOwnProperty(\"cupPay\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.verify(message.cupPay);\r\n if (error)\r\n return \"cupPay.\" + error;\r\n }\r\n if (message.cupRefund != null && message.hasOwnProperty(\"cupRefund\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.verify(message.cupRefund);\r\n if (error)\r\n return \"cupRefund.\" + error;\r\n }\r\n if (message.cupTotal != null && message.hasOwnProperty(\"cupTotal\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.verify(message.cupTotal);\r\n if (error)\r\n return \"cupTotal.\" + error;\r\n }\r\n if (message.fiscPay != null && message.hasOwnProperty(\"fiscPay\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.verify(message.fiscPay);\r\n if (error)\r\n return \"fiscPay.\" + error;\r\n }\r\n if (message.fiscRefund != null && message.hasOwnProperty(\"fiscRefund\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.verify(message.fiscRefund);\r\n if (error)\r\n return \"fiscRefund.\" + error;\r\n }\r\n if (message.fiscTotal != null && message.hasOwnProperty(\"fiscTotal\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.verify(message.fiscTotal);\r\n if (error)\r\n return \"fiscTotal.\" + error;\r\n }\r\n if (message.allPay != null && message.hasOwnProperty(\"allPay\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.verify(message.allPay);\r\n if (error)\r\n return \"allPay.\" + error;\r\n }\r\n if (message.allRefund != null && message.hasOwnProperty(\"allRefund\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.verify(message.allRefund);\r\n if (error)\r\n return \"allRefund.\" + error;\r\n }\r\n if (message.allTotal != null && message.hasOwnProperty(\"allTotal\"))\r\n if (typeof message.allTotal !== \"number\")\r\n return \"allTotal: number expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ReimbursementSummary message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementSummary} ReimbursementSummary\r\n */\r\n ReimbursementSummary.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ReimbursementSummary)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ReimbursementSummary();\r\n if (object.visaPay != null) {\r\n if (typeof object.visaPay !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementSummary.visaPay: object expected\");\r\n message.visaPay = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.fromObject(object.visaPay);\r\n }\r\n if (object.visaRefund != null) {\r\n if (typeof object.visaRefund !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementSummary.visaRefund: object expected\");\r\n message.visaRefund = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.fromObject(object.visaRefund);\r\n }\r\n if (object.visaTotal != null) {\r\n if (typeof object.visaTotal !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementSummary.visaTotal: object expected\");\r\n message.visaTotal = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.fromObject(object.visaTotal);\r\n }\r\n if (object.mcPay != null) {\r\n if (typeof object.mcPay !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementSummary.mcPay: object expected\");\r\n message.mcPay = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.fromObject(object.mcPay);\r\n }\r\n if (object.mcRefund != null) {\r\n if (typeof object.mcRefund !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementSummary.mcRefund: object expected\");\r\n message.mcRefund = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.fromObject(object.mcRefund);\r\n }\r\n if (object.mcTotal != null) {\r\n if (typeof object.mcTotal !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementSummary.mcTotal: object expected\");\r\n message.mcTotal = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.fromObject(object.mcTotal);\r\n }\r\n if (object.jcbPay != null) {\r\n if (typeof object.jcbPay !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementSummary.jcbPay: object expected\");\r\n message.jcbPay = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.fromObject(object.jcbPay);\r\n }\r\n if (object.jcbRefund != null) {\r\n if (typeof object.jcbRefund !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementSummary.jcbRefund: object expected\");\r\n message.jcbRefund = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.fromObject(object.jcbRefund);\r\n }\r\n if (object.jcbTotal != null) {\r\n if (typeof object.jcbTotal !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementSummary.jcbTotal: object expected\");\r\n message.jcbTotal = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.fromObject(object.jcbTotal);\r\n }\r\n if (object.cupPay != null) {\r\n if (typeof object.cupPay !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementSummary.cupPay: object expected\");\r\n message.cupPay = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.fromObject(object.cupPay);\r\n }\r\n if (object.cupRefund != null) {\r\n if (typeof object.cupRefund !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementSummary.cupRefund: object expected\");\r\n message.cupRefund = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.fromObject(object.cupRefund);\r\n }\r\n if (object.cupTotal != null) {\r\n if (typeof object.cupTotal !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementSummary.cupTotal: object expected\");\r\n message.cupTotal = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.fromObject(object.cupTotal);\r\n }\r\n if (object.fiscPay != null) {\r\n if (typeof object.fiscPay !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementSummary.fiscPay: object expected\");\r\n message.fiscPay = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.fromObject(object.fiscPay);\r\n }\r\n if (object.fiscRefund != null) {\r\n if (typeof object.fiscRefund !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementSummary.fiscRefund: object expected\");\r\n message.fiscRefund = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.fromObject(object.fiscRefund);\r\n }\r\n if (object.fiscTotal != null) {\r\n if (typeof object.fiscTotal !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementSummary.fiscTotal: object expected\");\r\n message.fiscTotal = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.fromObject(object.fiscTotal);\r\n }\r\n if (object.allPay != null) {\r\n if (typeof object.allPay !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementSummary.allPay: object expected\");\r\n message.allPay = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.fromObject(object.allPay);\r\n }\r\n if (object.allRefund != null) {\r\n if (typeof object.allRefund !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementSummary.allRefund: object expected\");\r\n message.allRefund = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.fromObject(object.allRefund);\r\n }\r\n if (object.allTotal != null)\r\n message.allTotal = Number(object.allTotal);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ReimbursementSummary message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ReimbursementSummary} message ReimbursementSummary\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ReimbursementSummary.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.visaPay = null;\r\n object.visaRefund = null;\r\n object.visaTotal = null;\r\n object.mcPay = null;\r\n object.mcRefund = null;\r\n object.mcTotal = null;\r\n object.jcbPay = null;\r\n object.jcbRefund = null;\r\n object.jcbTotal = null;\r\n object.cupPay = null;\r\n object.cupRefund = null;\r\n object.cupTotal = null;\r\n object.fiscPay = null;\r\n object.fiscRefund = null;\r\n object.fiscTotal = null;\r\n object.allPay = null;\r\n object.allRefund = null;\r\n object.allTotal = 0;\r\n }\r\n if (message.visaPay != null && message.hasOwnProperty(\"visaPay\"))\r\n object.visaPay = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.toObject(message.visaPay, options);\r\n if (message.visaRefund != null && message.hasOwnProperty(\"visaRefund\"))\r\n object.visaRefund = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.toObject(message.visaRefund, options);\r\n if (message.visaTotal != null && message.hasOwnProperty(\"visaTotal\"))\r\n object.visaTotal = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.toObject(message.visaTotal, options);\r\n if (message.mcPay != null && message.hasOwnProperty(\"mcPay\"))\r\n object.mcPay = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.toObject(message.mcPay, options);\r\n if (message.mcRefund != null && message.hasOwnProperty(\"mcRefund\"))\r\n object.mcRefund = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.toObject(message.mcRefund, options);\r\n if (message.mcTotal != null && message.hasOwnProperty(\"mcTotal\"))\r\n object.mcTotal = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.toObject(message.mcTotal, options);\r\n if (message.jcbPay != null && message.hasOwnProperty(\"jcbPay\"))\r\n object.jcbPay = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.toObject(message.jcbPay, options);\r\n if (message.jcbRefund != null && message.hasOwnProperty(\"jcbRefund\"))\r\n object.jcbRefund = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.toObject(message.jcbRefund, options);\r\n if (message.jcbTotal != null && message.hasOwnProperty(\"jcbTotal\"))\r\n object.jcbTotal = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.toObject(message.jcbTotal, options);\r\n if (message.cupPay != null && message.hasOwnProperty(\"cupPay\"))\r\n object.cupPay = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.toObject(message.cupPay, options);\r\n if (message.cupRefund != null && message.hasOwnProperty(\"cupRefund\"))\r\n object.cupRefund = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.toObject(message.cupRefund, options);\r\n if (message.cupTotal != null && message.hasOwnProperty(\"cupTotal\"))\r\n object.cupTotal = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.toObject(message.cupTotal, options);\r\n if (message.fiscPay != null && message.hasOwnProperty(\"fiscPay\"))\r\n object.fiscPay = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.toObject(message.fiscPay, options);\r\n if (message.fiscRefund != null && message.hasOwnProperty(\"fiscRefund\"))\r\n object.fiscRefund = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.toObject(message.fiscRefund, options);\r\n if (message.fiscTotal != null && message.hasOwnProperty(\"fiscTotal\"))\r\n object.fiscTotal = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.toObject(message.fiscTotal, options);\r\n if (message.allPay != null && message.hasOwnProperty(\"allPay\"))\r\n object.allPay = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.toObject(message.allPay, options);\r\n if (message.allRefund != null && message.hasOwnProperty(\"allRefund\"))\r\n object.allRefund = $root.TCBReceiptApi.Protobuf.ReimbursementSummaryInfo.toObject(message.allRefund, options);\r\n if (message.allTotal != null && message.hasOwnProperty(\"allTotal\"))\r\n object.allTotal = options.json && !isFinite(message.allTotal) ? String(message.allTotal) : message.allTotal;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ReimbursementSummary to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummary\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ReimbursementSummary.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ReimbursementSummary;\r\n })();\r\n\r\n Protobuf.ReimbursementQuery = (function() {\r\n\r\n /**\r\n * Properties of a ReimbursementQuery.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IReimbursementQuery\r\n * @property {Array.|null} [storeList] ReimbursementQuery storeList\r\n * @property {string|null} [tidNumber] ReimbursementQuery tidNumber\r\n * @property {string|null} [authCode] ReimbursementQuery authCode\r\n * @property {string|null} [cardNo] ReimbursementQuery cardNo\r\n * @property {string|null} [cardType] ReimbursementQuery cardType\r\n * @property {number|null} [type] ReimbursementQuery type\r\n * @property {number|null} [flag] ReimbursementQuery flag\r\n * @property {string|null} [orderNo] ReimbursementQuery orderNo\r\n * @property {number|null} [dateType] ReimbursementQuery dateType\r\n * @property {string|null} [dateStart] ReimbursementQuery dateStart\r\n * @property {string|null} [dateEnd] ReimbursementQuery dateEnd\r\n * @property {string|null} [terminalNoStart] ReimbursementQuery terminalNoStart\r\n * @property {string|null} [terminalNoEnd] ReimbursementQuery terminalNoEnd\r\n * @property {string|null} [specificStore] ReimbursementQuery specificStore\r\n */\r\n\r\n /**\r\n * Constructs a new ReimbursementQuery.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ReimbursementQuery.\r\n * @implements IReimbursementQuery\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementQuery=} [properties] Properties to set\r\n */\r\n function ReimbursementQuery(properties) {\r\n this.storeList = [];\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ReimbursementQuery storeList.\r\n * @member {Array.} storeList\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @instance\r\n */\r\n ReimbursementQuery.prototype.storeList = $util.emptyArray;\r\n\r\n /**\r\n * ReimbursementQuery tidNumber.\r\n * @member {string} tidNumber\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @instance\r\n */\r\n ReimbursementQuery.prototype.tidNumber = \"\";\r\n\r\n /**\r\n * ReimbursementQuery authCode.\r\n * @member {string} authCode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @instance\r\n */\r\n ReimbursementQuery.prototype.authCode = \"\";\r\n\r\n /**\r\n * ReimbursementQuery cardNo.\r\n * @member {string} cardNo\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @instance\r\n */\r\n ReimbursementQuery.prototype.cardNo = \"\";\r\n\r\n /**\r\n * ReimbursementQuery cardType.\r\n * @member {string} cardType\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @instance\r\n */\r\n ReimbursementQuery.prototype.cardType = \"\";\r\n\r\n /**\r\n * ReimbursementQuery type.\r\n * @member {number} type\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @instance\r\n */\r\n ReimbursementQuery.prototype.type = 0;\r\n\r\n /**\r\n * ReimbursementQuery flag.\r\n * @member {number} flag\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @instance\r\n */\r\n ReimbursementQuery.prototype.flag = 0;\r\n\r\n /**\r\n * ReimbursementQuery orderNo.\r\n * @member {string} orderNo\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @instance\r\n */\r\n ReimbursementQuery.prototype.orderNo = \"\";\r\n\r\n /**\r\n * ReimbursementQuery dateType.\r\n * @member {number} dateType\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @instance\r\n */\r\n ReimbursementQuery.prototype.dateType = 0;\r\n\r\n /**\r\n * ReimbursementQuery dateStart.\r\n * @member {string} dateStart\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @instance\r\n */\r\n ReimbursementQuery.prototype.dateStart = \"\";\r\n\r\n /**\r\n * ReimbursementQuery dateEnd.\r\n * @member {string} dateEnd\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @instance\r\n */\r\n ReimbursementQuery.prototype.dateEnd = \"\";\r\n\r\n /**\r\n * ReimbursementQuery terminalNoStart.\r\n * @member {string} terminalNoStart\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @instance\r\n */\r\n ReimbursementQuery.prototype.terminalNoStart = \"\";\r\n\r\n /**\r\n * ReimbursementQuery terminalNoEnd.\r\n * @member {string} terminalNoEnd\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @instance\r\n */\r\n ReimbursementQuery.prototype.terminalNoEnd = \"\";\r\n\r\n /**\r\n * ReimbursementQuery specificStore.\r\n * @member {string} specificStore\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @instance\r\n */\r\n ReimbursementQuery.prototype.specificStore = \"\";\r\n\r\n /**\r\n * Creates a new ReimbursementQuery instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementQuery=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementQuery} ReimbursementQuery instance\r\n */\r\n ReimbursementQuery.create = function create(properties) {\r\n return new ReimbursementQuery(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementQuery message. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementQuery.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementQuery} message ReimbursementQuery message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementQuery.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.storeList != null && message.storeList.length)\r\n for (var i = 0; i < message.storeList.length; ++i)\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.storeList[i]);\r\n if (message.tidNumber != null && Object.hasOwnProperty.call(message, \"tidNumber\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.tidNumber);\r\n if (message.authCode != null && Object.hasOwnProperty.call(message, \"authCode\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.authCode);\r\n if (message.cardNo != null && Object.hasOwnProperty.call(message, \"cardNo\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.cardNo);\r\n if (message.cardType != null && Object.hasOwnProperty.call(message, \"cardType\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.cardType);\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 6, wireType 0 =*/48).int32(message.type);\r\n if (message.flag != null && Object.hasOwnProperty.call(message, \"flag\"))\r\n writer.uint32(/* id 7, wireType 0 =*/56).int32(message.flag);\r\n if (message.orderNo != null && Object.hasOwnProperty.call(message, \"orderNo\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.orderNo);\r\n if (message.dateType != null && Object.hasOwnProperty.call(message, \"dateType\"))\r\n writer.uint32(/* id 9, wireType 0 =*/72).int32(message.dateType);\r\n if (message.dateStart != null && Object.hasOwnProperty.call(message, \"dateStart\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.dateStart);\r\n if (message.dateEnd != null && Object.hasOwnProperty.call(message, \"dateEnd\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.dateEnd);\r\n if (message.terminalNoStart != null && Object.hasOwnProperty.call(message, \"terminalNoStart\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.terminalNoStart);\r\n if (message.terminalNoEnd != null && Object.hasOwnProperty.call(message, \"terminalNoEnd\"))\r\n writer.uint32(/* id 13, wireType 2 =*/106).string(message.terminalNoEnd);\r\n if (message.specificStore != null && Object.hasOwnProperty.call(message, \"specificStore\"))\r\n writer.uint32(/* id 14, wireType 2 =*/114).string(message.specificStore);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementQuery message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementQuery.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementQuery} message ReimbursementQuery message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementQuery.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementQuery message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementQuery} ReimbursementQuery\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementQuery.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ReimbursementQuery();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (!(message.storeList && message.storeList.length))\r\n message.storeList = [];\r\n message.storeList.push(reader.string());\r\n break;\r\n case 2:\r\n message.tidNumber = reader.string();\r\n break;\r\n case 3:\r\n message.authCode = reader.string();\r\n break;\r\n case 4:\r\n message.cardNo = reader.string();\r\n break;\r\n case 5:\r\n message.cardType = reader.string();\r\n break;\r\n case 6:\r\n message.type = reader.int32();\r\n break;\r\n case 7:\r\n message.flag = reader.int32();\r\n break;\r\n case 8:\r\n message.orderNo = reader.string();\r\n break;\r\n case 9:\r\n message.dateType = reader.int32();\r\n break;\r\n case 10:\r\n message.dateStart = reader.string();\r\n break;\r\n case 11:\r\n message.dateEnd = reader.string();\r\n break;\r\n case 12:\r\n message.terminalNoStart = reader.string();\r\n break;\r\n case 13:\r\n message.terminalNoEnd = reader.string();\r\n break;\r\n case 14:\r\n message.specificStore = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementQuery message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementQuery} ReimbursementQuery\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementQuery.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ReimbursementQuery message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ReimbursementQuery.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.storeList != null && message.hasOwnProperty(\"storeList\")) {\r\n if (!Array.isArray(message.storeList))\r\n return \"storeList: array expected\";\r\n for (var i = 0; i < message.storeList.length; ++i)\r\n if (!$util.isString(message.storeList[i]))\r\n return \"storeList: string[] expected\";\r\n }\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n if (!$util.isString(message.tidNumber))\r\n return \"tidNumber: string expected\";\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n if (!$util.isString(message.authCode))\r\n return \"authCode: string expected\";\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n if (!$util.isString(message.cardNo))\r\n return \"cardNo: string expected\";\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n if (!$util.isString(message.cardType))\r\n return \"cardType: string expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isInteger(message.type))\r\n return \"type: integer expected\";\r\n if (message.flag != null && message.hasOwnProperty(\"flag\"))\r\n if (!$util.isInteger(message.flag))\r\n return \"flag: integer expected\";\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n if (!$util.isString(message.orderNo))\r\n return \"orderNo: string expected\";\r\n if (message.dateType != null && message.hasOwnProperty(\"dateType\"))\r\n if (!$util.isInteger(message.dateType))\r\n return \"dateType: integer expected\";\r\n if (message.dateStart != null && message.hasOwnProperty(\"dateStart\"))\r\n if (!$util.isString(message.dateStart))\r\n return \"dateStart: string expected\";\r\n if (message.dateEnd != null && message.hasOwnProperty(\"dateEnd\"))\r\n if (!$util.isString(message.dateEnd))\r\n return \"dateEnd: string expected\";\r\n if (message.terminalNoStart != null && message.hasOwnProperty(\"terminalNoStart\"))\r\n if (!$util.isString(message.terminalNoStart))\r\n return \"terminalNoStart: string expected\";\r\n if (message.terminalNoEnd != null && message.hasOwnProperty(\"terminalNoEnd\"))\r\n if (!$util.isString(message.terminalNoEnd))\r\n return \"terminalNoEnd: string expected\";\r\n if (message.specificStore != null && message.hasOwnProperty(\"specificStore\"))\r\n if (!$util.isString(message.specificStore))\r\n return \"specificStore: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ReimbursementQuery message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementQuery} ReimbursementQuery\r\n */\r\n ReimbursementQuery.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ReimbursementQuery)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ReimbursementQuery();\r\n if (object.storeList) {\r\n if (!Array.isArray(object.storeList))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ReimbursementQuery.storeList: array expected\");\r\n message.storeList = [];\r\n for (var i = 0; i < object.storeList.length; ++i)\r\n message.storeList[i] = String(object.storeList[i]);\r\n }\r\n if (object.tidNumber != null)\r\n message.tidNumber = String(object.tidNumber);\r\n if (object.authCode != null)\r\n message.authCode = String(object.authCode);\r\n if (object.cardNo != null)\r\n message.cardNo = String(object.cardNo);\r\n if (object.cardType != null)\r\n message.cardType = String(object.cardType);\r\n if (object.type != null)\r\n message.type = object.type | 0;\r\n if (object.flag != null)\r\n message.flag = object.flag | 0;\r\n if (object.orderNo != null)\r\n message.orderNo = String(object.orderNo);\r\n if (object.dateType != null)\r\n message.dateType = object.dateType | 0;\r\n if (object.dateStart != null)\r\n message.dateStart = String(object.dateStart);\r\n if (object.dateEnd != null)\r\n message.dateEnd = String(object.dateEnd);\r\n if (object.terminalNoStart != null)\r\n message.terminalNoStart = String(object.terminalNoStart);\r\n if (object.terminalNoEnd != null)\r\n message.terminalNoEnd = String(object.terminalNoEnd);\r\n if (object.specificStore != null)\r\n message.specificStore = String(object.specificStore);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ReimbursementQuery message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ReimbursementQuery} message ReimbursementQuery\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ReimbursementQuery.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.arrays || options.defaults)\r\n object.storeList = [];\r\n if (options.defaults) {\r\n object.tidNumber = \"\";\r\n object.authCode = \"\";\r\n object.cardNo = \"\";\r\n object.cardType = \"\";\r\n object.type = 0;\r\n object.flag = 0;\r\n object.orderNo = \"\";\r\n object.dateType = 0;\r\n object.dateStart = \"\";\r\n object.dateEnd = \"\";\r\n object.terminalNoStart = \"\";\r\n object.terminalNoEnd = \"\";\r\n object.specificStore = \"\";\r\n }\r\n if (message.storeList && message.storeList.length) {\r\n object.storeList = [];\r\n for (var j = 0; j < message.storeList.length; ++j)\r\n object.storeList[j] = message.storeList[j];\r\n }\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n object.tidNumber = message.tidNumber;\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n object.authCode = message.authCode;\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n object.cardNo = message.cardNo;\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n object.cardType = message.cardType;\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.flag != null && message.hasOwnProperty(\"flag\"))\r\n object.flag = message.flag;\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n object.orderNo = message.orderNo;\r\n if (message.dateType != null && message.hasOwnProperty(\"dateType\"))\r\n object.dateType = message.dateType;\r\n if (message.dateStart != null && message.hasOwnProperty(\"dateStart\"))\r\n object.dateStart = message.dateStart;\r\n if (message.dateEnd != null && message.hasOwnProperty(\"dateEnd\"))\r\n object.dateEnd = message.dateEnd;\r\n if (message.terminalNoStart != null && message.hasOwnProperty(\"terminalNoStart\"))\r\n object.terminalNoStart = message.terminalNoStart;\r\n if (message.terminalNoEnd != null && message.hasOwnProperty(\"terminalNoEnd\"))\r\n object.terminalNoEnd = message.terminalNoEnd;\r\n if (message.specificStore != null && message.hasOwnProperty(\"specificStore\"))\r\n object.specificStore = message.specificStore;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ReimbursementQuery to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuery\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ReimbursementQuery.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ReimbursementQuery;\r\n })();\r\n\r\n Protobuf.ReimbursementQuerySpecificStore = (function() {\r\n\r\n /**\r\n * Properties of a ReimbursementQuerySpecificStore.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IReimbursementQuerySpecificStore\r\n * @property {string|null} [specificStore] ReimbursementQuerySpecificStore specificStore\r\n * @property {string|null} [authCode] ReimbursementQuerySpecificStore authCode\r\n * @property {string|null} [cardNo] ReimbursementQuerySpecificStore cardNo\r\n * @property {string|null} [cardType] ReimbursementQuerySpecificStore cardType\r\n * @property {number|null} [type] ReimbursementQuerySpecificStore type\r\n * @property {number|null} [flag] ReimbursementQuerySpecificStore flag\r\n * @property {string|null} [orderNo] ReimbursementQuerySpecificStore orderNo\r\n * @property {number|null} [dateType] ReimbursementQuerySpecificStore dateType\r\n * @property {string|null} [terminalNoStart] ReimbursementQuerySpecificStore terminalNoStart\r\n * @property {string|null} [terminalNoEnd] ReimbursementQuerySpecificStore terminalNoEnd\r\n * @property {string|null} [submitDateStart] ReimbursementQuerySpecificStore submitDateStart\r\n * @property {string|null} [submitDateEnd] ReimbursementQuerySpecificStore submitDateEnd\r\n * @property {string|null} [dateStart] ReimbursementQuerySpecificStore dateStart\r\n * @property {string|null} [dateEnd] ReimbursementQuerySpecificStore dateEnd\r\n */\r\n\r\n /**\r\n * Constructs a new ReimbursementQuerySpecificStore.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ReimbursementQuerySpecificStore.\r\n * @implements IReimbursementQuerySpecificStore\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementQuerySpecificStore=} [properties] Properties to set\r\n */\r\n function ReimbursementQuerySpecificStore(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ReimbursementQuerySpecificStore specificStore.\r\n * @member {string} specificStore\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ReimbursementQuerySpecificStore.prototype.specificStore = \"\";\r\n\r\n /**\r\n * ReimbursementQuerySpecificStore authCode.\r\n * @member {string} authCode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ReimbursementQuerySpecificStore.prototype.authCode = \"\";\r\n\r\n /**\r\n * ReimbursementQuerySpecificStore cardNo.\r\n * @member {string} cardNo\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ReimbursementQuerySpecificStore.prototype.cardNo = \"\";\r\n\r\n /**\r\n * ReimbursementQuerySpecificStore cardType.\r\n * @member {string} cardType\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ReimbursementQuerySpecificStore.prototype.cardType = \"\";\r\n\r\n /**\r\n * ReimbursementQuerySpecificStore type.\r\n * @member {number} type\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ReimbursementQuerySpecificStore.prototype.type = 0;\r\n\r\n /**\r\n * ReimbursementQuerySpecificStore flag.\r\n * @member {number} flag\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ReimbursementQuerySpecificStore.prototype.flag = 0;\r\n\r\n /**\r\n * ReimbursementQuerySpecificStore orderNo.\r\n * @member {string} orderNo\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ReimbursementQuerySpecificStore.prototype.orderNo = \"\";\r\n\r\n /**\r\n * ReimbursementQuerySpecificStore dateType.\r\n * @member {number} dateType\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ReimbursementQuerySpecificStore.prototype.dateType = 0;\r\n\r\n /**\r\n * ReimbursementQuerySpecificStore terminalNoStart.\r\n * @member {string} terminalNoStart\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ReimbursementQuerySpecificStore.prototype.terminalNoStart = \"\";\r\n\r\n /**\r\n * ReimbursementQuerySpecificStore terminalNoEnd.\r\n * @member {string} terminalNoEnd\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ReimbursementQuerySpecificStore.prototype.terminalNoEnd = \"\";\r\n\r\n /**\r\n * ReimbursementQuerySpecificStore submitDateStart.\r\n * @member {string} submitDateStart\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ReimbursementQuerySpecificStore.prototype.submitDateStart = \"\";\r\n\r\n /**\r\n * ReimbursementQuerySpecificStore submitDateEnd.\r\n * @member {string} submitDateEnd\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ReimbursementQuerySpecificStore.prototype.submitDateEnd = \"\";\r\n\r\n /**\r\n * ReimbursementQuerySpecificStore dateStart.\r\n * @member {string} dateStart\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ReimbursementQuerySpecificStore.prototype.dateStart = \"\";\r\n\r\n /**\r\n * ReimbursementQuerySpecificStore dateEnd.\r\n * @member {string} dateEnd\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ReimbursementQuerySpecificStore.prototype.dateEnd = \"\";\r\n\r\n /**\r\n * Creates a new ReimbursementQuerySpecificStore instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementQuerySpecificStore=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore} ReimbursementQuerySpecificStore instance\r\n */\r\n ReimbursementQuerySpecificStore.create = function create(properties) {\r\n return new ReimbursementQuerySpecificStore(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementQuerySpecificStore message. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementQuerySpecificStore} message ReimbursementQuerySpecificStore message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementQuerySpecificStore.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.specificStore != null && Object.hasOwnProperty.call(message, \"specificStore\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.specificStore);\r\n if (message.authCode != null && Object.hasOwnProperty.call(message, \"authCode\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.authCode);\r\n if (message.cardNo != null && Object.hasOwnProperty.call(message, \"cardNo\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.cardNo);\r\n if (message.cardType != null && Object.hasOwnProperty.call(message, \"cardType\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.cardType);\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 5, wireType 0 =*/40).int32(message.type);\r\n if (message.flag != null && Object.hasOwnProperty.call(message, \"flag\"))\r\n writer.uint32(/* id 6, wireType 0 =*/48).int32(message.flag);\r\n if (message.orderNo != null && Object.hasOwnProperty.call(message, \"orderNo\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.orderNo);\r\n if (message.dateType != null && Object.hasOwnProperty.call(message, \"dateType\"))\r\n writer.uint32(/* id 8, wireType 0 =*/64).int32(message.dateType);\r\n if (message.terminalNoStart != null && Object.hasOwnProperty.call(message, \"terminalNoStart\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.terminalNoStart);\r\n if (message.terminalNoEnd != null && Object.hasOwnProperty.call(message, \"terminalNoEnd\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.terminalNoEnd);\r\n if (message.submitDateStart != null && Object.hasOwnProperty.call(message, \"submitDateStart\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.submitDateStart);\r\n if (message.submitDateEnd != null && Object.hasOwnProperty.call(message, \"submitDateEnd\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.submitDateEnd);\r\n if (message.dateStart != null && Object.hasOwnProperty.call(message, \"dateStart\"))\r\n writer.uint32(/* id 13, wireType 2 =*/106).string(message.dateStart);\r\n if (message.dateEnd != null && Object.hasOwnProperty.call(message, \"dateEnd\"))\r\n writer.uint32(/* id 14, wireType 2 =*/114).string(message.dateEnd);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementQuerySpecificStore message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementQuerySpecificStore} message ReimbursementQuerySpecificStore message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementQuerySpecificStore.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementQuerySpecificStore message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore} ReimbursementQuerySpecificStore\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementQuerySpecificStore.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.specificStore = reader.string();\r\n break;\r\n case 2:\r\n message.authCode = reader.string();\r\n break;\r\n case 3:\r\n message.cardNo = reader.string();\r\n break;\r\n case 4:\r\n message.cardType = reader.string();\r\n break;\r\n case 5:\r\n message.type = reader.int32();\r\n break;\r\n case 6:\r\n message.flag = reader.int32();\r\n break;\r\n case 7:\r\n message.orderNo = reader.string();\r\n break;\r\n case 8:\r\n message.dateType = reader.int32();\r\n break;\r\n case 9:\r\n message.terminalNoStart = reader.string();\r\n break;\r\n case 10:\r\n message.terminalNoEnd = reader.string();\r\n break;\r\n case 11:\r\n message.submitDateStart = reader.string();\r\n break;\r\n case 12:\r\n message.submitDateEnd = reader.string();\r\n break;\r\n case 13:\r\n message.dateStart = reader.string();\r\n break;\r\n case 14:\r\n message.dateEnd = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementQuerySpecificStore message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore} ReimbursementQuerySpecificStore\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementQuerySpecificStore.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ReimbursementQuerySpecificStore message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ReimbursementQuerySpecificStore.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.specificStore != null && message.hasOwnProperty(\"specificStore\"))\r\n if (!$util.isString(message.specificStore))\r\n return \"specificStore: string expected\";\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n if (!$util.isString(message.authCode))\r\n return \"authCode: string expected\";\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n if (!$util.isString(message.cardNo))\r\n return \"cardNo: string expected\";\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n if (!$util.isString(message.cardType))\r\n return \"cardType: string expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isInteger(message.type))\r\n return \"type: integer expected\";\r\n if (message.flag != null && message.hasOwnProperty(\"flag\"))\r\n if (!$util.isInteger(message.flag))\r\n return \"flag: integer expected\";\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n if (!$util.isString(message.orderNo))\r\n return \"orderNo: string expected\";\r\n if (message.dateType != null && message.hasOwnProperty(\"dateType\"))\r\n if (!$util.isInteger(message.dateType))\r\n return \"dateType: integer expected\";\r\n if (message.terminalNoStart != null && message.hasOwnProperty(\"terminalNoStart\"))\r\n if (!$util.isString(message.terminalNoStart))\r\n return \"terminalNoStart: string expected\";\r\n if (message.terminalNoEnd != null && message.hasOwnProperty(\"terminalNoEnd\"))\r\n if (!$util.isString(message.terminalNoEnd))\r\n return \"terminalNoEnd: string expected\";\r\n if (message.submitDateStart != null && message.hasOwnProperty(\"submitDateStart\"))\r\n if (!$util.isString(message.submitDateStart))\r\n return \"submitDateStart: string expected\";\r\n if (message.submitDateEnd != null && message.hasOwnProperty(\"submitDateEnd\"))\r\n if (!$util.isString(message.submitDateEnd))\r\n return \"submitDateEnd: string expected\";\r\n if (message.dateStart != null && message.hasOwnProperty(\"dateStart\"))\r\n if (!$util.isString(message.dateStart))\r\n return \"dateStart: string expected\";\r\n if (message.dateEnd != null && message.hasOwnProperty(\"dateEnd\"))\r\n if (!$util.isString(message.dateEnd))\r\n return \"dateEnd: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ReimbursementQuerySpecificStore message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore} ReimbursementQuerySpecificStore\r\n */\r\n ReimbursementQuerySpecificStore.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore();\r\n if (object.specificStore != null)\r\n message.specificStore = String(object.specificStore);\r\n if (object.authCode != null)\r\n message.authCode = String(object.authCode);\r\n if (object.cardNo != null)\r\n message.cardNo = String(object.cardNo);\r\n if (object.cardType != null)\r\n message.cardType = String(object.cardType);\r\n if (object.type != null)\r\n message.type = object.type | 0;\r\n if (object.flag != null)\r\n message.flag = object.flag | 0;\r\n if (object.orderNo != null)\r\n message.orderNo = String(object.orderNo);\r\n if (object.dateType != null)\r\n message.dateType = object.dateType | 0;\r\n if (object.terminalNoStart != null)\r\n message.terminalNoStart = String(object.terminalNoStart);\r\n if (object.terminalNoEnd != null)\r\n message.terminalNoEnd = String(object.terminalNoEnd);\r\n if (object.submitDateStart != null)\r\n message.submitDateStart = String(object.submitDateStart);\r\n if (object.submitDateEnd != null)\r\n message.submitDateEnd = String(object.submitDateEnd);\r\n if (object.dateStart != null)\r\n message.dateStart = String(object.dateStart);\r\n if (object.dateEnd != null)\r\n message.dateEnd = String(object.dateEnd);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ReimbursementQuerySpecificStore message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore} message ReimbursementQuerySpecificStore\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ReimbursementQuerySpecificStore.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.specificStore = \"\";\r\n object.authCode = \"\";\r\n object.cardNo = \"\";\r\n object.cardType = \"\";\r\n object.type = 0;\r\n object.flag = 0;\r\n object.orderNo = \"\";\r\n object.dateType = 0;\r\n object.terminalNoStart = \"\";\r\n object.terminalNoEnd = \"\";\r\n object.submitDateStart = \"\";\r\n object.submitDateEnd = \"\";\r\n object.dateStart = \"\";\r\n object.dateEnd = \"\";\r\n }\r\n if (message.specificStore != null && message.hasOwnProperty(\"specificStore\"))\r\n object.specificStore = message.specificStore;\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n object.authCode = message.authCode;\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n object.cardNo = message.cardNo;\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n object.cardType = message.cardType;\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.flag != null && message.hasOwnProperty(\"flag\"))\r\n object.flag = message.flag;\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n object.orderNo = message.orderNo;\r\n if (message.dateType != null && message.hasOwnProperty(\"dateType\"))\r\n object.dateType = message.dateType;\r\n if (message.terminalNoStart != null && message.hasOwnProperty(\"terminalNoStart\"))\r\n object.terminalNoStart = message.terminalNoStart;\r\n if (message.terminalNoEnd != null && message.hasOwnProperty(\"terminalNoEnd\"))\r\n object.terminalNoEnd = message.terminalNoEnd;\r\n if (message.submitDateStart != null && message.hasOwnProperty(\"submitDateStart\"))\r\n object.submitDateStart = message.submitDateStart;\r\n if (message.submitDateEnd != null && message.hasOwnProperty(\"submitDateEnd\"))\r\n object.submitDateEnd = message.submitDateEnd;\r\n if (message.dateStart != null && message.hasOwnProperty(\"dateStart\"))\r\n object.dateStart = message.dateStart;\r\n if (message.dateEnd != null && message.hasOwnProperty(\"dateEnd\"))\r\n object.dateEnd = message.dateEnd;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ReimbursementQuerySpecificStore to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementQuerySpecificStore\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ReimbursementQuerySpecificStore.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ReimbursementQuerySpecificStore;\r\n })();\r\n\r\n Protobuf.ReimbursementDetailExport = (function() {\r\n\r\n /**\r\n * Properties of a ReimbursementDetailExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IReimbursementDetailExport\r\n * @property {string|null} [storeCode] ReimbursementDetailExport storeCode\r\n * @property {string|null} [registerName] ReimbursementDetailExport registerName\r\n * @property {string|null} [terminalNo] ReimbursementDetailExport terminalNo\r\n * @property {string|null} [submitDate] ReimbursementDetailExport submitDate\r\n * @property {string|null} [batchNoOrigin] ReimbursementDetailExport batchNoOrigin\r\n * @property {string|null} [date] ReimbursementDetailExport date\r\n * @property {string|null} [time] ReimbursementDetailExport time\r\n * @property {string|null} [code] ReimbursementDetailExport code\r\n * @property {string|null} [authCode] ReimbursementDetailExport authCode\r\n * @property {string|null} [amount] ReimbursementDetailExport amount\r\n * @property {string|null} [cardNo] ReimbursementDetailExport cardNo\r\n * @property {string|null} [cardTypeOrigin] ReimbursementDetailExport cardTypeOrigin\r\n * @property {string|null} [orderNo] ReimbursementDetailExport orderNo\r\n * @property {string|null} [issuer] ReimbursementDetailExport issuer\r\n * @property {string|null} [installCodeOrigin] ReimbursementDetailExport installCodeOrigin\r\n * @property {string|null} [installTimes] ReimbursementDetailExport installTimes\r\n * @property {string|null} [settleCode] ReimbursementDetailExport settleCode\r\n * @property {string|null} [taiwanPayQrFlag] ReimbursementDetailExport taiwanPayQrFlag\r\n * @property {string|null} [stan] ReimbursementDetailExport stan\r\n * @property {string|null} [feeFlagOrigin] ReimbursementDetailExport feeFlagOrigin\r\n */\r\n\r\n /**\r\n * Constructs a new ReimbursementDetailExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ReimbursementDetailExport.\r\n * @implements IReimbursementDetailExport\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementDetailExport=} [properties] Properties to set\r\n */\r\n function ReimbursementDetailExport(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ReimbursementDetailExport storeCode.\r\n * @member {string} storeCode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @instance\r\n */\r\n ReimbursementDetailExport.prototype.storeCode = \"\";\r\n\r\n /**\r\n * ReimbursementDetailExport registerName.\r\n * @member {string} registerName\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @instance\r\n */\r\n ReimbursementDetailExport.prototype.registerName = \"\";\r\n\r\n /**\r\n * ReimbursementDetailExport terminalNo.\r\n * @member {string} terminalNo\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @instance\r\n */\r\n ReimbursementDetailExport.prototype.terminalNo = \"\";\r\n\r\n /**\r\n * ReimbursementDetailExport submitDate.\r\n * @member {string} submitDate\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @instance\r\n */\r\n ReimbursementDetailExport.prototype.submitDate = \"\";\r\n\r\n /**\r\n * ReimbursementDetailExport batchNoOrigin.\r\n * @member {string} batchNoOrigin\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @instance\r\n */\r\n ReimbursementDetailExport.prototype.batchNoOrigin = \"\";\r\n\r\n /**\r\n * ReimbursementDetailExport date.\r\n * @member {string} date\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @instance\r\n */\r\n ReimbursementDetailExport.prototype.date = \"\";\r\n\r\n /**\r\n * ReimbursementDetailExport time.\r\n * @member {string} time\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @instance\r\n */\r\n ReimbursementDetailExport.prototype.time = \"\";\r\n\r\n /**\r\n * ReimbursementDetailExport code.\r\n * @member {string} code\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @instance\r\n */\r\n ReimbursementDetailExport.prototype.code = \"\";\r\n\r\n /**\r\n * ReimbursementDetailExport authCode.\r\n * @member {string} authCode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @instance\r\n */\r\n ReimbursementDetailExport.prototype.authCode = \"\";\r\n\r\n /**\r\n * ReimbursementDetailExport amount.\r\n * @member {string} amount\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @instance\r\n */\r\n ReimbursementDetailExport.prototype.amount = \"\";\r\n\r\n /**\r\n * ReimbursementDetailExport cardNo.\r\n * @member {string} cardNo\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @instance\r\n */\r\n ReimbursementDetailExport.prototype.cardNo = \"\";\r\n\r\n /**\r\n * ReimbursementDetailExport cardTypeOrigin.\r\n * @member {string} cardTypeOrigin\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @instance\r\n */\r\n ReimbursementDetailExport.prototype.cardTypeOrigin = \"\";\r\n\r\n /**\r\n * ReimbursementDetailExport orderNo.\r\n * @member {string} orderNo\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @instance\r\n */\r\n ReimbursementDetailExport.prototype.orderNo = \"\";\r\n\r\n /**\r\n * ReimbursementDetailExport issuer.\r\n * @member {string} issuer\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @instance\r\n */\r\n ReimbursementDetailExport.prototype.issuer = \"\";\r\n\r\n /**\r\n * ReimbursementDetailExport installCodeOrigin.\r\n * @member {string} installCodeOrigin\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @instance\r\n */\r\n ReimbursementDetailExport.prototype.installCodeOrigin = \"\";\r\n\r\n /**\r\n * ReimbursementDetailExport installTimes.\r\n * @member {string} installTimes\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @instance\r\n */\r\n ReimbursementDetailExport.prototype.installTimes = \"\";\r\n\r\n /**\r\n * ReimbursementDetailExport settleCode.\r\n * @member {string} settleCode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @instance\r\n */\r\n ReimbursementDetailExport.prototype.settleCode = \"\";\r\n\r\n /**\r\n * ReimbursementDetailExport taiwanPayQrFlag.\r\n * @member {string} taiwanPayQrFlag\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @instance\r\n */\r\n ReimbursementDetailExport.prototype.taiwanPayQrFlag = \"\";\r\n\r\n /**\r\n * ReimbursementDetailExport stan.\r\n * @member {string} stan\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @instance\r\n */\r\n ReimbursementDetailExport.prototype.stan = \"\";\r\n\r\n /**\r\n * ReimbursementDetailExport feeFlagOrigin.\r\n * @member {string} feeFlagOrigin\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @instance\r\n */\r\n ReimbursementDetailExport.prototype.feeFlagOrigin = \"\";\r\n\r\n /**\r\n * Creates a new ReimbursementDetailExport instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementDetailExport=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementDetailExport} ReimbursementDetailExport instance\r\n */\r\n ReimbursementDetailExport.create = function create(properties) {\r\n return new ReimbursementDetailExport(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementDetailExport message. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementDetailExport.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementDetailExport} message ReimbursementDetailExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementDetailExport.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.storeCode != null && Object.hasOwnProperty.call(message, \"storeCode\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.storeCode);\r\n if (message.registerName != null && Object.hasOwnProperty.call(message, \"registerName\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.registerName);\r\n if (message.terminalNo != null && Object.hasOwnProperty.call(message, \"terminalNo\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.terminalNo);\r\n if (message.submitDate != null && Object.hasOwnProperty.call(message, \"submitDate\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.submitDate);\r\n if (message.batchNoOrigin != null && Object.hasOwnProperty.call(message, \"batchNoOrigin\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.batchNoOrigin);\r\n if (message.date != null && Object.hasOwnProperty.call(message, \"date\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.date);\r\n if (message.time != null && Object.hasOwnProperty.call(message, \"time\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.time);\r\n if (message.code != null && Object.hasOwnProperty.call(message, \"code\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.code);\r\n if (message.authCode != null && Object.hasOwnProperty.call(message, \"authCode\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.authCode);\r\n if (message.amount != null && Object.hasOwnProperty.call(message, \"amount\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.amount);\r\n if (message.cardNo != null && Object.hasOwnProperty.call(message, \"cardNo\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.cardNo);\r\n if (message.cardTypeOrigin != null && Object.hasOwnProperty.call(message, \"cardTypeOrigin\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.cardTypeOrigin);\r\n if (message.orderNo != null && Object.hasOwnProperty.call(message, \"orderNo\"))\r\n writer.uint32(/* id 13, wireType 2 =*/106).string(message.orderNo);\r\n if (message.issuer != null && Object.hasOwnProperty.call(message, \"issuer\"))\r\n writer.uint32(/* id 14, wireType 2 =*/114).string(message.issuer);\r\n if (message.installCodeOrigin != null && Object.hasOwnProperty.call(message, \"installCodeOrigin\"))\r\n writer.uint32(/* id 15, wireType 2 =*/122).string(message.installCodeOrigin);\r\n if (message.installTimes != null && Object.hasOwnProperty.call(message, \"installTimes\"))\r\n writer.uint32(/* id 16, wireType 2 =*/130).string(message.installTimes);\r\n if (message.settleCode != null && Object.hasOwnProperty.call(message, \"settleCode\"))\r\n writer.uint32(/* id 17, wireType 2 =*/138).string(message.settleCode);\r\n if (message.taiwanPayQrFlag != null && Object.hasOwnProperty.call(message, \"taiwanPayQrFlag\"))\r\n writer.uint32(/* id 18, wireType 2 =*/146).string(message.taiwanPayQrFlag);\r\n if (message.stan != null && Object.hasOwnProperty.call(message, \"stan\"))\r\n writer.uint32(/* id 19, wireType 2 =*/154).string(message.stan);\r\n if (message.feeFlagOrigin != null && Object.hasOwnProperty.call(message, \"feeFlagOrigin\"))\r\n writer.uint32(/* id 20, wireType 2 =*/162).string(message.feeFlagOrigin);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementDetailExport message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementDetailExport.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementDetailExport} message ReimbursementDetailExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementDetailExport.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementDetailExport message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementDetailExport} ReimbursementDetailExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementDetailExport.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ReimbursementDetailExport();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.storeCode = reader.string();\r\n break;\r\n case 2:\r\n message.registerName = reader.string();\r\n break;\r\n case 3:\r\n message.terminalNo = reader.string();\r\n break;\r\n case 4:\r\n message.submitDate = reader.string();\r\n break;\r\n case 5:\r\n message.batchNoOrigin = reader.string();\r\n break;\r\n case 6:\r\n message.date = reader.string();\r\n break;\r\n case 7:\r\n message.time = reader.string();\r\n break;\r\n case 8:\r\n message.code = reader.string();\r\n break;\r\n case 9:\r\n message.authCode = reader.string();\r\n break;\r\n case 10:\r\n message.amount = reader.string();\r\n break;\r\n case 11:\r\n message.cardNo = reader.string();\r\n break;\r\n case 12:\r\n message.cardTypeOrigin = reader.string();\r\n break;\r\n case 13:\r\n message.orderNo = reader.string();\r\n break;\r\n case 14:\r\n message.issuer = reader.string();\r\n break;\r\n case 15:\r\n message.installCodeOrigin = reader.string();\r\n break;\r\n case 16:\r\n message.installTimes = reader.string();\r\n break;\r\n case 17:\r\n message.settleCode = reader.string();\r\n break;\r\n case 18:\r\n message.taiwanPayQrFlag = reader.string();\r\n break;\r\n case 19:\r\n message.stan = reader.string();\r\n break;\r\n case 20:\r\n message.feeFlagOrigin = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementDetailExport message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementDetailExport} ReimbursementDetailExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementDetailExport.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ReimbursementDetailExport message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ReimbursementDetailExport.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n if (!$util.isString(message.storeCode))\r\n return \"storeCode: string expected\";\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n if (!$util.isString(message.registerName))\r\n return \"registerName: string expected\";\r\n if (message.terminalNo != null && message.hasOwnProperty(\"terminalNo\"))\r\n if (!$util.isString(message.terminalNo))\r\n return \"terminalNo: string expected\";\r\n if (message.submitDate != null && message.hasOwnProperty(\"submitDate\"))\r\n if (!$util.isString(message.submitDate))\r\n return \"submitDate: string expected\";\r\n if (message.batchNoOrigin != null && message.hasOwnProperty(\"batchNoOrigin\"))\r\n if (!$util.isString(message.batchNoOrigin))\r\n return \"batchNoOrigin: string expected\";\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n if (!$util.isString(message.date))\r\n return \"date: string expected\";\r\n if (message.time != null && message.hasOwnProperty(\"time\"))\r\n if (!$util.isString(message.time))\r\n return \"time: string expected\";\r\n if (message.code != null && message.hasOwnProperty(\"code\"))\r\n if (!$util.isString(message.code))\r\n return \"code: string expected\";\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n if (!$util.isString(message.authCode))\r\n return \"authCode: string expected\";\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n if (!$util.isString(message.amount))\r\n return \"amount: string expected\";\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n if (!$util.isString(message.cardNo))\r\n return \"cardNo: string expected\";\r\n if (message.cardTypeOrigin != null && message.hasOwnProperty(\"cardTypeOrigin\"))\r\n if (!$util.isString(message.cardTypeOrigin))\r\n return \"cardTypeOrigin: string expected\";\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n if (!$util.isString(message.orderNo))\r\n return \"orderNo: string expected\";\r\n if (message.issuer != null && message.hasOwnProperty(\"issuer\"))\r\n if (!$util.isString(message.issuer))\r\n return \"issuer: string expected\";\r\n if (message.installCodeOrigin != null && message.hasOwnProperty(\"installCodeOrigin\"))\r\n if (!$util.isString(message.installCodeOrigin))\r\n return \"installCodeOrigin: string expected\";\r\n if (message.installTimes != null && message.hasOwnProperty(\"installTimes\"))\r\n if (!$util.isString(message.installTimes))\r\n return \"installTimes: string expected\";\r\n if (message.settleCode != null && message.hasOwnProperty(\"settleCode\"))\r\n if (!$util.isString(message.settleCode))\r\n return \"settleCode: string expected\";\r\n if (message.taiwanPayQrFlag != null && message.hasOwnProperty(\"taiwanPayQrFlag\"))\r\n if (!$util.isString(message.taiwanPayQrFlag))\r\n return \"taiwanPayQrFlag: string expected\";\r\n if (message.stan != null && message.hasOwnProperty(\"stan\"))\r\n if (!$util.isString(message.stan))\r\n return \"stan: string expected\";\r\n if (message.feeFlagOrigin != null && message.hasOwnProperty(\"feeFlagOrigin\"))\r\n if (!$util.isString(message.feeFlagOrigin))\r\n return \"feeFlagOrigin: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ReimbursementDetailExport message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementDetailExport} ReimbursementDetailExport\r\n */\r\n ReimbursementDetailExport.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ReimbursementDetailExport)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ReimbursementDetailExport();\r\n if (object.storeCode != null)\r\n message.storeCode = String(object.storeCode);\r\n if (object.registerName != null)\r\n message.registerName = String(object.registerName);\r\n if (object.terminalNo != null)\r\n message.terminalNo = String(object.terminalNo);\r\n if (object.submitDate != null)\r\n message.submitDate = String(object.submitDate);\r\n if (object.batchNoOrigin != null)\r\n message.batchNoOrigin = String(object.batchNoOrigin);\r\n if (object.date != null)\r\n message.date = String(object.date);\r\n if (object.time != null)\r\n message.time = String(object.time);\r\n if (object.code != null)\r\n message.code = String(object.code);\r\n if (object.authCode != null)\r\n message.authCode = String(object.authCode);\r\n if (object.amount != null)\r\n message.amount = String(object.amount);\r\n if (object.cardNo != null)\r\n message.cardNo = String(object.cardNo);\r\n if (object.cardTypeOrigin != null)\r\n message.cardTypeOrigin = String(object.cardTypeOrigin);\r\n if (object.orderNo != null)\r\n message.orderNo = String(object.orderNo);\r\n if (object.issuer != null)\r\n message.issuer = String(object.issuer);\r\n if (object.installCodeOrigin != null)\r\n message.installCodeOrigin = String(object.installCodeOrigin);\r\n if (object.installTimes != null)\r\n message.installTimes = String(object.installTimes);\r\n if (object.settleCode != null)\r\n message.settleCode = String(object.settleCode);\r\n if (object.taiwanPayQrFlag != null)\r\n message.taiwanPayQrFlag = String(object.taiwanPayQrFlag);\r\n if (object.stan != null)\r\n message.stan = String(object.stan);\r\n if (object.feeFlagOrigin != null)\r\n message.feeFlagOrigin = String(object.feeFlagOrigin);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ReimbursementDetailExport message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ReimbursementDetailExport} message ReimbursementDetailExport\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ReimbursementDetailExport.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.storeCode = \"\";\r\n object.registerName = \"\";\r\n object.terminalNo = \"\";\r\n object.submitDate = \"\";\r\n object.batchNoOrigin = \"\";\r\n object.date = \"\";\r\n object.time = \"\";\r\n object.code = \"\";\r\n object.authCode = \"\";\r\n object.amount = \"\";\r\n object.cardNo = \"\";\r\n object.cardTypeOrigin = \"\";\r\n object.orderNo = \"\";\r\n object.issuer = \"\";\r\n object.installCodeOrigin = \"\";\r\n object.installTimes = \"\";\r\n object.settleCode = \"\";\r\n object.taiwanPayQrFlag = \"\";\r\n object.stan = \"\";\r\n object.feeFlagOrigin = \"\";\r\n }\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n object.storeCode = message.storeCode;\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n object.registerName = message.registerName;\r\n if (message.terminalNo != null && message.hasOwnProperty(\"terminalNo\"))\r\n object.terminalNo = message.terminalNo;\r\n if (message.submitDate != null && message.hasOwnProperty(\"submitDate\"))\r\n object.submitDate = message.submitDate;\r\n if (message.batchNoOrigin != null && message.hasOwnProperty(\"batchNoOrigin\"))\r\n object.batchNoOrigin = message.batchNoOrigin;\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n object.date = message.date;\r\n if (message.time != null && message.hasOwnProperty(\"time\"))\r\n object.time = message.time;\r\n if (message.code != null && message.hasOwnProperty(\"code\"))\r\n object.code = message.code;\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n object.authCode = message.authCode;\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n object.amount = message.amount;\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n object.cardNo = message.cardNo;\r\n if (message.cardTypeOrigin != null && message.hasOwnProperty(\"cardTypeOrigin\"))\r\n object.cardTypeOrigin = message.cardTypeOrigin;\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n object.orderNo = message.orderNo;\r\n if (message.issuer != null && message.hasOwnProperty(\"issuer\"))\r\n object.issuer = message.issuer;\r\n if (message.installCodeOrigin != null && message.hasOwnProperty(\"installCodeOrigin\"))\r\n object.installCodeOrigin = message.installCodeOrigin;\r\n if (message.installTimes != null && message.hasOwnProperty(\"installTimes\"))\r\n object.installTimes = message.installTimes;\r\n if (message.settleCode != null && message.hasOwnProperty(\"settleCode\"))\r\n object.settleCode = message.settleCode;\r\n if (message.taiwanPayQrFlag != null && message.hasOwnProperty(\"taiwanPayQrFlag\"))\r\n object.taiwanPayQrFlag = message.taiwanPayQrFlag;\r\n if (message.stan != null && message.hasOwnProperty(\"stan\"))\r\n object.stan = message.stan;\r\n if (message.feeFlagOrigin != null && message.hasOwnProperty(\"feeFlagOrigin\"))\r\n object.feeFlagOrigin = message.feeFlagOrigin;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ReimbursementDetailExport to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementDetailExport\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ReimbursementDetailExport.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ReimbursementDetailExport;\r\n })();\r\n\r\n Protobuf.ReimbursementSummaryExport = (function() {\r\n\r\n /**\r\n * Properties of a ReimbursementSummaryExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IReimbursementSummaryExport\r\n * @property {string|null} [item] ReimbursementSummaryExport item\r\n * @property {string|null} [ourBankCount] ReimbursementSummaryExport ourBankCount\r\n * @property {string|null} [ourBankAmount] ReimbursementSummaryExport ourBankAmount\r\n * @property {string|null} [notOurBankCount] ReimbursementSummaryExport notOurBankCount\r\n * @property {string|null} [notOurBankAmount] ReimbursementSummaryExport notOurBankAmount\r\n * @property {string|null} [totalCount] ReimbursementSummaryExport totalCount\r\n * @property {string|null} [totalAmount] ReimbursementSummaryExport totalAmount\r\n */\r\n\r\n /**\r\n * Constructs a new ReimbursementSummaryExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ReimbursementSummaryExport.\r\n * @implements IReimbursementSummaryExport\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementSummaryExport=} [properties] Properties to set\r\n */\r\n function ReimbursementSummaryExport(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ReimbursementSummaryExport item.\r\n * @member {string} item\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryExport\r\n * @instance\r\n */\r\n ReimbursementSummaryExport.prototype.item = \"\";\r\n\r\n /**\r\n * ReimbursementSummaryExport ourBankCount.\r\n * @member {string} ourBankCount\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryExport\r\n * @instance\r\n */\r\n ReimbursementSummaryExport.prototype.ourBankCount = \"\";\r\n\r\n /**\r\n * ReimbursementSummaryExport ourBankAmount.\r\n * @member {string} ourBankAmount\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryExport\r\n * @instance\r\n */\r\n ReimbursementSummaryExport.prototype.ourBankAmount = \"\";\r\n\r\n /**\r\n * ReimbursementSummaryExport notOurBankCount.\r\n * @member {string} notOurBankCount\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryExport\r\n * @instance\r\n */\r\n ReimbursementSummaryExport.prototype.notOurBankCount = \"\";\r\n\r\n /**\r\n * ReimbursementSummaryExport notOurBankAmount.\r\n * @member {string} notOurBankAmount\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryExport\r\n * @instance\r\n */\r\n ReimbursementSummaryExport.prototype.notOurBankAmount = \"\";\r\n\r\n /**\r\n * ReimbursementSummaryExport totalCount.\r\n * @member {string} totalCount\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryExport\r\n * @instance\r\n */\r\n ReimbursementSummaryExport.prototype.totalCount = \"\";\r\n\r\n /**\r\n * ReimbursementSummaryExport totalAmount.\r\n * @member {string} totalAmount\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryExport\r\n * @instance\r\n */\r\n ReimbursementSummaryExport.prototype.totalAmount = \"\";\r\n\r\n /**\r\n * Creates a new ReimbursementSummaryExport instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementSummaryExport=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementSummaryExport} ReimbursementSummaryExport instance\r\n */\r\n ReimbursementSummaryExport.create = function create(properties) {\r\n return new ReimbursementSummaryExport(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementSummaryExport message. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementSummaryExport.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementSummaryExport} message ReimbursementSummaryExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementSummaryExport.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.item != null && Object.hasOwnProperty.call(message, \"item\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.item);\r\n if (message.ourBankCount != null && Object.hasOwnProperty.call(message, \"ourBankCount\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.ourBankCount);\r\n if (message.ourBankAmount != null && Object.hasOwnProperty.call(message, \"ourBankAmount\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.ourBankAmount);\r\n if (message.notOurBankCount != null && Object.hasOwnProperty.call(message, \"notOurBankCount\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.notOurBankCount);\r\n if (message.notOurBankAmount != null && Object.hasOwnProperty.call(message, \"notOurBankAmount\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.notOurBankAmount);\r\n if (message.totalCount != null && Object.hasOwnProperty.call(message, \"totalCount\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.totalCount);\r\n if (message.totalAmount != null && Object.hasOwnProperty.call(message, \"totalAmount\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.totalAmount);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementSummaryExport message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementSummaryExport.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementSummaryExport} message ReimbursementSummaryExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementSummaryExport.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementSummaryExport message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementSummaryExport} ReimbursementSummaryExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementSummaryExport.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ReimbursementSummaryExport();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.item = reader.string();\r\n break;\r\n case 2:\r\n message.ourBankCount = reader.string();\r\n break;\r\n case 3:\r\n message.ourBankAmount = reader.string();\r\n break;\r\n case 4:\r\n message.notOurBankCount = reader.string();\r\n break;\r\n case 5:\r\n message.notOurBankAmount = reader.string();\r\n break;\r\n case 6:\r\n message.totalCount = reader.string();\r\n break;\r\n case 7:\r\n message.totalAmount = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementSummaryExport message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementSummaryExport} ReimbursementSummaryExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementSummaryExport.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ReimbursementSummaryExport message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryExport\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ReimbursementSummaryExport.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.item != null && message.hasOwnProperty(\"item\"))\r\n if (!$util.isString(message.item))\r\n return \"item: string expected\";\r\n if (message.ourBankCount != null && message.hasOwnProperty(\"ourBankCount\"))\r\n if (!$util.isString(message.ourBankCount))\r\n return \"ourBankCount: string expected\";\r\n if (message.ourBankAmount != null && message.hasOwnProperty(\"ourBankAmount\"))\r\n if (!$util.isString(message.ourBankAmount))\r\n return \"ourBankAmount: string expected\";\r\n if (message.notOurBankCount != null && message.hasOwnProperty(\"notOurBankCount\"))\r\n if (!$util.isString(message.notOurBankCount))\r\n return \"notOurBankCount: string expected\";\r\n if (message.notOurBankAmount != null && message.hasOwnProperty(\"notOurBankAmount\"))\r\n if (!$util.isString(message.notOurBankAmount))\r\n return \"notOurBankAmount: string expected\";\r\n if (message.totalCount != null && message.hasOwnProperty(\"totalCount\"))\r\n if (!$util.isString(message.totalCount))\r\n return \"totalCount: string expected\";\r\n if (message.totalAmount != null && message.hasOwnProperty(\"totalAmount\"))\r\n if (!$util.isString(message.totalAmount))\r\n return \"totalAmount: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ReimbursementSummaryExport message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryExport\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementSummaryExport} ReimbursementSummaryExport\r\n */\r\n ReimbursementSummaryExport.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ReimbursementSummaryExport)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ReimbursementSummaryExport();\r\n if (object.item != null)\r\n message.item = String(object.item);\r\n if (object.ourBankCount != null)\r\n message.ourBankCount = String(object.ourBankCount);\r\n if (object.ourBankAmount != null)\r\n message.ourBankAmount = String(object.ourBankAmount);\r\n if (object.notOurBankCount != null)\r\n message.notOurBankCount = String(object.notOurBankCount);\r\n if (object.notOurBankAmount != null)\r\n message.notOurBankAmount = String(object.notOurBankAmount);\r\n if (object.totalCount != null)\r\n message.totalCount = String(object.totalCount);\r\n if (object.totalAmount != null)\r\n message.totalAmount = String(object.totalAmount);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ReimbursementSummaryExport message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ReimbursementSummaryExport} message ReimbursementSummaryExport\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ReimbursementSummaryExport.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.item = \"\";\r\n object.ourBankCount = \"\";\r\n object.ourBankAmount = \"\";\r\n object.notOurBankCount = \"\";\r\n object.notOurBankAmount = \"\";\r\n object.totalCount = \"\";\r\n object.totalAmount = \"\";\r\n }\r\n if (message.item != null && message.hasOwnProperty(\"item\"))\r\n object.item = message.item;\r\n if (message.ourBankCount != null && message.hasOwnProperty(\"ourBankCount\"))\r\n object.ourBankCount = message.ourBankCount;\r\n if (message.ourBankAmount != null && message.hasOwnProperty(\"ourBankAmount\"))\r\n object.ourBankAmount = message.ourBankAmount;\r\n if (message.notOurBankCount != null && message.hasOwnProperty(\"notOurBankCount\"))\r\n object.notOurBankCount = message.notOurBankCount;\r\n if (message.notOurBankAmount != null && message.hasOwnProperty(\"notOurBankAmount\"))\r\n object.notOurBankAmount = message.notOurBankAmount;\r\n if (message.totalCount != null && message.hasOwnProperty(\"totalCount\"))\r\n object.totalCount = message.totalCount;\r\n if (message.totalAmount != null && message.hasOwnProperty(\"totalAmount\"))\r\n object.totalAmount = message.totalAmount;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ReimbursementSummaryExport to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryExport\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ReimbursementSummaryExport.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ReimbursementSummaryExport;\r\n })();\r\n\r\n Protobuf.ReimbursementSummaryByColumnExport = (function() {\r\n\r\n /**\r\n * Properties of a ReimbursementSummaryByColumnExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IReimbursementSummaryByColumnExport\r\n * @property {string|null} [storeCode] ReimbursementSummaryByColumnExport storeCode\r\n * @property {string|null} [registerName] ReimbursementSummaryByColumnExport registerName\r\n * @property {string|null} [terminalNo] ReimbursementSummaryByColumnExport terminalNo\r\n * @property {string|null} [date] ReimbursementSummaryByColumnExport date\r\n * @property {string|null} [batchNo] ReimbursementSummaryByColumnExport batchNo\r\n * @property {string|null} [count] ReimbursementSummaryByColumnExport count\r\n * @property {string|null} [amount] ReimbursementSummaryByColumnExport amount\r\n */\r\n\r\n /**\r\n * Constructs a new ReimbursementSummaryByColumnExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ReimbursementSummaryByColumnExport.\r\n * @implements IReimbursementSummaryByColumnExport\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementSummaryByColumnExport=} [properties] Properties to set\r\n */\r\n function ReimbursementSummaryByColumnExport(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ReimbursementSummaryByColumnExport storeCode.\r\n * @member {string} storeCode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport\r\n * @instance\r\n */\r\n ReimbursementSummaryByColumnExport.prototype.storeCode = \"\";\r\n\r\n /**\r\n * ReimbursementSummaryByColumnExport registerName.\r\n * @member {string} registerName\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport\r\n * @instance\r\n */\r\n ReimbursementSummaryByColumnExport.prototype.registerName = \"\";\r\n\r\n /**\r\n * ReimbursementSummaryByColumnExport terminalNo.\r\n * @member {string} terminalNo\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport\r\n * @instance\r\n */\r\n ReimbursementSummaryByColumnExport.prototype.terminalNo = \"\";\r\n\r\n /**\r\n * ReimbursementSummaryByColumnExport date.\r\n * @member {string} date\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport\r\n * @instance\r\n */\r\n ReimbursementSummaryByColumnExport.prototype.date = \"\";\r\n\r\n /**\r\n * ReimbursementSummaryByColumnExport batchNo.\r\n * @member {string} batchNo\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport\r\n * @instance\r\n */\r\n ReimbursementSummaryByColumnExport.prototype.batchNo = \"\";\r\n\r\n /**\r\n * ReimbursementSummaryByColumnExport count.\r\n * @member {string} count\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport\r\n * @instance\r\n */\r\n ReimbursementSummaryByColumnExport.prototype.count = \"\";\r\n\r\n /**\r\n * ReimbursementSummaryByColumnExport amount.\r\n * @member {string} amount\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport\r\n * @instance\r\n */\r\n ReimbursementSummaryByColumnExport.prototype.amount = \"\";\r\n\r\n /**\r\n * Creates a new ReimbursementSummaryByColumnExport instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementSummaryByColumnExport=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport} ReimbursementSummaryByColumnExport instance\r\n */\r\n ReimbursementSummaryByColumnExport.create = function create(properties) {\r\n return new ReimbursementSummaryByColumnExport(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementSummaryByColumnExport message. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementSummaryByColumnExport} message ReimbursementSummaryByColumnExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementSummaryByColumnExport.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.storeCode != null && Object.hasOwnProperty.call(message, \"storeCode\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.storeCode);\r\n if (message.registerName != null && Object.hasOwnProperty.call(message, \"registerName\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.registerName);\r\n if (message.terminalNo != null && Object.hasOwnProperty.call(message, \"terminalNo\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.terminalNo);\r\n if (message.date != null && Object.hasOwnProperty.call(message, \"date\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.date);\r\n if (message.batchNo != null && Object.hasOwnProperty.call(message, \"batchNo\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.batchNo);\r\n if (message.count != null && Object.hasOwnProperty.call(message, \"count\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.count);\r\n if (message.amount != null && Object.hasOwnProperty.call(message, \"amount\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.amount);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ReimbursementSummaryByColumnExport message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IReimbursementSummaryByColumnExport} message ReimbursementSummaryByColumnExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ReimbursementSummaryByColumnExport.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementSummaryByColumnExport message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport} ReimbursementSummaryByColumnExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementSummaryByColumnExport.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.storeCode = reader.string();\r\n break;\r\n case 2:\r\n message.registerName = reader.string();\r\n break;\r\n case 3:\r\n message.terminalNo = reader.string();\r\n break;\r\n case 4:\r\n message.date = reader.string();\r\n break;\r\n case 5:\r\n message.batchNo = reader.string();\r\n break;\r\n case 6:\r\n message.count = reader.string();\r\n break;\r\n case 7:\r\n message.amount = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ReimbursementSummaryByColumnExport message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport} ReimbursementSummaryByColumnExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ReimbursementSummaryByColumnExport.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ReimbursementSummaryByColumnExport message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ReimbursementSummaryByColumnExport.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n if (!$util.isString(message.storeCode))\r\n return \"storeCode: string expected\";\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n if (!$util.isString(message.registerName))\r\n return \"registerName: string expected\";\r\n if (message.terminalNo != null && message.hasOwnProperty(\"terminalNo\"))\r\n if (!$util.isString(message.terminalNo))\r\n return \"terminalNo: string expected\";\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n if (!$util.isString(message.date))\r\n return \"date: string expected\";\r\n if (message.batchNo != null && message.hasOwnProperty(\"batchNo\"))\r\n if (!$util.isString(message.batchNo))\r\n return \"batchNo: string expected\";\r\n if (message.count != null && message.hasOwnProperty(\"count\"))\r\n if (!$util.isString(message.count))\r\n return \"count: string expected\";\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n if (!$util.isString(message.amount))\r\n return \"amount: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ReimbursementSummaryByColumnExport message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport} ReimbursementSummaryByColumnExport\r\n */\r\n ReimbursementSummaryByColumnExport.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport();\r\n if (object.storeCode != null)\r\n message.storeCode = String(object.storeCode);\r\n if (object.registerName != null)\r\n message.registerName = String(object.registerName);\r\n if (object.terminalNo != null)\r\n message.terminalNo = String(object.terminalNo);\r\n if (object.date != null)\r\n message.date = String(object.date);\r\n if (object.batchNo != null)\r\n message.batchNo = String(object.batchNo);\r\n if (object.count != null)\r\n message.count = String(object.count);\r\n if (object.amount != null)\r\n message.amount = String(object.amount);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ReimbursementSummaryByColumnExport message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport} message ReimbursementSummaryByColumnExport\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ReimbursementSummaryByColumnExport.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.storeCode = \"\";\r\n object.registerName = \"\";\r\n object.terminalNo = \"\";\r\n object.date = \"\";\r\n object.batchNo = \"\";\r\n object.count = \"\";\r\n object.amount = \"\";\r\n }\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n object.storeCode = message.storeCode;\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n object.registerName = message.registerName;\r\n if (message.terminalNo != null && message.hasOwnProperty(\"terminalNo\"))\r\n object.terminalNo = message.terminalNo;\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n object.date = message.date;\r\n if (message.batchNo != null && message.hasOwnProperty(\"batchNo\"))\r\n object.batchNo = message.batchNo;\r\n if (message.count != null && message.hasOwnProperty(\"count\"))\r\n object.count = message.count;\r\n if (message.amount != null && message.hasOwnProperty(\"amount\"))\r\n object.amount = message.amount;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ReimbursementSummaryByColumnExport to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ReimbursementSummaryByColumnExport\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ReimbursementSummaryByColumnExport.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ReimbursementSummaryByColumnExport;\r\n })();\r\n\r\n /**\r\n * ErrorCode enum.\r\n * @name TCBReceiptApi.Protobuf.ErrorCode\r\n * @enum {number}\r\n * @property {number} EC_NONE=0 EC_NONE value\r\n * @property {number} EC_SUCESS=1 EC_SUCESS value\r\n * @property {number} EC_FAILED=2 EC_FAILED value\r\n * @property {number} EC_DB_EXCEPTION=3 EC_DB_EXCEPTION value\r\n * @property {number} EC_NOT_HAS_PERMISSION=4 EC_NOT_HAS_PERMISSION value\r\n * @property {number} EC_OLD_PASSWORD_ERROR=101 EC_OLD_PASSWORD_ERROR value\r\n * @property {number} EC_SAME_PASSWORD_ERROR=102 EC_SAME_PASSWORD_ERROR value\r\n * @property {number} EC_USER_IS_NOT_EXISTS=103 EC_USER_IS_NOT_EXISTS value\r\n * @property {number} EC_USER_IS_LOCK=104 EC_USER_IS_LOCK value\r\n * @property {number} EC_USER_LOGIN_ERROR=105 EC_USER_LOGIN_ERROR value\r\n * @property {number} EC_RESET_PASSWORD_EXPIRED=106 EC_RESET_PASSWORD_EXPIRED value\r\n * @property {number} EC_CAPTCHA_ERROR=107 EC_CAPTCHA_ERROR value\r\n * @property {number} EC_PASSWORD_LENGTH_ERROR=108 EC_PASSWORD_LENGTH_ERROR value\r\n * @property {number} EC_PASSWORD_FORMAT_ERROR=109 EC_PASSWORD_FORMAT_ERROR value\r\n * @property {number} EC_USER_IS_DISABLE=110 EC_USER_IS_DISABLE value\r\n * @property {number} EC_USER_REPEAT_LOGIN=111 EC_USER_REPEAT_LOGIN value\r\n * @property {number} EC_USER_TOKEN_EXPIRES=112 EC_USER_TOKEN_EXPIRES value\r\n * @property {number} EC_TID_NUMBER_INVALID=113 EC_TID_NUMBER_INVALID value\r\n * @property {number} EC_OVER_ONLINE_UPPER_LIMIT=114 EC_OVER_ONLINE_UPPER_LIMIT value\r\n * @property {number} EC_CONNET_TO_DB_FAILED=1001 EC_CONNET_TO_DB_FAILED value\r\n * @property {number} EC_DATA_INVALID=1007 EC_DATA_INVALID value\r\n * @property {number} EC_CONDITION_INVALID=1101 EC_CONDITION_INVALID value\r\n * @property {number} EC_GET_DATA_ERROR=1301 EC_GET_DATA_ERROR value\r\n * @property {number} EC_GET_LIST_TOTAL_ERROR=1302 EC_GET_LIST_TOTAL_ERROR value\r\n * @property {number} EC_INSERT_ERROR=1401 EC_INSERT_ERROR value\r\n * @property {number} EC_UPDATE_ERROR=1402 EC_UPDATE_ERROR value\r\n * @property {number} EC_DELETE_ERROR=1403 EC_DELETE_ERROR value\r\n * @property {number} EC_DATA_IS_EXISTS=1404 EC_DATA_IS_EXISTS value\r\n * @property {number} EC_DATA_IS_NOT_EXISTS=1405 EC_DATA_IS_NOT_EXISTS value\r\n * @property {number} EC_SCHEDULE_IS_PROCESSING=1501 EC_SCHEDULE_IS_PROCESSING value\r\n * @property {number} EC_STAMP_RELEASE_ORDER_ERROR=1601 EC_STAMP_RELEASE_ORDER_ERROR value\r\n * @property {number} EC_RECEIPT_PREFIX_EXCEED_END=1701 EC_RECEIPT_PREFIX_EXCEED_END value\r\n * @property {number} EC_RECEIPT_PREFIX_REPEAT=1702 EC_RECEIPT_PREFIX_REPEAT value\r\n */\r\n Protobuf.ErrorCode = (function() {\r\n var valuesById = {}, values = Object.create(valuesById);\r\n values[valuesById[0] = \"EC_NONE\"] = 0;\r\n values[valuesById[1] = \"EC_SUCESS\"] = 1;\r\n values[valuesById[2] = \"EC_FAILED\"] = 2;\r\n values[valuesById[3] = \"EC_DB_EXCEPTION\"] = 3;\r\n values[valuesById[4] = \"EC_NOT_HAS_PERMISSION\"] = 4;\r\n values[valuesById[101] = \"EC_OLD_PASSWORD_ERROR\"] = 101;\r\n values[valuesById[102] = \"EC_SAME_PASSWORD_ERROR\"] = 102;\r\n values[valuesById[103] = \"EC_USER_IS_NOT_EXISTS\"] = 103;\r\n values[valuesById[104] = \"EC_USER_IS_LOCK\"] = 104;\r\n values[valuesById[105] = \"EC_USER_LOGIN_ERROR\"] = 105;\r\n values[valuesById[106] = \"EC_RESET_PASSWORD_EXPIRED\"] = 106;\r\n values[valuesById[107] = \"EC_CAPTCHA_ERROR\"] = 107;\r\n values[valuesById[108] = \"EC_PASSWORD_LENGTH_ERROR\"] = 108;\r\n values[valuesById[109] = \"EC_PASSWORD_FORMAT_ERROR\"] = 109;\r\n values[valuesById[110] = \"EC_USER_IS_DISABLE\"] = 110;\r\n values[valuesById[111] = \"EC_USER_REPEAT_LOGIN\"] = 111;\r\n values[valuesById[112] = \"EC_USER_TOKEN_EXPIRES\"] = 112;\r\n values[valuesById[113] = \"EC_TID_NUMBER_INVALID\"] = 113;\r\n values[valuesById[114] = \"EC_OVER_ONLINE_UPPER_LIMIT\"] = 114;\r\n values[valuesById[1001] = \"EC_CONNET_TO_DB_FAILED\"] = 1001;\r\n values[valuesById[1007] = \"EC_DATA_INVALID\"] = 1007;\r\n values[valuesById[1101] = \"EC_CONDITION_INVALID\"] = 1101;\r\n values[valuesById[1301] = \"EC_GET_DATA_ERROR\"] = 1301;\r\n values[valuesById[1302] = \"EC_GET_LIST_TOTAL_ERROR\"] = 1302;\r\n values[valuesById[1401] = \"EC_INSERT_ERROR\"] = 1401;\r\n values[valuesById[1402] = \"EC_UPDATE_ERROR\"] = 1402;\r\n values[valuesById[1403] = \"EC_DELETE_ERROR\"] = 1403;\r\n values[valuesById[1404] = \"EC_DATA_IS_EXISTS\"] = 1404;\r\n values[valuesById[1405] = \"EC_DATA_IS_NOT_EXISTS\"] = 1405;\r\n values[valuesById[1501] = \"EC_SCHEDULE_IS_PROCESSING\"] = 1501;\r\n values[valuesById[1601] = \"EC_STAMP_RELEASE_ORDER_ERROR\"] = 1601;\r\n values[valuesById[1701] = \"EC_RECEIPT_PREFIX_EXCEED_END\"] = 1701;\r\n values[valuesById[1702] = \"EC_RECEIPT_PREFIX_REPEAT\"] = 1702;\r\n return values;\r\n })();\r\n\r\n Protobuf.Response = (function() {\r\n\r\n /**\r\n * Properties of a Response.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IResponse\r\n * @property {TCBReceiptApi.Protobuf.ErrorCode|null} [errorCode] Response errorCode\r\n * @property {Uint8Array|null} [item] Response item\r\n */\r\n\r\n /**\r\n * Constructs a new Response.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a Response.\r\n * @implements IResponse\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IResponse=} [properties] Properties to set\r\n */\r\n function Response(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * Response errorCode.\r\n * @member {TCBReceiptApi.Protobuf.ErrorCode} errorCode\r\n * @memberof TCBReceiptApi.Protobuf.Response\r\n * @instance\r\n */\r\n Response.prototype.errorCode = 0;\r\n\r\n /**\r\n * Response item.\r\n * @member {Uint8Array} item\r\n * @memberof TCBReceiptApi.Protobuf.Response\r\n * @instance\r\n */\r\n Response.prototype.item = $util.newBuffer([]);\r\n\r\n /**\r\n * Creates a new Response instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.Response\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IResponse=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.Response} Response instance\r\n */\r\n Response.create = function create(properties) {\r\n return new Response(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified Response message. Does not implicitly {@link TCBReceiptApi.Protobuf.Response.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.Response\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IResponse} message Response message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Response.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.errorCode != null && Object.hasOwnProperty.call(message, \"errorCode\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.errorCode);\r\n if (message.item != null && Object.hasOwnProperty.call(message, \"item\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.item);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified Response message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.Response.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Response\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IResponse} message Response message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Response.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a Response message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.Response\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.Response} Response\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Response.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.Response();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.errorCode = reader.int32();\r\n break;\r\n case 2:\r\n message.item = reader.bytes();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a Response message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Response\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.Response} Response\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Response.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a Response message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.Response\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n Response.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.errorCode != null && message.hasOwnProperty(\"errorCode\"))\r\n switch (message.errorCode) {\r\n default:\r\n return \"errorCode: enum value expected\";\r\n case 0:\r\n case 1:\r\n case 2:\r\n case 3:\r\n case 4:\r\n case 101:\r\n case 102:\r\n case 103:\r\n case 104:\r\n case 105:\r\n case 106:\r\n case 107:\r\n case 108:\r\n case 109:\r\n case 110:\r\n case 111:\r\n case 112:\r\n case 113:\r\n case 114:\r\n case 1001:\r\n case 1007:\r\n case 1101:\r\n case 1301:\r\n case 1302:\r\n case 1401:\r\n case 1402:\r\n case 1403:\r\n case 1404:\r\n case 1405:\r\n case 1501:\r\n case 1601:\r\n case 1701:\r\n case 1702:\r\n break;\r\n }\r\n if (message.item != null && message.hasOwnProperty(\"item\"))\r\n if (!(message.item && typeof message.item.length === \"number\" || $util.isString(message.item)))\r\n return \"item: buffer expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a Response message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.Response\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.Response} Response\r\n */\r\n Response.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.Response)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.Response();\r\n switch (object.errorCode) {\r\n case \"EC_NONE\":\r\n case 0:\r\n message.errorCode = 0;\r\n break;\r\n case \"EC_SUCESS\":\r\n case 1:\r\n message.errorCode = 1;\r\n break;\r\n case \"EC_FAILED\":\r\n case 2:\r\n message.errorCode = 2;\r\n break;\r\n case \"EC_DB_EXCEPTION\":\r\n case 3:\r\n message.errorCode = 3;\r\n break;\r\n case \"EC_NOT_HAS_PERMISSION\":\r\n case 4:\r\n message.errorCode = 4;\r\n break;\r\n case \"EC_OLD_PASSWORD_ERROR\":\r\n case 101:\r\n message.errorCode = 101;\r\n break;\r\n case \"EC_SAME_PASSWORD_ERROR\":\r\n case 102:\r\n message.errorCode = 102;\r\n break;\r\n case \"EC_USER_IS_NOT_EXISTS\":\r\n case 103:\r\n message.errorCode = 103;\r\n break;\r\n case \"EC_USER_IS_LOCK\":\r\n case 104:\r\n message.errorCode = 104;\r\n break;\r\n case \"EC_USER_LOGIN_ERROR\":\r\n case 105:\r\n message.errorCode = 105;\r\n break;\r\n case \"EC_RESET_PASSWORD_EXPIRED\":\r\n case 106:\r\n message.errorCode = 106;\r\n break;\r\n case \"EC_CAPTCHA_ERROR\":\r\n case 107:\r\n message.errorCode = 107;\r\n break;\r\n case \"EC_PASSWORD_LENGTH_ERROR\":\r\n case 108:\r\n message.errorCode = 108;\r\n break;\r\n case \"EC_PASSWORD_FORMAT_ERROR\":\r\n case 109:\r\n message.errorCode = 109;\r\n break;\r\n case \"EC_USER_IS_DISABLE\":\r\n case 110:\r\n message.errorCode = 110;\r\n break;\r\n case \"EC_USER_REPEAT_LOGIN\":\r\n case 111:\r\n message.errorCode = 111;\r\n break;\r\n case \"EC_USER_TOKEN_EXPIRES\":\r\n case 112:\r\n message.errorCode = 112;\r\n break;\r\n case \"EC_TID_NUMBER_INVALID\":\r\n case 113:\r\n message.errorCode = 113;\r\n break;\r\n case \"EC_OVER_ONLINE_UPPER_LIMIT\":\r\n case 114:\r\n message.errorCode = 114;\r\n break;\r\n case \"EC_CONNET_TO_DB_FAILED\":\r\n case 1001:\r\n message.errorCode = 1001;\r\n break;\r\n case \"EC_DATA_INVALID\":\r\n case 1007:\r\n message.errorCode = 1007;\r\n break;\r\n case \"EC_CONDITION_INVALID\":\r\n case 1101:\r\n message.errorCode = 1101;\r\n break;\r\n case \"EC_GET_DATA_ERROR\":\r\n case 1301:\r\n message.errorCode = 1301;\r\n break;\r\n case \"EC_GET_LIST_TOTAL_ERROR\":\r\n case 1302:\r\n message.errorCode = 1302;\r\n break;\r\n case \"EC_INSERT_ERROR\":\r\n case 1401:\r\n message.errorCode = 1401;\r\n break;\r\n case \"EC_UPDATE_ERROR\":\r\n case 1402:\r\n message.errorCode = 1402;\r\n break;\r\n case \"EC_DELETE_ERROR\":\r\n case 1403:\r\n message.errorCode = 1403;\r\n break;\r\n case \"EC_DATA_IS_EXISTS\":\r\n case 1404:\r\n message.errorCode = 1404;\r\n break;\r\n case \"EC_DATA_IS_NOT_EXISTS\":\r\n case 1405:\r\n message.errorCode = 1405;\r\n break;\r\n case \"EC_SCHEDULE_IS_PROCESSING\":\r\n case 1501:\r\n message.errorCode = 1501;\r\n break;\r\n case \"EC_STAMP_RELEASE_ORDER_ERROR\":\r\n case 1601:\r\n message.errorCode = 1601;\r\n break;\r\n case \"EC_RECEIPT_PREFIX_EXCEED_END\":\r\n case 1701:\r\n message.errorCode = 1701;\r\n break;\r\n case \"EC_RECEIPT_PREFIX_REPEAT\":\r\n case 1702:\r\n message.errorCode = 1702;\r\n break;\r\n }\r\n if (object.item != null)\r\n if (typeof object.item === \"string\")\r\n $util.base64.decode(object.item, message.item = $util.newBuffer($util.base64.length(object.item)), 0);\r\n else if (object.item.length)\r\n message.item = object.item;\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a Response message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.Response\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.Response} message Response\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n Response.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.errorCode = options.enums === String ? \"EC_NONE\" : 0;\r\n if (options.bytes === String)\r\n object.item = \"\";\r\n else {\r\n object.item = [];\r\n if (options.bytes !== Array)\r\n object.item = $util.newBuffer(object.item);\r\n }\r\n }\r\n if (message.errorCode != null && message.hasOwnProperty(\"errorCode\"))\r\n object.errorCode = options.enums === String ? $root.TCBReceiptApi.Protobuf.ErrorCode[message.errorCode] : message.errorCode;\r\n if (message.item != null && message.hasOwnProperty(\"item\"))\r\n object.item = options.bytes === String ? $util.base64.encode(message.item, 0, message.item.length) : options.bytes === Array ? Array.prototype.slice.call(message.item) : message.item;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this Response to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.Response\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n Response.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return Response;\r\n })();\r\n\r\n /**\r\n * ScheduleReportCheckPoint enum.\r\n * @name TCBReceiptApi.Protobuf.ScheduleReportCheckPoint\r\n * @enum {number}\r\n * @property {number} RCP_NONE=0 RCP_NONE value\r\n * @property {number} RCP_CHECK_SETTING=1 RCP_CHECK_SETTING value\r\n * @property {number} RCP_NEW_FOLDER=2 RCP_NEW_FOLDER value\r\n * @property {number} RCP_SELECT_DATA=3 RCP_SELECT_DATA value\r\n * @property {number} RCP_EXPORT_FILE=4 RCP_EXPORT_FILE value\r\n * @property {number} RCP_ZIP_FOLDER=5 RCP_ZIP_FOLDER value\r\n * @property {number} RCP_DELETE_FOLDER=6 RCP_DELETE_FOLDER value\r\n */\r\n Protobuf.ScheduleReportCheckPoint = (function() {\r\n var valuesById = {}, values = Object.create(valuesById);\r\n values[valuesById[0] = \"RCP_NONE\"] = 0;\r\n values[valuesById[1] = \"RCP_CHECK_SETTING\"] = 1;\r\n values[valuesById[2] = \"RCP_NEW_FOLDER\"] = 2;\r\n values[valuesById[3] = \"RCP_SELECT_DATA\"] = 3;\r\n values[valuesById[4] = \"RCP_EXPORT_FILE\"] = 4;\r\n values[valuesById[5] = \"RCP_ZIP_FOLDER\"] = 5;\r\n values[valuesById[6] = \"RCP_DELETE_FOLDER\"] = 6;\r\n return values;\r\n })();\r\n\r\n Protobuf.ScheduleReportQuery = (function() {\r\n\r\n /**\r\n * Properties of a ScheduleReportQuery.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IScheduleReportQuery\r\n * @property {number|null} [type] ScheduleReportQuery type\r\n * @property {string|null} [account] ScheduleReportQuery account\r\n */\r\n\r\n /**\r\n * Constructs a new ScheduleReportQuery.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ScheduleReportQuery.\r\n * @implements IScheduleReportQuery\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportQuery=} [properties] Properties to set\r\n */\r\n function ScheduleReportQuery(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ScheduleReportQuery type.\r\n * @member {number} type\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportQuery\r\n * @instance\r\n */\r\n ScheduleReportQuery.prototype.type = 0;\r\n\r\n /**\r\n * ScheduleReportQuery account.\r\n * @member {string} account\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportQuery\r\n * @instance\r\n */\r\n ScheduleReportQuery.prototype.account = \"\";\r\n\r\n /**\r\n * Creates a new ScheduleReportQuery instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportQuery=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportQuery} ScheduleReportQuery instance\r\n */\r\n ScheduleReportQuery.create = function create(properties) {\r\n return new ScheduleReportQuery(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ScheduleReportQuery message. Does not implicitly {@link TCBReceiptApi.Protobuf.ScheduleReportQuery.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportQuery} message ScheduleReportQuery message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ScheduleReportQuery.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type);\r\n if (message.account != null && Object.hasOwnProperty.call(message, \"account\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.account);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ScheduleReportQuery message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ScheduleReportQuery.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportQuery} message ScheduleReportQuery message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ScheduleReportQuery.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ScheduleReportQuery message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportQuery\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportQuery} ScheduleReportQuery\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ScheduleReportQuery.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ScheduleReportQuery();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.type = reader.int32();\r\n break;\r\n case 2:\r\n message.account = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ScheduleReportQuery message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportQuery\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportQuery} ScheduleReportQuery\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ScheduleReportQuery.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ScheduleReportQuery message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportQuery\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ScheduleReportQuery.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isInteger(message.type))\r\n return \"type: integer expected\";\r\n if (message.account != null && message.hasOwnProperty(\"account\"))\r\n if (!$util.isString(message.account))\r\n return \"account: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ScheduleReportQuery message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportQuery\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportQuery} ScheduleReportQuery\r\n */\r\n ScheduleReportQuery.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ScheduleReportQuery)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ScheduleReportQuery();\r\n if (object.type != null)\r\n message.type = object.type | 0;\r\n if (object.account != null)\r\n message.account = String(object.account);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ScheduleReportQuery message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ScheduleReportQuery} message ScheduleReportQuery\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ScheduleReportQuery.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.type = 0;\r\n object.account = \"\";\r\n }\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.account != null && message.hasOwnProperty(\"account\"))\r\n object.account = message.account;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ScheduleReportQuery to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportQuery\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ScheduleReportQuery.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ScheduleReportQuery;\r\n })();\r\n\r\n Protobuf.ScheduleReportInfo = (function() {\r\n\r\n /**\r\n * Properties of a ScheduleReportInfo.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IScheduleReportInfo\r\n * @property {number|null} [scheduleReportId] ScheduleReportInfo scheduleReportId\r\n * @property {number|null} [type] ScheduleReportInfo type\r\n * @property {string|null} [bankCode] ScheduleReportInfo bankCode\r\n * @property {string|null} [bankName] ScheduleReportInfo bankName\r\n * @property {string|null} [adminName] ScheduleReportInfo adminName\r\n * @property {number|null} [userId] ScheduleReportInfo userId\r\n * @property {string|null} [storeName] ScheduleReportInfo storeName\r\n * @property {number|null} [fromWhere] ScheduleReportInfo fromWhere\r\n * @property {string|null} [params] ScheduleReportInfo params\r\n * @property {number|null} [count] ScheduleReportInfo count\r\n * @property {string|null} [date] ScheduleReportInfo date\r\n * @property {string|null} [expectedStartTime] ScheduleReportInfo expectedStartTime\r\n * @property {string|null} [startDate] ScheduleReportInfo startDate\r\n * @property {number|null} [startTime] ScheduleReportInfo startTime\r\n * @property {string|null} [endDate] ScheduleReportInfo endDate\r\n * @property {number|null} [endTime] ScheduleReportInfo endTime\r\n * @property {string|null} [fileName] ScheduleReportInfo fileName\r\n * @property {string|null} [filePath] ScheduleReportInfo filePath\r\n * @property {number|null} [status] ScheduleReportInfo status\r\n * @property {number|null} [checkPoint] ScheduleReportInfo checkPoint\r\n * @property {string|null} [record] ScheduleReportInfo record\r\n * @property {string|null} [error] ScheduleReportInfo error\r\n * @property {TCBReceiptApi.Protobuf.IScheduleReportReimbursementQuery|null} [reimbursementQuery] ScheduleReportInfo reimbursementQuery\r\n * @property {TCBReceiptApi.Protobuf.IScheduleReportAppropriationQuery|null} [appropriationQuery] ScheduleReportInfo appropriationQuery\r\n * @property {TCBReceiptApi.Protobuf.IScheduleReportReimbursementQuerySpecificStore|null} [reimbursementQuerySpecificStore] ScheduleReportInfo reimbursementQuerySpecificStore\r\n * @property {TCBReceiptApi.Protobuf.IScheduleReportAppropriationQuerySpecificStore|null} [appropriationQuerySpecificStore] ScheduleReportInfo appropriationQuerySpecificStore\r\n * @property {string|null} [fromTxt] ScheduleReportInfo fromTxt\r\n * @property {string|null} [datePeriod] ScheduleReportInfo datePeriod\r\n */\r\n\r\n /**\r\n * Constructs a new ScheduleReportInfo.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ScheduleReportInfo.\r\n * @implements IScheduleReportInfo\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportInfo=} [properties] Properties to set\r\n */\r\n function ScheduleReportInfo(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ScheduleReportInfo scheduleReportId.\r\n * @member {number} scheduleReportId\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.scheduleReportId = 0;\r\n\r\n /**\r\n * ScheduleReportInfo type.\r\n * @member {number} type\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.type = 0;\r\n\r\n /**\r\n * ScheduleReportInfo bankCode.\r\n * @member {string} bankCode\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.bankCode = \"\";\r\n\r\n /**\r\n * ScheduleReportInfo bankName.\r\n * @member {string} bankName\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.bankName = \"\";\r\n\r\n /**\r\n * ScheduleReportInfo adminName.\r\n * @member {string} adminName\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.adminName = \"\";\r\n\r\n /**\r\n * ScheduleReportInfo userId.\r\n * @member {number} userId\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.userId = 0;\r\n\r\n /**\r\n * ScheduleReportInfo storeName.\r\n * @member {string} storeName\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.storeName = \"\";\r\n\r\n /**\r\n * ScheduleReportInfo fromWhere.\r\n * @member {number} fromWhere\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.fromWhere = 0;\r\n\r\n /**\r\n * ScheduleReportInfo params.\r\n * @member {string} params\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.params = \"\";\r\n\r\n /**\r\n * ScheduleReportInfo count.\r\n * @member {number} count\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.count = 0;\r\n\r\n /**\r\n * ScheduleReportInfo date.\r\n * @member {string} date\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.date = \"\";\r\n\r\n /**\r\n * ScheduleReportInfo expectedStartTime.\r\n * @member {string} expectedStartTime\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.expectedStartTime = \"\";\r\n\r\n /**\r\n * ScheduleReportInfo startDate.\r\n * @member {string} startDate\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.startDate = \"\";\r\n\r\n /**\r\n * ScheduleReportInfo startTime.\r\n * @member {number} startTime\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.startTime = 0;\r\n\r\n /**\r\n * ScheduleReportInfo endDate.\r\n * @member {string} endDate\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.endDate = \"\";\r\n\r\n /**\r\n * ScheduleReportInfo endTime.\r\n * @member {number} endTime\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.endTime = 0;\r\n\r\n /**\r\n * ScheduleReportInfo fileName.\r\n * @member {string} fileName\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.fileName = \"\";\r\n\r\n /**\r\n * ScheduleReportInfo filePath.\r\n * @member {string} filePath\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.filePath = \"\";\r\n\r\n /**\r\n * ScheduleReportInfo status.\r\n * @member {number} status\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.status = 0;\r\n\r\n /**\r\n * ScheduleReportInfo checkPoint.\r\n * @member {number} checkPoint\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.checkPoint = 0;\r\n\r\n /**\r\n * ScheduleReportInfo record.\r\n * @member {string} record\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.record = \"\";\r\n\r\n /**\r\n * ScheduleReportInfo error.\r\n * @member {string} error\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.error = \"\";\r\n\r\n /**\r\n * ScheduleReportInfo reimbursementQuery.\r\n * @member {TCBReceiptApi.Protobuf.IScheduleReportReimbursementQuery|null|undefined} reimbursementQuery\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.reimbursementQuery = null;\r\n\r\n /**\r\n * ScheduleReportInfo appropriationQuery.\r\n * @member {TCBReceiptApi.Protobuf.IScheduleReportAppropriationQuery|null|undefined} appropriationQuery\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.appropriationQuery = null;\r\n\r\n /**\r\n * ScheduleReportInfo reimbursementQuerySpecificStore.\r\n * @member {TCBReceiptApi.Protobuf.IScheduleReportReimbursementQuerySpecificStore|null|undefined} reimbursementQuerySpecificStore\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.reimbursementQuerySpecificStore = null;\r\n\r\n /**\r\n * ScheduleReportInfo appropriationQuerySpecificStore.\r\n * @member {TCBReceiptApi.Protobuf.IScheduleReportAppropriationQuerySpecificStore|null|undefined} appropriationQuerySpecificStore\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.appropriationQuerySpecificStore = null;\r\n\r\n /**\r\n * ScheduleReportInfo fromTxt.\r\n * @member {string} fromTxt\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.fromTxt = \"\";\r\n\r\n /**\r\n * ScheduleReportInfo datePeriod.\r\n * @member {string} datePeriod\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n */\r\n ScheduleReportInfo.prototype.datePeriod = \"\";\r\n\r\n /**\r\n * Creates a new ScheduleReportInfo instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportInfo=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportInfo} ScheduleReportInfo instance\r\n */\r\n ScheduleReportInfo.create = function create(properties) {\r\n return new ScheduleReportInfo(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ScheduleReportInfo message. Does not implicitly {@link TCBReceiptApi.Protobuf.ScheduleReportInfo.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportInfo} message ScheduleReportInfo message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ScheduleReportInfo.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.scheduleReportId != null && Object.hasOwnProperty.call(message, \"scheduleReportId\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.scheduleReportId);\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 2, wireType 0 =*/16).int32(message.type);\r\n if (message.bankCode != null && Object.hasOwnProperty.call(message, \"bankCode\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.bankCode);\r\n if (message.bankName != null && Object.hasOwnProperty.call(message, \"bankName\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.bankName);\r\n if (message.adminName != null && Object.hasOwnProperty.call(message, \"adminName\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.adminName);\r\n if (message.userId != null && Object.hasOwnProperty.call(message, \"userId\"))\r\n writer.uint32(/* id 6, wireType 0 =*/48).int32(message.userId);\r\n if (message.storeName != null && Object.hasOwnProperty.call(message, \"storeName\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.storeName);\r\n if (message.fromWhere != null && Object.hasOwnProperty.call(message, \"fromWhere\"))\r\n writer.uint32(/* id 8, wireType 0 =*/64).int32(message.fromWhere);\r\n if (message.params != null && Object.hasOwnProperty.call(message, \"params\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.params);\r\n if (message.count != null && Object.hasOwnProperty.call(message, \"count\"))\r\n writer.uint32(/* id 10, wireType 0 =*/80).int32(message.count);\r\n if (message.date != null && Object.hasOwnProperty.call(message, \"date\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.date);\r\n if (message.expectedStartTime != null && Object.hasOwnProperty.call(message, \"expectedStartTime\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.expectedStartTime);\r\n if (message.startDate != null && Object.hasOwnProperty.call(message, \"startDate\"))\r\n writer.uint32(/* id 13, wireType 2 =*/106).string(message.startDate);\r\n if (message.startTime != null && Object.hasOwnProperty.call(message, \"startTime\"))\r\n writer.uint32(/* id 14, wireType 0 =*/112).int32(message.startTime);\r\n if (message.endDate != null && Object.hasOwnProperty.call(message, \"endDate\"))\r\n writer.uint32(/* id 15, wireType 2 =*/122).string(message.endDate);\r\n if (message.endTime != null && Object.hasOwnProperty.call(message, \"endTime\"))\r\n writer.uint32(/* id 16, wireType 0 =*/128).int32(message.endTime);\r\n if (message.fileName != null && Object.hasOwnProperty.call(message, \"fileName\"))\r\n writer.uint32(/* id 17, wireType 2 =*/138).string(message.fileName);\r\n if (message.filePath != null && Object.hasOwnProperty.call(message, \"filePath\"))\r\n writer.uint32(/* id 18, wireType 2 =*/146).string(message.filePath);\r\n if (message.status != null && Object.hasOwnProperty.call(message, \"status\"))\r\n writer.uint32(/* id 19, wireType 0 =*/152).int32(message.status);\r\n if (message.checkPoint != null && Object.hasOwnProperty.call(message, \"checkPoint\"))\r\n writer.uint32(/* id 20, wireType 0 =*/160).int32(message.checkPoint);\r\n if (message.record != null && Object.hasOwnProperty.call(message, \"record\"))\r\n writer.uint32(/* id 21, wireType 2 =*/170).string(message.record);\r\n if (message.error != null && Object.hasOwnProperty.call(message, \"error\"))\r\n writer.uint32(/* id 22, wireType 2 =*/178).string(message.error);\r\n if (message.reimbursementQuery != null && Object.hasOwnProperty.call(message, \"reimbursementQuery\"))\r\n $root.TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery.encode(message.reimbursementQuery, writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim();\r\n if (message.appropriationQuery != null && Object.hasOwnProperty.call(message, \"appropriationQuery\"))\r\n $root.TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery.encode(message.appropriationQuery, writer.uint32(/* id 24, wireType 2 =*/194).fork()).ldelim();\r\n if (message.reimbursementQuerySpecificStore != null && Object.hasOwnProperty.call(message, \"reimbursementQuerySpecificStore\"))\r\n $root.TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore.encode(message.reimbursementQuerySpecificStore, writer.uint32(/* id 25, wireType 2 =*/202).fork()).ldelim();\r\n if (message.appropriationQuerySpecificStore != null && Object.hasOwnProperty.call(message, \"appropriationQuerySpecificStore\"))\r\n $root.TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore.encode(message.appropriationQuerySpecificStore, writer.uint32(/* id 26, wireType 2 =*/210).fork()).ldelim();\r\n if (message.fromTxt != null && Object.hasOwnProperty.call(message, \"fromTxt\"))\r\n writer.uint32(/* id 27, wireType 2 =*/218).string(message.fromTxt);\r\n if (message.datePeriod != null && Object.hasOwnProperty.call(message, \"datePeriod\"))\r\n writer.uint32(/* id 28, wireType 2 =*/226).string(message.datePeriod);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ScheduleReportInfo message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ScheduleReportInfo.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportInfo} message ScheduleReportInfo message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ScheduleReportInfo.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ScheduleReportInfo message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportInfo} ScheduleReportInfo\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ScheduleReportInfo.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ScheduleReportInfo();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.scheduleReportId = reader.int32();\r\n break;\r\n case 2:\r\n message.type = reader.int32();\r\n break;\r\n case 3:\r\n message.bankCode = reader.string();\r\n break;\r\n case 4:\r\n message.bankName = reader.string();\r\n break;\r\n case 5:\r\n message.adminName = reader.string();\r\n break;\r\n case 6:\r\n message.userId = reader.int32();\r\n break;\r\n case 7:\r\n message.storeName = reader.string();\r\n break;\r\n case 8:\r\n message.fromWhere = reader.int32();\r\n break;\r\n case 9:\r\n message.params = reader.string();\r\n break;\r\n case 10:\r\n message.count = reader.int32();\r\n break;\r\n case 11:\r\n message.date = reader.string();\r\n break;\r\n case 12:\r\n message.expectedStartTime = reader.string();\r\n break;\r\n case 13:\r\n message.startDate = reader.string();\r\n break;\r\n case 14:\r\n message.startTime = reader.int32();\r\n break;\r\n case 15:\r\n message.endDate = reader.string();\r\n break;\r\n case 16:\r\n message.endTime = reader.int32();\r\n break;\r\n case 17:\r\n message.fileName = reader.string();\r\n break;\r\n case 18:\r\n message.filePath = reader.string();\r\n break;\r\n case 19:\r\n message.status = reader.int32();\r\n break;\r\n case 20:\r\n message.checkPoint = reader.int32();\r\n break;\r\n case 21:\r\n message.record = reader.string();\r\n break;\r\n case 22:\r\n message.error = reader.string();\r\n break;\r\n case 23:\r\n message.reimbursementQuery = $root.TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery.decode(reader, reader.uint32());\r\n break;\r\n case 24:\r\n message.appropriationQuery = $root.TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery.decode(reader, reader.uint32());\r\n break;\r\n case 25:\r\n message.reimbursementQuerySpecificStore = $root.TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore.decode(reader, reader.uint32());\r\n break;\r\n case 26:\r\n message.appropriationQuerySpecificStore = $root.TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore.decode(reader, reader.uint32());\r\n break;\r\n case 27:\r\n message.fromTxt = reader.string();\r\n break;\r\n case 28:\r\n message.datePeriod = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ScheduleReportInfo message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportInfo} ScheduleReportInfo\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ScheduleReportInfo.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ScheduleReportInfo message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ScheduleReportInfo.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.scheduleReportId != null && message.hasOwnProperty(\"scheduleReportId\"))\r\n if (!$util.isInteger(message.scheduleReportId))\r\n return \"scheduleReportId: integer expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isInteger(message.type))\r\n return \"type: integer expected\";\r\n if (message.bankCode != null && message.hasOwnProperty(\"bankCode\"))\r\n if (!$util.isString(message.bankCode))\r\n return \"bankCode: string expected\";\r\n if (message.bankName != null && message.hasOwnProperty(\"bankName\"))\r\n if (!$util.isString(message.bankName))\r\n return \"bankName: string expected\";\r\n if (message.adminName != null && message.hasOwnProperty(\"adminName\"))\r\n if (!$util.isString(message.adminName))\r\n return \"adminName: string expected\";\r\n if (message.userId != null && message.hasOwnProperty(\"userId\"))\r\n if (!$util.isInteger(message.userId))\r\n return \"userId: integer expected\";\r\n if (message.storeName != null && message.hasOwnProperty(\"storeName\"))\r\n if (!$util.isString(message.storeName))\r\n return \"storeName: string expected\";\r\n if (message.fromWhere != null && message.hasOwnProperty(\"fromWhere\"))\r\n if (!$util.isInteger(message.fromWhere))\r\n return \"fromWhere: integer expected\";\r\n if (message.params != null && message.hasOwnProperty(\"params\"))\r\n if (!$util.isString(message.params))\r\n return \"params: string expected\";\r\n if (message.count != null && message.hasOwnProperty(\"count\"))\r\n if (!$util.isInteger(message.count))\r\n return \"count: integer expected\";\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n if (!$util.isString(message.date))\r\n return \"date: string expected\";\r\n if (message.expectedStartTime != null && message.hasOwnProperty(\"expectedStartTime\"))\r\n if (!$util.isString(message.expectedStartTime))\r\n return \"expectedStartTime: string expected\";\r\n if (message.startDate != null && message.hasOwnProperty(\"startDate\"))\r\n if (!$util.isString(message.startDate))\r\n return \"startDate: string expected\";\r\n if (message.startTime != null && message.hasOwnProperty(\"startTime\"))\r\n if (!$util.isInteger(message.startTime))\r\n return \"startTime: integer expected\";\r\n if (message.endDate != null && message.hasOwnProperty(\"endDate\"))\r\n if (!$util.isString(message.endDate))\r\n return \"endDate: string expected\";\r\n if (message.endTime != null && message.hasOwnProperty(\"endTime\"))\r\n if (!$util.isInteger(message.endTime))\r\n return \"endTime: integer expected\";\r\n if (message.fileName != null && message.hasOwnProperty(\"fileName\"))\r\n if (!$util.isString(message.fileName))\r\n return \"fileName: string expected\";\r\n if (message.filePath != null && message.hasOwnProperty(\"filePath\"))\r\n if (!$util.isString(message.filePath))\r\n return \"filePath: string expected\";\r\n if (message.status != null && message.hasOwnProperty(\"status\"))\r\n if (!$util.isInteger(message.status))\r\n return \"status: integer expected\";\r\n if (message.checkPoint != null && message.hasOwnProperty(\"checkPoint\"))\r\n if (!$util.isInteger(message.checkPoint))\r\n return \"checkPoint: integer expected\";\r\n if (message.record != null && message.hasOwnProperty(\"record\"))\r\n if (!$util.isString(message.record))\r\n return \"record: string expected\";\r\n if (message.error != null && message.hasOwnProperty(\"error\"))\r\n if (!$util.isString(message.error))\r\n return \"error: string expected\";\r\n if (message.reimbursementQuery != null && message.hasOwnProperty(\"reimbursementQuery\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery.verify(message.reimbursementQuery);\r\n if (error)\r\n return \"reimbursementQuery.\" + error;\r\n }\r\n if (message.appropriationQuery != null && message.hasOwnProperty(\"appropriationQuery\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery.verify(message.appropriationQuery);\r\n if (error)\r\n return \"appropriationQuery.\" + error;\r\n }\r\n if (message.reimbursementQuerySpecificStore != null && message.hasOwnProperty(\"reimbursementQuerySpecificStore\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore.verify(message.reimbursementQuerySpecificStore);\r\n if (error)\r\n return \"reimbursementQuerySpecificStore.\" + error;\r\n }\r\n if (message.appropriationQuerySpecificStore != null && message.hasOwnProperty(\"appropriationQuerySpecificStore\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore.verify(message.appropriationQuerySpecificStore);\r\n if (error)\r\n return \"appropriationQuerySpecificStore.\" + error;\r\n }\r\n if (message.fromTxt != null && message.hasOwnProperty(\"fromTxt\"))\r\n if (!$util.isString(message.fromTxt))\r\n return \"fromTxt: string expected\";\r\n if (message.datePeriod != null && message.hasOwnProperty(\"datePeriod\"))\r\n if (!$util.isString(message.datePeriod))\r\n return \"datePeriod: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ScheduleReportInfo message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportInfo} ScheduleReportInfo\r\n */\r\n ScheduleReportInfo.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ScheduleReportInfo)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ScheduleReportInfo();\r\n if (object.scheduleReportId != null)\r\n message.scheduleReportId = object.scheduleReportId | 0;\r\n if (object.type != null)\r\n message.type = object.type | 0;\r\n if (object.bankCode != null)\r\n message.bankCode = String(object.bankCode);\r\n if (object.bankName != null)\r\n message.bankName = String(object.bankName);\r\n if (object.adminName != null)\r\n message.adminName = String(object.adminName);\r\n if (object.userId != null)\r\n message.userId = object.userId | 0;\r\n if (object.storeName != null)\r\n message.storeName = String(object.storeName);\r\n if (object.fromWhere != null)\r\n message.fromWhere = object.fromWhere | 0;\r\n if (object.params != null)\r\n message.params = String(object.params);\r\n if (object.count != null)\r\n message.count = object.count | 0;\r\n if (object.date != null)\r\n message.date = String(object.date);\r\n if (object.expectedStartTime != null)\r\n message.expectedStartTime = String(object.expectedStartTime);\r\n if (object.startDate != null)\r\n message.startDate = String(object.startDate);\r\n if (object.startTime != null)\r\n message.startTime = object.startTime | 0;\r\n if (object.endDate != null)\r\n message.endDate = String(object.endDate);\r\n if (object.endTime != null)\r\n message.endTime = object.endTime | 0;\r\n if (object.fileName != null)\r\n message.fileName = String(object.fileName);\r\n if (object.filePath != null)\r\n message.filePath = String(object.filePath);\r\n if (object.status != null)\r\n message.status = object.status | 0;\r\n if (object.checkPoint != null)\r\n message.checkPoint = object.checkPoint | 0;\r\n if (object.record != null)\r\n message.record = String(object.record);\r\n if (object.error != null)\r\n message.error = String(object.error);\r\n if (object.reimbursementQuery != null) {\r\n if (typeof object.reimbursementQuery !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ScheduleReportInfo.reimbursementQuery: object expected\");\r\n message.reimbursementQuery = $root.TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery.fromObject(object.reimbursementQuery);\r\n }\r\n if (object.appropriationQuery != null) {\r\n if (typeof object.appropriationQuery !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ScheduleReportInfo.appropriationQuery: object expected\");\r\n message.appropriationQuery = $root.TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery.fromObject(object.appropriationQuery);\r\n }\r\n if (object.reimbursementQuerySpecificStore != null) {\r\n if (typeof object.reimbursementQuerySpecificStore !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ScheduleReportInfo.reimbursementQuerySpecificStore: object expected\");\r\n message.reimbursementQuerySpecificStore = $root.TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore.fromObject(object.reimbursementQuerySpecificStore);\r\n }\r\n if (object.appropriationQuerySpecificStore != null) {\r\n if (typeof object.appropriationQuerySpecificStore !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ScheduleReportInfo.appropriationQuerySpecificStore: object expected\");\r\n message.appropriationQuerySpecificStore = $root.TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore.fromObject(object.appropriationQuerySpecificStore);\r\n }\r\n if (object.fromTxt != null)\r\n message.fromTxt = String(object.fromTxt);\r\n if (object.datePeriod != null)\r\n message.datePeriod = String(object.datePeriod);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ScheduleReportInfo message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ScheduleReportInfo} message ScheduleReportInfo\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ScheduleReportInfo.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.scheduleReportId = 0;\r\n object.type = 0;\r\n object.bankCode = \"\";\r\n object.bankName = \"\";\r\n object.adminName = \"\";\r\n object.userId = 0;\r\n object.storeName = \"\";\r\n object.fromWhere = 0;\r\n object.params = \"\";\r\n object.count = 0;\r\n object.date = \"\";\r\n object.expectedStartTime = \"\";\r\n object.startDate = \"\";\r\n object.startTime = 0;\r\n object.endDate = \"\";\r\n object.endTime = 0;\r\n object.fileName = \"\";\r\n object.filePath = \"\";\r\n object.status = 0;\r\n object.checkPoint = 0;\r\n object.record = \"\";\r\n object.error = \"\";\r\n object.reimbursementQuery = null;\r\n object.appropriationQuery = null;\r\n object.reimbursementQuerySpecificStore = null;\r\n object.appropriationQuerySpecificStore = null;\r\n object.fromTxt = \"\";\r\n object.datePeriod = \"\";\r\n }\r\n if (message.scheduleReportId != null && message.hasOwnProperty(\"scheduleReportId\"))\r\n object.scheduleReportId = message.scheduleReportId;\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.bankCode != null && message.hasOwnProperty(\"bankCode\"))\r\n object.bankCode = message.bankCode;\r\n if (message.bankName != null && message.hasOwnProperty(\"bankName\"))\r\n object.bankName = message.bankName;\r\n if (message.adminName != null && message.hasOwnProperty(\"adminName\"))\r\n object.adminName = message.adminName;\r\n if (message.userId != null && message.hasOwnProperty(\"userId\"))\r\n object.userId = message.userId;\r\n if (message.storeName != null && message.hasOwnProperty(\"storeName\"))\r\n object.storeName = message.storeName;\r\n if (message.fromWhere != null && message.hasOwnProperty(\"fromWhere\"))\r\n object.fromWhere = message.fromWhere;\r\n if (message.params != null && message.hasOwnProperty(\"params\"))\r\n object.params = message.params;\r\n if (message.count != null && message.hasOwnProperty(\"count\"))\r\n object.count = message.count;\r\n if (message.date != null && message.hasOwnProperty(\"date\"))\r\n object.date = message.date;\r\n if (message.expectedStartTime != null && message.hasOwnProperty(\"expectedStartTime\"))\r\n object.expectedStartTime = message.expectedStartTime;\r\n if (message.startDate != null && message.hasOwnProperty(\"startDate\"))\r\n object.startDate = message.startDate;\r\n if (message.startTime != null && message.hasOwnProperty(\"startTime\"))\r\n object.startTime = message.startTime;\r\n if (message.endDate != null && message.hasOwnProperty(\"endDate\"))\r\n object.endDate = message.endDate;\r\n if (message.endTime != null && message.hasOwnProperty(\"endTime\"))\r\n object.endTime = message.endTime;\r\n if (message.fileName != null && message.hasOwnProperty(\"fileName\"))\r\n object.fileName = message.fileName;\r\n if (message.filePath != null && message.hasOwnProperty(\"filePath\"))\r\n object.filePath = message.filePath;\r\n if (message.status != null && message.hasOwnProperty(\"status\"))\r\n object.status = message.status;\r\n if (message.checkPoint != null && message.hasOwnProperty(\"checkPoint\"))\r\n object.checkPoint = message.checkPoint;\r\n if (message.record != null && message.hasOwnProperty(\"record\"))\r\n object.record = message.record;\r\n if (message.error != null && message.hasOwnProperty(\"error\"))\r\n object.error = message.error;\r\n if (message.reimbursementQuery != null && message.hasOwnProperty(\"reimbursementQuery\"))\r\n object.reimbursementQuery = $root.TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery.toObject(message.reimbursementQuery, options);\r\n if (message.appropriationQuery != null && message.hasOwnProperty(\"appropriationQuery\"))\r\n object.appropriationQuery = $root.TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery.toObject(message.appropriationQuery, options);\r\n if (message.reimbursementQuerySpecificStore != null && message.hasOwnProperty(\"reimbursementQuerySpecificStore\"))\r\n object.reimbursementQuerySpecificStore = $root.TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore.toObject(message.reimbursementQuerySpecificStore, options);\r\n if (message.appropriationQuerySpecificStore != null && message.hasOwnProperty(\"appropriationQuerySpecificStore\"))\r\n object.appropriationQuerySpecificStore = $root.TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore.toObject(message.appropriationQuerySpecificStore, options);\r\n if (message.fromTxt != null && message.hasOwnProperty(\"fromTxt\"))\r\n object.fromTxt = message.fromTxt;\r\n if (message.datePeriod != null && message.hasOwnProperty(\"datePeriod\"))\r\n object.datePeriod = message.datePeriod;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ScheduleReportInfo to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportInfo\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ScheduleReportInfo.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ScheduleReportInfo;\r\n })();\r\n\r\n Protobuf.ScheduleReportList = (function() {\r\n\r\n /**\r\n * Properties of a ScheduleReportList.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IScheduleReportList\r\n * @property {Array.|null} [list] ScheduleReportList list\r\n * @property {number|null} [total] ScheduleReportList total\r\n */\r\n\r\n /**\r\n * Constructs a new ScheduleReportList.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ScheduleReportList.\r\n * @implements IScheduleReportList\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportList=} [properties] Properties to set\r\n */\r\n function ScheduleReportList(properties) {\r\n this.list = [];\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ScheduleReportList list.\r\n * @member {Array.} list\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportList\r\n * @instance\r\n */\r\n ScheduleReportList.prototype.list = $util.emptyArray;\r\n\r\n /**\r\n * ScheduleReportList total.\r\n * @member {number} total\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportList\r\n * @instance\r\n */\r\n ScheduleReportList.prototype.total = 0;\r\n\r\n /**\r\n * Creates a new ScheduleReportList instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportList=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportList} ScheduleReportList instance\r\n */\r\n ScheduleReportList.create = function create(properties) {\r\n return new ScheduleReportList(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ScheduleReportList message. Does not implicitly {@link TCBReceiptApi.Protobuf.ScheduleReportList.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportList} message ScheduleReportList message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ScheduleReportList.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.list != null && message.list.length)\r\n for (var i = 0; i < message.list.length; ++i)\r\n $root.TCBReceiptApi.Protobuf.ScheduleReportInfo.encode(message.list[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n if (message.total != null && Object.hasOwnProperty.call(message, \"total\"))\r\n writer.uint32(/* id 2, wireType 0 =*/16).int32(message.total);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ScheduleReportList message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ScheduleReportList.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportList} message ScheduleReportList message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ScheduleReportList.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ScheduleReportList message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportList\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportList} ScheduleReportList\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ScheduleReportList.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ScheduleReportList();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (!(message.list && message.list.length))\r\n message.list = [];\r\n message.list.push($root.TCBReceiptApi.Protobuf.ScheduleReportInfo.decode(reader, reader.uint32()));\r\n break;\r\n case 2:\r\n message.total = reader.int32();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ScheduleReportList message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportList\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportList} ScheduleReportList\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ScheduleReportList.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ScheduleReportList message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportList\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ScheduleReportList.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.list != null && message.hasOwnProperty(\"list\")) {\r\n if (!Array.isArray(message.list))\r\n return \"list: array expected\";\r\n for (var i = 0; i < message.list.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.ScheduleReportInfo.verify(message.list[i]);\r\n if (error)\r\n return \"list.\" + error;\r\n }\r\n }\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n if (!$util.isInteger(message.total))\r\n return \"total: integer expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ScheduleReportList message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportList\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportList} ScheduleReportList\r\n */\r\n ScheduleReportList.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ScheduleReportList)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ScheduleReportList();\r\n if (object.list) {\r\n if (!Array.isArray(object.list))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ScheduleReportList.list: array expected\");\r\n message.list = [];\r\n for (var i = 0; i < object.list.length; ++i) {\r\n if (typeof object.list[i] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ScheduleReportList.list: object expected\");\r\n message.list[i] = $root.TCBReceiptApi.Protobuf.ScheduleReportInfo.fromObject(object.list[i]);\r\n }\r\n }\r\n if (object.total != null)\r\n message.total = object.total | 0;\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ScheduleReportList message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ScheduleReportList} message ScheduleReportList\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ScheduleReportList.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.arrays || options.defaults)\r\n object.list = [];\r\n if (options.defaults)\r\n object.total = 0;\r\n if (message.list && message.list.length) {\r\n object.list = [];\r\n for (var j = 0; j < message.list.length; ++j)\r\n object.list[j] = $root.TCBReceiptApi.Protobuf.ScheduleReportInfo.toObject(message.list[j], options);\r\n }\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n object.total = message.total;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ScheduleReportList to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportList\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ScheduleReportList.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ScheduleReportList;\r\n })();\r\n\r\n Protobuf.ScheduleReportReimbursementQuery = (function() {\r\n\r\n /**\r\n * Properties of a ScheduleReportReimbursementQuery.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IScheduleReportReimbursementQuery\r\n * @property {Array.|null} [storeList] ScheduleReportReimbursementQuery storeList\r\n * @property {string|null} [tidNumber] ScheduleReportReimbursementQuery tidNumber\r\n * @property {string|null} [authCode] ScheduleReportReimbursementQuery authCode\r\n * @property {string|null} [cardNo] ScheduleReportReimbursementQuery cardNo\r\n * @property {string|null} [cardType] ScheduleReportReimbursementQuery cardType\r\n * @property {number|null} [type] ScheduleReportReimbursementQuery type\r\n * @property {number|null} [flag] ScheduleReportReimbursementQuery flag\r\n * @property {string|null} [orderNo] ScheduleReportReimbursementQuery orderNo\r\n * @property {number|null} [dateType] ScheduleReportReimbursementQuery dateType\r\n * @property {string|null} [dateStart] ScheduleReportReimbursementQuery dateStart\r\n * @property {string|null} [dateEnd] ScheduleReportReimbursementQuery dateEnd\r\n * @property {string|null} [terminalNoStart] ScheduleReportReimbursementQuery terminalNoStart\r\n * @property {string|null} [terminalNoEnd] ScheduleReportReimbursementQuery terminalNoEnd\r\n * @property {string|null} [specificStore] ScheduleReportReimbursementQuery specificStore\r\n * @property {number|null} [hide] ScheduleReportReimbursementQuery hide\r\n */\r\n\r\n /**\r\n * Constructs a new ScheduleReportReimbursementQuery.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ScheduleReportReimbursementQuery.\r\n * @implements IScheduleReportReimbursementQuery\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportReimbursementQuery=} [properties] Properties to set\r\n */\r\n function ScheduleReportReimbursementQuery(properties) {\r\n this.storeList = [];\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ScheduleReportReimbursementQuery storeList.\r\n * @member {Array.} storeList\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuery.prototype.storeList = $util.emptyArray;\r\n\r\n /**\r\n * ScheduleReportReimbursementQuery tidNumber.\r\n * @member {string} tidNumber\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuery.prototype.tidNumber = \"\";\r\n\r\n /**\r\n * ScheduleReportReimbursementQuery authCode.\r\n * @member {string} authCode\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuery.prototype.authCode = \"\";\r\n\r\n /**\r\n * ScheduleReportReimbursementQuery cardNo.\r\n * @member {string} cardNo\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuery.prototype.cardNo = \"\";\r\n\r\n /**\r\n * ScheduleReportReimbursementQuery cardType.\r\n * @member {string} cardType\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuery.prototype.cardType = \"\";\r\n\r\n /**\r\n * ScheduleReportReimbursementQuery type.\r\n * @member {number} type\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuery.prototype.type = 0;\r\n\r\n /**\r\n * ScheduleReportReimbursementQuery flag.\r\n * @member {number} flag\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuery.prototype.flag = 0;\r\n\r\n /**\r\n * ScheduleReportReimbursementQuery orderNo.\r\n * @member {string} orderNo\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuery.prototype.orderNo = \"\";\r\n\r\n /**\r\n * ScheduleReportReimbursementQuery dateType.\r\n * @member {number} dateType\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuery.prototype.dateType = 0;\r\n\r\n /**\r\n * ScheduleReportReimbursementQuery dateStart.\r\n * @member {string} dateStart\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuery.prototype.dateStart = \"\";\r\n\r\n /**\r\n * ScheduleReportReimbursementQuery dateEnd.\r\n * @member {string} dateEnd\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuery.prototype.dateEnd = \"\";\r\n\r\n /**\r\n * ScheduleReportReimbursementQuery terminalNoStart.\r\n * @member {string} terminalNoStart\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuery.prototype.terminalNoStart = \"\";\r\n\r\n /**\r\n * ScheduleReportReimbursementQuery terminalNoEnd.\r\n * @member {string} terminalNoEnd\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuery.prototype.terminalNoEnd = \"\";\r\n\r\n /**\r\n * ScheduleReportReimbursementQuery specificStore.\r\n * @member {string} specificStore\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuery.prototype.specificStore = \"\";\r\n\r\n /**\r\n * ScheduleReportReimbursementQuery hide.\r\n * @member {number} hide\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuery.prototype.hide = 0;\r\n\r\n /**\r\n * Creates a new ScheduleReportReimbursementQuery instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportReimbursementQuery=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery} ScheduleReportReimbursementQuery instance\r\n */\r\n ScheduleReportReimbursementQuery.create = function create(properties) {\r\n return new ScheduleReportReimbursementQuery(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ScheduleReportReimbursementQuery message. Does not implicitly {@link TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportReimbursementQuery} message ScheduleReportReimbursementQuery message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ScheduleReportReimbursementQuery.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.storeList != null && message.storeList.length)\r\n for (var i = 0; i < message.storeList.length; ++i)\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.storeList[i]);\r\n if (message.tidNumber != null && Object.hasOwnProperty.call(message, \"tidNumber\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.tidNumber);\r\n if (message.authCode != null && Object.hasOwnProperty.call(message, \"authCode\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.authCode);\r\n if (message.cardNo != null && Object.hasOwnProperty.call(message, \"cardNo\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.cardNo);\r\n if (message.cardType != null && Object.hasOwnProperty.call(message, \"cardType\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.cardType);\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 6, wireType 0 =*/48).int32(message.type);\r\n if (message.flag != null && Object.hasOwnProperty.call(message, \"flag\"))\r\n writer.uint32(/* id 7, wireType 0 =*/56).int32(message.flag);\r\n if (message.orderNo != null && Object.hasOwnProperty.call(message, \"orderNo\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.orderNo);\r\n if (message.dateType != null && Object.hasOwnProperty.call(message, \"dateType\"))\r\n writer.uint32(/* id 9, wireType 0 =*/72).int32(message.dateType);\r\n if (message.dateStart != null && Object.hasOwnProperty.call(message, \"dateStart\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.dateStart);\r\n if (message.dateEnd != null && Object.hasOwnProperty.call(message, \"dateEnd\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.dateEnd);\r\n if (message.terminalNoStart != null && Object.hasOwnProperty.call(message, \"terminalNoStart\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.terminalNoStart);\r\n if (message.terminalNoEnd != null && Object.hasOwnProperty.call(message, \"terminalNoEnd\"))\r\n writer.uint32(/* id 13, wireType 2 =*/106).string(message.terminalNoEnd);\r\n if (message.specificStore != null && Object.hasOwnProperty.call(message, \"specificStore\"))\r\n writer.uint32(/* id 14, wireType 2 =*/114).string(message.specificStore);\r\n if (message.hide != null && Object.hasOwnProperty.call(message, \"hide\"))\r\n writer.uint32(/* id 15, wireType 0 =*/120).int32(message.hide);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ScheduleReportReimbursementQuery message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportReimbursementQuery} message ScheduleReportReimbursementQuery message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ScheduleReportReimbursementQuery.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ScheduleReportReimbursementQuery message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery} ScheduleReportReimbursementQuery\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ScheduleReportReimbursementQuery.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (!(message.storeList && message.storeList.length))\r\n message.storeList = [];\r\n message.storeList.push(reader.string());\r\n break;\r\n case 2:\r\n message.tidNumber = reader.string();\r\n break;\r\n case 3:\r\n message.authCode = reader.string();\r\n break;\r\n case 4:\r\n message.cardNo = reader.string();\r\n break;\r\n case 5:\r\n message.cardType = reader.string();\r\n break;\r\n case 6:\r\n message.type = reader.int32();\r\n break;\r\n case 7:\r\n message.flag = reader.int32();\r\n break;\r\n case 8:\r\n message.orderNo = reader.string();\r\n break;\r\n case 9:\r\n message.dateType = reader.int32();\r\n break;\r\n case 10:\r\n message.dateStart = reader.string();\r\n break;\r\n case 11:\r\n message.dateEnd = reader.string();\r\n break;\r\n case 12:\r\n message.terminalNoStart = reader.string();\r\n break;\r\n case 13:\r\n message.terminalNoEnd = reader.string();\r\n break;\r\n case 14:\r\n message.specificStore = reader.string();\r\n break;\r\n case 15:\r\n message.hide = reader.int32();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ScheduleReportReimbursementQuery message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery} ScheduleReportReimbursementQuery\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ScheduleReportReimbursementQuery.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ScheduleReportReimbursementQuery message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ScheduleReportReimbursementQuery.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.storeList != null && message.hasOwnProperty(\"storeList\")) {\r\n if (!Array.isArray(message.storeList))\r\n return \"storeList: array expected\";\r\n for (var i = 0; i < message.storeList.length; ++i)\r\n if (!$util.isString(message.storeList[i]))\r\n return \"storeList: string[] expected\";\r\n }\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n if (!$util.isString(message.tidNumber))\r\n return \"tidNumber: string expected\";\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n if (!$util.isString(message.authCode))\r\n return \"authCode: string expected\";\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n if (!$util.isString(message.cardNo))\r\n return \"cardNo: string expected\";\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n if (!$util.isString(message.cardType))\r\n return \"cardType: string expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isInteger(message.type))\r\n return \"type: integer expected\";\r\n if (message.flag != null && message.hasOwnProperty(\"flag\"))\r\n if (!$util.isInteger(message.flag))\r\n return \"flag: integer expected\";\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n if (!$util.isString(message.orderNo))\r\n return \"orderNo: string expected\";\r\n if (message.dateType != null && message.hasOwnProperty(\"dateType\"))\r\n if (!$util.isInteger(message.dateType))\r\n return \"dateType: integer expected\";\r\n if (message.dateStart != null && message.hasOwnProperty(\"dateStart\"))\r\n if (!$util.isString(message.dateStart))\r\n return \"dateStart: string expected\";\r\n if (message.dateEnd != null && message.hasOwnProperty(\"dateEnd\"))\r\n if (!$util.isString(message.dateEnd))\r\n return \"dateEnd: string expected\";\r\n if (message.terminalNoStart != null && message.hasOwnProperty(\"terminalNoStart\"))\r\n if (!$util.isString(message.terminalNoStart))\r\n return \"terminalNoStart: string expected\";\r\n if (message.terminalNoEnd != null && message.hasOwnProperty(\"terminalNoEnd\"))\r\n if (!$util.isString(message.terminalNoEnd))\r\n return \"terminalNoEnd: string expected\";\r\n if (message.specificStore != null && message.hasOwnProperty(\"specificStore\"))\r\n if (!$util.isString(message.specificStore))\r\n return \"specificStore: string expected\";\r\n if (message.hide != null && message.hasOwnProperty(\"hide\"))\r\n if (!$util.isInteger(message.hide))\r\n return \"hide: integer expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ScheduleReportReimbursementQuery message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery} ScheduleReportReimbursementQuery\r\n */\r\n ScheduleReportReimbursementQuery.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery();\r\n if (object.storeList) {\r\n if (!Array.isArray(object.storeList))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery.storeList: array expected\");\r\n message.storeList = [];\r\n for (var i = 0; i < object.storeList.length; ++i)\r\n message.storeList[i] = String(object.storeList[i]);\r\n }\r\n if (object.tidNumber != null)\r\n message.tidNumber = String(object.tidNumber);\r\n if (object.authCode != null)\r\n message.authCode = String(object.authCode);\r\n if (object.cardNo != null)\r\n message.cardNo = String(object.cardNo);\r\n if (object.cardType != null)\r\n message.cardType = String(object.cardType);\r\n if (object.type != null)\r\n message.type = object.type | 0;\r\n if (object.flag != null)\r\n message.flag = object.flag | 0;\r\n if (object.orderNo != null)\r\n message.orderNo = String(object.orderNo);\r\n if (object.dateType != null)\r\n message.dateType = object.dateType | 0;\r\n if (object.dateStart != null)\r\n message.dateStart = String(object.dateStart);\r\n if (object.dateEnd != null)\r\n message.dateEnd = String(object.dateEnd);\r\n if (object.terminalNoStart != null)\r\n message.terminalNoStart = String(object.terminalNoStart);\r\n if (object.terminalNoEnd != null)\r\n message.terminalNoEnd = String(object.terminalNoEnd);\r\n if (object.specificStore != null)\r\n message.specificStore = String(object.specificStore);\r\n if (object.hide != null)\r\n message.hide = object.hide | 0;\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ScheduleReportReimbursementQuery message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery} message ScheduleReportReimbursementQuery\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ScheduleReportReimbursementQuery.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.arrays || options.defaults)\r\n object.storeList = [];\r\n if (options.defaults) {\r\n object.tidNumber = \"\";\r\n object.authCode = \"\";\r\n object.cardNo = \"\";\r\n object.cardType = \"\";\r\n object.type = 0;\r\n object.flag = 0;\r\n object.orderNo = \"\";\r\n object.dateType = 0;\r\n object.dateStart = \"\";\r\n object.dateEnd = \"\";\r\n object.terminalNoStart = \"\";\r\n object.terminalNoEnd = \"\";\r\n object.specificStore = \"\";\r\n object.hide = 0;\r\n }\r\n if (message.storeList && message.storeList.length) {\r\n object.storeList = [];\r\n for (var j = 0; j < message.storeList.length; ++j)\r\n object.storeList[j] = message.storeList[j];\r\n }\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n object.tidNumber = message.tidNumber;\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n object.authCode = message.authCode;\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n object.cardNo = message.cardNo;\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n object.cardType = message.cardType;\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.flag != null && message.hasOwnProperty(\"flag\"))\r\n object.flag = message.flag;\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n object.orderNo = message.orderNo;\r\n if (message.dateType != null && message.hasOwnProperty(\"dateType\"))\r\n object.dateType = message.dateType;\r\n if (message.dateStart != null && message.hasOwnProperty(\"dateStart\"))\r\n object.dateStart = message.dateStart;\r\n if (message.dateEnd != null && message.hasOwnProperty(\"dateEnd\"))\r\n object.dateEnd = message.dateEnd;\r\n if (message.terminalNoStart != null && message.hasOwnProperty(\"terminalNoStart\"))\r\n object.terminalNoStart = message.terminalNoStart;\r\n if (message.terminalNoEnd != null && message.hasOwnProperty(\"terminalNoEnd\"))\r\n object.terminalNoEnd = message.terminalNoEnd;\r\n if (message.specificStore != null && message.hasOwnProperty(\"specificStore\"))\r\n object.specificStore = message.specificStore;\r\n if (message.hide != null && message.hasOwnProperty(\"hide\"))\r\n object.hide = message.hide;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ScheduleReportReimbursementQuery to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuery\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ScheduleReportReimbursementQuery.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ScheduleReportReimbursementQuery;\r\n })();\r\n\r\n Protobuf.ScheduleReportAppropriationQuery = (function() {\r\n\r\n /**\r\n * Properties of a ScheduleReportAppropriationQuery.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IScheduleReportAppropriationQuery\r\n * @property {Array.|null} [storeList] ScheduleReportAppropriationQuery storeList\r\n * @property {string|null} [tidNumber] ScheduleReportAppropriationQuery tidNumber\r\n * @property {string|null} [authCode] ScheduleReportAppropriationQuery authCode\r\n * @property {string|null} [cardNo] ScheduleReportAppropriationQuery cardNo\r\n * @property {string|null} [cardType] ScheduleReportAppropriationQuery cardType\r\n * @property {number|null} [type] ScheduleReportAppropriationQuery type\r\n * @property {number|null} [flag] ScheduleReportAppropriationQuery flag\r\n * @property {string|null} [orderNo] ScheduleReportAppropriationQuery orderNo\r\n * @property {number|null} [dateType] ScheduleReportAppropriationQuery dateType\r\n * @property {string|null} [dateStart] ScheduleReportAppropriationQuery dateStart\r\n * @property {string|null} [dateEnd] ScheduleReportAppropriationQuery dateEnd\r\n * @property {string|null} [terminalNoStart] ScheduleReportAppropriationQuery terminalNoStart\r\n * @property {string|null} [terminalNoEnd] ScheduleReportAppropriationQuery terminalNoEnd\r\n * @property {string|null} [specificStore] ScheduleReportAppropriationQuery specificStore\r\n * @property {number|null} [hide] ScheduleReportAppropriationQuery hide\r\n */\r\n\r\n /**\r\n * Constructs a new ScheduleReportAppropriationQuery.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ScheduleReportAppropriationQuery.\r\n * @implements IScheduleReportAppropriationQuery\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportAppropriationQuery=} [properties] Properties to set\r\n */\r\n function ScheduleReportAppropriationQuery(properties) {\r\n this.storeList = [];\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ScheduleReportAppropriationQuery storeList.\r\n * @member {Array.} storeList\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuery.prototype.storeList = $util.emptyArray;\r\n\r\n /**\r\n * ScheduleReportAppropriationQuery tidNumber.\r\n * @member {string} tidNumber\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuery.prototype.tidNumber = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuery authCode.\r\n * @member {string} authCode\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuery.prototype.authCode = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuery cardNo.\r\n * @member {string} cardNo\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuery.prototype.cardNo = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuery cardType.\r\n * @member {string} cardType\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuery.prototype.cardType = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuery type.\r\n * @member {number} type\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuery.prototype.type = 0;\r\n\r\n /**\r\n * ScheduleReportAppropriationQuery flag.\r\n * @member {number} flag\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuery.prototype.flag = 0;\r\n\r\n /**\r\n * ScheduleReportAppropriationQuery orderNo.\r\n * @member {string} orderNo\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuery.prototype.orderNo = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuery dateType.\r\n * @member {number} dateType\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuery.prototype.dateType = 0;\r\n\r\n /**\r\n * ScheduleReportAppropriationQuery dateStart.\r\n * @member {string} dateStart\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuery.prototype.dateStart = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuery dateEnd.\r\n * @member {string} dateEnd\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuery.prototype.dateEnd = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuery terminalNoStart.\r\n * @member {string} terminalNoStart\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuery.prototype.terminalNoStart = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuery terminalNoEnd.\r\n * @member {string} terminalNoEnd\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuery.prototype.terminalNoEnd = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuery specificStore.\r\n * @member {string} specificStore\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuery.prototype.specificStore = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuery hide.\r\n * @member {number} hide\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuery.prototype.hide = 0;\r\n\r\n /**\r\n * Creates a new ScheduleReportAppropriationQuery instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportAppropriationQuery=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery} ScheduleReportAppropriationQuery instance\r\n */\r\n ScheduleReportAppropriationQuery.create = function create(properties) {\r\n return new ScheduleReportAppropriationQuery(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ScheduleReportAppropriationQuery message. Does not implicitly {@link TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportAppropriationQuery} message ScheduleReportAppropriationQuery message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ScheduleReportAppropriationQuery.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.storeList != null && message.storeList.length)\r\n for (var i = 0; i < message.storeList.length; ++i)\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.storeList[i]);\r\n if (message.tidNumber != null && Object.hasOwnProperty.call(message, \"tidNumber\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.tidNumber);\r\n if (message.authCode != null && Object.hasOwnProperty.call(message, \"authCode\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.authCode);\r\n if (message.cardNo != null && Object.hasOwnProperty.call(message, \"cardNo\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.cardNo);\r\n if (message.cardType != null && Object.hasOwnProperty.call(message, \"cardType\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.cardType);\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 6, wireType 0 =*/48).int32(message.type);\r\n if (message.flag != null && Object.hasOwnProperty.call(message, \"flag\"))\r\n writer.uint32(/* id 7, wireType 0 =*/56).int32(message.flag);\r\n if (message.orderNo != null && Object.hasOwnProperty.call(message, \"orderNo\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.orderNo);\r\n if (message.dateType != null && Object.hasOwnProperty.call(message, \"dateType\"))\r\n writer.uint32(/* id 9, wireType 0 =*/72).int32(message.dateType);\r\n if (message.dateStart != null && Object.hasOwnProperty.call(message, \"dateStart\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.dateStart);\r\n if (message.dateEnd != null && Object.hasOwnProperty.call(message, \"dateEnd\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.dateEnd);\r\n if (message.terminalNoStart != null && Object.hasOwnProperty.call(message, \"terminalNoStart\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.terminalNoStart);\r\n if (message.terminalNoEnd != null && Object.hasOwnProperty.call(message, \"terminalNoEnd\"))\r\n writer.uint32(/* id 13, wireType 2 =*/106).string(message.terminalNoEnd);\r\n if (message.specificStore != null && Object.hasOwnProperty.call(message, \"specificStore\"))\r\n writer.uint32(/* id 14, wireType 2 =*/114).string(message.specificStore);\r\n if (message.hide != null && Object.hasOwnProperty.call(message, \"hide\"))\r\n writer.uint32(/* id 15, wireType 0 =*/120).int32(message.hide);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ScheduleReportAppropriationQuery message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportAppropriationQuery} message ScheduleReportAppropriationQuery message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ScheduleReportAppropriationQuery.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ScheduleReportAppropriationQuery message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery} ScheduleReportAppropriationQuery\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ScheduleReportAppropriationQuery.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (!(message.storeList && message.storeList.length))\r\n message.storeList = [];\r\n message.storeList.push(reader.string());\r\n break;\r\n case 2:\r\n message.tidNumber = reader.string();\r\n break;\r\n case 3:\r\n message.authCode = reader.string();\r\n break;\r\n case 4:\r\n message.cardNo = reader.string();\r\n break;\r\n case 5:\r\n message.cardType = reader.string();\r\n break;\r\n case 6:\r\n message.type = reader.int32();\r\n break;\r\n case 7:\r\n message.flag = reader.int32();\r\n break;\r\n case 8:\r\n message.orderNo = reader.string();\r\n break;\r\n case 9:\r\n message.dateType = reader.int32();\r\n break;\r\n case 10:\r\n message.dateStart = reader.string();\r\n break;\r\n case 11:\r\n message.dateEnd = reader.string();\r\n break;\r\n case 12:\r\n message.terminalNoStart = reader.string();\r\n break;\r\n case 13:\r\n message.terminalNoEnd = reader.string();\r\n break;\r\n case 14:\r\n message.specificStore = reader.string();\r\n break;\r\n case 15:\r\n message.hide = reader.int32();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ScheduleReportAppropriationQuery message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery} ScheduleReportAppropriationQuery\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ScheduleReportAppropriationQuery.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ScheduleReportAppropriationQuery message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ScheduleReportAppropriationQuery.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.storeList != null && message.hasOwnProperty(\"storeList\")) {\r\n if (!Array.isArray(message.storeList))\r\n return \"storeList: array expected\";\r\n for (var i = 0; i < message.storeList.length; ++i)\r\n if (!$util.isString(message.storeList[i]))\r\n return \"storeList: string[] expected\";\r\n }\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n if (!$util.isString(message.tidNumber))\r\n return \"tidNumber: string expected\";\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n if (!$util.isString(message.authCode))\r\n return \"authCode: string expected\";\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n if (!$util.isString(message.cardNo))\r\n return \"cardNo: string expected\";\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n if (!$util.isString(message.cardType))\r\n return \"cardType: string expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isInteger(message.type))\r\n return \"type: integer expected\";\r\n if (message.flag != null && message.hasOwnProperty(\"flag\"))\r\n if (!$util.isInteger(message.flag))\r\n return \"flag: integer expected\";\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n if (!$util.isString(message.orderNo))\r\n return \"orderNo: string expected\";\r\n if (message.dateType != null && message.hasOwnProperty(\"dateType\"))\r\n if (!$util.isInteger(message.dateType))\r\n return \"dateType: integer expected\";\r\n if (message.dateStart != null && message.hasOwnProperty(\"dateStart\"))\r\n if (!$util.isString(message.dateStart))\r\n return \"dateStart: string expected\";\r\n if (message.dateEnd != null && message.hasOwnProperty(\"dateEnd\"))\r\n if (!$util.isString(message.dateEnd))\r\n return \"dateEnd: string expected\";\r\n if (message.terminalNoStart != null && message.hasOwnProperty(\"terminalNoStart\"))\r\n if (!$util.isString(message.terminalNoStart))\r\n return \"terminalNoStart: string expected\";\r\n if (message.terminalNoEnd != null && message.hasOwnProperty(\"terminalNoEnd\"))\r\n if (!$util.isString(message.terminalNoEnd))\r\n return \"terminalNoEnd: string expected\";\r\n if (message.specificStore != null && message.hasOwnProperty(\"specificStore\"))\r\n if (!$util.isString(message.specificStore))\r\n return \"specificStore: string expected\";\r\n if (message.hide != null && message.hasOwnProperty(\"hide\"))\r\n if (!$util.isInteger(message.hide))\r\n return \"hide: integer expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ScheduleReportAppropriationQuery message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery} ScheduleReportAppropriationQuery\r\n */\r\n ScheduleReportAppropriationQuery.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery();\r\n if (object.storeList) {\r\n if (!Array.isArray(object.storeList))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery.storeList: array expected\");\r\n message.storeList = [];\r\n for (var i = 0; i < object.storeList.length; ++i)\r\n message.storeList[i] = String(object.storeList[i]);\r\n }\r\n if (object.tidNumber != null)\r\n message.tidNumber = String(object.tidNumber);\r\n if (object.authCode != null)\r\n message.authCode = String(object.authCode);\r\n if (object.cardNo != null)\r\n message.cardNo = String(object.cardNo);\r\n if (object.cardType != null)\r\n message.cardType = String(object.cardType);\r\n if (object.type != null)\r\n message.type = object.type | 0;\r\n if (object.flag != null)\r\n message.flag = object.flag | 0;\r\n if (object.orderNo != null)\r\n message.orderNo = String(object.orderNo);\r\n if (object.dateType != null)\r\n message.dateType = object.dateType | 0;\r\n if (object.dateStart != null)\r\n message.dateStart = String(object.dateStart);\r\n if (object.dateEnd != null)\r\n message.dateEnd = String(object.dateEnd);\r\n if (object.terminalNoStart != null)\r\n message.terminalNoStart = String(object.terminalNoStart);\r\n if (object.terminalNoEnd != null)\r\n message.terminalNoEnd = String(object.terminalNoEnd);\r\n if (object.specificStore != null)\r\n message.specificStore = String(object.specificStore);\r\n if (object.hide != null)\r\n message.hide = object.hide | 0;\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ScheduleReportAppropriationQuery message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery} message ScheduleReportAppropriationQuery\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ScheduleReportAppropriationQuery.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.arrays || options.defaults)\r\n object.storeList = [];\r\n if (options.defaults) {\r\n object.tidNumber = \"\";\r\n object.authCode = \"\";\r\n object.cardNo = \"\";\r\n object.cardType = \"\";\r\n object.type = 0;\r\n object.flag = 0;\r\n object.orderNo = \"\";\r\n object.dateType = 0;\r\n object.dateStart = \"\";\r\n object.dateEnd = \"\";\r\n object.terminalNoStart = \"\";\r\n object.terminalNoEnd = \"\";\r\n object.specificStore = \"\";\r\n object.hide = 0;\r\n }\r\n if (message.storeList && message.storeList.length) {\r\n object.storeList = [];\r\n for (var j = 0; j < message.storeList.length; ++j)\r\n object.storeList[j] = message.storeList[j];\r\n }\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n object.tidNumber = message.tidNumber;\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n object.authCode = message.authCode;\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n object.cardNo = message.cardNo;\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n object.cardType = message.cardType;\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.flag != null && message.hasOwnProperty(\"flag\"))\r\n object.flag = message.flag;\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n object.orderNo = message.orderNo;\r\n if (message.dateType != null && message.hasOwnProperty(\"dateType\"))\r\n object.dateType = message.dateType;\r\n if (message.dateStart != null && message.hasOwnProperty(\"dateStart\"))\r\n object.dateStart = message.dateStart;\r\n if (message.dateEnd != null && message.hasOwnProperty(\"dateEnd\"))\r\n object.dateEnd = message.dateEnd;\r\n if (message.terminalNoStart != null && message.hasOwnProperty(\"terminalNoStart\"))\r\n object.terminalNoStart = message.terminalNoStart;\r\n if (message.terminalNoEnd != null && message.hasOwnProperty(\"terminalNoEnd\"))\r\n object.terminalNoEnd = message.terminalNoEnd;\r\n if (message.specificStore != null && message.hasOwnProperty(\"specificStore\"))\r\n object.specificStore = message.specificStore;\r\n if (message.hide != null && message.hasOwnProperty(\"hide\"))\r\n object.hide = message.hide;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ScheduleReportAppropriationQuery to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuery\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ScheduleReportAppropriationQuery.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ScheduleReportAppropriationQuery;\r\n })();\r\n\r\n Protobuf.ScheduleReportReimbursementQuerySpecificStore = (function() {\r\n\r\n /**\r\n * Properties of a ScheduleReportReimbursementQuerySpecificStore.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IScheduleReportReimbursementQuerySpecificStore\r\n * @property {string|null} [specificStore] ScheduleReportReimbursementQuerySpecificStore specificStore\r\n * @property {string|null} [authCode] ScheduleReportReimbursementQuerySpecificStore authCode\r\n * @property {string|null} [cardNo] ScheduleReportReimbursementQuerySpecificStore cardNo\r\n * @property {string|null} [cardType] ScheduleReportReimbursementQuerySpecificStore cardType\r\n * @property {number|null} [type] ScheduleReportReimbursementQuerySpecificStore type\r\n * @property {number|null} [flag] ScheduleReportReimbursementQuerySpecificStore flag\r\n * @property {string|null} [orderNo] ScheduleReportReimbursementQuerySpecificStore orderNo\r\n * @property {number|null} [dateType] ScheduleReportReimbursementQuerySpecificStore dateType\r\n * @property {string|null} [terminalNoStart] ScheduleReportReimbursementQuerySpecificStore terminalNoStart\r\n * @property {string|null} [terminalNoEnd] ScheduleReportReimbursementQuerySpecificStore terminalNoEnd\r\n * @property {string|null} [submitDateStart] ScheduleReportReimbursementQuerySpecificStore submitDateStart\r\n * @property {string|null} [submitDateEnd] ScheduleReportReimbursementQuerySpecificStore submitDateEnd\r\n * @property {string|null} [dateStart] ScheduleReportReimbursementQuerySpecificStore dateStart\r\n * @property {string|null} [dateEnd] ScheduleReportReimbursementQuerySpecificStore dateEnd\r\n * @property {number|null} [hide] ScheduleReportReimbursementQuerySpecificStore hide\r\n */\r\n\r\n /**\r\n * Constructs a new ScheduleReportReimbursementQuerySpecificStore.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ScheduleReportReimbursementQuerySpecificStore.\r\n * @implements IScheduleReportReimbursementQuerySpecificStore\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportReimbursementQuerySpecificStore=} [properties] Properties to set\r\n */\r\n function ScheduleReportReimbursementQuerySpecificStore(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ScheduleReportReimbursementQuerySpecificStore specificStore.\r\n * @member {string} specificStore\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.prototype.specificStore = \"\";\r\n\r\n /**\r\n * ScheduleReportReimbursementQuerySpecificStore authCode.\r\n * @member {string} authCode\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.prototype.authCode = \"\";\r\n\r\n /**\r\n * ScheduleReportReimbursementQuerySpecificStore cardNo.\r\n * @member {string} cardNo\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.prototype.cardNo = \"\";\r\n\r\n /**\r\n * ScheduleReportReimbursementQuerySpecificStore cardType.\r\n * @member {string} cardType\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.prototype.cardType = \"\";\r\n\r\n /**\r\n * ScheduleReportReimbursementQuerySpecificStore type.\r\n * @member {number} type\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.prototype.type = 0;\r\n\r\n /**\r\n * ScheduleReportReimbursementQuerySpecificStore flag.\r\n * @member {number} flag\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.prototype.flag = 0;\r\n\r\n /**\r\n * ScheduleReportReimbursementQuerySpecificStore orderNo.\r\n * @member {string} orderNo\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.prototype.orderNo = \"\";\r\n\r\n /**\r\n * ScheduleReportReimbursementQuerySpecificStore dateType.\r\n * @member {number} dateType\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.prototype.dateType = 0;\r\n\r\n /**\r\n * ScheduleReportReimbursementQuerySpecificStore terminalNoStart.\r\n * @member {string} terminalNoStart\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.prototype.terminalNoStart = \"\";\r\n\r\n /**\r\n * ScheduleReportReimbursementQuerySpecificStore terminalNoEnd.\r\n * @member {string} terminalNoEnd\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.prototype.terminalNoEnd = \"\";\r\n\r\n /**\r\n * ScheduleReportReimbursementQuerySpecificStore submitDateStart.\r\n * @member {string} submitDateStart\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.prototype.submitDateStart = \"\";\r\n\r\n /**\r\n * ScheduleReportReimbursementQuerySpecificStore submitDateEnd.\r\n * @member {string} submitDateEnd\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.prototype.submitDateEnd = \"\";\r\n\r\n /**\r\n * ScheduleReportReimbursementQuerySpecificStore dateStart.\r\n * @member {string} dateStart\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.prototype.dateStart = \"\";\r\n\r\n /**\r\n * ScheduleReportReimbursementQuerySpecificStore dateEnd.\r\n * @member {string} dateEnd\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.prototype.dateEnd = \"\";\r\n\r\n /**\r\n * ScheduleReportReimbursementQuerySpecificStore hide.\r\n * @member {number} hide\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.prototype.hide = 0;\r\n\r\n /**\r\n * Creates a new ScheduleReportReimbursementQuerySpecificStore instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportReimbursementQuerySpecificStore=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore} ScheduleReportReimbursementQuerySpecificStore instance\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.create = function create(properties) {\r\n return new ScheduleReportReimbursementQuerySpecificStore(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ScheduleReportReimbursementQuerySpecificStore message. Does not implicitly {@link TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportReimbursementQuerySpecificStore} message ScheduleReportReimbursementQuerySpecificStore message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.specificStore != null && Object.hasOwnProperty.call(message, \"specificStore\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.specificStore);\r\n if (message.authCode != null && Object.hasOwnProperty.call(message, \"authCode\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.authCode);\r\n if (message.cardNo != null && Object.hasOwnProperty.call(message, \"cardNo\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.cardNo);\r\n if (message.cardType != null && Object.hasOwnProperty.call(message, \"cardType\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.cardType);\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 5, wireType 0 =*/40).int32(message.type);\r\n if (message.flag != null && Object.hasOwnProperty.call(message, \"flag\"))\r\n writer.uint32(/* id 6, wireType 0 =*/48).int32(message.flag);\r\n if (message.orderNo != null && Object.hasOwnProperty.call(message, \"orderNo\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.orderNo);\r\n if (message.dateType != null && Object.hasOwnProperty.call(message, \"dateType\"))\r\n writer.uint32(/* id 8, wireType 0 =*/64).int32(message.dateType);\r\n if (message.terminalNoStart != null && Object.hasOwnProperty.call(message, \"terminalNoStart\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.terminalNoStart);\r\n if (message.terminalNoEnd != null && Object.hasOwnProperty.call(message, \"terminalNoEnd\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.terminalNoEnd);\r\n if (message.submitDateStart != null && Object.hasOwnProperty.call(message, \"submitDateStart\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.submitDateStart);\r\n if (message.submitDateEnd != null && Object.hasOwnProperty.call(message, \"submitDateEnd\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.submitDateEnd);\r\n if (message.dateStart != null && Object.hasOwnProperty.call(message, \"dateStart\"))\r\n writer.uint32(/* id 13, wireType 2 =*/106).string(message.dateStart);\r\n if (message.dateEnd != null && Object.hasOwnProperty.call(message, \"dateEnd\"))\r\n writer.uint32(/* id 14, wireType 2 =*/114).string(message.dateEnd);\r\n if (message.hide != null && Object.hasOwnProperty.call(message, \"hide\"))\r\n writer.uint32(/* id 15, wireType 0 =*/120).int32(message.hide);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ScheduleReportReimbursementQuerySpecificStore message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportReimbursementQuerySpecificStore} message ScheduleReportReimbursementQuerySpecificStore message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ScheduleReportReimbursementQuerySpecificStore message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore} ScheduleReportReimbursementQuerySpecificStore\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.specificStore = reader.string();\r\n break;\r\n case 2:\r\n message.authCode = reader.string();\r\n break;\r\n case 3:\r\n message.cardNo = reader.string();\r\n break;\r\n case 4:\r\n message.cardType = reader.string();\r\n break;\r\n case 5:\r\n message.type = reader.int32();\r\n break;\r\n case 6:\r\n message.flag = reader.int32();\r\n break;\r\n case 7:\r\n message.orderNo = reader.string();\r\n break;\r\n case 8:\r\n message.dateType = reader.int32();\r\n break;\r\n case 9:\r\n message.terminalNoStart = reader.string();\r\n break;\r\n case 10:\r\n message.terminalNoEnd = reader.string();\r\n break;\r\n case 11:\r\n message.submitDateStart = reader.string();\r\n break;\r\n case 12:\r\n message.submitDateEnd = reader.string();\r\n break;\r\n case 13:\r\n message.dateStart = reader.string();\r\n break;\r\n case 14:\r\n message.dateEnd = reader.string();\r\n break;\r\n case 15:\r\n message.hide = reader.int32();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ScheduleReportReimbursementQuerySpecificStore message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore} ScheduleReportReimbursementQuerySpecificStore\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ScheduleReportReimbursementQuerySpecificStore message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.specificStore != null && message.hasOwnProperty(\"specificStore\"))\r\n if (!$util.isString(message.specificStore))\r\n return \"specificStore: string expected\";\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n if (!$util.isString(message.authCode))\r\n return \"authCode: string expected\";\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n if (!$util.isString(message.cardNo))\r\n return \"cardNo: string expected\";\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n if (!$util.isString(message.cardType))\r\n return \"cardType: string expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isInteger(message.type))\r\n return \"type: integer expected\";\r\n if (message.flag != null && message.hasOwnProperty(\"flag\"))\r\n if (!$util.isInteger(message.flag))\r\n return \"flag: integer expected\";\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n if (!$util.isString(message.orderNo))\r\n return \"orderNo: string expected\";\r\n if (message.dateType != null && message.hasOwnProperty(\"dateType\"))\r\n if (!$util.isInteger(message.dateType))\r\n return \"dateType: integer expected\";\r\n if (message.terminalNoStart != null && message.hasOwnProperty(\"terminalNoStart\"))\r\n if (!$util.isString(message.terminalNoStart))\r\n return \"terminalNoStart: string expected\";\r\n if (message.terminalNoEnd != null && message.hasOwnProperty(\"terminalNoEnd\"))\r\n if (!$util.isString(message.terminalNoEnd))\r\n return \"terminalNoEnd: string expected\";\r\n if (message.submitDateStart != null && message.hasOwnProperty(\"submitDateStart\"))\r\n if (!$util.isString(message.submitDateStart))\r\n return \"submitDateStart: string expected\";\r\n if (message.submitDateEnd != null && message.hasOwnProperty(\"submitDateEnd\"))\r\n if (!$util.isString(message.submitDateEnd))\r\n return \"submitDateEnd: string expected\";\r\n if (message.dateStart != null && message.hasOwnProperty(\"dateStart\"))\r\n if (!$util.isString(message.dateStart))\r\n return \"dateStart: string expected\";\r\n if (message.dateEnd != null && message.hasOwnProperty(\"dateEnd\"))\r\n if (!$util.isString(message.dateEnd))\r\n return \"dateEnd: string expected\";\r\n if (message.hide != null && message.hasOwnProperty(\"hide\"))\r\n if (!$util.isInteger(message.hide))\r\n return \"hide: integer expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ScheduleReportReimbursementQuerySpecificStore message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore} ScheduleReportReimbursementQuerySpecificStore\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore();\r\n if (object.specificStore != null)\r\n message.specificStore = String(object.specificStore);\r\n if (object.authCode != null)\r\n message.authCode = String(object.authCode);\r\n if (object.cardNo != null)\r\n message.cardNo = String(object.cardNo);\r\n if (object.cardType != null)\r\n message.cardType = String(object.cardType);\r\n if (object.type != null)\r\n message.type = object.type | 0;\r\n if (object.flag != null)\r\n message.flag = object.flag | 0;\r\n if (object.orderNo != null)\r\n message.orderNo = String(object.orderNo);\r\n if (object.dateType != null)\r\n message.dateType = object.dateType | 0;\r\n if (object.terminalNoStart != null)\r\n message.terminalNoStart = String(object.terminalNoStart);\r\n if (object.terminalNoEnd != null)\r\n message.terminalNoEnd = String(object.terminalNoEnd);\r\n if (object.submitDateStart != null)\r\n message.submitDateStart = String(object.submitDateStart);\r\n if (object.submitDateEnd != null)\r\n message.submitDateEnd = String(object.submitDateEnd);\r\n if (object.dateStart != null)\r\n message.dateStart = String(object.dateStart);\r\n if (object.dateEnd != null)\r\n message.dateEnd = String(object.dateEnd);\r\n if (object.hide != null)\r\n message.hide = object.hide | 0;\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ScheduleReportReimbursementQuerySpecificStore message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore} message ScheduleReportReimbursementQuerySpecificStore\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.specificStore = \"\";\r\n object.authCode = \"\";\r\n object.cardNo = \"\";\r\n object.cardType = \"\";\r\n object.type = 0;\r\n object.flag = 0;\r\n object.orderNo = \"\";\r\n object.dateType = 0;\r\n object.terminalNoStart = \"\";\r\n object.terminalNoEnd = \"\";\r\n object.submitDateStart = \"\";\r\n object.submitDateEnd = \"\";\r\n object.dateStart = \"\";\r\n object.dateEnd = \"\";\r\n object.hide = 0;\r\n }\r\n if (message.specificStore != null && message.hasOwnProperty(\"specificStore\"))\r\n object.specificStore = message.specificStore;\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n object.authCode = message.authCode;\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n object.cardNo = message.cardNo;\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n object.cardType = message.cardType;\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.flag != null && message.hasOwnProperty(\"flag\"))\r\n object.flag = message.flag;\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n object.orderNo = message.orderNo;\r\n if (message.dateType != null && message.hasOwnProperty(\"dateType\"))\r\n object.dateType = message.dateType;\r\n if (message.terminalNoStart != null && message.hasOwnProperty(\"terminalNoStart\"))\r\n object.terminalNoStart = message.terminalNoStart;\r\n if (message.terminalNoEnd != null && message.hasOwnProperty(\"terminalNoEnd\"))\r\n object.terminalNoEnd = message.terminalNoEnd;\r\n if (message.submitDateStart != null && message.hasOwnProperty(\"submitDateStart\"))\r\n object.submitDateStart = message.submitDateStart;\r\n if (message.submitDateEnd != null && message.hasOwnProperty(\"submitDateEnd\"))\r\n object.submitDateEnd = message.submitDateEnd;\r\n if (message.dateStart != null && message.hasOwnProperty(\"dateStart\"))\r\n object.dateStart = message.dateStart;\r\n if (message.dateEnd != null && message.hasOwnProperty(\"dateEnd\"))\r\n object.dateEnd = message.dateEnd;\r\n if (message.hide != null && message.hasOwnProperty(\"hide\"))\r\n object.hide = message.hide;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ScheduleReportReimbursementQuerySpecificStore to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportReimbursementQuerySpecificStore\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ScheduleReportReimbursementQuerySpecificStore.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ScheduleReportReimbursementQuerySpecificStore;\r\n })();\r\n\r\n Protobuf.ScheduleReportAppropriationQuerySpecificStore = (function() {\r\n\r\n /**\r\n * Properties of a ScheduleReportAppropriationQuerySpecificStore.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IScheduleReportAppropriationQuerySpecificStore\r\n * @property {string|null} [specificStore] ScheduleReportAppropriationQuerySpecificStore specificStore\r\n * @property {string|null} [authCode] ScheduleReportAppropriationQuerySpecificStore authCode\r\n * @property {string|null} [cardNo] ScheduleReportAppropriationQuerySpecificStore cardNo\r\n * @property {string|null} [cardType] ScheduleReportAppropriationQuerySpecificStore cardType\r\n * @property {number|null} [type] ScheduleReportAppropriationQuerySpecificStore type\r\n * @property {number|null} [flag] ScheduleReportAppropriationQuerySpecificStore flag\r\n * @property {string|null} [orderNo] ScheduleReportAppropriationQuerySpecificStore orderNo\r\n * @property {string|null} [terminalNoStart] ScheduleReportAppropriationQuerySpecificStore terminalNoStart\r\n * @property {string|null} [terminalNoEnd] ScheduleReportAppropriationQuerySpecificStore terminalNoEnd\r\n * @property {string|null} [submitDateStart] ScheduleReportAppropriationQuerySpecificStore submitDateStart\r\n * @property {string|null} [submitDateEnd] ScheduleReportAppropriationQuerySpecificStore submitDateEnd\r\n * @property {string|null} [transDateStart] ScheduleReportAppropriationQuerySpecificStore transDateStart\r\n * @property {string|null} [transDateEnd] ScheduleReportAppropriationQuerySpecificStore transDateEnd\r\n * @property {string|null} [dateStart] ScheduleReportAppropriationQuerySpecificStore dateStart\r\n * @property {string|null} [dateEnd] ScheduleReportAppropriationQuerySpecificStore dateEnd\r\n * @property {number|null} [hide] ScheduleReportAppropriationQuerySpecificStore hide\r\n */\r\n\r\n /**\r\n * Constructs a new ScheduleReportAppropriationQuerySpecificStore.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a ScheduleReportAppropriationQuerySpecificStore.\r\n * @implements IScheduleReportAppropriationQuerySpecificStore\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportAppropriationQuerySpecificStore=} [properties] Properties to set\r\n */\r\n function ScheduleReportAppropriationQuerySpecificStore(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * ScheduleReportAppropriationQuerySpecificStore specificStore.\r\n * @member {string} specificStore\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.prototype.specificStore = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuerySpecificStore authCode.\r\n * @member {string} authCode\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.prototype.authCode = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuerySpecificStore cardNo.\r\n * @member {string} cardNo\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.prototype.cardNo = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuerySpecificStore cardType.\r\n * @member {string} cardType\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.prototype.cardType = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuerySpecificStore type.\r\n * @member {number} type\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.prototype.type = 0;\r\n\r\n /**\r\n * ScheduleReportAppropriationQuerySpecificStore flag.\r\n * @member {number} flag\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.prototype.flag = 0;\r\n\r\n /**\r\n * ScheduleReportAppropriationQuerySpecificStore orderNo.\r\n * @member {string} orderNo\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.prototype.orderNo = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuerySpecificStore terminalNoStart.\r\n * @member {string} terminalNoStart\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.prototype.terminalNoStart = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuerySpecificStore terminalNoEnd.\r\n * @member {string} terminalNoEnd\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.prototype.terminalNoEnd = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuerySpecificStore submitDateStart.\r\n * @member {string} submitDateStart\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.prototype.submitDateStart = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuerySpecificStore submitDateEnd.\r\n * @member {string} submitDateEnd\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.prototype.submitDateEnd = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuerySpecificStore transDateStart.\r\n * @member {string} transDateStart\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.prototype.transDateStart = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuerySpecificStore transDateEnd.\r\n * @member {string} transDateEnd\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.prototype.transDateEnd = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuerySpecificStore dateStart.\r\n * @member {string} dateStart\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.prototype.dateStart = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuerySpecificStore dateEnd.\r\n * @member {string} dateEnd\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.prototype.dateEnd = \"\";\r\n\r\n /**\r\n * ScheduleReportAppropriationQuerySpecificStore hide.\r\n * @member {number} hide\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @instance\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.prototype.hide = 0;\r\n\r\n /**\r\n * Creates a new ScheduleReportAppropriationQuerySpecificStore instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportAppropriationQuerySpecificStore=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore} ScheduleReportAppropriationQuerySpecificStore instance\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.create = function create(properties) {\r\n return new ScheduleReportAppropriationQuerySpecificStore(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified ScheduleReportAppropriationQuerySpecificStore message. Does not implicitly {@link TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportAppropriationQuerySpecificStore} message ScheduleReportAppropriationQuerySpecificStore message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.specificStore != null && Object.hasOwnProperty.call(message, \"specificStore\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.specificStore);\r\n if (message.authCode != null && Object.hasOwnProperty.call(message, \"authCode\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.authCode);\r\n if (message.cardNo != null && Object.hasOwnProperty.call(message, \"cardNo\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.cardNo);\r\n if (message.cardType != null && Object.hasOwnProperty.call(message, \"cardType\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.cardType);\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 5, wireType 0 =*/40).int32(message.type);\r\n if (message.flag != null && Object.hasOwnProperty.call(message, \"flag\"))\r\n writer.uint32(/* id 6, wireType 0 =*/48).int32(message.flag);\r\n if (message.orderNo != null && Object.hasOwnProperty.call(message, \"orderNo\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.orderNo);\r\n if (message.terminalNoStart != null && Object.hasOwnProperty.call(message, \"terminalNoStart\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.terminalNoStart);\r\n if (message.terminalNoEnd != null && Object.hasOwnProperty.call(message, \"terminalNoEnd\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.terminalNoEnd);\r\n if (message.submitDateStart != null && Object.hasOwnProperty.call(message, \"submitDateStart\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.submitDateStart);\r\n if (message.submitDateEnd != null && Object.hasOwnProperty.call(message, \"submitDateEnd\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.submitDateEnd);\r\n if (message.transDateStart != null && Object.hasOwnProperty.call(message, \"transDateStart\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.transDateStart);\r\n if (message.transDateEnd != null && Object.hasOwnProperty.call(message, \"transDateEnd\"))\r\n writer.uint32(/* id 13, wireType 2 =*/106).string(message.transDateEnd);\r\n if (message.dateStart != null && Object.hasOwnProperty.call(message, \"dateStart\"))\r\n writer.uint32(/* id 14, wireType 2 =*/114).string(message.dateStart);\r\n if (message.dateEnd != null && Object.hasOwnProperty.call(message, \"dateEnd\"))\r\n writer.uint32(/* id 15, wireType 2 =*/122).string(message.dateEnd);\r\n if (message.hide != null && Object.hasOwnProperty.call(message, \"hide\"))\r\n writer.uint32(/* id 16, wireType 0 =*/128).int32(message.hide);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified ScheduleReportAppropriationQuerySpecificStore message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IScheduleReportAppropriationQuerySpecificStore} message ScheduleReportAppropriationQuerySpecificStore message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a ScheduleReportAppropriationQuerySpecificStore message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore} ScheduleReportAppropriationQuerySpecificStore\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.specificStore = reader.string();\r\n break;\r\n case 2:\r\n message.authCode = reader.string();\r\n break;\r\n case 3:\r\n message.cardNo = reader.string();\r\n break;\r\n case 4:\r\n message.cardType = reader.string();\r\n break;\r\n case 5:\r\n message.type = reader.int32();\r\n break;\r\n case 6:\r\n message.flag = reader.int32();\r\n break;\r\n case 7:\r\n message.orderNo = reader.string();\r\n break;\r\n case 8:\r\n message.terminalNoStart = reader.string();\r\n break;\r\n case 9:\r\n message.terminalNoEnd = reader.string();\r\n break;\r\n case 10:\r\n message.submitDateStart = reader.string();\r\n break;\r\n case 11:\r\n message.submitDateEnd = reader.string();\r\n break;\r\n case 12:\r\n message.transDateStart = reader.string();\r\n break;\r\n case 13:\r\n message.transDateEnd = reader.string();\r\n break;\r\n case 14:\r\n message.dateStart = reader.string();\r\n break;\r\n case 15:\r\n message.dateEnd = reader.string();\r\n break;\r\n case 16:\r\n message.hide = reader.int32();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a ScheduleReportAppropriationQuerySpecificStore message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore} ScheduleReportAppropriationQuerySpecificStore\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a ScheduleReportAppropriationQuerySpecificStore message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.specificStore != null && message.hasOwnProperty(\"specificStore\"))\r\n if (!$util.isString(message.specificStore))\r\n return \"specificStore: string expected\";\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n if (!$util.isString(message.authCode))\r\n return \"authCode: string expected\";\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n if (!$util.isString(message.cardNo))\r\n return \"cardNo: string expected\";\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n if (!$util.isString(message.cardType))\r\n return \"cardType: string expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isInteger(message.type))\r\n return \"type: integer expected\";\r\n if (message.flag != null && message.hasOwnProperty(\"flag\"))\r\n if (!$util.isInteger(message.flag))\r\n return \"flag: integer expected\";\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n if (!$util.isString(message.orderNo))\r\n return \"orderNo: string expected\";\r\n if (message.terminalNoStart != null && message.hasOwnProperty(\"terminalNoStart\"))\r\n if (!$util.isString(message.terminalNoStart))\r\n return \"terminalNoStart: string expected\";\r\n if (message.terminalNoEnd != null && message.hasOwnProperty(\"terminalNoEnd\"))\r\n if (!$util.isString(message.terminalNoEnd))\r\n return \"terminalNoEnd: string expected\";\r\n if (message.submitDateStart != null && message.hasOwnProperty(\"submitDateStart\"))\r\n if (!$util.isString(message.submitDateStart))\r\n return \"submitDateStart: string expected\";\r\n if (message.submitDateEnd != null && message.hasOwnProperty(\"submitDateEnd\"))\r\n if (!$util.isString(message.submitDateEnd))\r\n return \"submitDateEnd: string expected\";\r\n if (message.transDateStart != null && message.hasOwnProperty(\"transDateStart\"))\r\n if (!$util.isString(message.transDateStart))\r\n return \"transDateStart: string expected\";\r\n if (message.transDateEnd != null && message.hasOwnProperty(\"transDateEnd\"))\r\n if (!$util.isString(message.transDateEnd))\r\n return \"transDateEnd: string expected\";\r\n if (message.dateStart != null && message.hasOwnProperty(\"dateStart\"))\r\n if (!$util.isString(message.dateStart))\r\n return \"dateStart: string expected\";\r\n if (message.dateEnd != null && message.hasOwnProperty(\"dateEnd\"))\r\n if (!$util.isString(message.dateEnd))\r\n return \"dateEnd: string expected\";\r\n if (message.hide != null && message.hasOwnProperty(\"hide\"))\r\n if (!$util.isInteger(message.hide))\r\n return \"hide: integer expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a ScheduleReportAppropriationQuerySpecificStore message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore} ScheduleReportAppropriationQuerySpecificStore\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore();\r\n if (object.specificStore != null)\r\n message.specificStore = String(object.specificStore);\r\n if (object.authCode != null)\r\n message.authCode = String(object.authCode);\r\n if (object.cardNo != null)\r\n message.cardNo = String(object.cardNo);\r\n if (object.cardType != null)\r\n message.cardType = String(object.cardType);\r\n if (object.type != null)\r\n message.type = object.type | 0;\r\n if (object.flag != null)\r\n message.flag = object.flag | 0;\r\n if (object.orderNo != null)\r\n message.orderNo = String(object.orderNo);\r\n if (object.terminalNoStart != null)\r\n message.terminalNoStart = String(object.terminalNoStart);\r\n if (object.terminalNoEnd != null)\r\n message.terminalNoEnd = String(object.terminalNoEnd);\r\n if (object.submitDateStart != null)\r\n message.submitDateStart = String(object.submitDateStart);\r\n if (object.submitDateEnd != null)\r\n message.submitDateEnd = String(object.submitDateEnd);\r\n if (object.transDateStart != null)\r\n message.transDateStart = String(object.transDateStart);\r\n if (object.transDateEnd != null)\r\n message.transDateEnd = String(object.transDateEnd);\r\n if (object.dateStart != null)\r\n message.dateStart = String(object.dateStart);\r\n if (object.dateEnd != null)\r\n message.dateEnd = String(object.dateEnd);\r\n if (object.hide != null)\r\n message.hide = object.hide | 0;\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a ScheduleReportAppropriationQuerySpecificStore message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore} message ScheduleReportAppropriationQuerySpecificStore\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.specificStore = \"\";\r\n object.authCode = \"\";\r\n object.cardNo = \"\";\r\n object.cardType = \"\";\r\n object.type = 0;\r\n object.flag = 0;\r\n object.orderNo = \"\";\r\n object.terminalNoStart = \"\";\r\n object.terminalNoEnd = \"\";\r\n object.submitDateStart = \"\";\r\n object.submitDateEnd = \"\";\r\n object.transDateStart = \"\";\r\n object.transDateEnd = \"\";\r\n object.dateStart = \"\";\r\n object.dateEnd = \"\";\r\n object.hide = 0;\r\n }\r\n if (message.specificStore != null && message.hasOwnProperty(\"specificStore\"))\r\n object.specificStore = message.specificStore;\r\n if (message.authCode != null && message.hasOwnProperty(\"authCode\"))\r\n object.authCode = message.authCode;\r\n if (message.cardNo != null && message.hasOwnProperty(\"cardNo\"))\r\n object.cardNo = message.cardNo;\r\n if (message.cardType != null && message.hasOwnProperty(\"cardType\"))\r\n object.cardType = message.cardType;\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.flag != null && message.hasOwnProperty(\"flag\"))\r\n object.flag = message.flag;\r\n if (message.orderNo != null && message.hasOwnProperty(\"orderNo\"))\r\n object.orderNo = message.orderNo;\r\n if (message.terminalNoStart != null && message.hasOwnProperty(\"terminalNoStart\"))\r\n object.terminalNoStart = message.terminalNoStart;\r\n if (message.terminalNoEnd != null && message.hasOwnProperty(\"terminalNoEnd\"))\r\n object.terminalNoEnd = message.terminalNoEnd;\r\n if (message.submitDateStart != null && message.hasOwnProperty(\"submitDateStart\"))\r\n object.submitDateStart = message.submitDateStart;\r\n if (message.submitDateEnd != null && message.hasOwnProperty(\"submitDateEnd\"))\r\n object.submitDateEnd = message.submitDateEnd;\r\n if (message.transDateStart != null && message.hasOwnProperty(\"transDateStart\"))\r\n object.transDateStart = message.transDateStart;\r\n if (message.transDateEnd != null && message.hasOwnProperty(\"transDateEnd\"))\r\n object.transDateEnd = message.transDateEnd;\r\n if (message.dateStart != null && message.hasOwnProperty(\"dateStart\"))\r\n object.dateStart = message.dateStart;\r\n if (message.dateEnd != null && message.hasOwnProperty(\"dateEnd\"))\r\n object.dateEnd = message.dateEnd;\r\n if (message.hide != null && message.hasOwnProperty(\"hide\"))\r\n object.hide = message.hide;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this ScheduleReportAppropriationQuerySpecificStore to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.ScheduleReportAppropriationQuerySpecificStore\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n ScheduleReportAppropriationQuerySpecificStore.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return ScheduleReportAppropriationQuerySpecificStore;\r\n })();\r\n\r\n Protobuf.Store = (function() {\r\n\r\n /**\r\n * Properties of a Store.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IStore\r\n * @property {number|null} [storeTempId] Store storeTempId\r\n * @property {number|null} [storeId] Store storeId\r\n * @property {string|null} [code] Store code\r\n * @property {number|null} [isQuota] Store isQuota\r\n * @property {string|null} [tidNumber] Store tidNumber\r\n * @property {string|null} [type] Store type\r\n * @property {string|null} [typeDescription] Store typeDescription\r\n * @property {string|null} [headId] Store headId\r\n * @property {string|null} [headDescription] Store headDescription\r\n * @property {string|null} [registerName] Store registerName\r\n * @property {string|null} [engName] Store engName\r\n * @property {string|null} [signTitle] Store signTitle\r\n * @property {string|null} [nickName] Store nickName\r\n * @property {string|null} [mccCode] Store mccCode\r\n * @property {string|null} [mccDescription] Store mccDescription\r\n * @property {string|null} [guiNumber] Store guiNumber\r\n * @property {string|null} [registerPostalCode1] Store registerPostalCode1\r\n * @property {string|null} [registerPostalCode2] Store registerPostalCode2\r\n * @property {string|null} [registerAddress] Store registerAddress\r\n * @property {string|null} [businessPostalCode1] Store businessPostalCode1\r\n * @property {string|null} [businessPostalCode2] Store businessPostalCode2\r\n * @property {string|null} [businessAddress] Store businessAddress\r\n * @property {string|null} [bankCode] Store bankCode\r\n * @property {string|null} [bankName] Store bankName\r\n * @property {number|null} [isPaper] Store isPaper\r\n * @property {string|null} [receiptName] Store receiptName\r\n * @property {string|null} [receiptPostalCode1] Store receiptPostalCode1\r\n * @property {string|null} [receiptPostalCode2] Store receiptPostalCode2\r\n * @property {string|null} [receiptAddress] Store receiptAddress\r\n * @property {number|null} [receiptGenerateType] Store receiptGenerateType\r\n * @property {number|null} [receiptGenerateCycle] Store receiptGenerateCycle\r\n * @property {number|null} [receiptGenerateBasis] Store receiptGenerateBasis\r\n * @property {number|null} [smartPay] Store smartPay\r\n * @property {number|null} [commonQrCode] Store commonQrCode\r\n * @property {number|null} [vmjQrCode] Store vmjQrCode\r\n * @property {number|null} [cupQrCode] Store cupQrCode\r\n * @property {number|null} [naturalPerson] Store naturalPerson\r\n * @property {number|null} [organizationType] Store organizationType\r\n * @property {number|null} [state] Store state\r\n * @property {string|null} [cancelDate] Store cancelDate\r\n * @property {number|null} [lastUpdateTime] Store lastUpdateTime\r\n * @property {number|null} [lastUploadTime] Store lastUploadTime\r\n * @property {number|null} [releaseState] Store releaseState\r\n * @property {string|null} [rejectReason] Store rejectReason\r\n */\r\n\r\n /**\r\n * Constructs a new Store.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a Store.\r\n * @implements IStore\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IStore=} [properties] Properties to set\r\n */\r\n function Store(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * Store storeTempId.\r\n * @member {number} storeTempId\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.storeTempId = 0;\r\n\r\n /**\r\n * Store storeId.\r\n * @member {number} storeId\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.storeId = 0;\r\n\r\n /**\r\n * Store code.\r\n * @member {string} code\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.code = \"\";\r\n\r\n /**\r\n * Store isQuota.\r\n * @member {number} isQuota\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.isQuota = 0;\r\n\r\n /**\r\n * Store tidNumber.\r\n * @member {string} tidNumber\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.tidNumber = \"\";\r\n\r\n /**\r\n * Store type.\r\n * @member {string} type\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.type = \"\";\r\n\r\n /**\r\n * Store typeDescription.\r\n * @member {string} typeDescription\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.typeDescription = \"\";\r\n\r\n /**\r\n * Store headId.\r\n * @member {string} headId\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.headId = \"\";\r\n\r\n /**\r\n * Store headDescription.\r\n * @member {string} headDescription\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.headDescription = \"\";\r\n\r\n /**\r\n * Store registerName.\r\n * @member {string} registerName\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.registerName = \"\";\r\n\r\n /**\r\n * Store engName.\r\n * @member {string} engName\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.engName = \"\";\r\n\r\n /**\r\n * Store signTitle.\r\n * @member {string} signTitle\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.signTitle = \"\";\r\n\r\n /**\r\n * Store nickName.\r\n * @member {string} nickName\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.nickName = \"\";\r\n\r\n /**\r\n * Store mccCode.\r\n * @member {string} mccCode\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.mccCode = \"\";\r\n\r\n /**\r\n * Store mccDescription.\r\n * @member {string} mccDescription\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.mccDescription = \"\";\r\n\r\n /**\r\n * Store guiNumber.\r\n * @member {string} guiNumber\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.guiNumber = \"\";\r\n\r\n /**\r\n * Store registerPostalCode1.\r\n * @member {string} registerPostalCode1\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.registerPostalCode1 = \"\";\r\n\r\n /**\r\n * Store registerPostalCode2.\r\n * @member {string} registerPostalCode2\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.registerPostalCode2 = \"\";\r\n\r\n /**\r\n * Store registerAddress.\r\n * @member {string} registerAddress\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.registerAddress = \"\";\r\n\r\n /**\r\n * Store businessPostalCode1.\r\n * @member {string} businessPostalCode1\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.businessPostalCode1 = \"\";\r\n\r\n /**\r\n * Store businessPostalCode2.\r\n * @member {string} businessPostalCode2\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.businessPostalCode2 = \"\";\r\n\r\n /**\r\n * Store businessAddress.\r\n * @member {string} businessAddress\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.businessAddress = \"\";\r\n\r\n /**\r\n * Store bankCode.\r\n * @member {string} bankCode\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.bankCode = \"\";\r\n\r\n /**\r\n * Store bankName.\r\n * @member {string} bankName\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.bankName = \"\";\r\n\r\n /**\r\n * Store isPaper.\r\n * @member {number} isPaper\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.isPaper = 0;\r\n\r\n /**\r\n * Store receiptName.\r\n * @member {string} receiptName\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.receiptName = \"\";\r\n\r\n /**\r\n * Store receiptPostalCode1.\r\n * @member {string} receiptPostalCode1\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.receiptPostalCode1 = \"\";\r\n\r\n /**\r\n * Store receiptPostalCode2.\r\n * @member {string} receiptPostalCode2\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.receiptPostalCode2 = \"\";\r\n\r\n /**\r\n * Store receiptAddress.\r\n * @member {string} receiptAddress\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.receiptAddress = \"\";\r\n\r\n /**\r\n * Store receiptGenerateType.\r\n * @member {number} receiptGenerateType\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.receiptGenerateType = 0;\r\n\r\n /**\r\n * Store receiptGenerateCycle.\r\n * @member {number} receiptGenerateCycle\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.receiptGenerateCycle = 0;\r\n\r\n /**\r\n * Store receiptGenerateBasis.\r\n * @member {number} receiptGenerateBasis\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.receiptGenerateBasis = 0;\r\n\r\n /**\r\n * Store smartPay.\r\n * @member {number} smartPay\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.smartPay = 0;\r\n\r\n /**\r\n * Store commonQrCode.\r\n * @member {number} commonQrCode\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.commonQrCode = 0;\r\n\r\n /**\r\n * Store vmjQrCode.\r\n * @member {number} vmjQrCode\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.vmjQrCode = 0;\r\n\r\n /**\r\n * Store cupQrCode.\r\n * @member {number} cupQrCode\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.cupQrCode = 0;\r\n\r\n /**\r\n * Store naturalPerson.\r\n * @member {number} naturalPerson\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.naturalPerson = 0;\r\n\r\n /**\r\n * Store organizationType.\r\n * @member {number} organizationType\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.organizationType = 0;\r\n\r\n /**\r\n * Store state.\r\n * @member {number} state\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.state = 0;\r\n\r\n /**\r\n * Store cancelDate.\r\n * @member {string} cancelDate\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.cancelDate = \"\";\r\n\r\n /**\r\n * Store lastUpdateTime.\r\n * @member {number} lastUpdateTime\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.lastUpdateTime = 0;\r\n\r\n /**\r\n * Store lastUploadTime.\r\n * @member {number} lastUploadTime\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.lastUploadTime = 0;\r\n\r\n /**\r\n * Store releaseState.\r\n * @member {number} releaseState\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.releaseState = 0;\r\n\r\n /**\r\n * Store rejectReason.\r\n * @member {string} rejectReason\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n */\r\n Store.prototype.rejectReason = \"\";\r\n\r\n /**\r\n * Creates a new Store instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStore=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.Store} Store instance\r\n */\r\n Store.create = function create(properties) {\r\n return new Store(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified Store message. Does not implicitly {@link TCBReceiptApi.Protobuf.Store.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStore} message Store message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Store.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.storeTempId != null && Object.hasOwnProperty.call(message, \"storeTempId\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.storeTempId);\r\n if (message.storeId != null && Object.hasOwnProperty.call(message, \"storeId\"))\r\n writer.uint32(/* id 2, wireType 0 =*/16).int32(message.storeId);\r\n if (message.code != null && Object.hasOwnProperty.call(message, \"code\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.code);\r\n if (message.isQuota != null && Object.hasOwnProperty.call(message, \"isQuota\"))\r\n writer.uint32(/* id 4, wireType 0 =*/32).int32(message.isQuota);\r\n if (message.tidNumber != null && Object.hasOwnProperty.call(message, \"tidNumber\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.tidNumber);\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.type);\r\n if (message.typeDescription != null && Object.hasOwnProperty.call(message, \"typeDescription\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.typeDescription);\r\n if (message.headId != null && Object.hasOwnProperty.call(message, \"headId\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.headId);\r\n if (message.headDescription != null && Object.hasOwnProperty.call(message, \"headDescription\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.headDescription);\r\n if (message.registerName != null && Object.hasOwnProperty.call(message, \"registerName\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.registerName);\r\n if (message.engName != null && Object.hasOwnProperty.call(message, \"engName\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.engName);\r\n if (message.signTitle != null && Object.hasOwnProperty.call(message, \"signTitle\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.signTitle);\r\n if (message.nickName != null && Object.hasOwnProperty.call(message, \"nickName\"))\r\n writer.uint32(/* id 13, wireType 2 =*/106).string(message.nickName);\r\n if (message.mccCode != null && Object.hasOwnProperty.call(message, \"mccCode\"))\r\n writer.uint32(/* id 14, wireType 2 =*/114).string(message.mccCode);\r\n if (message.mccDescription != null && Object.hasOwnProperty.call(message, \"mccDescription\"))\r\n writer.uint32(/* id 15, wireType 2 =*/122).string(message.mccDescription);\r\n if (message.guiNumber != null && Object.hasOwnProperty.call(message, \"guiNumber\"))\r\n writer.uint32(/* id 16, wireType 2 =*/130).string(message.guiNumber);\r\n if (message.registerPostalCode1 != null && Object.hasOwnProperty.call(message, \"registerPostalCode1\"))\r\n writer.uint32(/* id 17, wireType 2 =*/138).string(message.registerPostalCode1);\r\n if (message.registerPostalCode2 != null && Object.hasOwnProperty.call(message, \"registerPostalCode2\"))\r\n writer.uint32(/* id 18, wireType 2 =*/146).string(message.registerPostalCode2);\r\n if (message.registerAddress != null && Object.hasOwnProperty.call(message, \"registerAddress\"))\r\n writer.uint32(/* id 19, wireType 2 =*/154).string(message.registerAddress);\r\n if (message.businessPostalCode1 != null && Object.hasOwnProperty.call(message, \"businessPostalCode1\"))\r\n writer.uint32(/* id 20, wireType 2 =*/162).string(message.businessPostalCode1);\r\n if (message.businessPostalCode2 != null && Object.hasOwnProperty.call(message, \"businessPostalCode2\"))\r\n writer.uint32(/* id 21, wireType 2 =*/170).string(message.businessPostalCode2);\r\n if (message.businessAddress != null && Object.hasOwnProperty.call(message, \"businessAddress\"))\r\n writer.uint32(/* id 22, wireType 2 =*/178).string(message.businessAddress);\r\n if (message.bankCode != null && Object.hasOwnProperty.call(message, \"bankCode\"))\r\n writer.uint32(/* id 23, wireType 2 =*/186).string(message.bankCode);\r\n if (message.bankName != null && Object.hasOwnProperty.call(message, \"bankName\"))\r\n writer.uint32(/* id 24, wireType 2 =*/194).string(message.bankName);\r\n if (message.isPaper != null && Object.hasOwnProperty.call(message, \"isPaper\"))\r\n writer.uint32(/* id 25, wireType 0 =*/200).int32(message.isPaper);\r\n if (message.receiptName != null && Object.hasOwnProperty.call(message, \"receiptName\"))\r\n writer.uint32(/* id 26, wireType 2 =*/210).string(message.receiptName);\r\n if (message.receiptPostalCode1 != null && Object.hasOwnProperty.call(message, \"receiptPostalCode1\"))\r\n writer.uint32(/* id 27, wireType 2 =*/218).string(message.receiptPostalCode1);\r\n if (message.receiptPostalCode2 != null && Object.hasOwnProperty.call(message, \"receiptPostalCode2\"))\r\n writer.uint32(/* id 28, wireType 2 =*/226).string(message.receiptPostalCode2);\r\n if (message.receiptAddress != null && Object.hasOwnProperty.call(message, \"receiptAddress\"))\r\n writer.uint32(/* id 29, wireType 2 =*/234).string(message.receiptAddress);\r\n if (message.receiptGenerateType != null && Object.hasOwnProperty.call(message, \"receiptGenerateType\"))\r\n writer.uint32(/* id 30, wireType 0 =*/240).int32(message.receiptGenerateType);\r\n if (message.receiptGenerateCycle != null && Object.hasOwnProperty.call(message, \"receiptGenerateCycle\"))\r\n writer.uint32(/* id 31, wireType 0 =*/248).int32(message.receiptGenerateCycle);\r\n if (message.receiptGenerateBasis != null && Object.hasOwnProperty.call(message, \"receiptGenerateBasis\"))\r\n writer.uint32(/* id 32, wireType 0 =*/256).int32(message.receiptGenerateBasis);\r\n if (message.smartPay != null && Object.hasOwnProperty.call(message, \"smartPay\"))\r\n writer.uint32(/* id 33, wireType 0 =*/264).int32(message.smartPay);\r\n if (message.commonQrCode != null && Object.hasOwnProperty.call(message, \"commonQrCode\"))\r\n writer.uint32(/* id 34, wireType 0 =*/272).int32(message.commonQrCode);\r\n if (message.vmjQrCode != null && Object.hasOwnProperty.call(message, \"vmjQrCode\"))\r\n writer.uint32(/* id 35, wireType 0 =*/280).int32(message.vmjQrCode);\r\n if (message.cupQrCode != null && Object.hasOwnProperty.call(message, \"cupQrCode\"))\r\n writer.uint32(/* id 36, wireType 0 =*/288).int32(message.cupQrCode);\r\n if (message.naturalPerson != null && Object.hasOwnProperty.call(message, \"naturalPerson\"))\r\n writer.uint32(/* id 37, wireType 0 =*/296).int32(message.naturalPerson);\r\n if (message.organizationType != null && Object.hasOwnProperty.call(message, \"organizationType\"))\r\n writer.uint32(/* id 38, wireType 0 =*/304).int32(message.organizationType);\r\n if (message.state != null && Object.hasOwnProperty.call(message, \"state\"))\r\n writer.uint32(/* id 39, wireType 0 =*/312).int32(message.state);\r\n if (message.cancelDate != null && Object.hasOwnProperty.call(message, \"cancelDate\"))\r\n writer.uint32(/* id 40, wireType 2 =*/322).string(message.cancelDate);\r\n if (message.lastUpdateTime != null && Object.hasOwnProperty.call(message, \"lastUpdateTime\"))\r\n writer.uint32(/* id 41, wireType 0 =*/328).int32(message.lastUpdateTime);\r\n if (message.lastUploadTime != null && Object.hasOwnProperty.call(message, \"lastUploadTime\"))\r\n writer.uint32(/* id 42, wireType 0 =*/336).int32(message.lastUploadTime);\r\n if (message.releaseState != null && Object.hasOwnProperty.call(message, \"releaseState\"))\r\n writer.uint32(/* id 43, wireType 0 =*/344).int32(message.releaseState);\r\n if (message.rejectReason != null && Object.hasOwnProperty.call(message, \"rejectReason\"))\r\n writer.uint32(/* id 44, wireType 2 =*/354).string(message.rejectReason);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified Store message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.Store.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStore} message Store message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Store.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a Store message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.Store} Store\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Store.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.Store();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.storeTempId = reader.int32();\r\n break;\r\n case 2:\r\n message.storeId = reader.int32();\r\n break;\r\n case 3:\r\n message.code = reader.string();\r\n break;\r\n case 4:\r\n message.isQuota = reader.int32();\r\n break;\r\n case 5:\r\n message.tidNumber = reader.string();\r\n break;\r\n case 6:\r\n message.type = reader.string();\r\n break;\r\n case 7:\r\n message.typeDescription = reader.string();\r\n break;\r\n case 8:\r\n message.headId = reader.string();\r\n break;\r\n case 9:\r\n message.headDescription = reader.string();\r\n break;\r\n case 10:\r\n message.registerName = reader.string();\r\n break;\r\n case 11:\r\n message.engName = reader.string();\r\n break;\r\n case 12:\r\n message.signTitle = reader.string();\r\n break;\r\n case 13:\r\n message.nickName = reader.string();\r\n break;\r\n case 14:\r\n message.mccCode = reader.string();\r\n break;\r\n case 15:\r\n message.mccDescription = reader.string();\r\n break;\r\n case 16:\r\n message.guiNumber = reader.string();\r\n break;\r\n case 17:\r\n message.registerPostalCode1 = reader.string();\r\n break;\r\n case 18:\r\n message.registerPostalCode2 = reader.string();\r\n break;\r\n case 19:\r\n message.registerAddress = reader.string();\r\n break;\r\n case 20:\r\n message.businessPostalCode1 = reader.string();\r\n break;\r\n case 21:\r\n message.businessPostalCode2 = reader.string();\r\n break;\r\n case 22:\r\n message.businessAddress = reader.string();\r\n break;\r\n case 23:\r\n message.bankCode = reader.string();\r\n break;\r\n case 24:\r\n message.bankName = reader.string();\r\n break;\r\n case 25:\r\n message.isPaper = reader.int32();\r\n break;\r\n case 26:\r\n message.receiptName = reader.string();\r\n break;\r\n case 27:\r\n message.receiptPostalCode1 = reader.string();\r\n break;\r\n case 28:\r\n message.receiptPostalCode2 = reader.string();\r\n break;\r\n case 29:\r\n message.receiptAddress = reader.string();\r\n break;\r\n case 30:\r\n message.receiptGenerateType = reader.int32();\r\n break;\r\n case 31:\r\n message.receiptGenerateCycle = reader.int32();\r\n break;\r\n case 32:\r\n message.receiptGenerateBasis = reader.int32();\r\n break;\r\n case 33:\r\n message.smartPay = reader.int32();\r\n break;\r\n case 34:\r\n message.commonQrCode = reader.int32();\r\n break;\r\n case 35:\r\n message.vmjQrCode = reader.int32();\r\n break;\r\n case 36:\r\n message.cupQrCode = reader.int32();\r\n break;\r\n case 37:\r\n message.naturalPerson = reader.int32();\r\n break;\r\n case 38:\r\n message.organizationType = reader.int32();\r\n break;\r\n case 39:\r\n message.state = reader.int32();\r\n break;\r\n case 40:\r\n message.cancelDate = reader.string();\r\n break;\r\n case 41:\r\n message.lastUpdateTime = reader.int32();\r\n break;\r\n case 42:\r\n message.lastUploadTime = reader.int32();\r\n break;\r\n case 43:\r\n message.releaseState = reader.int32();\r\n break;\r\n case 44:\r\n message.rejectReason = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a Store message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.Store} Store\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Store.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a Store message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n Store.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.storeTempId != null && message.hasOwnProperty(\"storeTempId\"))\r\n if (!$util.isInteger(message.storeTempId))\r\n return \"storeTempId: integer expected\";\r\n if (message.storeId != null && message.hasOwnProperty(\"storeId\"))\r\n if (!$util.isInteger(message.storeId))\r\n return \"storeId: integer expected\";\r\n if (message.code != null && message.hasOwnProperty(\"code\"))\r\n if (!$util.isString(message.code))\r\n return \"code: string expected\";\r\n if (message.isQuota != null && message.hasOwnProperty(\"isQuota\"))\r\n if (!$util.isInteger(message.isQuota))\r\n return \"isQuota: integer expected\";\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n if (!$util.isString(message.tidNumber))\r\n return \"tidNumber: string expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isString(message.type))\r\n return \"type: string expected\";\r\n if (message.typeDescription != null && message.hasOwnProperty(\"typeDescription\"))\r\n if (!$util.isString(message.typeDescription))\r\n return \"typeDescription: string expected\";\r\n if (message.headId != null && message.hasOwnProperty(\"headId\"))\r\n if (!$util.isString(message.headId))\r\n return \"headId: string expected\";\r\n if (message.headDescription != null && message.hasOwnProperty(\"headDescription\"))\r\n if (!$util.isString(message.headDescription))\r\n return \"headDescription: string expected\";\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n if (!$util.isString(message.registerName))\r\n return \"registerName: string expected\";\r\n if (message.engName != null && message.hasOwnProperty(\"engName\"))\r\n if (!$util.isString(message.engName))\r\n return \"engName: string expected\";\r\n if (message.signTitle != null && message.hasOwnProperty(\"signTitle\"))\r\n if (!$util.isString(message.signTitle))\r\n return \"signTitle: string expected\";\r\n if (message.nickName != null && message.hasOwnProperty(\"nickName\"))\r\n if (!$util.isString(message.nickName))\r\n return \"nickName: string expected\";\r\n if (message.mccCode != null && message.hasOwnProperty(\"mccCode\"))\r\n if (!$util.isString(message.mccCode))\r\n return \"mccCode: string expected\";\r\n if (message.mccDescription != null && message.hasOwnProperty(\"mccDescription\"))\r\n if (!$util.isString(message.mccDescription))\r\n return \"mccDescription: string expected\";\r\n if (message.guiNumber != null && message.hasOwnProperty(\"guiNumber\"))\r\n if (!$util.isString(message.guiNumber))\r\n return \"guiNumber: string expected\";\r\n if (message.registerPostalCode1 != null && message.hasOwnProperty(\"registerPostalCode1\"))\r\n if (!$util.isString(message.registerPostalCode1))\r\n return \"registerPostalCode1: string expected\";\r\n if (message.registerPostalCode2 != null && message.hasOwnProperty(\"registerPostalCode2\"))\r\n if (!$util.isString(message.registerPostalCode2))\r\n return \"registerPostalCode2: string expected\";\r\n if (message.registerAddress != null && message.hasOwnProperty(\"registerAddress\"))\r\n if (!$util.isString(message.registerAddress))\r\n return \"registerAddress: string expected\";\r\n if (message.businessPostalCode1 != null && message.hasOwnProperty(\"businessPostalCode1\"))\r\n if (!$util.isString(message.businessPostalCode1))\r\n return \"businessPostalCode1: string expected\";\r\n if (message.businessPostalCode2 != null && message.hasOwnProperty(\"businessPostalCode2\"))\r\n if (!$util.isString(message.businessPostalCode2))\r\n return \"businessPostalCode2: string expected\";\r\n if (message.businessAddress != null && message.hasOwnProperty(\"businessAddress\"))\r\n if (!$util.isString(message.businessAddress))\r\n return \"businessAddress: string expected\";\r\n if (message.bankCode != null && message.hasOwnProperty(\"bankCode\"))\r\n if (!$util.isString(message.bankCode))\r\n return \"bankCode: string expected\";\r\n if (message.bankName != null && message.hasOwnProperty(\"bankName\"))\r\n if (!$util.isString(message.bankName))\r\n return \"bankName: string expected\";\r\n if (message.isPaper != null && message.hasOwnProperty(\"isPaper\"))\r\n if (!$util.isInteger(message.isPaper))\r\n return \"isPaper: integer expected\";\r\n if (message.receiptName != null && message.hasOwnProperty(\"receiptName\"))\r\n if (!$util.isString(message.receiptName))\r\n return \"receiptName: string expected\";\r\n if (message.receiptPostalCode1 != null && message.hasOwnProperty(\"receiptPostalCode1\"))\r\n if (!$util.isString(message.receiptPostalCode1))\r\n return \"receiptPostalCode1: string expected\";\r\n if (message.receiptPostalCode2 != null && message.hasOwnProperty(\"receiptPostalCode2\"))\r\n if (!$util.isString(message.receiptPostalCode2))\r\n return \"receiptPostalCode2: string expected\";\r\n if (message.receiptAddress != null && message.hasOwnProperty(\"receiptAddress\"))\r\n if (!$util.isString(message.receiptAddress))\r\n return \"receiptAddress: string expected\";\r\n if (message.receiptGenerateType != null && message.hasOwnProperty(\"receiptGenerateType\"))\r\n if (!$util.isInteger(message.receiptGenerateType))\r\n return \"receiptGenerateType: integer expected\";\r\n if (message.receiptGenerateCycle != null && message.hasOwnProperty(\"receiptGenerateCycle\"))\r\n if (!$util.isInteger(message.receiptGenerateCycle))\r\n return \"receiptGenerateCycle: integer expected\";\r\n if (message.receiptGenerateBasis != null && message.hasOwnProperty(\"receiptGenerateBasis\"))\r\n if (!$util.isInteger(message.receiptGenerateBasis))\r\n return \"receiptGenerateBasis: integer expected\";\r\n if (message.smartPay != null && message.hasOwnProperty(\"smartPay\"))\r\n if (!$util.isInteger(message.smartPay))\r\n return \"smartPay: integer expected\";\r\n if (message.commonQrCode != null && message.hasOwnProperty(\"commonQrCode\"))\r\n if (!$util.isInteger(message.commonQrCode))\r\n return \"commonQrCode: integer expected\";\r\n if (message.vmjQrCode != null && message.hasOwnProperty(\"vmjQrCode\"))\r\n if (!$util.isInteger(message.vmjQrCode))\r\n return \"vmjQrCode: integer expected\";\r\n if (message.cupQrCode != null && message.hasOwnProperty(\"cupQrCode\"))\r\n if (!$util.isInteger(message.cupQrCode))\r\n return \"cupQrCode: integer expected\";\r\n if (message.naturalPerson != null && message.hasOwnProperty(\"naturalPerson\"))\r\n if (!$util.isInteger(message.naturalPerson))\r\n return \"naturalPerson: integer expected\";\r\n if (message.organizationType != null && message.hasOwnProperty(\"organizationType\"))\r\n if (!$util.isInteger(message.organizationType))\r\n return \"organizationType: integer expected\";\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n if (!$util.isInteger(message.state))\r\n return \"state: integer expected\";\r\n if (message.cancelDate != null && message.hasOwnProperty(\"cancelDate\"))\r\n if (!$util.isString(message.cancelDate))\r\n return \"cancelDate: string expected\";\r\n if (message.lastUpdateTime != null && message.hasOwnProperty(\"lastUpdateTime\"))\r\n if (!$util.isInteger(message.lastUpdateTime))\r\n return \"lastUpdateTime: integer expected\";\r\n if (message.lastUploadTime != null && message.hasOwnProperty(\"lastUploadTime\"))\r\n if (!$util.isInteger(message.lastUploadTime))\r\n return \"lastUploadTime: integer expected\";\r\n if (message.releaseState != null && message.hasOwnProperty(\"releaseState\"))\r\n if (!$util.isInteger(message.releaseState))\r\n return \"releaseState: integer expected\";\r\n if (message.rejectReason != null && message.hasOwnProperty(\"rejectReason\"))\r\n if (!$util.isString(message.rejectReason))\r\n return \"rejectReason: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a Store message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.Store} Store\r\n */\r\n Store.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.Store)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.Store();\r\n if (object.storeTempId != null)\r\n message.storeTempId = object.storeTempId | 0;\r\n if (object.storeId != null)\r\n message.storeId = object.storeId | 0;\r\n if (object.code != null)\r\n message.code = String(object.code);\r\n if (object.isQuota != null)\r\n message.isQuota = object.isQuota | 0;\r\n if (object.tidNumber != null)\r\n message.tidNumber = String(object.tidNumber);\r\n if (object.type != null)\r\n message.type = String(object.type);\r\n if (object.typeDescription != null)\r\n message.typeDescription = String(object.typeDescription);\r\n if (object.headId != null)\r\n message.headId = String(object.headId);\r\n if (object.headDescription != null)\r\n message.headDescription = String(object.headDescription);\r\n if (object.registerName != null)\r\n message.registerName = String(object.registerName);\r\n if (object.engName != null)\r\n message.engName = String(object.engName);\r\n if (object.signTitle != null)\r\n message.signTitle = String(object.signTitle);\r\n if (object.nickName != null)\r\n message.nickName = String(object.nickName);\r\n if (object.mccCode != null)\r\n message.mccCode = String(object.mccCode);\r\n if (object.mccDescription != null)\r\n message.mccDescription = String(object.mccDescription);\r\n if (object.guiNumber != null)\r\n message.guiNumber = String(object.guiNumber);\r\n if (object.registerPostalCode1 != null)\r\n message.registerPostalCode1 = String(object.registerPostalCode1);\r\n if (object.registerPostalCode2 != null)\r\n message.registerPostalCode2 = String(object.registerPostalCode2);\r\n if (object.registerAddress != null)\r\n message.registerAddress = String(object.registerAddress);\r\n if (object.businessPostalCode1 != null)\r\n message.businessPostalCode1 = String(object.businessPostalCode1);\r\n if (object.businessPostalCode2 != null)\r\n message.businessPostalCode2 = String(object.businessPostalCode2);\r\n if (object.businessAddress != null)\r\n message.businessAddress = String(object.businessAddress);\r\n if (object.bankCode != null)\r\n message.bankCode = String(object.bankCode);\r\n if (object.bankName != null)\r\n message.bankName = String(object.bankName);\r\n if (object.isPaper != null)\r\n message.isPaper = object.isPaper | 0;\r\n if (object.receiptName != null)\r\n message.receiptName = String(object.receiptName);\r\n if (object.receiptPostalCode1 != null)\r\n message.receiptPostalCode1 = String(object.receiptPostalCode1);\r\n if (object.receiptPostalCode2 != null)\r\n message.receiptPostalCode2 = String(object.receiptPostalCode2);\r\n if (object.receiptAddress != null)\r\n message.receiptAddress = String(object.receiptAddress);\r\n if (object.receiptGenerateType != null)\r\n message.receiptGenerateType = object.receiptGenerateType | 0;\r\n if (object.receiptGenerateCycle != null)\r\n message.receiptGenerateCycle = object.receiptGenerateCycle | 0;\r\n if (object.receiptGenerateBasis != null)\r\n message.receiptGenerateBasis = object.receiptGenerateBasis | 0;\r\n if (object.smartPay != null)\r\n message.smartPay = object.smartPay | 0;\r\n if (object.commonQrCode != null)\r\n message.commonQrCode = object.commonQrCode | 0;\r\n if (object.vmjQrCode != null)\r\n message.vmjQrCode = object.vmjQrCode | 0;\r\n if (object.cupQrCode != null)\r\n message.cupQrCode = object.cupQrCode | 0;\r\n if (object.naturalPerson != null)\r\n message.naturalPerson = object.naturalPerson | 0;\r\n if (object.organizationType != null)\r\n message.organizationType = object.organizationType | 0;\r\n if (object.state != null)\r\n message.state = object.state | 0;\r\n if (object.cancelDate != null)\r\n message.cancelDate = String(object.cancelDate);\r\n if (object.lastUpdateTime != null)\r\n message.lastUpdateTime = object.lastUpdateTime | 0;\r\n if (object.lastUploadTime != null)\r\n message.lastUploadTime = object.lastUploadTime | 0;\r\n if (object.releaseState != null)\r\n message.releaseState = object.releaseState | 0;\r\n if (object.rejectReason != null)\r\n message.rejectReason = String(object.rejectReason);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a Store message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.Store} message Store\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n Store.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.storeTempId = 0;\r\n object.storeId = 0;\r\n object.code = \"\";\r\n object.isQuota = 0;\r\n object.tidNumber = \"\";\r\n object.type = \"\";\r\n object.typeDescription = \"\";\r\n object.headId = \"\";\r\n object.headDescription = \"\";\r\n object.registerName = \"\";\r\n object.engName = \"\";\r\n object.signTitle = \"\";\r\n object.nickName = \"\";\r\n object.mccCode = \"\";\r\n object.mccDescription = \"\";\r\n object.guiNumber = \"\";\r\n object.registerPostalCode1 = \"\";\r\n object.registerPostalCode2 = \"\";\r\n object.registerAddress = \"\";\r\n object.businessPostalCode1 = \"\";\r\n object.businessPostalCode2 = \"\";\r\n object.businessAddress = \"\";\r\n object.bankCode = \"\";\r\n object.bankName = \"\";\r\n object.isPaper = 0;\r\n object.receiptName = \"\";\r\n object.receiptPostalCode1 = \"\";\r\n object.receiptPostalCode2 = \"\";\r\n object.receiptAddress = \"\";\r\n object.receiptGenerateType = 0;\r\n object.receiptGenerateCycle = 0;\r\n object.receiptGenerateBasis = 0;\r\n object.smartPay = 0;\r\n object.commonQrCode = 0;\r\n object.vmjQrCode = 0;\r\n object.cupQrCode = 0;\r\n object.naturalPerson = 0;\r\n object.organizationType = 0;\r\n object.state = 0;\r\n object.cancelDate = \"\";\r\n object.lastUpdateTime = 0;\r\n object.lastUploadTime = 0;\r\n object.releaseState = 0;\r\n object.rejectReason = \"\";\r\n }\r\n if (message.storeTempId != null && message.hasOwnProperty(\"storeTempId\"))\r\n object.storeTempId = message.storeTempId;\r\n if (message.storeId != null && message.hasOwnProperty(\"storeId\"))\r\n object.storeId = message.storeId;\r\n if (message.code != null && message.hasOwnProperty(\"code\"))\r\n object.code = message.code;\r\n if (message.isQuota != null && message.hasOwnProperty(\"isQuota\"))\r\n object.isQuota = message.isQuota;\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n object.tidNumber = message.tidNumber;\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.typeDescription != null && message.hasOwnProperty(\"typeDescription\"))\r\n object.typeDescription = message.typeDescription;\r\n if (message.headId != null && message.hasOwnProperty(\"headId\"))\r\n object.headId = message.headId;\r\n if (message.headDescription != null && message.hasOwnProperty(\"headDescription\"))\r\n object.headDescription = message.headDescription;\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n object.registerName = message.registerName;\r\n if (message.engName != null && message.hasOwnProperty(\"engName\"))\r\n object.engName = message.engName;\r\n if (message.signTitle != null && message.hasOwnProperty(\"signTitle\"))\r\n object.signTitle = message.signTitle;\r\n if (message.nickName != null && message.hasOwnProperty(\"nickName\"))\r\n object.nickName = message.nickName;\r\n if (message.mccCode != null && message.hasOwnProperty(\"mccCode\"))\r\n object.mccCode = message.mccCode;\r\n if (message.mccDescription != null && message.hasOwnProperty(\"mccDescription\"))\r\n object.mccDescription = message.mccDescription;\r\n if (message.guiNumber != null && message.hasOwnProperty(\"guiNumber\"))\r\n object.guiNumber = message.guiNumber;\r\n if (message.registerPostalCode1 != null && message.hasOwnProperty(\"registerPostalCode1\"))\r\n object.registerPostalCode1 = message.registerPostalCode1;\r\n if (message.registerPostalCode2 != null && message.hasOwnProperty(\"registerPostalCode2\"))\r\n object.registerPostalCode2 = message.registerPostalCode2;\r\n if (message.registerAddress != null && message.hasOwnProperty(\"registerAddress\"))\r\n object.registerAddress = message.registerAddress;\r\n if (message.businessPostalCode1 != null && message.hasOwnProperty(\"businessPostalCode1\"))\r\n object.businessPostalCode1 = message.businessPostalCode1;\r\n if (message.businessPostalCode2 != null && message.hasOwnProperty(\"businessPostalCode2\"))\r\n object.businessPostalCode2 = message.businessPostalCode2;\r\n if (message.businessAddress != null && message.hasOwnProperty(\"businessAddress\"))\r\n object.businessAddress = message.businessAddress;\r\n if (message.bankCode != null && message.hasOwnProperty(\"bankCode\"))\r\n object.bankCode = message.bankCode;\r\n if (message.bankName != null && message.hasOwnProperty(\"bankName\"))\r\n object.bankName = message.bankName;\r\n if (message.isPaper != null && message.hasOwnProperty(\"isPaper\"))\r\n object.isPaper = message.isPaper;\r\n if (message.receiptName != null && message.hasOwnProperty(\"receiptName\"))\r\n object.receiptName = message.receiptName;\r\n if (message.receiptPostalCode1 != null && message.hasOwnProperty(\"receiptPostalCode1\"))\r\n object.receiptPostalCode1 = message.receiptPostalCode1;\r\n if (message.receiptPostalCode2 != null && message.hasOwnProperty(\"receiptPostalCode2\"))\r\n object.receiptPostalCode2 = message.receiptPostalCode2;\r\n if (message.receiptAddress != null && message.hasOwnProperty(\"receiptAddress\"))\r\n object.receiptAddress = message.receiptAddress;\r\n if (message.receiptGenerateType != null && message.hasOwnProperty(\"receiptGenerateType\"))\r\n object.receiptGenerateType = message.receiptGenerateType;\r\n if (message.receiptGenerateCycle != null && message.hasOwnProperty(\"receiptGenerateCycle\"))\r\n object.receiptGenerateCycle = message.receiptGenerateCycle;\r\n if (message.receiptGenerateBasis != null && message.hasOwnProperty(\"receiptGenerateBasis\"))\r\n object.receiptGenerateBasis = message.receiptGenerateBasis;\r\n if (message.smartPay != null && message.hasOwnProperty(\"smartPay\"))\r\n object.smartPay = message.smartPay;\r\n if (message.commonQrCode != null && message.hasOwnProperty(\"commonQrCode\"))\r\n object.commonQrCode = message.commonQrCode;\r\n if (message.vmjQrCode != null && message.hasOwnProperty(\"vmjQrCode\"))\r\n object.vmjQrCode = message.vmjQrCode;\r\n if (message.cupQrCode != null && message.hasOwnProperty(\"cupQrCode\"))\r\n object.cupQrCode = message.cupQrCode;\r\n if (message.naturalPerson != null && message.hasOwnProperty(\"naturalPerson\"))\r\n object.naturalPerson = message.naturalPerson;\r\n if (message.organizationType != null && message.hasOwnProperty(\"organizationType\"))\r\n object.organizationType = message.organizationType;\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n object.state = message.state;\r\n if (message.cancelDate != null && message.hasOwnProperty(\"cancelDate\"))\r\n object.cancelDate = message.cancelDate;\r\n if (message.lastUpdateTime != null && message.hasOwnProperty(\"lastUpdateTime\"))\r\n object.lastUpdateTime = message.lastUpdateTime;\r\n if (message.lastUploadTime != null && message.hasOwnProperty(\"lastUploadTime\"))\r\n object.lastUploadTime = message.lastUploadTime;\r\n if (message.releaseState != null && message.hasOwnProperty(\"releaseState\"))\r\n object.releaseState = message.releaseState;\r\n if (message.rejectReason != null && message.hasOwnProperty(\"rejectReason\"))\r\n object.rejectReason = message.rejectReason;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this Store to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.Store\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n Store.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return Store;\r\n })();\r\n\r\n Protobuf.StoreList = (function() {\r\n\r\n /**\r\n * Properties of a StoreList.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IStoreList\r\n * @property {Array.|null} [list] StoreList list\r\n * @property {number|null} [total] StoreList total\r\n */\r\n\r\n /**\r\n * Constructs a new StoreList.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a StoreList.\r\n * @implements IStoreList\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IStoreList=} [properties] Properties to set\r\n */\r\n function StoreList(properties) {\r\n this.list = [];\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * StoreList list.\r\n * @member {Array.} list\r\n * @memberof TCBReceiptApi.Protobuf.StoreList\r\n * @instance\r\n */\r\n StoreList.prototype.list = $util.emptyArray;\r\n\r\n /**\r\n * StoreList total.\r\n * @member {number} total\r\n * @memberof TCBReceiptApi.Protobuf.StoreList\r\n * @instance\r\n */\r\n StoreList.prototype.total = 0;\r\n\r\n /**\r\n * Creates a new StoreList instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.StoreList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreList=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.StoreList} StoreList instance\r\n */\r\n StoreList.create = function create(properties) {\r\n return new StoreList(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreList message. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreList.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.StoreList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreList} message StoreList message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreList.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.list != null && message.list.length)\r\n for (var i = 0; i < message.list.length; ++i)\r\n $root.TCBReceiptApi.Protobuf.Store.encode(message.list[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n if (message.total != null && Object.hasOwnProperty.call(message, \"total\"))\r\n writer.uint32(/* id 2, wireType 0 =*/16).int32(message.total);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreList message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreList.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreList} message StoreList message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreList.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a StoreList message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.StoreList\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.StoreList} StoreList\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreList.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.StoreList();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (!(message.list && message.list.length))\r\n message.list = [];\r\n message.list.push($root.TCBReceiptApi.Protobuf.Store.decode(reader, reader.uint32()));\r\n break;\r\n case 2:\r\n message.total = reader.int32();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a StoreList message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreList\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.StoreList} StoreList\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreList.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a StoreList message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.StoreList\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n StoreList.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.list != null && message.hasOwnProperty(\"list\")) {\r\n if (!Array.isArray(message.list))\r\n return \"list: array expected\";\r\n for (var i = 0; i < message.list.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.Store.verify(message.list[i]);\r\n if (error)\r\n return \"list.\" + error;\r\n }\r\n }\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n if (!$util.isInteger(message.total))\r\n return \"total: integer expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a StoreList message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreList\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.StoreList} StoreList\r\n */\r\n StoreList.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.StoreList)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.StoreList();\r\n if (object.list) {\r\n if (!Array.isArray(object.list))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.StoreList.list: array expected\");\r\n message.list = [];\r\n for (var i = 0; i < object.list.length; ++i) {\r\n if (typeof object.list[i] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.StoreList.list: object expected\");\r\n message.list[i] = $root.TCBReceiptApi.Protobuf.Store.fromObject(object.list[i]);\r\n }\r\n }\r\n if (object.total != null)\r\n message.total = object.total | 0;\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a StoreList message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.StoreList} message StoreList\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n StoreList.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.arrays || options.defaults)\r\n object.list = [];\r\n if (options.defaults)\r\n object.total = 0;\r\n if (message.list && message.list.length) {\r\n object.list = [];\r\n for (var j = 0; j < message.list.length; ++j)\r\n object.list[j] = $root.TCBReceiptApi.Protobuf.Store.toObject(message.list[j], options);\r\n }\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n object.total = message.total;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this StoreList to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.StoreList\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n StoreList.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return StoreList;\r\n })();\r\n\r\n Protobuf.StoreQuery = (function() {\r\n\r\n /**\r\n * Properties of a StoreQuery.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IStoreQuery\r\n * @property {number|null} [state] StoreQuery state\r\n * @property {string|null} [registerName] StoreQuery registerName\r\n * @property {string|null} [code] StoreQuery code\r\n * @property {string|null} [tidNumber] StoreQuery tidNumber\r\n * @property {TCBReceiptApi.Protobuf.IPagination|null} [pagination] StoreQuery pagination\r\n * @property {number|null} [releaseState] StoreQuery releaseState\r\n */\r\n\r\n /**\r\n * Constructs a new StoreQuery.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a StoreQuery.\r\n * @implements IStoreQuery\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IStoreQuery=} [properties] Properties to set\r\n */\r\n function StoreQuery(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * StoreQuery state.\r\n * @member {number} state\r\n * @memberof TCBReceiptApi.Protobuf.StoreQuery\r\n * @instance\r\n */\r\n StoreQuery.prototype.state = 0;\r\n\r\n /**\r\n * StoreQuery registerName.\r\n * @member {string} registerName\r\n * @memberof TCBReceiptApi.Protobuf.StoreQuery\r\n * @instance\r\n */\r\n StoreQuery.prototype.registerName = \"\";\r\n\r\n /**\r\n * StoreQuery code.\r\n * @member {string} code\r\n * @memberof TCBReceiptApi.Protobuf.StoreQuery\r\n * @instance\r\n */\r\n StoreQuery.prototype.code = \"\";\r\n\r\n /**\r\n * StoreQuery tidNumber.\r\n * @member {string} tidNumber\r\n * @memberof TCBReceiptApi.Protobuf.StoreQuery\r\n * @instance\r\n */\r\n StoreQuery.prototype.tidNumber = \"\";\r\n\r\n /**\r\n * StoreQuery pagination.\r\n * @member {TCBReceiptApi.Protobuf.IPagination|null|undefined} pagination\r\n * @memberof TCBReceiptApi.Protobuf.StoreQuery\r\n * @instance\r\n */\r\n StoreQuery.prototype.pagination = null;\r\n\r\n /**\r\n * StoreQuery releaseState.\r\n * @member {number} releaseState\r\n * @memberof TCBReceiptApi.Protobuf.StoreQuery\r\n * @instance\r\n */\r\n StoreQuery.prototype.releaseState = 0;\r\n\r\n /**\r\n * Creates a new StoreQuery instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.StoreQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreQuery=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.StoreQuery} StoreQuery instance\r\n */\r\n StoreQuery.create = function create(properties) {\r\n return new StoreQuery(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreQuery message. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreQuery.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.StoreQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreQuery} message StoreQuery message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreQuery.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.state != null && Object.hasOwnProperty.call(message, \"state\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state);\r\n if (message.registerName != null && Object.hasOwnProperty.call(message, \"registerName\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.registerName);\r\n if (message.code != null && Object.hasOwnProperty.call(message, \"code\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.code);\r\n if (message.tidNumber != null && Object.hasOwnProperty.call(message, \"tidNumber\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.tidNumber);\r\n if (message.pagination != null && Object.hasOwnProperty.call(message, \"pagination\"))\r\n $root.TCBReceiptApi.Protobuf.Pagination.encode(message.pagination, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();\r\n if (message.releaseState != null && Object.hasOwnProperty.call(message, \"releaseState\"))\r\n writer.uint32(/* id 6, wireType 0 =*/48).int32(message.releaseState);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreQuery message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreQuery.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreQuery} message StoreQuery message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreQuery.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a StoreQuery message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.StoreQuery\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.StoreQuery} StoreQuery\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreQuery.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.StoreQuery();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.state = reader.int32();\r\n break;\r\n case 2:\r\n message.registerName = reader.string();\r\n break;\r\n case 3:\r\n message.code = reader.string();\r\n break;\r\n case 4:\r\n message.tidNumber = reader.string();\r\n break;\r\n case 5:\r\n message.pagination = $root.TCBReceiptApi.Protobuf.Pagination.decode(reader, reader.uint32());\r\n break;\r\n case 6:\r\n message.releaseState = reader.int32();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a StoreQuery message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreQuery\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.StoreQuery} StoreQuery\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreQuery.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a StoreQuery message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.StoreQuery\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n StoreQuery.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n if (!$util.isInteger(message.state))\r\n return \"state: integer expected\";\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n if (!$util.isString(message.registerName))\r\n return \"registerName: string expected\";\r\n if (message.code != null && message.hasOwnProperty(\"code\"))\r\n if (!$util.isString(message.code))\r\n return \"code: string expected\";\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n if (!$util.isString(message.tidNumber))\r\n return \"tidNumber: string expected\";\r\n if (message.pagination != null && message.hasOwnProperty(\"pagination\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.Pagination.verify(message.pagination);\r\n if (error)\r\n return \"pagination.\" + error;\r\n }\r\n if (message.releaseState != null && message.hasOwnProperty(\"releaseState\"))\r\n if (!$util.isInteger(message.releaseState))\r\n return \"releaseState: integer expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a StoreQuery message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreQuery\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.StoreQuery} StoreQuery\r\n */\r\n StoreQuery.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.StoreQuery)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.StoreQuery();\r\n if (object.state != null)\r\n message.state = object.state | 0;\r\n if (object.registerName != null)\r\n message.registerName = String(object.registerName);\r\n if (object.code != null)\r\n message.code = String(object.code);\r\n if (object.tidNumber != null)\r\n message.tidNumber = String(object.tidNumber);\r\n if (object.pagination != null) {\r\n if (typeof object.pagination !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.StoreQuery.pagination: object expected\");\r\n message.pagination = $root.TCBReceiptApi.Protobuf.Pagination.fromObject(object.pagination);\r\n }\r\n if (object.releaseState != null)\r\n message.releaseState = object.releaseState | 0;\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a StoreQuery message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.StoreQuery} message StoreQuery\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n StoreQuery.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.state = 0;\r\n object.registerName = \"\";\r\n object.code = \"\";\r\n object.tidNumber = \"\";\r\n object.pagination = null;\r\n object.releaseState = 0;\r\n }\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n object.state = message.state;\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n object.registerName = message.registerName;\r\n if (message.code != null && message.hasOwnProperty(\"code\"))\r\n object.code = message.code;\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n object.tidNumber = message.tidNumber;\r\n if (message.pagination != null && message.hasOwnProperty(\"pagination\"))\r\n object.pagination = $root.TCBReceiptApi.Protobuf.Pagination.toObject(message.pagination, options);\r\n if (message.releaseState != null && message.hasOwnProperty(\"releaseState\"))\r\n object.releaseState = message.releaseState;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this StoreQuery to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.StoreQuery\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n StoreQuery.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return StoreQuery;\r\n })();\r\n\r\n /**\r\n * StoreInsertQueryType enum.\r\n * @name TCBReceiptApi.Protobuf.StoreInsertQueryType\r\n * @enum {number}\r\n * @property {number} SIQT_NONE=0 SIQT_NONE value\r\n * @property {number} SIQT_CODE=1 SIQT_CODE value\r\n * @property {number} SIQT_TID_NUMBER=2 SIQT_TID_NUMBER value\r\n */\r\n Protobuf.StoreInsertQueryType = (function() {\r\n var valuesById = {}, values = Object.create(valuesById);\r\n values[valuesById[0] = \"SIQT_NONE\"] = 0;\r\n values[valuesById[1] = \"SIQT_CODE\"] = 1;\r\n values[valuesById[2] = \"SIQT_TID_NUMBER\"] = 2;\r\n return values;\r\n })();\r\n\r\n Protobuf.StoreInsertQuery = (function() {\r\n\r\n /**\r\n * Properties of a StoreInsertQuery.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IStoreInsertQuery\r\n * @property {TCBReceiptApi.Protobuf.StoreInsertQueryType|null} [type] StoreInsertQuery type\r\n * @property {string|null} [identification] StoreInsertQuery identification\r\n */\r\n\r\n /**\r\n * Constructs a new StoreInsertQuery.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a StoreInsertQuery.\r\n * @implements IStoreInsertQuery\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IStoreInsertQuery=} [properties] Properties to set\r\n */\r\n function StoreInsertQuery(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * StoreInsertQuery type.\r\n * @member {TCBReceiptApi.Protobuf.StoreInsertQueryType} type\r\n * @memberof TCBReceiptApi.Protobuf.StoreInsertQuery\r\n * @instance\r\n */\r\n StoreInsertQuery.prototype.type = 0;\r\n\r\n /**\r\n * StoreInsertQuery identification.\r\n * @member {string} identification\r\n * @memberof TCBReceiptApi.Protobuf.StoreInsertQuery\r\n * @instance\r\n */\r\n StoreInsertQuery.prototype.identification = \"\";\r\n\r\n /**\r\n * Creates a new StoreInsertQuery instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.StoreInsertQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreInsertQuery=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.StoreInsertQuery} StoreInsertQuery instance\r\n */\r\n StoreInsertQuery.create = function create(properties) {\r\n return new StoreInsertQuery(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreInsertQuery message. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreInsertQuery.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.StoreInsertQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreInsertQuery} message StoreInsertQuery message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreInsertQuery.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type);\r\n if (message.identification != null && Object.hasOwnProperty.call(message, \"identification\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.identification);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreInsertQuery message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreInsertQuery.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreInsertQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreInsertQuery} message StoreInsertQuery message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreInsertQuery.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a StoreInsertQuery message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.StoreInsertQuery\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.StoreInsertQuery} StoreInsertQuery\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreInsertQuery.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.StoreInsertQuery();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.type = reader.int32();\r\n break;\r\n case 2:\r\n message.identification = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a StoreInsertQuery message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreInsertQuery\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.StoreInsertQuery} StoreInsertQuery\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreInsertQuery.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a StoreInsertQuery message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.StoreInsertQuery\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n StoreInsertQuery.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n switch (message.type) {\r\n default:\r\n return \"type: enum value expected\";\r\n case 0:\r\n case 1:\r\n case 2:\r\n break;\r\n }\r\n if (message.identification != null && message.hasOwnProperty(\"identification\"))\r\n if (!$util.isString(message.identification))\r\n return \"identification: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a StoreInsertQuery message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreInsertQuery\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.StoreInsertQuery} StoreInsertQuery\r\n */\r\n StoreInsertQuery.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.StoreInsertQuery)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.StoreInsertQuery();\r\n switch (object.type) {\r\n case \"SIQT_NONE\":\r\n case 0:\r\n message.type = 0;\r\n break;\r\n case \"SIQT_CODE\":\r\n case 1:\r\n message.type = 1;\r\n break;\r\n case \"SIQT_TID_NUMBER\":\r\n case 2:\r\n message.type = 2;\r\n break;\r\n }\r\n if (object.identification != null)\r\n message.identification = String(object.identification);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a StoreInsertQuery message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreInsertQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.StoreInsertQuery} message StoreInsertQuery\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n StoreInsertQuery.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.type = options.enums === String ? \"SIQT_NONE\" : 0;\r\n object.identification = \"\";\r\n }\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = options.enums === String ? $root.TCBReceiptApi.Protobuf.StoreInsertQueryType[message.type] : message.type;\r\n if (message.identification != null && message.hasOwnProperty(\"identification\"))\r\n object.identification = message.identification;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this StoreInsertQuery to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.StoreInsertQuery\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n StoreInsertQuery.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return StoreInsertQuery;\r\n })();\r\n\r\n Protobuf.StoreExport = (function() {\r\n\r\n /**\r\n * Properties of a StoreExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IStoreExport\r\n * @property {string|null} [code] StoreExport code\r\n * @property {string|null} [isQuota] StoreExport isQuota\r\n * @property {string|null} [tidNumber] StoreExport tidNumber\r\n * @property {string|null} [type] StoreExport type\r\n * @property {string|null} [typeDescription] StoreExport typeDescription\r\n * @property {string|null} [headId] StoreExport headId\r\n * @property {string|null} [headDescription] StoreExport headDescription\r\n * @property {string|null} [registerName] StoreExport registerName\r\n * @property {string|null} [engName] StoreExport engName\r\n * @property {string|null} [signTitle] StoreExport signTitle\r\n * @property {string|null} [nickName] StoreExport nickName\r\n * @property {string|null} [mccCode] StoreExport mccCode\r\n * @property {string|null} [mccDescription] StoreExport mccDescription\r\n * @property {string|null} [guiNumber] StoreExport guiNumber\r\n * @property {string|null} [registerPostalCode1] StoreExport registerPostalCode1\r\n * @property {string|null} [registerPostalCode2] StoreExport registerPostalCode2\r\n * @property {string|null} [registerAddress] StoreExport registerAddress\r\n * @property {string|null} [businessPostalCode1] StoreExport businessPostalCode1\r\n * @property {string|null} [businessPostalCode2] StoreExport businessPostalCode2\r\n * @property {string|null} [businessAddress] StoreExport businessAddress\r\n * @property {string|null} [bankCode] StoreExport bankCode\r\n * @property {string|null} [bankName] StoreExport bankName\r\n * @property {string|null} [isPaper] StoreExport isPaper\r\n * @property {string|null} [receiptName] StoreExport receiptName\r\n * @property {string|null} [receiptPostalCode1] StoreExport receiptPostalCode1\r\n * @property {string|null} [receiptPostalCode2] StoreExport receiptPostalCode2\r\n * @property {string|null} [receiptAddress] StoreExport receiptAddress\r\n * @property {string|null} [receiptGenerateType] StoreExport receiptGenerateType\r\n * @property {string|null} [receiptGenerateCycle] StoreExport receiptGenerateCycle\r\n * @property {string|null} [receiptGenerateBasis] StoreExport receiptGenerateBasis\r\n * @property {string|null} [smartPay] StoreExport smartPay\r\n * @property {string|null} [commonQrCode] StoreExport commonQrCode\r\n * @property {string|null} [vmjQrCode] StoreExport vmjQrCode\r\n * @property {string|null} [cupQrCode] StoreExport cupQrCode\r\n * @property {string|null} [naturalPerson] StoreExport naturalPerson\r\n * @property {number|null} [organizationType] StoreExport organizationType\r\n * @property {string|null} [state] StoreExport state\r\n * @property {string|null} [cancelDate] StoreExport cancelDate\r\n * @property {string|null} [lastUpdateTime] StoreExport lastUpdateTime\r\n * @property {string|null} [lastUploadTime] StoreExport lastUploadTime\r\n */\r\n\r\n /**\r\n * Constructs a new StoreExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a StoreExport.\r\n * @implements IStoreExport\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IStoreExport=} [properties] Properties to set\r\n */\r\n function StoreExport(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * StoreExport code.\r\n * @member {string} code\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.code = \"\";\r\n\r\n /**\r\n * StoreExport isQuota.\r\n * @member {string} isQuota\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.isQuota = \"\";\r\n\r\n /**\r\n * StoreExport tidNumber.\r\n * @member {string} tidNumber\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.tidNumber = \"\";\r\n\r\n /**\r\n * StoreExport type.\r\n * @member {string} type\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.type = \"\";\r\n\r\n /**\r\n * StoreExport typeDescription.\r\n * @member {string} typeDescription\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.typeDescription = \"\";\r\n\r\n /**\r\n * StoreExport headId.\r\n * @member {string} headId\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.headId = \"\";\r\n\r\n /**\r\n * StoreExport headDescription.\r\n * @member {string} headDescription\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.headDescription = \"\";\r\n\r\n /**\r\n * StoreExport registerName.\r\n * @member {string} registerName\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.registerName = \"\";\r\n\r\n /**\r\n * StoreExport engName.\r\n * @member {string} engName\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.engName = \"\";\r\n\r\n /**\r\n * StoreExport signTitle.\r\n * @member {string} signTitle\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.signTitle = \"\";\r\n\r\n /**\r\n * StoreExport nickName.\r\n * @member {string} nickName\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.nickName = \"\";\r\n\r\n /**\r\n * StoreExport mccCode.\r\n * @member {string} mccCode\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.mccCode = \"\";\r\n\r\n /**\r\n * StoreExport mccDescription.\r\n * @member {string} mccDescription\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.mccDescription = \"\";\r\n\r\n /**\r\n * StoreExport guiNumber.\r\n * @member {string} guiNumber\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.guiNumber = \"\";\r\n\r\n /**\r\n * StoreExport registerPostalCode1.\r\n * @member {string} registerPostalCode1\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.registerPostalCode1 = \"\";\r\n\r\n /**\r\n * StoreExport registerPostalCode2.\r\n * @member {string} registerPostalCode2\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.registerPostalCode2 = \"\";\r\n\r\n /**\r\n * StoreExport registerAddress.\r\n * @member {string} registerAddress\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.registerAddress = \"\";\r\n\r\n /**\r\n * StoreExport businessPostalCode1.\r\n * @member {string} businessPostalCode1\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.businessPostalCode1 = \"\";\r\n\r\n /**\r\n * StoreExport businessPostalCode2.\r\n * @member {string} businessPostalCode2\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.businessPostalCode2 = \"\";\r\n\r\n /**\r\n * StoreExport businessAddress.\r\n * @member {string} businessAddress\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.businessAddress = \"\";\r\n\r\n /**\r\n * StoreExport bankCode.\r\n * @member {string} bankCode\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.bankCode = \"\";\r\n\r\n /**\r\n * StoreExport bankName.\r\n * @member {string} bankName\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.bankName = \"\";\r\n\r\n /**\r\n * StoreExport isPaper.\r\n * @member {string} isPaper\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.isPaper = \"\";\r\n\r\n /**\r\n * StoreExport receiptName.\r\n * @member {string} receiptName\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.receiptName = \"\";\r\n\r\n /**\r\n * StoreExport receiptPostalCode1.\r\n * @member {string} receiptPostalCode1\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.receiptPostalCode1 = \"\";\r\n\r\n /**\r\n * StoreExport receiptPostalCode2.\r\n * @member {string} receiptPostalCode2\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.receiptPostalCode2 = \"\";\r\n\r\n /**\r\n * StoreExport receiptAddress.\r\n * @member {string} receiptAddress\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.receiptAddress = \"\";\r\n\r\n /**\r\n * StoreExport receiptGenerateType.\r\n * @member {string} receiptGenerateType\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.receiptGenerateType = \"\";\r\n\r\n /**\r\n * StoreExport receiptGenerateCycle.\r\n * @member {string} receiptGenerateCycle\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.receiptGenerateCycle = \"\";\r\n\r\n /**\r\n * StoreExport receiptGenerateBasis.\r\n * @member {string} receiptGenerateBasis\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.receiptGenerateBasis = \"\";\r\n\r\n /**\r\n * StoreExport smartPay.\r\n * @member {string} smartPay\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.smartPay = \"\";\r\n\r\n /**\r\n * StoreExport commonQrCode.\r\n * @member {string} commonQrCode\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.commonQrCode = \"\";\r\n\r\n /**\r\n * StoreExport vmjQrCode.\r\n * @member {string} vmjQrCode\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.vmjQrCode = \"\";\r\n\r\n /**\r\n * StoreExport cupQrCode.\r\n * @member {string} cupQrCode\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.cupQrCode = \"\";\r\n\r\n /**\r\n * StoreExport naturalPerson.\r\n * @member {string} naturalPerson\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.naturalPerson = \"\";\r\n\r\n /**\r\n * StoreExport organizationType.\r\n * @member {number} organizationType\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.organizationType = 0;\r\n\r\n /**\r\n * StoreExport state.\r\n * @member {string} state\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.state = \"\";\r\n\r\n /**\r\n * StoreExport cancelDate.\r\n * @member {string} cancelDate\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.cancelDate = \"\";\r\n\r\n /**\r\n * StoreExport lastUpdateTime.\r\n * @member {string} lastUpdateTime\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.lastUpdateTime = \"\";\r\n\r\n /**\r\n * StoreExport lastUploadTime.\r\n * @member {string} lastUploadTime\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n */\r\n StoreExport.prototype.lastUploadTime = \"\";\r\n\r\n /**\r\n * Creates a new StoreExport instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreExport=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.StoreExport} StoreExport instance\r\n */\r\n StoreExport.create = function create(properties) {\r\n return new StoreExport(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreExport message. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreExport.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreExport} message StoreExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreExport.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.code != null && Object.hasOwnProperty.call(message, \"code\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.code);\r\n if (message.isQuota != null && Object.hasOwnProperty.call(message, \"isQuota\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.isQuota);\r\n if (message.tidNumber != null && Object.hasOwnProperty.call(message, \"tidNumber\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.tidNumber);\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.type);\r\n if (message.typeDescription != null && Object.hasOwnProperty.call(message, \"typeDescription\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.typeDescription);\r\n if (message.headId != null && Object.hasOwnProperty.call(message, \"headId\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.headId);\r\n if (message.headDescription != null && Object.hasOwnProperty.call(message, \"headDescription\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.headDescription);\r\n if (message.registerName != null && Object.hasOwnProperty.call(message, \"registerName\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.registerName);\r\n if (message.engName != null && Object.hasOwnProperty.call(message, \"engName\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.engName);\r\n if (message.signTitle != null && Object.hasOwnProperty.call(message, \"signTitle\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.signTitle);\r\n if (message.nickName != null && Object.hasOwnProperty.call(message, \"nickName\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.nickName);\r\n if (message.mccCode != null && Object.hasOwnProperty.call(message, \"mccCode\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.mccCode);\r\n if (message.mccDescription != null && Object.hasOwnProperty.call(message, \"mccDescription\"))\r\n writer.uint32(/* id 13, wireType 2 =*/106).string(message.mccDescription);\r\n if (message.guiNumber != null && Object.hasOwnProperty.call(message, \"guiNumber\"))\r\n writer.uint32(/* id 14, wireType 2 =*/114).string(message.guiNumber);\r\n if (message.registerPostalCode1 != null && Object.hasOwnProperty.call(message, \"registerPostalCode1\"))\r\n writer.uint32(/* id 15, wireType 2 =*/122).string(message.registerPostalCode1);\r\n if (message.registerPostalCode2 != null && Object.hasOwnProperty.call(message, \"registerPostalCode2\"))\r\n writer.uint32(/* id 16, wireType 2 =*/130).string(message.registerPostalCode2);\r\n if (message.registerAddress != null && Object.hasOwnProperty.call(message, \"registerAddress\"))\r\n writer.uint32(/* id 17, wireType 2 =*/138).string(message.registerAddress);\r\n if (message.businessPostalCode1 != null && Object.hasOwnProperty.call(message, \"businessPostalCode1\"))\r\n writer.uint32(/* id 18, wireType 2 =*/146).string(message.businessPostalCode1);\r\n if (message.businessPostalCode2 != null && Object.hasOwnProperty.call(message, \"businessPostalCode2\"))\r\n writer.uint32(/* id 19, wireType 2 =*/154).string(message.businessPostalCode2);\r\n if (message.businessAddress != null && Object.hasOwnProperty.call(message, \"businessAddress\"))\r\n writer.uint32(/* id 20, wireType 2 =*/162).string(message.businessAddress);\r\n if (message.bankCode != null && Object.hasOwnProperty.call(message, \"bankCode\"))\r\n writer.uint32(/* id 21, wireType 2 =*/170).string(message.bankCode);\r\n if (message.bankName != null && Object.hasOwnProperty.call(message, \"bankName\"))\r\n writer.uint32(/* id 22, wireType 2 =*/178).string(message.bankName);\r\n if (message.isPaper != null && Object.hasOwnProperty.call(message, \"isPaper\"))\r\n writer.uint32(/* id 23, wireType 2 =*/186).string(message.isPaper);\r\n if (message.receiptName != null && Object.hasOwnProperty.call(message, \"receiptName\"))\r\n writer.uint32(/* id 24, wireType 2 =*/194).string(message.receiptName);\r\n if (message.receiptPostalCode1 != null && Object.hasOwnProperty.call(message, \"receiptPostalCode1\"))\r\n writer.uint32(/* id 25, wireType 2 =*/202).string(message.receiptPostalCode1);\r\n if (message.receiptPostalCode2 != null && Object.hasOwnProperty.call(message, \"receiptPostalCode2\"))\r\n writer.uint32(/* id 26, wireType 2 =*/210).string(message.receiptPostalCode2);\r\n if (message.receiptAddress != null && Object.hasOwnProperty.call(message, \"receiptAddress\"))\r\n writer.uint32(/* id 27, wireType 2 =*/218).string(message.receiptAddress);\r\n if (message.receiptGenerateType != null && Object.hasOwnProperty.call(message, \"receiptGenerateType\"))\r\n writer.uint32(/* id 28, wireType 2 =*/226).string(message.receiptGenerateType);\r\n if (message.receiptGenerateCycle != null && Object.hasOwnProperty.call(message, \"receiptGenerateCycle\"))\r\n writer.uint32(/* id 29, wireType 2 =*/234).string(message.receiptGenerateCycle);\r\n if (message.receiptGenerateBasis != null && Object.hasOwnProperty.call(message, \"receiptGenerateBasis\"))\r\n writer.uint32(/* id 30, wireType 2 =*/242).string(message.receiptGenerateBasis);\r\n if (message.smartPay != null && Object.hasOwnProperty.call(message, \"smartPay\"))\r\n writer.uint32(/* id 31, wireType 2 =*/250).string(message.smartPay);\r\n if (message.commonQrCode != null && Object.hasOwnProperty.call(message, \"commonQrCode\"))\r\n writer.uint32(/* id 32, wireType 2 =*/258).string(message.commonQrCode);\r\n if (message.vmjQrCode != null && Object.hasOwnProperty.call(message, \"vmjQrCode\"))\r\n writer.uint32(/* id 33, wireType 2 =*/266).string(message.vmjQrCode);\r\n if (message.cupQrCode != null && Object.hasOwnProperty.call(message, \"cupQrCode\"))\r\n writer.uint32(/* id 34, wireType 2 =*/274).string(message.cupQrCode);\r\n if (message.naturalPerson != null && Object.hasOwnProperty.call(message, \"naturalPerson\"))\r\n writer.uint32(/* id 35, wireType 2 =*/282).string(message.naturalPerson);\r\n if (message.organizationType != null && Object.hasOwnProperty.call(message, \"organizationType\"))\r\n writer.uint32(/* id 36, wireType 0 =*/288).int32(message.organizationType);\r\n if (message.state != null && Object.hasOwnProperty.call(message, \"state\"))\r\n writer.uint32(/* id 37, wireType 2 =*/298).string(message.state);\r\n if (message.cancelDate != null && Object.hasOwnProperty.call(message, \"cancelDate\"))\r\n writer.uint32(/* id 38, wireType 2 =*/306).string(message.cancelDate);\r\n if (message.lastUpdateTime != null && Object.hasOwnProperty.call(message, \"lastUpdateTime\"))\r\n writer.uint32(/* id 39, wireType 2 =*/314).string(message.lastUpdateTime);\r\n if (message.lastUploadTime != null && Object.hasOwnProperty.call(message, \"lastUploadTime\"))\r\n writer.uint32(/* id 40, wireType 2 =*/322).string(message.lastUploadTime);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreExport message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreExport.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreExport} message StoreExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreExport.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a StoreExport message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.StoreExport} StoreExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreExport.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.StoreExport();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.code = reader.string();\r\n break;\r\n case 2:\r\n message.isQuota = reader.string();\r\n break;\r\n case 3:\r\n message.tidNumber = reader.string();\r\n break;\r\n case 4:\r\n message.type = reader.string();\r\n break;\r\n case 5:\r\n message.typeDescription = reader.string();\r\n break;\r\n case 6:\r\n message.headId = reader.string();\r\n break;\r\n case 7:\r\n message.headDescription = reader.string();\r\n break;\r\n case 8:\r\n message.registerName = reader.string();\r\n break;\r\n case 9:\r\n message.engName = reader.string();\r\n break;\r\n case 10:\r\n message.signTitle = reader.string();\r\n break;\r\n case 11:\r\n message.nickName = reader.string();\r\n break;\r\n case 12:\r\n message.mccCode = reader.string();\r\n break;\r\n case 13:\r\n message.mccDescription = reader.string();\r\n break;\r\n case 14:\r\n message.guiNumber = reader.string();\r\n break;\r\n case 15:\r\n message.registerPostalCode1 = reader.string();\r\n break;\r\n case 16:\r\n message.registerPostalCode2 = reader.string();\r\n break;\r\n case 17:\r\n message.registerAddress = reader.string();\r\n break;\r\n case 18:\r\n message.businessPostalCode1 = reader.string();\r\n break;\r\n case 19:\r\n message.businessPostalCode2 = reader.string();\r\n break;\r\n case 20:\r\n message.businessAddress = reader.string();\r\n break;\r\n case 21:\r\n message.bankCode = reader.string();\r\n break;\r\n case 22:\r\n message.bankName = reader.string();\r\n break;\r\n case 23:\r\n message.isPaper = reader.string();\r\n break;\r\n case 24:\r\n message.receiptName = reader.string();\r\n break;\r\n case 25:\r\n message.receiptPostalCode1 = reader.string();\r\n break;\r\n case 26:\r\n message.receiptPostalCode2 = reader.string();\r\n break;\r\n case 27:\r\n message.receiptAddress = reader.string();\r\n break;\r\n case 28:\r\n message.receiptGenerateType = reader.string();\r\n break;\r\n case 29:\r\n message.receiptGenerateCycle = reader.string();\r\n break;\r\n case 30:\r\n message.receiptGenerateBasis = reader.string();\r\n break;\r\n case 31:\r\n message.smartPay = reader.string();\r\n break;\r\n case 32:\r\n message.commonQrCode = reader.string();\r\n break;\r\n case 33:\r\n message.vmjQrCode = reader.string();\r\n break;\r\n case 34:\r\n message.cupQrCode = reader.string();\r\n break;\r\n case 35:\r\n message.naturalPerson = reader.string();\r\n break;\r\n case 36:\r\n message.organizationType = reader.int32();\r\n break;\r\n case 37:\r\n message.state = reader.string();\r\n break;\r\n case 38:\r\n message.cancelDate = reader.string();\r\n break;\r\n case 39:\r\n message.lastUpdateTime = reader.string();\r\n break;\r\n case 40:\r\n message.lastUploadTime = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a StoreExport message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.StoreExport} StoreExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreExport.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a StoreExport message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n StoreExport.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.code != null && message.hasOwnProperty(\"code\"))\r\n if (!$util.isString(message.code))\r\n return \"code: string expected\";\r\n if (message.isQuota != null && message.hasOwnProperty(\"isQuota\"))\r\n if (!$util.isString(message.isQuota))\r\n return \"isQuota: string expected\";\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n if (!$util.isString(message.tidNumber))\r\n return \"tidNumber: string expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isString(message.type))\r\n return \"type: string expected\";\r\n if (message.typeDescription != null && message.hasOwnProperty(\"typeDescription\"))\r\n if (!$util.isString(message.typeDescription))\r\n return \"typeDescription: string expected\";\r\n if (message.headId != null && message.hasOwnProperty(\"headId\"))\r\n if (!$util.isString(message.headId))\r\n return \"headId: string expected\";\r\n if (message.headDescription != null && message.hasOwnProperty(\"headDescription\"))\r\n if (!$util.isString(message.headDescription))\r\n return \"headDescription: string expected\";\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n if (!$util.isString(message.registerName))\r\n return \"registerName: string expected\";\r\n if (message.engName != null && message.hasOwnProperty(\"engName\"))\r\n if (!$util.isString(message.engName))\r\n return \"engName: string expected\";\r\n if (message.signTitle != null && message.hasOwnProperty(\"signTitle\"))\r\n if (!$util.isString(message.signTitle))\r\n return \"signTitle: string expected\";\r\n if (message.nickName != null && message.hasOwnProperty(\"nickName\"))\r\n if (!$util.isString(message.nickName))\r\n return \"nickName: string expected\";\r\n if (message.mccCode != null && message.hasOwnProperty(\"mccCode\"))\r\n if (!$util.isString(message.mccCode))\r\n return \"mccCode: string expected\";\r\n if (message.mccDescription != null && message.hasOwnProperty(\"mccDescription\"))\r\n if (!$util.isString(message.mccDescription))\r\n return \"mccDescription: string expected\";\r\n if (message.guiNumber != null && message.hasOwnProperty(\"guiNumber\"))\r\n if (!$util.isString(message.guiNumber))\r\n return \"guiNumber: string expected\";\r\n if (message.registerPostalCode1 != null && message.hasOwnProperty(\"registerPostalCode1\"))\r\n if (!$util.isString(message.registerPostalCode1))\r\n return \"registerPostalCode1: string expected\";\r\n if (message.registerPostalCode2 != null && message.hasOwnProperty(\"registerPostalCode2\"))\r\n if (!$util.isString(message.registerPostalCode2))\r\n return \"registerPostalCode2: string expected\";\r\n if (message.registerAddress != null && message.hasOwnProperty(\"registerAddress\"))\r\n if (!$util.isString(message.registerAddress))\r\n return \"registerAddress: string expected\";\r\n if (message.businessPostalCode1 != null && message.hasOwnProperty(\"businessPostalCode1\"))\r\n if (!$util.isString(message.businessPostalCode1))\r\n return \"businessPostalCode1: string expected\";\r\n if (message.businessPostalCode2 != null && message.hasOwnProperty(\"businessPostalCode2\"))\r\n if (!$util.isString(message.businessPostalCode2))\r\n return \"businessPostalCode2: string expected\";\r\n if (message.businessAddress != null && message.hasOwnProperty(\"businessAddress\"))\r\n if (!$util.isString(message.businessAddress))\r\n return \"businessAddress: string expected\";\r\n if (message.bankCode != null && message.hasOwnProperty(\"bankCode\"))\r\n if (!$util.isString(message.bankCode))\r\n return \"bankCode: string expected\";\r\n if (message.bankName != null && message.hasOwnProperty(\"bankName\"))\r\n if (!$util.isString(message.bankName))\r\n return \"bankName: string expected\";\r\n if (message.isPaper != null && message.hasOwnProperty(\"isPaper\"))\r\n if (!$util.isString(message.isPaper))\r\n return \"isPaper: string expected\";\r\n if (message.receiptName != null && message.hasOwnProperty(\"receiptName\"))\r\n if (!$util.isString(message.receiptName))\r\n return \"receiptName: string expected\";\r\n if (message.receiptPostalCode1 != null && message.hasOwnProperty(\"receiptPostalCode1\"))\r\n if (!$util.isString(message.receiptPostalCode1))\r\n return \"receiptPostalCode1: string expected\";\r\n if (message.receiptPostalCode2 != null && message.hasOwnProperty(\"receiptPostalCode2\"))\r\n if (!$util.isString(message.receiptPostalCode2))\r\n return \"receiptPostalCode2: string expected\";\r\n if (message.receiptAddress != null && message.hasOwnProperty(\"receiptAddress\"))\r\n if (!$util.isString(message.receiptAddress))\r\n return \"receiptAddress: string expected\";\r\n if (message.receiptGenerateType != null && message.hasOwnProperty(\"receiptGenerateType\"))\r\n if (!$util.isString(message.receiptGenerateType))\r\n return \"receiptGenerateType: string expected\";\r\n if (message.receiptGenerateCycle != null && message.hasOwnProperty(\"receiptGenerateCycle\"))\r\n if (!$util.isString(message.receiptGenerateCycle))\r\n return \"receiptGenerateCycle: string expected\";\r\n if (message.receiptGenerateBasis != null && message.hasOwnProperty(\"receiptGenerateBasis\"))\r\n if (!$util.isString(message.receiptGenerateBasis))\r\n return \"receiptGenerateBasis: string expected\";\r\n if (message.smartPay != null && message.hasOwnProperty(\"smartPay\"))\r\n if (!$util.isString(message.smartPay))\r\n return \"smartPay: string expected\";\r\n if (message.commonQrCode != null && message.hasOwnProperty(\"commonQrCode\"))\r\n if (!$util.isString(message.commonQrCode))\r\n return \"commonQrCode: string expected\";\r\n if (message.vmjQrCode != null && message.hasOwnProperty(\"vmjQrCode\"))\r\n if (!$util.isString(message.vmjQrCode))\r\n return \"vmjQrCode: string expected\";\r\n if (message.cupQrCode != null && message.hasOwnProperty(\"cupQrCode\"))\r\n if (!$util.isString(message.cupQrCode))\r\n return \"cupQrCode: string expected\";\r\n if (message.naturalPerson != null && message.hasOwnProperty(\"naturalPerson\"))\r\n if (!$util.isString(message.naturalPerson))\r\n return \"naturalPerson: string expected\";\r\n if (message.organizationType != null && message.hasOwnProperty(\"organizationType\"))\r\n if (!$util.isInteger(message.organizationType))\r\n return \"organizationType: integer expected\";\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n if (!$util.isString(message.state))\r\n return \"state: string expected\";\r\n if (message.cancelDate != null && message.hasOwnProperty(\"cancelDate\"))\r\n if (!$util.isString(message.cancelDate))\r\n return \"cancelDate: string expected\";\r\n if (message.lastUpdateTime != null && message.hasOwnProperty(\"lastUpdateTime\"))\r\n if (!$util.isString(message.lastUpdateTime))\r\n return \"lastUpdateTime: string expected\";\r\n if (message.lastUploadTime != null && message.hasOwnProperty(\"lastUploadTime\"))\r\n if (!$util.isString(message.lastUploadTime))\r\n return \"lastUploadTime: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a StoreExport message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.StoreExport} StoreExport\r\n */\r\n StoreExport.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.StoreExport)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.StoreExport();\r\n if (object.code != null)\r\n message.code = String(object.code);\r\n if (object.isQuota != null)\r\n message.isQuota = String(object.isQuota);\r\n if (object.tidNumber != null)\r\n message.tidNumber = String(object.tidNumber);\r\n if (object.type != null)\r\n message.type = String(object.type);\r\n if (object.typeDescription != null)\r\n message.typeDescription = String(object.typeDescription);\r\n if (object.headId != null)\r\n message.headId = String(object.headId);\r\n if (object.headDescription != null)\r\n message.headDescription = String(object.headDescription);\r\n if (object.registerName != null)\r\n message.registerName = String(object.registerName);\r\n if (object.engName != null)\r\n message.engName = String(object.engName);\r\n if (object.signTitle != null)\r\n message.signTitle = String(object.signTitle);\r\n if (object.nickName != null)\r\n message.nickName = String(object.nickName);\r\n if (object.mccCode != null)\r\n message.mccCode = String(object.mccCode);\r\n if (object.mccDescription != null)\r\n message.mccDescription = String(object.mccDescription);\r\n if (object.guiNumber != null)\r\n message.guiNumber = String(object.guiNumber);\r\n if (object.registerPostalCode1 != null)\r\n message.registerPostalCode1 = String(object.registerPostalCode1);\r\n if (object.registerPostalCode2 != null)\r\n message.registerPostalCode2 = String(object.registerPostalCode2);\r\n if (object.registerAddress != null)\r\n message.registerAddress = String(object.registerAddress);\r\n if (object.businessPostalCode1 != null)\r\n message.businessPostalCode1 = String(object.businessPostalCode1);\r\n if (object.businessPostalCode2 != null)\r\n message.businessPostalCode2 = String(object.businessPostalCode2);\r\n if (object.businessAddress != null)\r\n message.businessAddress = String(object.businessAddress);\r\n if (object.bankCode != null)\r\n message.bankCode = String(object.bankCode);\r\n if (object.bankName != null)\r\n message.bankName = String(object.bankName);\r\n if (object.isPaper != null)\r\n message.isPaper = String(object.isPaper);\r\n if (object.receiptName != null)\r\n message.receiptName = String(object.receiptName);\r\n if (object.receiptPostalCode1 != null)\r\n message.receiptPostalCode1 = String(object.receiptPostalCode1);\r\n if (object.receiptPostalCode2 != null)\r\n message.receiptPostalCode2 = String(object.receiptPostalCode2);\r\n if (object.receiptAddress != null)\r\n message.receiptAddress = String(object.receiptAddress);\r\n if (object.receiptGenerateType != null)\r\n message.receiptGenerateType = String(object.receiptGenerateType);\r\n if (object.receiptGenerateCycle != null)\r\n message.receiptGenerateCycle = String(object.receiptGenerateCycle);\r\n if (object.receiptGenerateBasis != null)\r\n message.receiptGenerateBasis = String(object.receiptGenerateBasis);\r\n if (object.smartPay != null)\r\n message.smartPay = String(object.smartPay);\r\n if (object.commonQrCode != null)\r\n message.commonQrCode = String(object.commonQrCode);\r\n if (object.vmjQrCode != null)\r\n message.vmjQrCode = String(object.vmjQrCode);\r\n if (object.cupQrCode != null)\r\n message.cupQrCode = String(object.cupQrCode);\r\n if (object.naturalPerson != null)\r\n message.naturalPerson = String(object.naturalPerson);\r\n if (object.organizationType != null)\r\n message.organizationType = object.organizationType | 0;\r\n if (object.state != null)\r\n message.state = String(object.state);\r\n if (object.cancelDate != null)\r\n message.cancelDate = String(object.cancelDate);\r\n if (object.lastUpdateTime != null)\r\n message.lastUpdateTime = String(object.lastUpdateTime);\r\n if (object.lastUploadTime != null)\r\n message.lastUploadTime = String(object.lastUploadTime);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a StoreExport message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.StoreExport} message StoreExport\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n StoreExport.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.code = \"\";\r\n object.isQuota = \"\";\r\n object.tidNumber = \"\";\r\n object.type = \"\";\r\n object.typeDescription = \"\";\r\n object.headId = \"\";\r\n object.headDescription = \"\";\r\n object.registerName = \"\";\r\n object.engName = \"\";\r\n object.signTitle = \"\";\r\n object.nickName = \"\";\r\n object.mccCode = \"\";\r\n object.mccDescription = \"\";\r\n object.guiNumber = \"\";\r\n object.registerPostalCode1 = \"\";\r\n object.registerPostalCode2 = \"\";\r\n object.registerAddress = \"\";\r\n object.businessPostalCode1 = \"\";\r\n object.businessPostalCode2 = \"\";\r\n object.businessAddress = \"\";\r\n object.bankCode = \"\";\r\n object.bankName = \"\";\r\n object.isPaper = \"\";\r\n object.receiptName = \"\";\r\n object.receiptPostalCode1 = \"\";\r\n object.receiptPostalCode2 = \"\";\r\n object.receiptAddress = \"\";\r\n object.receiptGenerateType = \"\";\r\n object.receiptGenerateCycle = \"\";\r\n object.receiptGenerateBasis = \"\";\r\n object.smartPay = \"\";\r\n object.commonQrCode = \"\";\r\n object.vmjQrCode = \"\";\r\n object.cupQrCode = \"\";\r\n object.naturalPerson = \"\";\r\n object.organizationType = 0;\r\n object.state = \"\";\r\n object.cancelDate = \"\";\r\n object.lastUpdateTime = \"\";\r\n object.lastUploadTime = \"\";\r\n }\r\n if (message.code != null && message.hasOwnProperty(\"code\"))\r\n object.code = message.code;\r\n if (message.isQuota != null && message.hasOwnProperty(\"isQuota\"))\r\n object.isQuota = message.isQuota;\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n object.tidNumber = message.tidNumber;\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.typeDescription != null && message.hasOwnProperty(\"typeDescription\"))\r\n object.typeDescription = message.typeDescription;\r\n if (message.headId != null && message.hasOwnProperty(\"headId\"))\r\n object.headId = message.headId;\r\n if (message.headDescription != null && message.hasOwnProperty(\"headDescription\"))\r\n object.headDescription = message.headDescription;\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n object.registerName = message.registerName;\r\n if (message.engName != null && message.hasOwnProperty(\"engName\"))\r\n object.engName = message.engName;\r\n if (message.signTitle != null && message.hasOwnProperty(\"signTitle\"))\r\n object.signTitle = message.signTitle;\r\n if (message.nickName != null && message.hasOwnProperty(\"nickName\"))\r\n object.nickName = message.nickName;\r\n if (message.mccCode != null && message.hasOwnProperty(\"mccCode\"))\r\n object.mccCode = message.mccCode;\r\n if (message.mccDescription != null && message.hasOwnProperty(\"mccDescription\"))\r\n object.mccDescription = message.mccDescription;\r\n if (message.guiNumber != null && message.hasOwnProperty(\"guiNumber\"))\r\n object.guiNumber = message.guiNumber;\r\n if (message.registerPostalCode1 != null && message.hasOwnProperty(\"registerPostalCode1\"))\r\n object.registerPostalCode1 = message.registerPostalCode1;\r\n if (message.registerPostalCode2 != null && message.hasOwnProperty(\"registerPostalCode2\"))\r\n object.registerPostalCode2 = message.registerPostalCode2;\r\n if (message.registerAddress != null && message.hasOwnProperty(\"registerAddress\"))\r\n object.registerAddress = message.registerAddress;\r\n if (message.businessPostalCode1 != null && message.hasOwnProperty(\"businessPostalCode1\"))\r\n object.businessPostalCode1 = message.businessPostalCode1;\r\n if (message.businessPostalCode2 != null && message.hasOwnProperty(\"businessPostalCode2\"))\r\n object.businessPostalCode2 = message.businessPostalCode2;\r\n if (message.businessAddress != null && message.hasOwnProperty(\"businessAddress\"))\r\n object.businessAddress = message.businessAddress;\r\n if (message.bankCode != null && message.hasOwnProperty(\"bankCode\"))\r\n object.bankCode = message.bankCode;\r\n if (message.bankName != null && message.hasOwnProperty(\"bankName\"))\r\n object.bankName = message.bankName;\r\n if (message.isPaper != null && message.hasOwnProperty(\"isPaper\"))\r\n object.isPaper = message.isPaper;\r\n if (message.receiptName != null && message.hasOwnProperty(\"receiptName\"))\r\n object.receiptName = message.receiptName;\r\n if (message.receiptPostalCode1 != null && message.hasOwnProperty(\"receiptPostalCode1\"))\r\n object.receiptPostalCode1 = message.receiptPostalCode1;\r\n if (message.receiptPostalCode2 != null && message.hasOwnProperty(\"receiptPostalCode2\"))\r\n object.receiptPostalCode2 = message.receiptPostalCode2;\r\n if (message.receiptAddress != null && message.hasOwnProperty(\"receiptAddress\"))\r\n object.receiptAddress = message.receiptAddress;\r\n if (message.receiptGenerateType != null && message.hasOwnProperty(\"receiptGenerateType\"))\r\n object.receiptGenerateType = message.receiptGenerateType;\r\n if (message.receiptGenerateCycle != null && message.hasOwnProperty(\"receiptGenerateCycle\"))\r\n object.receiptGenerateCycle = message.receiptGenerateCycle;\r\n if (message.receiptGenerateBasis != null && message.hasOwnProperty(\"receiptGenerateBasis\"))\r\n object.receiptGenerateBasis = message.receiptGenerateBasis;\r\n if (message.smartPay != null && message.hasOwnProperty(\"smartPay\"))\r\n object.smartPay = message.smartPay;\r\n if (message.commonQrCode != null && message.hasOwnProperty(\"commonQrCode\"))\r\n object.commonQrCode = message.commonQrCode;\r\n if (message.vmjQrCode != null && message.hasOwnProperty(\"vmjQrCode\"))\r\n object.vmjQrCode = message.vmjQrCode;\r\n if (message.cupQrCode != null && message.hasOwnProperty(\"cupQrCode\"))\r\n object.cupQrCode = message.cupQrCode;\r\n if (message.naturalPerson != null && message.hasOwnProperty(\"naturalPerson\"))\r\n object.naturalPerson = message.naturalPerson;\r\n if (message.organizationType != null && message.hasOwnProperty(\"organizationType\"))\r\n object.organizationType = message.organizationType;\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n object.state = message.state;\r\n if (message.cancelDate != null && message.hasOwnProperty(\"cancelDate\"))\r\n object.cancelDate = message.cancelDate;\r\n if (message.lastUpdateTime != null && message.hasOwnProperty(\"lastUpdateTime\"))\r\n object.lastUpdateTime = message.lastUpdateTime;\r\n if (message.lastUploadTime != null && message.hasOwnProperty(\"lastUploadTime\"))\r\n object.lastUploadTime = message.lastUploadTime;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this StoreExport to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.StoreExport\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n StoreExport.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return StoreExport;\r\n })();\r\n\r\n Protobuf.StoreUserPermission = (function() {\r\n\r\n /**\r\n * Properties of a StoreUserPermission.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IStoreUserPermission\r\n * @property {number|null} [storeId] StoreUserPermission storeId\r\n * @property {string|null} [storeCode] StoreUserPermission storeCode\r\n * @property {string|null} [tidNumber] StoreUserPermission tidNumber\r\n * @property {string|null} [registerName] StoreUserPermission registerName\r\n */\r\n\r\n /**\r\n * Constructs a new StoreUserPermission.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a StoreUserPermission.\r\n * @implements IStoreUserPermission\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserPermission=} [properties] Properties to set\r\n */\r\n function StoreUserPermission(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * StoreUserPermission storeId.\r\n * @member {number} storeId\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermission\r\n * @instance\r\n */\r\n StoreUserPermission.prototype.storeId = 0;\r\n\r\n /**\r\n * StoreUserPermission storeCode.\r\n * @member {string} storeCode\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermission\r\n * @instance\r\n */\r\n StoreUserPermission.prototype.storeCode = \"\";\r\n\r\n /**\r\n * StoreUserPermission tidNumber.\r\n * @member {string} tidNumber\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermission\r\n * @instance\r\n */\r\n StoreUserPermission.prototype.tidNumber = \"\";\r\n\r\n /**\r\n * StoreUserPermission registerName.\r\n * @member {string} registerName\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermission\r\n * @instance\r\n */\r\n StoreUserPermission.prototype.registerName = \"\";\r\n\r\n /**\r\n * Creates a new StoreUserPermission instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermission\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserPermission=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserPermission} StoreUserPermission instance\r\n */\r\n StoreUserPermission.create = function create(properties) {\r\n return new StoreUserPermission(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreUserPermission message. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreUserPermission.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermission\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserPermission} message StoreUserPermission message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreUserPermission.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.storeId != null && Object.hasOwnProperty.call(message, \"storeId\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.storeId);\r\n if (message.storeCode != null && Object.hasOwnProperty.call(message, \"storeCode\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.storeCode);\r\n if (message.tidNumber != null && Object.hasOwnProperty.call(message, \"tidNumber\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.tidNumber);\r\n if (message.registerName != null && Object.hasOwnProperty.call(message, \"registerName\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.registerName);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreUserPermission message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreUserPermission.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermission\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserPermission} message StoreUserPermission message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreUserPermission.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a StoreUserPermission message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermission\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserPermission} StoreUserPermission\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreUserPermission.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.StoreUserPermission();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.storeId = reader.int32();\r\n break;\r\n case 2:\r\n message.storeCode = reader.string();\r\n break;\r\n case 3:\r\n message.tidNumber = reader.string();\r\n break;\r\n case 4:\r\n message.registerName = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a StoreUserPermission message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermission\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserPermission} StoreUserPermission\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreUserPermission.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a StoreUserPermission message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermission\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n StoreUserPermission.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.storeId != null && message.hasOwnProperty(\"storeId\"))\r\n if (!$util.isInteger(message.storeId))\r\n return \"storeId: integer expected\";\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n if (!$util.isString(message.storeCode))\r\n return \"storeCode: string expected\";\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n if (!$util.isString(message.tidNumber))\r\n return \"tidNumber: string expected\";\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n if (!$util.isString(message.registerName))\r\n return \"registerName: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a StoreUserPermission message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermission\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserPermission} StoreUserPermission\r\n */\r\n StoreUserPermission.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.StoreUserPermission)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.StoreUserPermission();\r\n if (object.storeId != null)\r\n message.storeId = object.storeId | 0;\r\n if (object.storeCode != null)\r\n message.storeCode = String(object.storeCode);\r\n if (object.tidNumber != null)\r\n message.tidNumber = String(object.tidNumber);\r\n if (object.registerName != null)\r\n message.registerName = String(object.registerName);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a StoreUserPermission message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermission\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.StoreUserPermission} message StoreUserPermission\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n StoreUserPermission.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.storeId = 0;\r\n object.storeCode = \"\";\r\n object.tidNumber = \"\";\r\n object.registerName = \"\";\r\n }\r\n if (message.storeId != null && message.hasOwnProperty(\"storeId\"))\r\n object.storeId = message.storeId;\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n object.storeCode = message.storeCode;\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n object.tidNumber = message.tidNumber;\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n object.registerName = message.registerName;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this StoreUserPermission to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermission\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n StoreUserPermission.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return StoreUserPermission;\r\n })();\r\n\r\n Protobuf.StoreUserPermissionList = (function() {\r\n\r\n /**\r\n * Properties of a StoreUserPermissionList.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IStoreUserPermissionList\r\n * @property {Array.|null} [list] StoreUserPermissionList list\r\n */\r\n\r\n /**\r\n * Constructs a new StoreUserPermissionList.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a StoreUserPermissionList.\r\n * @implements IStoreUserPermissionList\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserPermissionList=} [properties] Properties to set\r\n */\r\n function StoreUserPermissionList(properties) {\r\n this.list = [];\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * StoreUserPermissionList list.\r\n * @member {Array.} list\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermissionList\r\n * @instance\r\n */\r\n StoreUserPermissionList.prototype.list = $util.emptyArray;\r\n\r\n /**\r\n * Creates a new StoreUserPermissionList instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermissionList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserPermissionList=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserPermissionList} StoreUserPermissionList instance\r\n */\r\n StoreUserPermissionList.create = function create(properties) {\r\n return new StoreUserPermissionList(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreUserPermissionList message. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreUserPermissionList.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermissionList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserPermissionList} message StoreUserPermissionList message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreUserPermissionList.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.list != null && message.list.length)\r\n for (var i = 0; i < message.list.length; ++i)\r\n $root.TCBReceiptApi.Protobuf.StoreUserPermission.encode(message.list[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreUserPermissionList message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreUserPermissionList.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermissionList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserPermissionList} message StoreUserPermissionList message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreUserPermissionList.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a StoreUserPermissionList message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermissionList\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserPermissionList} StoreUserPermissionList\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreUserPermissionList.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.StoreUserPermissionList();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (!(message.list && message.list.length))\r\n message.list = [];\r\n message.list.push($root.TCBReceiptApi.Protobuf.StoreUserPermission.decode(reader, reader.uint32()));\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a StoreUserPermissionList message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermissionList\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserPermissionList} StoreUserPermissionList\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreUserPermissionList.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a StoreUserPermissionList message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermissionList\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n StoreUserPermissionList.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.list != null && message.hasOwnProperty(\"list\")) {\r\n if (!Array.isArray(message.list))\r\n return \"list: array expected\";\r\n for (var i = 0; i < message.list.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.StoreUserPermission.verify(message.list[i]);\r\n if (error)\r\n return \"list.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a StoreUserPermissionList message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermissionList\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserPermissionList} StoreUserPermissionList\r\n */\r\n StoreUserPermissionList.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.StoreUserPermissionList)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.StoreUserPermissionList();\r\n if (object.list) {\r\n if (!Array.isArray(object.list))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.StoreUserPermissionList.list: array expected\");\r\n message.list = [];\r\n for (var i = 0; i < object.list.length; ++i) {\r\n if (typeof object.list[i] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.StoreUserPermissionList.list: object expected\");\r\n message.list[i] = $root.TCBReceiptApi.Protobuf.StoreUserPermission.fromObject(object.list[i]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a StoreUserPermissionList message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermissionList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.StoreUserPermissionList} message StoreUserPermissionList\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n StoreUserPermissionList.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.arrays || options.defaults)\r\n object.list = [];\r\n if (message.list && message.list.length) {\r\n object.list = [];\r\n for (var j = 0; j < message.list.length; ++j)\r\n object.list[j] = $root.TCBReceiptApi.Protobuf.StoreUserPermission.toObject(message.list[j], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this StoreUserPermissionList to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermissionList\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n StoreUserPermissionList.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return StoreUserPermissionList;\r\n })();\r\n\r\n Protobuf.StoreUserPermissionMap = (function() {\r\n\r\n /**\r\n * Properties of a StoreUserPermissionMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IStoreUserPermissionMap\r\n * @property {Object.|null} [map] StoreUserPermissionMap map\r\n */\r\n\r\n /**\r\n * Constructs a new StoreUserPermissionMap.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a StoreUserPermissionMap.\r\n * @implements IStoreUserPermissionMap\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserPermissionMap=} [properties] Properties to set\r\n */\r\n function StoreUserPermissionMap(properties) {\r\n this.map = {};\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * StoreUserPermissionMap map.\r\n * @member {Object.} map\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermissionMap\r\n * @instance\r\n */\r\n StoreUserPermissionMap.prototype.map = $util.emptyObject;\r\n\r\n /**\r\n * Creates a new StoreUserPermissionMap instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermissionMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserPermissionMap=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserPermissionMap} StoreUserPermissionMap instance\r\n */\r\n StoreUserPermissionMap.create = function create(properties) {\r\n return new StoreUserPermissionMap(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreUserPermissionMap message. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreUserPermissionMap.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermissionMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserPermissionMap} message StoreUserPermissionMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreUserPermissionMap.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.map != null && Object.hasOwnProperty.call(message, \"map\"))\r\n for (var keys = Object.keys(message.map), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.StoreUserPermissionList.encode(message.map[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreUserPermissionMap message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreUserPermissionMap.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermissionMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserPermissionMap} message StoreUserPermissionMap message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreUserPermissionMap.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a StoreUserPermissionMap message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermissionMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserPermissionMap} StoreUserPermissionMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreUserPermissionMap.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.StoreUserPermissionMap(), key, value;\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (message.map === $util.emptyObject)\r\n message.map = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = \"\";\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.string();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.StoreUserPermissionList.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.map[key] = value;\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a StoreUserPermissionMap message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermissionMap\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserPermissionMap} StoreUserPermissionMap\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreUserPermissionMap.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a StoreUserPermissionMap message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermissionMap\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n StoreUserPermissionMap.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.map != null && message.hasOwnProperty(\"map\")) {\r\n if (!$util.isObject(message.map))\r\n return \"map: object expected\";\r\n var key = Object.keys(message.map);\r\n for (var i = 0; i < key.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.StoreUserPermissionList.verify(message.map[key[i]]);\r\n if (error)\r\n return \"map.\" + error;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a StoreUserPermissionMap message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermissionMap\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserPermissionMap} StoreUserPermissionMap\r\n */\r\n StoreUserPermissionMap.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.StoreUserPermissionMap)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.StoreUserPermissionMap();\r\n if (object.map) {\r\n if (typeof object.map !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.StoreUserPermissionMap.map: object expected\");\r\n message.map = {};\r\n for (var keys = Object.keys(object.map), i = 0; i < keys.length; ++i) {\r\n if (typeof object.map[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.StoreUserPermissionMap.map: object expected\");\r\n message.map[keys[i]] = $root.TCBReceiptApi.Protobuf.StoreUserPermissionList.fromObject(object.map[keys[i]]);\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a StoreUserPermissionMap message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermissionMap\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.StoreUserPermissionMap} message StoreUserPermissionMap\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n StoreUserPermissionMap.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.objects || options.defaults)\r\n object.map = {};\r\n var keys2;\r\n if (message.map && (keys2 = Object.keys(message.map)).length) {\r\n object.map = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.map[keys2[j]] = $root.TCBReceiptApi.Protobuf.StoreUserPermissionList.toObject(message.map[keys2[j]], options);\r\n }\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this StoreUserPermissionMap to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserPermissionMap\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n StoreUserPermissionMap.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return StoreUserPermissionMap;\r\n })();\r\n\r\n Protobuf.StoreUserMotify = (function() {\r\n\r\n /**\r\n * Properties of a StoreUserMotify.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IStoreUserMotify\r\n * @property {number|null} [resetMail] StoreUserMotify resetMail\r\n * @property {number|null} [permission] StoreUserMotify permission\r\n * @property {number|null} [state] StoreUserMotify state\r\n */\r\n\r\n /**\r\n * Constructs a new StoreUserMotify.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a StoreUserMotify.\r\n * @implements IStoreUserMotify\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserMotify=} [properties] Properties to set\r\n */\r\n function StoreUserMotify(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * StoreUserMotify resetMail.\r\n * @member {number} resetMail\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserMotify\r\n * @instance\r\n */\r\n StoreUserMotify.prototype.resetMail = 0;\r\n\r\n /**\r\n * StoreUserMotify permission.\r\n * @member {number} permission\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserMotify\r\n * @instance\r\n */\r\n StoreUserMotify.prototype.permission = 0;\r\n\r\n /**\r\n * StoreUserMotify state.\r\n * @member {number} state\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserMotify\r\n * @instance\r\n */\r\n StoreUserMotify.prototype.state = 0;\r\n\r\n /**\r\n * Creates a new StoreUserMotify instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserMotify=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserMotify} StoreUserMotify instance\r\n */\r\n StoreUserMotify.create = function create(properties) {\r\n return new StoreUserMotify(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreUserMotify message. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreUserMotify.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserMotify} message StoreUserMotify message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreUserMotify.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.resetMail != null && Object.hasOwnProperty.call(message, \"resetMail\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.resetMail);\r\n if (message.permission != null && Object.hasOwnProperty.call(message, \"permission\"))\r\n writer.uint32(/* id 2, wireType 0 =*/16).int32(message.permission);\r\n if (message.state != null && Object.hasOwnProperty.call(message, \"state\"))\r\n writer.uint32(/* id 3, wireType 0 =*/24).int32(message.state);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreUserMotify message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreUserMotify.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserMotify} message StoreUserMotify message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreUserMotify.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a StoreUserMotify message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserMotify\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserMotify} StoreUserMotify\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreUserMotify.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.StoreUserMotify();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.resetMail = reader.int32();\r\n break;\r\n case 2:\r\n message.permission = reader.int32();\r\n break;\r\n case 3:\r\n message.state = reader.int32();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a StoreUserMotify message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserMotify\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserMotify} StoreUserMotify\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreUserMotify.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a StoreUserMotify message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserMotify\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n StoreUserMotify.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.resetMail != null && message.hasOwnProperty(\"resetMail\"))\r\n if (!$util.isInteger(message.resetMail))\r\n return \"resetMail: integer expected\";\r\n if (message.permission != null && message.hasOwnProperty(\"permission\"))\r\n if (!$util.isInteger(message.permission))\r\n return \"permission: integer expected\";\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n if (!$util.isInteger(message.state))\r\n return \"state: integer expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a StoreUserMotify message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserMotify\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserMotify} StoreUserMotify\r\n */\r\n StoreUserMotify.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.StoreUserMotify)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.StoreUserMotify();\r\n if (object.resetMail != null)\r\n message.resetMail = object.resetMail | 0;\r\n if (object.permission != null)\r\n message.permission = object.permission | 0;\r\n if (object.state != null)\r\n message.state = object.state | 0;\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a StoreUserMotify message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.StoreUserMotify} message StoreUserMotify\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n StoreUserMotify.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.resetMail = 0;\r\n object.permission = 0;\r\n object.state = 0;\r\n }\r\n if (message.resetMail != null && message.hasOwnProperty(\"resetMail\"))\r\n object.resetMail = message.resetMail;\r\n if (message.permission != null && message.hasOwnProperty(\"permission\"))\r\n object.permission = message.permission;\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n object.state = message.state;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this StoreUserMotify to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserMotify\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n StoreUserMotify.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return StoreUserMotify;\r\n })();\r\n\r\n Protobuf.StoreUser = (function() {\r\n\r\n /**\r\n * Properties of a StoreUser.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IStoreUser\r\n * @property {number|null} [storeUserTempId] StoreUser storeUserTempId\r\n * @property {number|null} [storeUserId] StoreUser storeUserId\r\n * @property {number|null} [actionType] StoreUser actionType\r\n * @property {number|null} [type] StoreUser type\r\n * @property {string|null} [identification] StoreUser identification\r\n * @property {string|null} [account] StoreUser account\r\n * @property {string|null} [resetMail] StoreUser resetMail\r\n * @property {Object.|null} [permission] StoreUser permission\r\n * @property {number|null} [state] StoreUser state\r\n * @property {number|null} [lock] StoreUser lock\r\n * @property {number|null} [active] StoreUser active\r\n * @property {number|null} [lastUpdateTime] StoreUser lastUpdateTime\r\n * @property {string|null} [lastUpdateUser] StoreUser lastUpdateUser\r\n * @property {string|null} [cancelDate] StoreUser cancelDate\r\n * @property {number|null} [permissionId] StoreUser permissionId\r\n * @property {number|null} [releaseState] StoreUser releaseState\r\n * @property {string|null} [tidNumber] StoreUser tidNumber\r\n * @property {string|null} [storeCode] StoreUser storeCode\r\n * @property {string|null} [registerName] StoreUser registerName\r\n * @property {TCBReceiptApi.Protobuf.IStoreUserMotify|null} [motify] StoreUser motify\r\n * @property {string|null} [rejectReason] StoreUser rejectReason\r\n * @property {Object.|null} [selectMap] StoreUser selectMap\r\n * @property {number|null} [systemGenerate] StoreUser systemGenerate\r\n * @property {number|null} [loginFailedCount] StoreUser loginFailedCount\r\n * @property {number|null} [resetExpiresIn] StoreUser resetExpiresIn\r\n * @property {string|null} [continueDate] StoreUser continueDate\r\n * @property {number|null} [loginType] StoreUser loginType\r\n * @property {string|null} [storeCancelDate] StoreUser storeCancelDate\r\n */\r\n\r\n /**\r\n * Constructs a new StoreUser.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a StoreUser.\r\n * @implements IStoreUser\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IStoreUser=} [properties] Properties to set\r\n */\r\n function StoreUser(properties) {\r\n this.permission = {};\r\n this.selectMap = {};\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * StoreUser storeUserTempId.\r\n * @member {number} storeUserTempId\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.storeUserTempId = 0;\r\n\r\n /**\r\n * StoreUser storeUserId.\r\n * @member {number} storeUserId\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.storeUserId = 0;\r\n\r\n /**\r\n * StoreUser actionType.\r\n * @member {number} actionType\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.actionType = 0;\r\n\r\n /**\r\n * StoreUser type.\r\n * @member {number} type\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.type = 0;\r\n\r\n /**\r\n * StoreUser identification.\r\n * @member {string} identification\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.identification = \"\";\r\n\r\n /**\r\n * StoreUser account.\r\n * @member {string} account\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.account = \"\";\r\n\r\n /**\r\n * StoreUser resetMail.\r\n * @member {string} resetMail\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.resetMail = \"\";\r\n\r\n /**\r\n * StoreUser permission.\r\n * @member {Object.} permission\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.permission = $util.emptyObject;\r\n\r\n /**\r\n * StoreUser state.\r\n * @member {number} state\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.state = 0;\r\n\r\n /**\r\n * StoreUser lock.\r\n * @member {number} lock\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.lock = 0;\r\n\r\n /**\r\n * StoreUser active.\r\n * @member {number} active\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.active = 0;\r\n\r\n /**\r\n * StoreUser lastUpdateTime.\r\n * @member {number} lastUpdateTime\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.lastUpdateTime = 0;\r\n\r\n /**\r\n * StoreUser lastUpdateUser.\r\n * @member {string} lastUpdateUser\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.lastUpdateUser = \"\";\r\n\r\n /**\r\n * StoreUser cancelDate.\r\n * @member {string} cancelDate\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.cancelDate = \"\";\r\n\r\n /**\r\n * StoreUser permissionId.\r\n * @member {number} permissionId\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.permissionId = 0;\r\n\r\n /**\r\n * StoreUser releaseState.\r\n * @member {number} releaseState\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.releaseState = 0;\r\n\r\n /**\r\n * StoreUser tidNumber.\r\n * @member {string} tidNumber\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.tidNumber = \"\";\r\n\r\n /**\r\n * StoreUser storeCode.\r\n * @member {string} storeCode\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.storeCode = \"\";\r\n\r\n /**\r\n * StoreUser registerName.\r\n * @member {string} registerName\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.registerName = \"\";\r\n\r\n /**\r\n * StoreUser motify.\r\n * @member {TCBReceiptApi.Protobuf.IStoreUserMotify|null|undefined} motify\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.motify = null;\r\n\r\n /**\r\n * StoreUser rejectReason.\r\n * @member {string} rejectReason\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.rejectReason = \"\";\r\n\r\n /**\r\n * StoreUser selectMap.\r\n * @member {Object.} selectMap\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.selectMap = $util.emptyObject;\r\n\r\n /**\r\n * StoreUser systemGenerate.\r\n * @member {number} systemGenerate\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.systemGenerate = 0;\r\n\r\n /**\r\n * StoreUser loginFailedCount.\r\n * @member {number} loginFailedCount\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.loginFailedCount = 0;\r\n\r\n /**\r\n * StoreUser resetExpiresIn.\r\n * @member {number} resetExpiresIn\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.resetExpiresIn = 0;\r\n\r\n /**\r\n * StoreUser continueDate.\r\n * @member {string} continueDate\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.continueDate = \"\";\r\n\r\n /**\r\n * StoreUser loginType.\r\n * @member {number} loginType\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.loginType = 0;\r\n\r\n /**\r\n * StoreUser storeCancelDate.\r\n * @member {string} storeCancelDate\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n */\r\n StoreUser.prototype.storeCancelDate = \"\";\r\n\r\n /**\r\n * Creates a new StoreUser instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUser=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.StoreUser} StoreUser instance\r\n */\r\n StoreUser.create = function create(properties) {\r\n return new StoreUser(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreUser message. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreUser.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUser} message StoreUser message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreUser.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.storeUserTempId != null && Object.hasOwnProperty.call(message, \"storeUserTempId\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.storeUserTempId);\r\n if (message.storeUserId != null && Object.hasOwnProperty.call(message, \"storeUserId\"))\r\n writer.uint32(/* id 2, wireType 0 =*/16).int32(message.storeUserId);\r\n if (message.actionType != null && Object.hasOwnProperty.call(message, \"actionType\"))\r\n writer.uint32(/* id 3, wireType 0 =*/24).int32(message.actionType);\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 4, wireType 0 =*/32).int32(message.type);\r\n if (message.identification != null && Object.hasOwnProperty.call(message, \"identification\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.identification);\r\n if (message.account != null && Object.hasOwnProperty.call(message, \"account\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.account);\r\n if (message.resetMail != null && Object.hasOwnProperty.call(message, \"resetMail\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.resetMail);\r\n if (message.permission != null && Object.hasOwnProperty.call(message, \"permission\"))\r\n for (var keys = Object.keys(message.permission), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 8, wireType 2 =*/66).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.StoreUserPermissionList.encode(message.permission[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n if (message.state != null && Object.hasOwnProperty.call(message, \"state\"))\r\n writer.uint32(/* id 9, wireType 0 =*/72).int32(message.state);\r\n if (message.lock != null && Object.hasOwnProperty.call(message, \"lock\"))\r\n writer.uint32(/* id 10, wireType 0 =*/80).int32(message.lock);\r\n if (message.active != null && Object.hasOwnProperty.call(message, \"active\"))\r\n writer.uint32(/* id 11, wireType 0 =*/88).int32(message.active);\r\n if (message.lastUpdateTime != null && Object.hasOwnProperty.call(message, \"lastUpdateTime\"))\r\n writer.uint32(/* id 12, wireType 0 =*/96).int32(message.lastUpdateTime);\r\n if (message.lastUpdateUser != null && Object.hasOwnProperty.call(message, \"lastUpdateUser\"))\r\n writer.uint32(/* id 13, wireType 2 =*/106).string(message.lastUpdateUser);\r\n if (message.cancelDate != null && Object.hasOwnProperty.call(message, \"cancelDate\"))\r\n writer.uint32(/* id 14, wireType 2 =*/114).string(message.cancelDate);\r\n if (message.permissionId != null && Object.hasOwnProperty.call(message, \"permissionId\"))\r\n writer.uint32(/* id 15, wireType 0 =*/120).int32(message.permissionId);\r\n if (message.releaseState != null && Object.hasOwnProperty.call(message, \"releaseState\"))\r\n writer.uint32(/* id 16, wireType 0 =*/128).int32(message.releaseState);\r\n if (message.tidNumber != null && Object.hasOwnProperty.call(message, \"tidNumber\"))\r\n writer.uint32(/* id 17, wireType 2 =*/138).string(message.tidNumber);\r\n if (message.storeCode != null && Object.hasOwnProperty.call(message, \"storeCode\"))\r\n writer.uint32(/* id 18, wireType 2 =*/146).string(message.storeCode);\r\n if (message.registerName != null && Object.hasOwnProperty.call(message, \"registerName\"))\r\n writer.uint32(/* id 19, wireType 2 =*/154).string(message.registerName);\r\n if (message.motify != null && Object.hasOwnProperty.call(message, \"motify\"))\r\n $root.TCBReceiptApi.Protobuf.StoreUserMotify.encode(message.motify, writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim();\r\n if (message.rejectReason != null && Object.hasOwnProperty.call(message, \"rejectReason\"))\r\n writer.uint32(/* id 21, wireType 2 =*/170).string(message.rejectReason);\r\n if (message.selectMap != null && Object.hasOwnProperty.call(message, \"selectMap\"))\r\n for (var keys = Object.keys(message.selectMap), i = 0; i < keys.length; ++i) {\r\n writer.uint32(/* id 22, wireType 2 =*/178).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);\r\n $root.TCBReceiptApi.Protobuf.StoreUserPermissionList.encode(message.selectMap[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();\r\n }\r\n if (message.systemGenerate != null && Object.hasOwnProperty.call(message, \"systemGenerate\"))\r\n writer.uint32(/* id 23, wireType 0 =*/184).int32(message.systemGenerate);\r\n if (message.loginFailedCount != null && Object.hasOwnProperty.call(message, \"loginFailedCount\"))\r\n writer.uint32(/* id 24, wireType 0 =*/192).int32(message.loginFailedCount);\r\n if (message.resetExpiresIn != null && Object.hasOwnProperty.call(message, \"resetExpiresIn\"))\r\n writer.uint32(/* id 25, wireType 0 =*/200).int32(message.resetExpiresIn);\r\n if (message.continueDate != null && Object.hasOwnProperty.call(message, \"continueDate\"))\r\n writer.uint32(/* id 26, wireType 2 =*/210).string(message.continueDate);\r\n if (message.loginType != null && Object.hasOwnProperty.call(message, \"loginType\"))\r\n writer.uint32(/* id 27, wireType 0 =*/216).int32(message.loginType);\r\n if (message.storeCancelDate != null && Object.hasOwnProperty.call(message, \"storeCancelDate\"))\r\n writer.uint32(/* id 28, wireType 2 =*/226).string(message.storeCancelDate);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreUser message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreUser.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUser} message StoreUser message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreUser.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a StoreUser message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.StoreUser} StoreUser\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreUser.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.StoreUser(), key, value;\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.storeUserTempId = reader.int32();\r\n break;\r\n case 2:\r\n message.storeUserId = reader.int32();\r\n break;\r\n case 3:\r\n message.actionType = reader.int32();\r\n break;\r\n case 4:\r\n message.type = reader.int32();\r\n break;\r\n case 5:\r\n message.identification = reader.string();\r\n break;\r\n case 6:\r\n message.account = reader.string();\r\n break;\r\n case 7:\r\n message.resetMail = reader.string();\r\n break;\r\n case 8:\r\n if (message.permission === $util.emptyObject)\r\n message.permission = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = \"\";\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.string();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.StoreUserPermissionList.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.permission[key] = value;\r\n break;\r\n case 9:\r\n message.state = reader.int32();\r\n break;\r\n case 10:\r\n message.lock = reader.int32();\r\n break;\r\n case 11:\r\n message.active = reader.int32();\r\n break;\r\n case 12:\r\n message.lastUpdateTime = reader.int32();\r\n break;\r\n case 13:\r\n message.lastUpdateUser = reader.string();\r\n break;\r\n case 14:\r\n message.cancelDate = reader.string();\r\n break;\r\n case 15:\r\n message.permissionId = reader.int32();\r\n break;\r\n case 16:\r\n message.releaseState = reader.int32();\r\n break;\r\n case 17:\r\n message.tidNumber = reader.string();\r\n break;\r\n case 18:\r\n message.storeCode = reader.string();\r\n break;\r\n case 19:\r\n message.registerName = reader.string();\r\n break;\r\n case 20:\r\n message.motify = $root.TCBReceiptApi.Protobuf.StoreUserMotify.decode(reader, reader.uint32());\r\n break;\r\n case 21:\r\n message.rejectReason = reader.string();\r\n break;\r\n case 22:\r\n if (message.selectMap === $util.emptyObject)\r\n message.selectMap = {};\r\n var end2 = reader.uint32() + reader.pos;\r\n key = \"\";\r\n value = null;\r\n while (reader.pos < end2) {\r\n var tag2 = reader.uint32();\r\n switch (tag2 >>> 3) {\r\n case 1:\r\n key = reader.string();\r\n break;\r\n case 2:\r\n value = $root.TCBReceiptApi.Protobuf.StoreUserPermissionList.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag2 & 7);\r\n break;\r\n }\r\n }\r\n message.selectMap[key] = value;\r\n break;\r\n case 23:\r\n message.systemGenerate = reader.int32();\r\n break;\r\n case 24:\r\n message.loginFailedCount = reader.int32();\r\n break;\r\n case 25:\r\n message.resetExpiresIn = reader.int32();\r\n break;\r\n case 26:\r\n message.continueDate = reader.string();\r\n break;\r\n case 27:\r\n message.loginType = reader.int32();\r\n break;\r\n case 28:\r\n message.storeCancelDate = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a StoreUser message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.StoreUser} StoreUser\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreUser.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a StoreUser message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n StoreUser.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.storeUserTempId != null && message.hasOwnProperty(\"storeUserTempId\"))\r\n if (!$util.isInteger(message.storeUserTempId))\r\n return \"storeUserTempId: integer expected\";\r\n if (message.storeUserId != null && message.hasOwnProperty(\"storeUserId\"))\r\n if (!$util.isInteger(message.storeUserId))\r\n return \"storeUserId: integer expected\";\r\n if (message.actionType != null && message.hasOwnProperty(\"actionType\"))\r\n if (!$util.isInteger(message.actionType))\r\n return \"actionType: integer expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isInteger(message.type))\r\n return \"type: integer expected\";\r\n if (message.identification != null && message.hasOwnProperty(\"identification\"))\r\n if (!$util.isString(message.identification))\r\n return \"identification: string expected\";\r\n if (message.account != null && message.hasOwnProperty(\"account\"))\r\n if (!$util.isString(message.account))\r\n return \"account: string expected\";\r\n if (message.resetMail != null && message.hasOwnProperty(\"resetMail\"))\r\n if (!$util.isString(message.resetMail))\r\n return \"resetMail: string expected\";\r\n if (message.permission != null && message.hasOwnProperty(\"permission\")) {\r\n if (!$util.isObject(message.permission))\r\n return \"permission: object expected\";\r\n var key = Object.keys(message.permission);\r\n for (var i = 0; i < key.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.StoreUserPermissionList.verify(message.permission[key[i]]);\r\n if (error)\r\n return \"permission.\" + error;\r\n }\r\n }\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n if (!$util.isInteger(message.state))\r\n return \"state: integer expected\";\r\n if (message.lock != null && message.hasOwnProperty(\"lock\"))\r\n if (!$util.isInteger(message.lock))\r\n return \"lock: integer expected\";\r\n if (message.active != null && message.hasOwnProperty(\"active\"))\r\n if (!$util.isInteger(message.active))\r\n return \"active: integer expected\";\r\n if (message.lastUpdateTime != null && message.hasOwnProperty(\"lastUpdateTime\"))\r\n if (!$util.isInteger(message.lastUpdateTime))\r\n return \"lastUpdateTime: integer expected\";\r\n if (message.lastUpdateUser != null && message.hasOwnProperty(\"lastUpdateUser\"))\r\n if (!$util.isString(message.lastUpdateUser))\r\n return \"lastUpdateUser: string expected\";\r\n if (message.cancelDate != null && message.hasOwnProperty(\"cancelDate\"))\r\n if (!$util.isString(message.cancelDate))\r\n return \"cancelDate: string expected\";\r\n if (message.permissionId != null && message.hasOwnProperty(\"permissionId\"))\r\n if (!$util.isInteger(message.permissionId))\r\n return \"permissionId: integer expected\";\r\n if (message.releaseState != null && message.hasOwnProperty(\"releaseState\"))\r\n if (!$util.isInteger(message.releaseState))\r\n return \"releaseState: integer expected\";\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n if (!$util.isString(message.tidNumber))\r\n return \"tidNumber: string expected\";\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n if (!$util.isString(message.storeCode))\r\n return \"storeCode: string expected\";\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n if (!$util.isString(message.registerName))\r\n return \"registerName: string expected\";\r\n if (message.motify != null && message.hasOwnProperty(\"motify\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.StoreUserMotify.verify(message.motify);\r\n if (error)\r\n return \"motify.\" + error;\r\n }\r\n if (message.rejectReason != null && message.hasOwnProperty(\"rejectReason\"))\r\n if (!$util.isString(message.rejectReason))\r\n return \"rejectReason: string expected\";\r\n if (message.selectMap != null && message.hasOwnProperty(\"selectMap\")) {\r\n if (!$util.isObject(message.selectMap))\r\n return \"selectMap: object expected\";\r\n var key = Object.keys(message.selectMap);\r\n for (var i = 0; i < key.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.StoreUserPermissionList.verify(message.selectMap[key[i]]);\r\n if (error)\r\n return \"selectMap.\" + error;\r\n }\r\n }\r\n if (message.systemGenerate != null && message.hasOwnProperty(\"systemGenerate\"))\r\n if (!$util.isInteger(message.systemGenerate))\r\n return \"systemGenerate: integer expected\";\r\n if (message.loginFailedCount != null && message.hasOwnProperty(\"loginFailedCount\"))\r\n if (!$util.isInteger(message.loginFailedCount))\r\n return \"loginFailedCount: integer expected\";\r\n if (message.resetExpiresIn != null && message.hasOwnProperty(\"resetExpiresIn\"))\r\n if (!$util.isInteger(message.resetExpiresIn))\r\n return \"resetExpiresIn: integer expected\";\r\n if (message.continueDate != null && message.hasOwnProperty(\"continueDate\"))\r\n if (!$util.isString(message.continueDate))\r\n return \"continueDate: string expected\";\r\n if (message.loginType != null && message.hasOwnProperty(\"loginType\"))\r\n if (!$util.isInteger(message.loginType))\r\n return \"loginType: integer expected\";\r\n if (message.storeCancelDate != null && message.hasOwnProperty(\"storeCancelDate\"))\r\n if (!$util.isString(message.storeCancelDate))\r\n return \"storeCancelDate: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a StoreUser message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.StoreUser} StoreUser\r\n */\r\n StoreUser.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.StoreUser)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.StoreUser();\r\n if (object.storeUserTempId != null)\r\n message.storeUserTempId = object.storeUserTempId | 0;\r\n if (object.storeUserId != null)\r\n message.storeUserId = object.storeUserId | 0;\r\n if (object.actionType != null)\r\n message.actionType = object.actionType | 0;\r\n if (object.type != null)\r\n message.type = object.type | 0;\r\n if (object.identification != null)\r\n message.identification = String(object.identification);\r\n if (object.account != null)\r\n message.account = String(object.account);\r\n if (object.resetMail != null)\r\n message.resetMail = String(object.resetMail);\r\n if (object.permission) {\r\n if (typeof object.permission !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.StoreUser.permission: object expected\");\r\n message.permission = {};\r\n for (var keys = Object.keys(object.permission), i = 0; i < keys.length; ++i) {\r\n if (typeof object.permission[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.StoreUser.permission: object expected\");\r\n message.permission[keys[i]] = $root.TCBReceiptApi.Protobuf.StoreUserPermissionList.fromObject(object.permission[keys[i]]);\r\n }\r\n }\r\n if (object.state != null)\r\n message.state = object.state | 0;\r\n if (object.lock != null)\r\n message.lock = object.lock | 0;\r\n if (object.active != null)\r\n message.active = object.active | 0;\r\n if (object.lastUpdateTime != null)\r\n message.lastUpdateTime = object.lastUpdateTime | 0;\r\n if (object.lastUpdateUser != null)\r\n message.lastUpdateUser = String(object.lastUpdateUser);\r\n if (object.cancelDate != null)\r\n message.cancelDate = String(object.cancelDate);\r\n if (object.permissionId != null)\r\n message.permissionId = object.permissionId | 0;\r\n if (object.releaseState != null)\r\n message.releaseState = object.releaseState | 0;\r\n if (object.tidNumber != null)\r\n message.tidNumber = String(object.tidNumber);\r\n if (object.storeCode != null)\r\n message.storeCode = String(object.storeCode);\r\n if (object.registerName != null)\r\n message.registerName = String(object.registerName);\r\n if (object.motify != null) {\r\n if (typeof object.motify !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.StoreUser.motify: object expected\");\r\n message.motify = $root.TCBReceiptApi.Protobuf.StoreUserMotify.fromObject(object.motify);\r\n }\r\n if (object.rejectReason != null)\r\n message.rejectReason = String(object.rejectReason);\r\n if (object.selectMap) {\r\n if (typeof object.selectMap !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.StoreUser.selectMap: object expected\");\r\n message.selectMap = {};\r\n for (var keys = Object.keys(object.selectMap), i = 0; i < keys.length; ++i) {\r\n if (typeof object.selectMap[keys[i]] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.StoreUser.selectMap: object expected\");\r\n message.selectMap[keys[i]] = $root.TCBReceiptApi.Protobuf.StoreUserPermissionList.fromObject(object.selectMap[keys[i]]);\r\n }\r\n }\r\n if (object.systemGenerate != null)\r\n message.systemGenerate = object.systemGenerate | 0;\r\n if (object.loginFailedCount != null)\r\n message.loginFailedCount = object.loginFailedCount | 0;\r\n if (object.resetExpiresIn != null)\r\n message.resetExpiresIn = object.resetExpiresIn | 0;\r\n if (object.continueDate != null)\r\n message.continueDate = String(object.continueDate);\r\n if (object.loginType != null)\r\n message.loginType = object.loginType | 0;\r\n if (object.storeCancelDate != null)\r\n message.storeCancelDate = String(object.storeCancelDate);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a StoreUser message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.StoreUser} message StoreUser\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n StoreUser.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.objects || options.defaults) {\r\n object.permission = {};\r\n object.selectMap = {};\r\n }\r\n if (options.defaults) {\r\n object.storeUserTempId = 0;\r\n object.storeUserId = 0;\r\n object.actionType = 0;\r\n object.type = 0;\r\n object.identification = \"\";\r\n object.account = \"\";\r\n object.resetMail = \"\";\r\n object.state = 0;\r\n object.lock = 0;\r\n object.active = 0;\r\n object.lastUpdateTime = 0;\r\n object.lastUpdateUser = \"\";\r\n object.cancelDate = \"\";\r\n object.permissionId = 0;\r\n object.releaseState = 0;\r\n object.tidNumber = \"\";\r\n object.storeCode = \"\";\r\n object.registerName = \"\";\r\n object.motify = null;\r\n object.rejectReason = \"\";\r\n object.systemGenerate = 0;\r\n object.loginFailedCount = 0;\r\n object.resetExpiresIn = 0;\r\n object.continueDate = \"\";\r\n object.loginType = 0;\r\n object.storeCancelDate = \"\";\r\n }\r\n if (message.storeUserTempId != null && message.hasOwnProperty(\"storeUserTempId\"))\r\n object.storeUserTempId = message.storeUserTempId;\r\n if (message.storeUserId != null && message.hasOwnProperty(\"storeUserId\"))\r\n object.storeUserId = message.storeUserId;\r\n if (message.actionType != null && message.hasOwnProperty(\"actionType\"))\r\n object.actionType = message.actionType;\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.identification != null && message.hasOwnProperty(\"identification\"))\r\n object.identification = message.identification;\r\n if (message.account != null && message.hasOwnProperty(\"account\"))\r\n object.account = message.account;\r\n if (message.resetMail != null && message.hasOwnProperty(\"resetMail\"))\r\n object.resetMail = message.resetMail;\r\n var keys2;\r\n if (message.permission && (keys2 = Object.keys(message.permission)).length) {\r\n object.permission = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.permission[keys2[j]] = $root.TCBReceiptApi.Protobuf.StoreUserPermissionList.toObject(message.permission[keys2[j]], options);\r\n }\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n object.state = message.state;\r\n if (message.lock != null && message.hasOwnProperty(\"lock\"))\r\n object.lock = message.lock;\r\n if (message.active != null && message.hasOwnProperty(\"active\"))\r\n object.active = message.active;\r\n if (message.lastUpdateTime != null && message.hasOwnProperty(\"lastUpdateTime\"))\r\n object.lastUpdateTime = message.lastUpdateTime;\r\n if (message.lastUpdateUser != null && message.hasOwnProperty(\"lastUpdateUser\"))\r\n object.lastUpdateUser = message.lastUpdateUser;\r\n if (message.cancelDate != null && message.hasOwnProperty(\"cancelDate\"))\r\n object.cancelDate = message.cancelDate;\r\n if (message.permissionId != null && message.hasOwnProperty(\"permissionId\"))\r\n object.permissionId = message.permissionId;\r\n if (message.releaseState != null && message.hasOwnProperty(\"releaseState\"))\r\n object.releaseState = message.releaseState;\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n object.tidNumber = message.tidNumber;\r\n if (message.storeCode != null && message.hasOwnProperty(\"storeCode\"))\r\n object.storeCode = message.storeCode;\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n object.registerName = message.registerName;\r\n if (message.motify != null && message.hasOwnProperty(\"motify\"))\r\n object.motify = $root.TCBReceiptApi.Protobuf.StoreUserMotify.toObject(message.motify, options);\r\n if (message.rejectReason != null && message.hasOwnProperty(\"rejectReason\"))\r\n object.rejectReason = message.rejectReason;\r\n if (message.selectMap && (keys2 = Object.keys(message.selectMap)).length) {\r\n object.selectMap = {};\r\n for (var j = 0; j < keys2.length; ++j)\r\n object.selectMap[keys2[j]] = $root.TCBReceiptApi.Protobuf.StoreUserPermissionList.toObject(message.selectMap[keys2[j]], options);\r\n }\r\n if (message.systemGenerate != null && message.hasOwnProperty(\"systemGenerate\"))\r\n object.systemGenerate = message.systemGenerate;\r\n if (message.loginFailedCount != null && message.hasOwnProperty(\"loginFailedCount\"))\r\n object.loginFailedCount = message.loginFailedCount;\r\n if (message.resetExpiresIn != null && message.hasOwnProperty(\"resetExpiresIn\"))\r\n object.resetExpiresIn = message.resetExpiresIn;\r\n if (message.continueDate != null && message.hasOwnProperty(\"continueDate\"))\r\n object.continueDate = message.continueDate;\r\n if (message.loginType != null && message.hasOwnProperty(\"loginType\"))\r\n object.loginType = message.loginType;\r\n if (message.storeCancelDate != null && message.hasOwnProperty(\"storeCancelDate\"))\r\n object.storeCancelDate = message.storeCancelDate;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this StoreUser to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.StoreUser\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n StoreUser.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return StoreUser;\r\n })();\r\n\r\n Protobuf.StoreUserList = (function() {\r\n\r\n /**\r\n * Properties of a StoreUserList.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IStoreUserList\r\n * @property {Array.|null} [list] StoreUserList list\r\n * @property {number|null} [total] StoreUserList total\r\n */\r\n\r\n /**\r\n * Constructs a new StoreUserList.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a StoreUserList.\r\n * @implements IStoreUserList\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserList=} [properties] Properties to set\r\n */\r\n function StoreUserList(properties) {\r\n this.list = [];\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * StoreUserList list.\r\n * @member {Array.} list\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserList\r\n * @instance\r\n */\r\n StoreUserList.prototype.list = $util.emptyArray;\r\n\r\n /**\r\n * StoreUserList total.\r\n * @member {number} total\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserList\r\n * @instance\r\n */\r\n StoreUserList.prototype.total = 0;\r\n\r\n /**\r\n * Creates a new StoreUserList instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserList=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserList} StoreUserList instance\r\n */\r\n StoreUserList.create = function create(properties) {\r\n return new StoreUserList(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreUserList message. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreUserList.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserList} message StoreUserList message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreUserList.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.list != null && message.list.length)\r\n for (var i = 0; i < message.list.length; ++i)\r\n $root.TCBReceiptApi.Protobuf.StoreUser.encode(message.list[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();\r\n if (message.total != null && Object.hasOwnProperty.call(message, \"total\"))\r\n writer.uint32(/* id 2, wireType 0 =*/16).int32(message.total);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreUserList message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreUserList.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserList} message StoreUserList message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreUserList.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a StoreUserList message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserList\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserList} StoreUserList\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreUserList.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.StoreUserList();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n if (!(message.list && message.list.length))\r\n message.list = [];\r\n message.list.push($root.TCBReceiptApi.Protobuf.StoreUser.decode(reader, reader.uint32()));\r\n break;\r\n case 2:\r\n message.total = reader.int32();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a StoreUserList message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserList\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserList} StoreUserList\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreUserList.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a StoreUserList message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserList\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n StoreUserList.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.list != null && message.hasOwnProperty(\"list\")) {\r\n if (!Array.isArray(message.list))\r\n return \"list: array expected\";\r\n for (var i = 0; i < message.list.length; ++i) {\r\n var error = $root.TCBReceiptApi.Protobuf.StoreUser.verify(message.list[i]);\r\n if (error)\r\n return \"list.\" + error;\r\n }\r\n }\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n if (!$util.isInteger(message.total))\r\n return \"total: integer expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a StoreUserList message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserList\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserList} StoreUserList\r\n */\r\n StoreUserList.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.StoreUserList)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.StoreUserList();\r\n if (object.list) {\r\n if (!Array.isArray(object.list))\r\n throw TypeError(\".TCBReceiptApi.Protobuf.StoreUserList.list: array expected\");\r\n message.list = [];\r\n for (var i = 0; i < object.list.length; ++i) {\r\n if (typeof object.list[i] !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.StoreUserList.list: object expected\");\r\n message.list[i] = $root.TCBReceiptApi.Protobuf.StoreUser.fromObject(object.list[i]);\r\n }\r\n }\r\n if (object.total != null)\r\n message.total = object.total | 0;\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a StoreUserList message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserList\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.StoreUserList} message StoreUserList\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n StoreUserList.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.arrays || options.defaults)\r\n object.list = [];\r\n if (options.defaults)\r\n object.total = 0;\r\n if (message.list && message.list.length) {\r\n object.list = [];\r\n for (var j = 0; j < message.list.length; ++j)\r\n object.list[j] = $root.TCBReceiptApi.Protobuf.StoreUser.toObject(message.list[j], options);\r\n }\r\n if (message.total != null && message.hasOwnProperty(\"total\"))\r\n object.total = message.total;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this StoreUserList to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserList\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n StoreUserList.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return StoreUserList;\r\n })();\r\n\r\n Protobuf.StoreUserQuery = (function() {\r\n\r\n /**\r\n * Properties of a StoreUserQuery.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IStoreUserQuery\r\n * @property {number|null} [releaseState] StoreUserQuery releaseState\r\n * @property {number|null} [type] StoreUserQuery type\r\n * @property {string|null} [identification] StoreUserQuery identification\r\n * @property {string|null} [account] StoreUserQuery account\r\n * @property {number|null} [state] StoreUserQuery state\r\n * @property {TCBReceiptApi.Protobuf.IPagination|null} [pagination] StoreUserQuery pagination\r\n */\r\n\r\n /**\r\n * Constructs a new StoreUserQuery.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a StoreUserQuery.\r\n * @implements IStoreUserQuery\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserQuery=} [properties] Properties to set\r\n */\r\n function StoreUserQuery(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * StoreUserQuery releaseState.\r\n * @member {number} releaseState\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserQuery\r\n * @instance\r\n */\r\n StoreUserQuery.prototype.releaseState = 0;\r\n\r\n /**\r\n * StoreUserQuery type.\r\n * @member {number} type\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserQuery\r\n * @instance\r\n */\r\n StoreUserQuery.prototype.type = 0;\r\n\r\n /**\r\n * StoreUserQuery identification.\r\n * @member {string} identification\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserQuery\r\n * @instance\r\n */\r\n StoreUserQuery.prototype.identification = \"\";\r\n\r\n /**\r\n * StoreUserQuery account.\r\n * @member {string} account\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserQuery\r\n * @instance\r\n */\r\n StoreUserQuery.prototype.account = \"\";\r\n\r\n /**\r\n * StoreUserQuery state.\r\n * @member {number} state\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserQuery\r\n * @instance\r\n */\r\n StoreUserQuery.prototype.state = 0;\r\n\r\n /**\r\n * StoreUserQuery pagination.\r\n * @member {TCBReceiptApi.Protobuf.IPagination|null|undefined} pagination\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserQuery\r\n * @instance\r\n */\r\n StoreUserQuery.prototype.pagination = null;\r\n\r\n /**\r\n * Creates a new StoreUserQuery instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserQuery=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserQuery} StoreUserQuery instance\r\n */\r\n StoreUserQuery.create = function create(properties) {\r\n return new StoreUserQuery(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreUserQuery message. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreUserQuery.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserQuery} message StoreUserQuery message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreUserQuery.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.releaseState != null && Object.hasOwnProperty.call(message, \"releaseState\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.releaseState);\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 2, wireType 0 =*/16).int32(message.type);\r\n if (message.identification != null && Object.hasOwnProperty.call(message, \"identification\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.identification);\r\n if (message.account != null && Object.hasOwnProperty.call(message, \"account\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.account);\r\n if (message.state != null && Object.hasOwnProperty.call(message, \"state\"))\r\n writer.uint32(/* id 5, wireType 0 =*/40).int32(message.state);\r\n if (message.pagination != null && Object.hasOwnProperty.call(message, \"pagination\"))\r\n $root.TCBReceiptApi.Protobuf.Pagination.encode(message.pagination, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreUserQuery message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreUserQuery.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserQuery} message StoreUserQuery message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreUserQuery.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a StoreUserQuery message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserQuery\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserQuery} StoreUserQuery\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreUserQuery.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.StoreUserQuery();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.releaseState = reader.int32();\r\n break;\r\n case 2:\r\n message.type = reader.int32();\r\n break;\r\n case 3:\r\n message.identification = reader.string();\r\n break;\r\n case 4:\r\n message.account = reader.string();\r\n break;\r\n case 5:\r\n message.state = reader.int32();\r\n break;\r\n case 6:\r\n message.pagination = $root.TCBReceiptApi.Protobuf.Pagination.decode(reader, reader.uint32());\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a StoreUserQuery message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserQuery\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserQuery} StoreUserQuery\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreUserQuery.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a StoreUserQuery message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserQuery\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n StoreUserQuery.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.releaseState != null && message.hasOwnProperty(\"releaseState\"))\r\n if (!$util.isInteger(message.releaseState))\r\n return \"releaseState: integer expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isInteger(message.type))\r\n return \"type: integer expected\";\r\n if (message.identification != null && message.hasOwnProperty(\"identification\"))\r\n if (!$util.isString(message.identification))\r\n return \"identification: string expected\";\r\n if (message.account != null && message.hasOwnProperty(\"account\"))\r\n if (!$util.isString(message.account))\r\n return \"account: string expected\";\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n if (!$util.isInteger(message.state))\r\n return \"state: integer expected\";\r\n if (message.pagination != null && message.hasOwnProperty(\"pagination\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.Pagination.verify(message.pagination);\r\n if (error)\r\n return \"pagination.\" + error;\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a StoreUserQuery message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserQuery\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserQuery} StoreUserQuery\r\n */\r\n StoreUserQuery.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.StoreUserQuery)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.StoreUserQuery();\r\n if (object.releaseState != null)\r\n message.releaseState = object.releaseState | 0;\r\n if (object.type != null)\r\n message.type = object.type | 0;\r\n if (object.identification != null)\r\n message.identification = String(object.identification);\r\n if (object.account != null)\r\n message.account = String(object.account);\r\n if (object.state != null)\r\n message.state = object.state | 0;\r\n if (object.pagination != null) {\r\n if (typeof object.pagination !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.StoreUserQuery.pagination: object expected\");\r\n message.pagination = $root.TCBReceiptApi.Protobuf.Pagination.fromObject(object.pagination);\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a StoreUserQuery message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserQuery\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.StoreUserQuery} message StoreUserQuery\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n StoreUserQuery.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.releaseState = 0;\r\n object.type = 0;\r\n object.identification = \"\";\r\n object.account = \"\";\r\n object.state = 0;\r\n object.pagination = null;\r\n }\r\n if (message.releaseState != null && message.hasOwnProperty(\"releaseState\"))\r\n object.releaseState = message.releaseState;\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.identification != null && message.hasOwnProperty(\"identification\"))\r\n object.identification = message.identification;\r\n if (message.account != null && message.hasOwnProperty(\"account\"))\r\n object.account = message.account;\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n object.state = message.state;\r\n if (message.pagination != null && message.hasOwnProperty(\"pagination\"))\r\n object.pagination = $root.TCBReceiptApi.Protobuf.Pagination.toObject(message.pagination, options);\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this StoreUserQuery to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserQuery\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n StoreUserQuery.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return StoreUserQuery;\r\n })();\r\n\r\n Protobuf.StoreUserExport = (function() {\r\n\r\n /**\r\n * Properties of a StoreUserExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IStoreUserExport\r\n * @property {string|null} [identification] StoreUserExport identification\r\n * @property {string|null} [registerName] StoreUserExport registerName\r\n * @property {string|null} [type] StoreUserExport type\r\n * @property {string|null} [account] StoreUserExport account\r\n * @property {string|null} [resetMail] StoreUserExport resetMail\r\n * @property {string|null} [state] StoreUserExport state\r\n * @property {string|null} [lock] StoreUserExport lock\r\n * @property {string|null} [storeCancelDate] StoreUserExport storeCancelDate\r\n * @property {string|null} [accountCancelDate] StoreUserExport accountCancelDate\r\n * @property {string|null} [lastUpdateTime] StoreUserExport lastUpdateTime\r\n * @property {string|null} [lastUpdateUser] StoreUserExport lastUpdateUser\r\n * @property {string|null} [active] StoreUserExport active\r\n */\r\n\r\n /**\r\n * Constructs a new StoreUserExport.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a StoreUserExport.\r\n * @implements IStoreUserExport\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserExport=} [properties] Properties to set\r\n */\r\n function StoreUserExport(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * StoreUserExport identification.\r\n * @member {string} identification\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserExport\r\n * @instance\r\n */\r\n StoreUserExport.prototype.identification = \"\";\r\n\r\n /**\r\n * StoreUserExport registerName.\r\n * @member {string} registerName\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserExport\r\n * @instance\r\n */\r\n StoreUserExport.prototype.registerName = \"\";\r\n\r\n /**\r\n * StoreUserExport type.\r\n * @member {string} type\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserExport\r\n * @instance\r\n */\r\n StoreUserExport.prototype.type = \"\";\r\n\r\n /**\r\n * StoreUserExport account.\r\n * @member {string} account\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserExport\r\n * @instance\r\n */\r\n StoreUserExport.prototype.account = \"\";\r\n\r\n /**\r\n * StoreUserExport resetMail.\r\n * @member {string} resetMail\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserExport\r\n * @instance\r\n */\r\n StoreUserExport.prototype.resetMail = \"\";\r\n\r\n /**\r\n * StoreUserExport state.\r\n * @member {string} state\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserExport\r\n * @instance\r\n */\r\n StoreUserExport.prototype.state = \"\";\r\n\r\n /**\r\n * StoreUserExport lock.\r\n * @member {string} lock\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserExport\r\n * @instance\r\n */\r\n StoreUserExport.prototype.lock = \"\";\r\n\r\n /**\r\n * StoreUserExport storeCancelDate.\r\n * @member {string} storeCancelDate\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserExport\r\n * @instance\r\n */\r\n StoreUserExport.prototype.storeCancelDate = \"\";\r\n\r\n /**\r\n * StoreUserExport accountCancelDate.\r\n * @member {string} accountCancelDate\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserExport\r\n * @instance\r\n */\r\n StoreUserExport.prototype.accountCancelDate = \"\";\r\n\r\n /**\r\n * StoreUserExport lastUpdateTime.\r\n * @member {string} lastUpdateTime\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserExport\r\n * @instance\r\n */\r\n StoreUserExport.prototype.lastUpdateTime = \"\";\r\n\r\n /**\r\n * StoreUserExport lastUpdateUser.\r\n * @member {string} lastUpdateUser\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserExport\r\n * @instance\r\n */\r\n StoreUserExport.prototype.lastUpdateUser = \"\";\r\n\r\n /**\r\n * StoreUserExport active.\r\n * @member {string} active\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserExport\r\n * @instance\r\n */\r\n StoreUserExport.prototype.active = \"\";\r\n\r\n /**\r\n * Creates a new StoreUserExport instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserExport=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserExport} StoreUserExport instance\r\n */\r\n StoreUserExport.create = function create(properties) {\r\n return new StoreUserExport(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreUserExport message. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreUserExport.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserExport} message StoreUserExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreUserExport.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.identification != null && Object.hasOwnProperty.call(message, \"identification\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.identification);\r\n if (message.registerName != null && Object.hasOwnProperty.call(message, \"registerName\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.registerName);\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.type);\r\n if (message.account != null && Object.hasOwnProperty.call(message, \"account\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.account);\r\n if (message.resetMail != null && Object.hasOwnProperty.call(message, \"resetMail\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.resetMail);\r\n if (message.state != null && Object.hasOwnProperty.call(message, \"state\"))\r\n writer.uint32(/* id 6, wireType 2 =*/50).string(message.state);\r\n if (message.lock != null && Object.hasOwnProperty.call(message, \"lock\"))\r\n writer.uint32(/* id 7, wireType 2 =*/58).string(message.lock);\r\n if (message.storeCancelDate != null && Object.hasOwnProperty.call(message, \"storeCancelDate\"))\r\n writer.uint32(/* id 8, wireType 2 =*/66).string(message.storeCancelDate);\r\n if (message.accountCancelDate != null && Object.hasOwnProperty.call(message, \"accountCancelDate\"))\r\n writer.uint32(/* id 9, wireType 2 =*/74).string(message.accountCancelDate);\r\n if (message.lastUpdateTime != null && Object.hasOwnProperty.call(message, \"lastUpdateTime\"))\r\n writer.uint32(/* id 10, wireType 2 =*/82).string(message.lastUpdateTime);\r\n if (message.lastUpdateUser != null && Object.hasOwnProperty.call(message, \"lastUpdateUser\"))\r\n writer.uint32(/* id 11, wireType 2 =*/90).string(message.lastUpdateUser);\r\n if (message.active != null && Object.hasOwnProperty.call(message, \"active\"))\r\n writer.uint32(/* id 12, wireType 2 =*/98).string(message.active);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified StoreUserExport message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.StoreUserExport.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IStoreUserExport} message StoreUserExport message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n StoreUserExport.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a StoreUserExport message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserExport} StoreUserExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreUserExport.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.StoreUserExport();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.identification = reader.string();\r\n break;\r\n case 2:\r\n message.registerName = reader.string();\r\n break;\r\n case 3:\r\n message.type = reader.string();\r\n break;\r\n case 4:\r\n message.account = reader.string();\r\n break;\r\n case 5:\r\n message.resetMail = reader.string();\r\n break;\r\n case 6:\r\n message.state = reader.string();\r\n break;\r\n case 7:\r\n message.lock = reader.string();\r\n break;\r\n case 8:\r\n message.storeCancelDate = reader.string();\r\n break;\r\n case 9:\r\n message.accountCancelDate = reader.string();\r\n break;\r\n case 10:\r\n message.lastUpdateTime = reader.string();\r\n break;\r\n case 11:\r\n message.lastUpdateUser = reader.string();\r\n break;\r\n case 12:\r\n message.active = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a StoreUserExport message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserExport\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserExport} StoreUserExport\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n StoreUserExport.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a StoreUserExport message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserExport\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n StoreUserExport.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.identification != null && message.hasOwnProperty(\"identification\"))\r\n if (!$util.isString(message.identification))\r\n return \"identification: string expected\";\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n if (!$util.isString(message.registerName))\r\n return \"registerName: string expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isString(message.type))\r\n return \"type: string expected\";\r\n if (message.account != null && message.hasOwnProperty(\"account\"))\r\n if (!$util.isString(message.account))\r\n return \"account: string expected\";\r\n if (message.resetMail != null && message.hasOwnProperty(\"resetMail\"))\r\n if (!$util.isString(message.resetMail))\r\n return \"resetMail: string expected\";\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n if (!$util.isString(message.state))\r\n return \"state: string expected\";\r\n if (message.lock != null && message.hasOwnProperty(\"lock\"))\r\n if (!$util.isString(message.lock))\r\n return \"lock: string expected\";\r\n if (message.storeCancelDate != null && message.hasOwnProperty(\"storeCancelDate\"))\r\n if (!$util.isString(message.storeCancelDate))\r\n return \"storeCancelDate: string expected\";\r\n if (message.accountCancelDate != null && message.hasOwnProperty(\"accountCancelDate\"))\r\n if (!$util.isString(message.accountCancelDate))\r\n return \"accountCancelDate: string expected\";\r\n if (message.lastUpdateTime != null && message.hasOwnProperty(\"lastUpdateTime\"))\r\n if (!$util.isString(message.lastUpdateTime))\r\n return \"lastUpdateTime: string expected\";\r\n if (message.lastUpdateUser != null && message.hasOwnProperty(\"lastUpdateUser\"))\r\n if (!$util.isString(message.lastUpdateUser))\r\n return \"lastUpdateUser: string expected\";\r\n if (message.active != null && message.hasOwnProperty(\"active\"))\r\n if (!$util.isString(message.active))\r\n return \"active: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a StoreUserExport message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserExport\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.StoreUserExport} StoreUserExport\r\n */\r\n StoreUserExport.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.StoreUserExport)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.StoreUserExport();\r\n if (object.identification != null)\r\n message.identification = String(object.identification);\r\n if (object.registerName != null)\r\n message.registerName = String(object.registerName);\r\n if (object.type != null)\r\n message.type = String(object.type);\r\n if (object.account != null)\r\n message.account = String(object.account);\r\n if (object.resetMail != null)\r\n message.resetMail = String(object.resetMail);\r\n if (object.state != null)\r\n message.state = String(object.state);\r\n if (object.lock != null)\r\n message.lock = String(object.lock);\r\n if (object.storeCancelDate != null)\r\n message.storeCancelDate = String(object.storeCancelDate);\r\n if (object.accountCancelDate != null)\r\n message.accountCancelDate = String(object.accountCancelDate);\r\n if (object.lastUpdateTime != null)\r\n message.lastUpdateTime = String(object.lastUpdateTime);\r\n if (object.lastUpdateUser != null)\r\n message.lastUpdateUser = String(object.lastUpdateUser);\r\n if (object.active != null)\r\n message.active = String(object.active);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a StoreUserExport message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserExport\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.StoreUserExport} message StoreUserExport\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n StoreUserExport.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.identification = \"\";\r\n object.registerName = \"\";\r\n object.type = \"\";\r\n object.account = \"\";\r\n object.resetMail = \"\";\r\n object.state = \"\";\r\n object.lock = \"\";\r\n object.storeCancelDate = \"\";\r\n object.accountCancelDate = \"\";\r\n object.lastUpdateTime = \"\";\r\n object.lastUpdateUser = \"\";\r\n object.active = \"\";\r\n }\r\n if (message.identification != null && message.hasOwnProperty(\"identification\"))\r\n object.identification = message.identification;\r\n if (message.registerName != null && message.hasOwnProperty(\"registerName\"))\r\n object.registerName = message.registerName;\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.account != null && message.hasOwnProperty(\"account\"))\r\n object.account = message.account;\r\n if (message.resetMail != null && message.hasOwnProperty(\"resetMail\"))\r\n object.resetMail = message.resetMail;\r\n if (message.state != null && message.hasOwnProperty(\"state\"))\r\n object.state = message.state;\r\n if (message.lock != null && message.hasOwnProperty(\"lock\"))\r\n object.lock = message.lock;\r\n if (message.storeCancelDate != null && message.hasOwnProperty(\"storeCancelDate\"))\r\n object.storeCancelDate = message.storeCancelDate;\r\n if (message.accountCancelDate != null && message.hasOwnProperty(\"accountCancelDate\"))\r\n object.accountCancelDate = message.accountCancelDate;\r\n if (message.lastUpdateTime != null && message.hasOwnProperty(\"lastUpdateTime\"))\r\n object.lastUpdateTime = message.lastUpdateTime;\r\n if (message.lastUpdateUser != null && message.hasOwnProperty(\"lastUpdateUser\"))\r\n object.lastUpdateUser = message.lastUpdateUser;\r\n if (message.active != null && message.hasOwnProperty(\"active\"))\r\n object.active = message.active;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this StoreUserExport to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.StoreUserExport\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n StoreUserExport.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return StoreUserExport;\r\n })();\r\n\r\n /**\r\n * ReleaseState enum.\r\n * @name TCBReceiptApi.Protobuf.ReleaseState\r\n * @enum {number}\r\n * @property {number} RS_NONE=0 RS_NONE value\r\n * @property {number} RS_REJECT=1 RS_REJECT value\r\n * @property {number} RS_PENDING=2 RS_PENDING value\r\n * @property {number} RS_RELEASE=3 RS_RELEASE value\r\n */\r\n Protobuf.ReleaseState = (function() {\r\n var valuesById = {}, values = Object.create(valuesById);\r\n values[valuesById[0] = \"RS_NONE\"] = 0;\r\n values[valuesById[1] = \"RS_REJECT\"] = 1;\r\n values[valuesById[2] = \"RS_PENDING\"] = 2;\r\n values[valuesById[3] = \"RS_RELEASE\"] = 3;\r\n return values;\r\n })();\r\n\r\n /**\r\n * ActionType enum.\r\n * @name TCBReceiptApi.Protobuf.ActionType\r\n * @enum {number}\r\n * @property {number} AT_NONE=0 AT_NONE value\r\n * @property {number} AT_ADD=1 AT_ADD value\r\n * @property {number} AT_EDIT=2 AT_EDIT value\r\n * @property {number} AT_DELETE=3 AT_DELETE value\r\n */\r\n Protobuf.ActionType = (function() {\r\n var valuesById = {}, values = Object.create(valuesById);\r\n values[valuesById[0] = \"AT_NONE\"] = 0;\r\n values[valuesById[1] = \"AT_ADD\"] = 1;\r\n values[valuesById[2] = \"AT_EDIT\"] = 2;\r\n values[valuesById[3] = \"AT_DELETE\"] = 3;\r\n return values;\r\n })();\r\n\r\n /**\r\n * PendingTotalType enum.\r\n * @name TCBReceiptApi.Protobuf.PendingTotalType\r\n * @enum {number}\r\n * @property {number} PTT_NONE=0 PTT_NONE value\r\n * @property {number} PTT_STORE=1 PTT_STORE value\r\n * @property {number} PTT_STORE_USER=2 PTT_STORE_USER value\r\n * @property {number} PTT_E_RECEIPT_USER=3 PTT_E_RECEIPT_USER value\r\n * @property {number} PTT_RECEIPT_PREFIX=4 PTT_RECEIPT_PREFIX value\r\n * @property {number} PTT_RECEIPT_MANUAL=5 PTT_RECEIPT_MANUAL value\r\n * @property {number} PTT_RECEIPT_VOID=6 PTT_RECEIPT_VOID value\r\n * @property {number} PTT_NO_STORE_VENDEE=7 PTT_NO_STORE_VENDEE value\r\n * @property {number} PTT_ANNOUNCEMENT=8 PTT_ANNOUNCEMENT value\r\n */\r\n Protobuf.PendingTotalType = (function() {\r\n var valuesById = {}, values = Object.create(valuesById);\r\n values[valuesById[0] = \"PTT_NONE\"] = 0;\r\n values[valuesById[1] = \"PTT_STORE\"] = 1;\r\n values[valuesById[2] = \"PTT_STORE_USER\"] = 2;\r\n values[valuesById[3] = \"PTT_E_RECEIPT_USER\"] = 3;\r\n values[valuesById[4] = \"PTT_RECEIPT_PREFIX\"] = 4;\r\n values[valuesById[5] = \"PTT_RECEIPT_MANUAL\"] = 5;\r\n values[valuesById[6] = \"PTT_RECEIPT_VOID\"] = 6;\r\n values[valuesById[7] = \"PTT_NO_STORE_VENDEE\"] = 7;\r\n values[valuesById[8] = \"PTT_ANNOUNCEMENT\"] = 8;\r\n return values;\r\n })();\r\n\r\n Protobuf.Login = (function() {\r\n\r\n /**\r\n * Properties of a Login.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface ILogin\r\n * @property {string|null} [identification] Login identification\r\n * @property {string|null} [account] Login account\r\n * @property {Uint8Array|null} [password] Login password\r\n * @property {string|null} [checkCode] Login checkCode\r\n * @property {number|null} [id] Login id\r\n */\r\n\r\n /**\r\n * Constructs a new Login.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a Login.\r\n * @implements ILogin\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.ILogin=} [properties] Properties to set\r\n */\r\n function Login(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * Login identification.\r\n * @member {string} identification\r\n * @memberof TCBReceiptApi.Protobuf.Login\r\n * @instance\r\n */\r\n Login.prototype.identification = \"\";\r\n\r\n /**\r\n * Login account.\r\n * @member {string} account\r\n * @memberof TCBReceiptApi.Protobuf.Login\r\n * @instance\r\n */\r\n Login.prototype.account = \"\";\r\n\r\n /**\r\n * Login password.\r\n * @member {Uint8Array} password\r\n * @memberof TCBReceiptApi.Protobuf.Login\r\n * @instance\r\n */\r\n Login.prototype.password = $util.newBuffer([]);\r\n\r\n /**\r\n * Login checkCode.\r\n * @member {string} checkCode\r\n * @memberof TCBReceiptApi.Protobuf.Login\r\n * @instance\r\n */\r\n Login.prototype.checkCode = \"\";\r\n\r\n /**\r\n * Login id.\r\n * @member {number} id\r\n * @memberof TCBReceiptApi.Protobuf.Login\r\n * @instance\r\n */\r\n Login.prototype.id = 0;\r\n\r\n /**\r\n * Creates a new Login instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.Login\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ILogin=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.Login} Login instance\r\n */\r\n Login.create = function create(properties) {\r\n return new Login(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified Login message. Does not implicitly {@link TCBReceiptApi.Protobuf.Login.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.Login\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ILogin} message Login message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Login.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.identification != null && Object.hasOwnProperty.call(message, \"identification\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.identification);\r\n if (message.account != null && Object.hasOwnProperty.call(message, \"account\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.account);\r\n if (message.password != null && Object.hasOwnProperty.call(message, \"password\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.password);\r\n if (message.checkCode != null && Object.hasOwnProperty.call(message, \"checkCode\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.checkCode);\r\n if (message.id != null && Object.hasOwnProperty.call(message, \"id\"))\r\n writer.uint32(/* id 5, wireType 0 =*/40).int32(message.id);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified Login message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.Login.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Login\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.ILogin} message Login message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n Login.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a Login message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.Login\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.Login} Login\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Login.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.Login();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.identification = reader.string();\r\n break;\r\n case 2:\r\n message.account = reader.string();\r\n break;\r\n case 3:\r\n message.password = reader.bytes();\r\n break;\r\n case 4:\r\n message.checkCode = reader.string();\r\n break;\r\n case 5:\r\n message.id = reader.int32();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a Login message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.Login\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.Login} Login\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n Login.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a Login message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.Login\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n Login.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.identification != null && message.hasOwnProperty(\"identification\"))\r\n if (!$util.isString(message.identification))\r\n return \"identification: string expected\";\r\n if (message.account != null && message.hasOwnProperty(\"account\"))\r\n if (!$util.isString(message.account))\r\n return \"account: string expected\";\r\n if (message.password != null && message.hasOwnProperty(\"password\"))\r\n if (!(message.password && typeof message.password.length === \"number\" || $util.isString(message.password)))\r\n return \"password: buffer expected\";\r\n if (message.checkCode != null && message.hasOwnProperty(\"checkCode\"))\r\n if (!$util.isString(message.checkCode))\r\n return \"checkCode: string expected\";\r\n if (message.id != null && message.hasOwnProperty(\"id\"))\r\n if (!$util.isInteger(message.id))\r\n return \"id: integer expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a Login message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.Login\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.Login} Login\r\n */\r\n Login.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.Login)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.Login();\r\n if (object.identification != null)\r\n message.identification = String(object.identification);\r\n if (object.account != null)\r\n message.account = String(object.account);\r\n if (object.password != null)\r\n if (typeof object.password === \"string\")\r\n $util.base64.decode(object.password, message.password = $util.newBuffer($util.base64.length(object.password)), 0);\r\n else if (object.password.length)\r\n message.password = object.password;\r\n if (object.checkCode != null)\r\n message.checkCode = String(object.checkCode);\r\n if (object.id != null)\r\n message.id = object.id | 0;\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a Login message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.Login\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.Login} message Login\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n Login.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.identification = \"\";\r\n object.account = \"\";\r\n if (options.bytes === String)\r\n object.password = \"\";\r\n else {\r\n object.password = [];\r\n if (options.bytes !== Array)\r\n object.password = $util.newBuffer(object.password);\r\n }\r\n object.checkCode = \"\";\r\n object.id = 0;\r\n }\r\n if (message.identification != null && message.hasOwnProperty(\"identification\"))\r\n object.identification = message.identification;\r\n if (message.account != null && message.hasOwnProperty(\"account\"))\r\n object.account = message.account;\r\n if (message.password != null && message.hasOwnProperty(\"password\"))\r\n object.password = options.bytes === String ? $util.base64.encode(message.password, 0, message.password.length) : options.bytes === Array ? Array.prototype.slice.call(message.password) : message.password;\r\n if (message.checkCode != null && message.hasOwnProperty(\"checkCode\"))\r\n object.checkCode = message.checkCode;\r\n if (message.id != null && message.hasOwnProperty(\"id\"))\r\n object.id = message.id;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this Login to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.Login\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n Login.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return Login;\r\n })();\r\n\r\n Protobuf.BackCredentials = (function() {\r\n\r\n /**\r\n * Properties of a BackCredentials.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IBackCredentials\r\n * @property {string|null} [code] BackCredentials code\r\n * @property {string|null} [userName] BackCredentials userName\r\n * @property {string|null} [branchBankCode] BackCredentials branchBankCode\r\n */\r\n\r\n /**\r\n * Constructs a new BackCredentials.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a BackCredentials.\r\n * @implements IBackCredentials\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IBackCredentials=} [properties] Properties to set\r\n */\r\n function BackCredentials(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * BackCredentials code.\r\n * @member {string} code\r\n * @memberof TCBReceiptApi.Protobuf.BackCredentials\r\n * @instance\r\n */\r\n BackCredentials.prototype.code = \"\";\r\n\r\n /**\r\n * BackCredentials userName.\r\n * @member {string} userName\r\n * @memberof TCBReceiptApi.Protobuf.BackCredentials\r\n * @instance\r\n */\r\n BackCredentials.prototype.userName = \"\";\r\n\r\n /**\r\n * BackCredentials branchBankCode.\r\n * @member {string} branchBankCode\r\n * @memberof TCBReceiptApi.Protobuf.BackCredentials\r\n * @instance\r\n */\r\n BackCredentials.prototype.branchBankCode = \"\";\r\n\r\n /**\r\n * Creates a new BackCredentials instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.BackCredentials\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IBackCredentials=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.BackCredentials} BackCredentials instance\r\n */\r\n BackCredentials.create = function create(properties) {\r\n return new BackCredentials(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified BackCredentials message. Does not implicitly {@link TCBReceiptApi.Protobuf.BackCredentials.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.BackCredentials\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IBackCredentials} message BackCredentials message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n BackCredentials.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.code != null && Object.hasOwnProperty.call(message, \"code\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.code);\r\n if (message.userName != null && Object.hasOwnProperty.call(message, \"userName\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.userName);\r\n if (message.branchBankCode != null && Object.hasOwnProperty.call(message, \"branchBankCode\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.branchBankCode);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified BackCredentials message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.BackCredentials.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.BackCredentials\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IBackCredentials} message BackCredentials message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n BackCredentials.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a BackCredentials message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.BackCredentials\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.BackCredentials} BackCredentials\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n BackCredentials.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.BackCredentials();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.code = reader.string();\r\n break;\r\n case 2:\r\n message.userName = reader.string();\r\n break;\r\n case 3:\r\n message.branchBankCode = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a BackCredentials message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.BackCredentials\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.BackCredentials} BackCredentials\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n BackCredentials.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a BackCredentials message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.BackCredentials\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n BackCredentials.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.code != null && message.hasOwnProperty(\"code\"))\r\n if (!$util.isString(message.code))\r\n return \"code: string expected\";\r\n if (message.userName != null && message.hasOwnProperty(\"userName\"))\r\n if (!$util.isString(message.userName))\r\n return \"userName: string expected\";\r\n if (message.branchBankCode != null && message.hasOwnProperty(\"branchBankCode\"))\r\n if (!$util.isString(message.branchBankCode))\r\n return \"branchBankCode: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a BackCredentials message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.BackCredentials\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.BackCredentials} BackCredentials\r\n */\r\n BackCredentials.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.BackCredentials)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.BackCredentials();\r\n if (object.code != null)\r\n message.code = String(object.code);\r\n if (object.userName != null)\r\n message.userName = String(object.userName);\r\n if (object.branchBankCode != null)\r\n message.branchBankCode = String(object.branchBankCode);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a BackCredentials message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.BackCredentials\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.BackCredentials} message BackCredentials\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n BackCredentials.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.code = \"\";\r\n object.userName = \"\";\r\n object.branchBankCode = \"\";\r\n }\r\n if (message.code != null && message.hasOwnProperty(\"code\"))\r\n object.code = message.code;\r\n if (message.userName != null && message.hasOwnProperty(\"userName\"))\r\n object.userName = message.userName;\r\n if (message.branchBankCode != null && message.hasOwnProperty(\"branchBankCode\"))\r\n object.branchBankCode = message.branchBankCode;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this BackCredentials to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.BackCredentials\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n BackCredentials.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return BackCredentials;\r\n })();\r\n\r\n Protobuf.FrontCredentials = (function() {\r\n\r\n /**\r\n * Properties of a FrontCredentials.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IFrontCredentials\r\n * @property {string|null} [identification] FrontCredentials identification\r\n * @property {string|null} [account] FrontCredentials account\r\n * @property {string|null} [permissionId] FrontCredentials permissionId\r\n * @property {string|null} [storeUserId] FrontCredentials storeUserId\r\n * @property {string|null} [tidNumber] FrontCredentials tidNumber\r\n */\r\n\r\n /**\r\n * Constructs a new FrontCredentials.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a FrontCredentials.\r\n * @implements IFrontCredentials\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IFrontCredentials=} [properties] Properties to set\r\n */\r\n function FrontCredentials(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * FrontCredentials identification.\r\n * @member {string} identification\r\n * @memberof TCBReceiptApi.Protobuf.FrontCredentials\r\n * @instance\r\n */\r\n FrontCredentials.prototype.identification = \"\";\r\n\r\n /**\r\n * FrontCredentials account.\r\n * @member {string} account\r\n * @memberof TCBReceiptApi.Protobuf.FrontCredentials\r\n * @instance\r\n */\r\n FrontCredentials.prototype.account = \"\";\r\n\r\n /**\r\n * FrontCredentials permissionId.\r\n * @member {string} permissionId\r\n * @memberof TCBReceiptApi.Protobuf.FrontCredentials\r\n * @instance\r\n */\r\n FrontCredentials.prototype.permissionId = \"\";\r\n\r\n /**\r\n * FrontCredentials storeUserId.\r\n * @member {string} storeUserId\r\n * @memberof TCBReceiptApi.Protobuf.FrontCredentials\r\n * @instance\r\n */\r\n FrontCredentials.prototype.storeUserId = \"\";\r\n\r\n /**\r\n * FrontCredentials tidNumber.\r\n * @member {string} tidNumber\r\n * @memberof TCBReceiptApi.Protobuf.FrontCredentials\r\n * @instance\r\n */\r\n FrontCredentials.prototype.tidNumber = \"\";\r\n\r\n /**\r\n * Creates a new FrontCredentials instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.FrontCredentials\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IFrontCredentials=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.FrontCredentials} FrontCredentials instance\r\n */\r\n FrontCredentials.create = function create(properties) {\r\n return new FrontCredentials(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified FrontCredentials message. Does not implicitly {@link TCBReceiptApi.Protobuf.FrontCredentials.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.FrontCredentials\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IFrontCredentials} message FrontCredentials message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n FrontCredentials.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.identification != null && Object.hasOwnProperty.call(message, \"identification\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.identification);\r\n if (message.account != null && Object.hasOwnProperty.call(message, \"account\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).string(message.account);\r\n if (message.permissionId != null && Object.hasOwnProperty.call(message, \"permissionId\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).string(message.permissionId);\r\n if (message.storeUserId != null && Object.hasOwnProperty.call(message, \"storeUserId\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.storeUserId);\r\n if (message.tidNumber != null && Object.hasOwnProperty.call(message, \"tidNumber\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.tidNumber);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified FrontCredentials message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.FrontCredentials.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.FrontCredentials\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IFrontCredentials} message FrontCredentials message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n FrontCredentials.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a FrontCredentials message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.FrontCredentials\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.FrontCredentials} FrontCredentials\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n FrontCredentials.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.FrontCredentials();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.identification = reader.string();\r\n break;\r\n case 2:\r\n message.account = reader.string();\r\n break;\r\n case 3:\r\n message.permissionId = reader.string();\r\n break;\r\n case 4:\r\n message.storeUserId = reader.string();\r\n break;\r\n case 5:\r\n message.tidNumber = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a FrontCredentials message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.FrontCredentials\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.FrontCredentials} FrontCredentials\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n FrontCredentials.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a FrontCredentials message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.FrontCredentials\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n FrontCredentials.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.identification != null && message.hasOwnProperty(\"identification\"))\r\n if (!$util.isString(message.identification))\r\n return \"identification: string expected\";\r\n if (message.account != null && message.hasOwnProperty(\"account\"))\r\n if (!$util.isString(message.account))\r\n return \"account: string expected\";\r\n if (message.permissionId != null && message.hasOwnProperty(\"permissionId\"))\r\n if (!$util.isString(message.permissionId))\r\n return \"permissionId: string expected\";\r\n if (message.storeUserId != null && message.hasOwnProperty(\"storeUserId\"))\r\n if (!$util.isString(message.storeUserId))\r\n return \"storeUserId: string expected\";\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n if (!$util.isString(message.tidNumber))\r\n return \"tidNumber: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a FrontCredentials message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.FrontCredentials\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.FrontCredentials} FrontCredentials\r\n */\r\n FrontCredentials.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.FrontCredentials)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.FrontCredentials();\r\n if (object.identification != null)\r\n message.identification = String(object.identification);\r\n if (object.account != null)\r\n message.account = String(object.account);\r\n if (object.permissionId != null)\r\n message.permissionId = String(object.permissionId);\r\n if (object.storeUserId != null)\r\n message.storeUserId = String(object.storeUserId);\r\n if (object.tidNumber != null)\r\n message.tidNumber = String(object.tidNumber);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a FrontCredentials message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.FrontCredentials\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.FrontCredentials} message FrontCredentials\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n FrontCredentials.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.identification = \"\";\r\n object.account = \"\";\r\n object.permissionId = \"\";\r\n object.storeUserId = \"\";\r\n object.tidNumber = \"\";\r\n }\r\n if (message.identification != null && message.hasOwnProperty(\"identification\"))\r\n object.identification = message.identification;\r\n if (message.account != null && message.hasOwnProperty(\"account\"))\r\n object.account = message.account;\r\n if (message.permissionId != null && message.hasOwnProperty(\"permissionId\"))\r\n object.permissionId = message.permissionId;\r\n if (message.storeUserId != null && message.hasOwnProperty(\"storeUserId\"))\r\n object.storeUserId = message.storeUserId;\r\n if (message.tidNumber != null && message.hasOwnProperty(\"tidNumber\"))\r\n object.tidNumber = message.tidNumber;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this FrontCredentials to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.FrontCredentials\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n FrontCredentials.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return FrontCredentials;\r\n })();\r\n\r\n Protobuf.UserAuth = (function() {\r\n\r\n /**\r\n * Properties of a UserAuth.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IUserAuth\r\n * @property {string|null} [token] UserAuth token\r\n * @property {TCBReceiptApi.Protobuf.IGroupPermission|null} [groupPermission] UserAuth groupPermission\r\n * @property {number|null} [loginType] UserAuth loginType\r\n * @property {number|null} [loginFailedCount] UserAuth loginFailedCount\r\n * @property {string|null} [name] UserAuth name\r\n * @property {number|null} [type] UserAuth type\r\n * @property {number|null} [expireTime] UserAuth expireTime\r\n */\r\n\r\n /**\r\n * Constructs a new UserAuth.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a UserAuth.\r\n * @implements IUserAuth\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IUserAuth=} [properties] Properties to set\r\n */\r\n function UserAuth(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * UserAuth token.\r\n * @member {string} token\r\n * @memberof TCBReceiptApi.Protobuf.UserAuth\r\n * @instance\r\n */\r\n UserAuth.prototype.token = \"\";\r\n\r\n /**\r\n * UserAuth groupPermission.\r\n * @member {TCBReceiptApi.Protobuf.IGroupPermission|null|undefined} groupPermission\r\n * @memberof TCBReceiptApi.Protobuf.UserAuth\r\n * @instance\r\n */\r\n UserAuth.prototype.groupPermission = null;\r\n\r\n /**\r\n * UserAuth loginType.\r\n * @member {number} loginType\r\n * @memberof TCBReceiptApi.Protobuf.UserAuth\r\n * @instance\r\n */\r\n UserAuth.prototype.loginType = 0;\r\n\r\n /**\r\n * UserAuth loginFailedCount.\r\n * @member {number} loginFailedCount\r\n * @memberof TCBReceiptApi.Protobuf.UserAuth\r\n * @instance\r\n */\r\n UserAuth.prototype.loginFailedCount = 0;\r\n\r\n /**\r\n * UserAuth name.\r\n * @member {string} name\r\n * @memberof TCBReceiptApi.Protobuf.UserAuth\r\n * @instance\r\n */\r\n UserAuth.prototype.name = \"\";\r\n\r\n /**\r\n * UserAuth type.\r\n * @member {number} type\r\n * @memberof TCBReceiptApi.Protobuf.UserAuth\r\n * @instance\r\n */\r\n UserAuth.prototype.type = 0;\r\n\r\n /**\r\n * UserAuth expireTime.\r\n * @member {number} expireTime\r\n * @memberof TCBReceiptApi.Protobuf.UserAuth\r\n * @instance\r\n */\r\n UserAuth.prototype.expireTime = 0;\r\n\r\n /**\r\n * Creates a new UserAuth instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.UserAuth\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IUserAuth=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.UserAuth} UserAuth instance\r\n */\r\n UserAuth.create = function create(properties) {\r\n return new UserAuth(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified UserAuth message. Does not implicitly {@link TCBReceiptApi.Protobuf.UserAuth.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.UserAuth\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IUserAuth} message UserAuth message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n UserAuth.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.token != null && Object.hasOwnProperty.call(message, \"token\"))\r\n writer.uint32(/* id 1, wireType 2 =*/10).string(message.token);\r\n if (message.groupPermission != null && Object.hasOwnProperty.call(message, \"groupPermission\"))\r\n $root.TCBReceiptApi.Protobuf.GroupPermission.encode(message.groupPermission, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();\r\n if (message.loginType != null && Object.hasOwnProperty.call(message, \"loginType\"))\r\n writer.uint32(/* id 3, wireType 0 =*/24).int32(message.loginType);\r\n if (message.loginFailedCount != null && Object.hasOwnProperty.call(message, \"loginFailedCount\"))\r\n writer.uint32(/* id 4, wireType 0 =*/32).int32(message.loginFailedCount);\r\n if (message.name != null && Object.hasOwnProperty.call(message, \"name\"))\r\n writer.uint32(/* id 5, wireType 2 =*/42).string(message.name);\r\n if (message.type != null && Object.hasOwnProperty.call(message, \"type\"))\r\n writer.uint32(/* id 6, wireType 0 =*/48).int32(message.type);\r\n if (message.expireTime != null && Object.hasOwnProperty.call(message, \"expireTime\"))\r\n writer.uint32(/* id 7, wireType 0 =*/56).int32(message.expireTime);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified UserAuth message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.UserAuth.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.UserAuth\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IUserAuth} message UserAuth message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n UserAuth.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a UserAuth message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.UserAuth\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.UserAuth} UserAuth\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n UserAuth.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.UserAuth();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.token = reader.string();\r\n break;\r\n case 2:\r\n message.groupPermission = $root.TCBReceiptApi.Protobuf.GroupPermission.decode(reader, reader.uint32());\r\n break;\r\n case 3:\r\n message.loginType = reader.int32();\r\n break;\r\n case 4:\r\n message.loginFailedCount = reader.int32();\r\n break;\r\n case 5:\r\n message.name = reader.string();\r\n break;\r\n case 6:\r\n message.type = reader.int32();\r\n break;\r\n case 7:\r\n message.expireTime = reader.int32();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a UserAuth message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.UserAuth\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.UserAuth} UserAuth\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n UserAuth.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a UserAuth message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.UserAuth\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n UserAuth.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.token != null && message.hasOwnProperty(\"token\"))\r\n if (!$util.isString(message.token))\r\n return \"token: string expected\";\r\n if (message.groupPermission != null && message.hasOwnProperty(\"groupPermission\")) {\r\n var error = $root.TCBReceiptApi.Protobuf.GroupPermission.verify(message.groupPermission);\r\n if (error)\r\n return \"groupPermission.\" + error;\r\n }\r\n if (message.loginType != null && message.hasOwnProperty(\"loginType\"))\r\n if (!$util.isInteger(message.loginType))\r\n return \"loginType: integer expected\";\r\n if (message.loginFailedCount != null && message.hasOwnProperty(\"loginFailedCount\"))\r\n if (!$util.isInteger(message.loginFailedCount))\r\n return \"loginFailedCount: integer expected\";\r\n if (message.name != null && message.hasOwnProperty(\"name\"))\r\n if (!$util.isString(message.name))\r\n return \"name: string expected\";\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n if (!$util.isInteger(message.type))\r\n return \"type: integer expected\";\r\n if (message.expireTime != null && message.hasOwnProperty(\"expireTime\"))\r\n if (!$util.isInteger(message.expireTime))\r\n return \"expireTime: integer expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a UserAuth message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.UserAuth\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.UserAuth} UserAuth\r\n */\r\n UserAuth.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.UserAuth)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.UserAuth();\r\n if (object.token != null)\r\n message.token = String(object.token);\r\n if (object.groupPermission != null) {\r\n if (typeof object.groupPermission !== \"object\")\r\n throw TypeError(\".TCBReceiptApi.Protobuf.UserAuth.groupPermission: object expected\");\r\n message.groupPermission = $root.TCBReceiptApi.Protobuf.GroupPermission.fromObject(object.groupPermission);\r\n }\r\n if (object.loginType != null)\r\n message.loginType = object.loginType | 0;\r\n if (object.loginFailedCount != null)\r\n message.loginFailedCount = object.loginFailedCount | 0;\r\n if (object.name != null)\r\n message.name = String(object.name);\r\n if (object.type != null)\r\n message.type = object.type | 0;\r\n if (object.expireTime != null)\r\n message.expireTime = object.expireTime | 0;\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a UserAuth message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.UserAuth\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.UserAuth} message UserAuth\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n UserAuth.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.token = \"\";\r\n object.groupPermission = null;\r\n object.loginType = 0;\r\n object.loginFailedCount = 0;\r\n object.name = \"\";\r\n object.type = 0;\r\n object.expireTime = 0;\r\n }\r\n if (message.token != null && message.hasOwnProperty(\"token\"))\r\n object.token = message.token;\r\n if (message.groupPermission != null && message.hasOwnProperty(\"groupPermission\"))\r\n object.groupPermission = $root.TCBReceiptApi.Protobuf.GroupPermission.toObject(message.groupPermission, options);\r\n if (message.loginType != null && message.hasOwnProperty(\"loginType\"))\r\n object.loginType = message.loginType;\r\n if (message.loginFailedCount != null && message.hasOwnProperty(\"loginFailedCount\"))\r\n object.loginFailedCount = message.loginFailedCount;\r\n if (message.name != null && message.hasOwnProperty(\"name\"))\r\n object.name = message.name;\r\n if (message.type != null && message.hasOwnProperty(\"type\"))\r\n object.type = message.type;\r\n if (message.expireTime != null && message.hasOwnProperty(\"expireTime\"))\r\n object.expireTime = message.expireTime;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this UserAuth to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.UserAuth\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n UserAuth.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return UserAuth;\r\n })();\r\n\r\n Protobuf.PasswordMotify = (function() {\r\n\r\n /**\r\n * Properties of a PasswordMotify.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @interface IPasswordMotify\r\n * @property {number|null} [id] PasswordMotify id\r\n * @property {Uint8Array|null} [oldPassword] PasswordMotify oldPassword\r\n * @property {Uint8Array|null} [newPassword] PasswordMotify newPassword\r\n * @property {string|null} [resetMail] PasswordMotify resetMail\r\n */\r\n\r\n /**\r\n * Constructs a new PasswordMotify.\r\n * @memberof TCBReceiptApi.Protobuf\r\n * @classdesc Represents a PasswordMotify.\r\n * @implements IPasswordMotify\r\n * @constructor\r\n * @param {TCBReceiptApi.Protobuf.IPasswordMotify=} [properties] Properties to set\r\n */\r\n function PasswordMotify(properties) {\r\n if (properties)\r\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\r\n if (properties[keys[i]] != null)\r\n this[keys[i]] = properties[keys[i]];\r\n }\r\n\r\n /**\r\n * PasswordMotify id.\r\n * @member {number} id\r\n * @memberof TCBReceiptApi.Protobuf.PasswordMotify\r\n * @instance\r\n */\r\n PasswordMotify.prototype.id = 0;\r\n\r\n /**\r\n * PasswordMotify oldPassword.\r\n * @member {Uint8Array} oldPassword\r\n * @memberof TCBReceiptApi.Protobuf.PasswordMotify\r\n * @instance\r\n */\r\n PasswordMotify.prototype.oldPassword = $util.newBuffer([]);\r\n\r\n /**\r\n * PasswordMotify newPassword.\r\n * @member {Uint8Array} newPassword\r\n * @memberof TCBReceiptApi.Protobuf.PasswordMotify\r\n * @instance\r\n */\r\n PasswordMotify.prototype.newPassword = $util.newBuffer([]);\r\n\r\n /**\r\n * PasswordMotify resetMail.\r\n * @member {string} resetMail\r\n * @memberof TCBReceiptApi.Protobuf.PasswordMotify\r\n * @instance\r\n */\r\n PasswordMotify.prototype.resetMail = \"\";\r\n\r\n /**\r\n * Creates a new PasswordMotify instance using the specified properties.\r\n * @function create\r\n * @memberof TCBReceiptApi.Protobuf.PasswordMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IPasswordMotify=} [properties] Properties to set\r\n * @returns {TCBReceiptApi.Protobuf.PasswordMotify} PasswordMotify instance\r\n */\r\n PasswordMotify.create = function create(properties) {\r\n return new PasswordMotify(properties);\r\n };\r\n\r\n /**\r\n * Encodes the specified PasswordMotify message. Does not implicitly {@link TCBReceiptApi.Protobuf.PasswordMotify.verify|verify} messages.\r\n * @function encode\r\n * @memberof TCBReceiptApi.Protobuf.PasswordMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IPasswordMotify} message PasswordMotify message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n PasswordMotify.encode = function encode(message, writer) {\r\n if (!writer)\r\n writer = $Writer.create();\r\n if (message.id != null && Object.hasOwnProperty.call(message, \"id\"))\r\n writer.uint32(/* id 1, wireType 0 =*/8).int32(message.id);\r\n if (message.oldPassword != null && Object.hasOwnProperty.call(message, \"oldPassword\"))\r\n writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.oldPassword);\r\n if (message.newPassword != null && Object.hasOwnProperty.call(message, \"newPassword\"))\r\n writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.newPassword);\r\n if (message.resetMail != null && Object.hasOwnProperty.call(message, \"resetMail\"))\r\n writer.uint32(/* id 4, wireType 2 =*/34).string(message.resetMail);\r\n return writer;\r\n };\r\n\r\n /**\r\n * Encodes the specified PasswordMotify message, length delimited. Does not implicitly {@link TCBReceiptApi.Protobuf.PasswordMotify.verify|verify} messages.\r\n * @function encodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.PasswordMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.IPasswordMotify} message PasswordMotify message or plain object to encode\r\n * @param {$protobuf.Writer} [writer] Writer to encode to\r\n * @returns {$protobuf.Writer} Writer\r\n */\r\n PasswordMotify.encodeDelimited = function encodeDelimited(message, writer) {\r\n return this.encode(message, writer).ldelim();\r\n };\r\n\r\n /**\r\n * Decodes a PasswordMotify message from the specified reader or buffer.\r\n * @function decode\r\n * @memberof TCBReceiptApi.Protobuf.PasswordMotify\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @param {number} [length] Message length if known beforehand\r\n * @returns {TCBReceiptApi.Protobuf.PasswordMotify} PasswordMotify\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n PasswordMotify.decode = function decode(reader, length) {\r\n if (!(reader instanceof $Reader))\r\n reader = $Reader.create(reader);\r\n var end = length === undefined ? reader.len : reader.pos + length, message = new $root.TCBReceiptApi.Protobuf.PasswordMotify();\r\n while (reader.pos < end) {\r\n var tag = reader.uint32();\r\n switch (tag >>> 3) {\r\n case 1:\r\n message.id = reader.int32();\r\n break;\r\n case 2:\r\n message.oldPassword = reader.bytes();\r\n break;\r\n case 3:\r\n message.newPassword = reader.bytes();\r\n break;\r\n case 4:\r\n message.resetMail = reader.string();\r\n break;\r\n default:\r\n reader.skipType(tag & 7);\r\n break;\r\n }\r\n }\r\n return message;\r\n };\r\n\r\n /**\r\n * Decodes a PasswordMotify message from the specified reader or buffer, length delimited.\r\n * @function decodeDelimited\r\n * @memberof TCBReceiptApi.Protobuf.PasswordMotify\r\n * @static\r\n * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from\r\n * @returns {TCBReceiptApi.Protobuf.PasswordMotify} PasswordMotify\r\n * @throws {Error} If the payload is not a reader or valid buffer\r\n * @throws {$protobuf.util.ProtocolError} If required fields are missing\r\n */\r\n PasswordMotify.decodeDelimited = function decodeDelimited(reader) {\r\n if (!(reader instanceof $Reader))\r\n reader = new $Reader(reader);\r\n return this.decode(reader, reader.uint32());\r\n };\r\n\r\n /**\r\n * Verifies a PasswordMotify message.\r\n * @function verify\r\n * @memberof TCBReceiptApi.Protobuf.PasswordMotify\r\n * @static\r\n * @param {Object.} message Plain object to verify\r\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\r\n */\r\n PasswordMotify.verify = function verify(message) {\r\n if (typeof message !== \"object\" || message === null)\r\n return \"object expected\";\r\n if (message.id != null && message.hasOwnProperty(\"id\"))\r\n if (!$util.isInteger(message.id))\r\n return \"id: integer expected\";\r\n if (message.oldPassword != null && message.hasOwnProperty(\"oldPassword\"))\r\n if (!(message.oldPassword && typeof message.oldPassword.length === \"number\" || $util.isString(message.oldPassword)))\r\n return \"oldPassword: buffer expected\";\r\n if (message.newPassword != null && message.hasOwnProperty(\"newPassword\"))\r\n if (!(message.newPassword && typeof message.newPassword.length === \"number\" || $util.isString(message.newPassword)))\r\n return \"newPassword: buffer expected\";\r\n if (message.resetMail != null && message.hasOwnProperty(\"resetMail\"))\r\n if (!$util.isString(message.resetMail))\r\n return \"resetMail: string expected\";\r\n return null;\r\n };\r\n\r\n /**\r\n * Creates a PasswordMotify message from a plain object. Also converts values to their respective internal types.\r\n * @function fromObject\r\n * @memberof TCBReceiptApi.Protobuf.PasswordMotify\r\n * @static\r\n * @param {Object.} object Plain object\r\n * @returns {TCBReceiptApi.Protobuf.PasswordMotify} PasswordMotify\r\n */\r\n PasswordMotify.fromObject = function fromObject(object) {\r\n if (object instanceof $root.TCBReceiptApi.Protobuf.PasswordMotify)\r\n return object;\r\n var message = new $root.TCBReceiptApi.Protobuf.PasswordMotify();\r\n if (object.id != null)\r\n message.id = object.id | 0;\r\n if (object.oldPassword != null)\r\n if (typeof object.oldPassword === \"string\")\r\n $util.base64.decode(object.oldPassword, message.oldPassword = $util.newBuffer($util.base64.length(object.oldPassword)), 0);\r\n else if (object.oldPassword.length)\r\n message.oldPassword = object.oldPassword;\r\n if (object.newPassword != null)\r\n if (typeof object.newPassword === \"string\")\r\n $util.base64.decode(object.newPassword, message.newPassword = $util.newBuffer($util.base64.length(object.newPassword)), 0);\r\n else if (object.newPassword.length)\r\n message.newPassword = object.newPassword;\r\n if (object.resetMail != null)\r\n message.resetMail = String(object.resetMail);\r\n return message;\r\n };\r\n\r\n /**\r\n * Creates a plain object from a PasswordMotify message. Also converts values to other types if specified.\r\n * @function toObject\r\n * @memberof TCBReceiptApi.Protobuf.PasswordMotify\r\n * @static\r\n * @param {TCBReceiptApi.Protobuf.PasswordMotify} message PasswordMotify\r\n * @param {$protobuf.IConversionOptions} [options] Conversion options\r\n * @returns {Object.} Plain object\r\n */\r\n PasswordMotify.toObject = function toObject(message, options) {\r\n if (!options)\r\n options = {};\r\n var object = {};\r\n if (options.defaults) {\r\n object.id = 0;\r\n if (options.bytes === String)\r\n object.oldPassword = \"\";\r\n else {\r\n object.oldPassword = [];\r\n if (options.bytes !== Array)\r\n object.oldPassword = $util.newBuffer(object.oldPassword);\r\n }\r\n if (options.bytes === String)\r\n object.newPassword = \"\";\r\n else {\r\n object.newPassword = [];\r\n if (options.bytes !== Array)\r\n object.newPassword = $util.newBuffer(object.newPassword);\r\n }\r\n object.resetMail = \"\";\r\n }\r\n if (message.id != null && message.hasOwnProperty(\"id\"))\r\n object.id = message.id;\r\n if (message.oldPassword != null && message.hasOwnProperty(\"oldPassword\"))\r\n object.oldPassword = options.bytes === String ? $util.base64.encode(message.oldPassword, 0, message.oldPassword.length) : options.bytes === Array ? Array.prototype.slice.call(message.oldPassword) : message.oldPassword;\r\n if (message.newPassword != null && message.hasOwnProperty(\"newPassword\"))\r\n object.newPassword = options.bytes === String ? $util.base64.encode(message.newPassword, 0, message.newPassword.length) : options.bytes === Array ? Array.prototype.slice.call(message.newPassword) : message.newPassword;\r\n if (message.resetMail != null && message.hasOwnProperty(\"resetMail\"))\r\n object.resetMail = message.resetMail;\r\n return object;\r\n };\r\n\r\n /**\r\n * Converts this PasswordMotify to JSON.\r\n * @function toJSON\r\n * @memberof TCBReceiptApi.Protobuf.PasswordMotify\r\n * @instance\r\n * @returns {Object.} JSON object\r\n */\r\n PasswordMotify.prototype.toJSON = function toJSON() {\r\n return this.constructor.toObject(this, $protobuf.util.toJSONOptions);\r\n };\r\n\r\n return PasswordMotify;\r\n })();\r\n\r\n return Protobuf;\r\n })();\r\n\r\n return TCBReceiptApi;\r\n})();\r\n\r\nmodule.exports = $root;\r\n","// eslint-disable-next-line @typescript-eslint/triple-slash-reference\r\n/// \r\n\r\nclass Log {\r\n public static info(message?: unknown, ...optionalParams: unknown[]): void {\r\n if (__LOG_INFO__) {\r\n if (optionalParams.length) {\r\n console.log(\"--------Start--------\");\r\n }\r\n console.log(message);\r\n for (const optionalParam of optionalParams) {\r\n console.log(optionalParam);\r\n }\r\n if (optionalParams.length) {\r\n console.log(\"--------End--------\");\r\n }\r\n }\r\n }\r\n\r\n public static warn(message?: unknown, ...optionalParams: unknown[]): void {\r\n if (__LOG_WARNING__) {\r\n if (optionalParams.length) {\r\n console.warn(\"--------Start--------\");\r\n }\r\n console.warn(message);\r\n for (const optionalParam of optionalParams) {\r\n console.warn(optionalParam);\r\n }\r\n if (optionalParams.length) {\r\n console.warn(\"--------End--------\");\r\n }\r\n }\r\n }\r\n\r\n public static error(message?: unknown, ...optionalParams: unknown[]): void {\r\n if (__LOG_ERROR__) {\r\n if (optionalParams.length) {\r\n console.log(\"--------Start--------\");\r\n }\r\n console.log(message);\r\n for (const optionalParam of optionalParams) {\r\n console.log(optionalParam);\r\n }\r\n if (optionalParams.length) {\r\n console.log(\"--------End--------\");\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport { Log };\r\n"],"sourceRoot":""}