{"version":3,"sources":["webpack:///./src/views/modules/ultils/status.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./src/views/modules/ultils/Form/components/Select/WidgetSelect.scss?97aa","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./src/@core/components/app-timeline/AppTimeline.vue?5160","webpack:///./src/views/modules/ultils/SearchList/SearchList.vue?1a37","webpack:///./node_modules/core-js/modules/es.array.reduce.js","webpack:///./src/@core/components/delete-dialog/DeleteDialog.vue?153d","webpack:///./src/@core/components/app-timeline/AppTimelineItem.vue?fac6","webpack:///./src/@core/components/app-timeline/AppTimelineItem.vue?7a4a","webpack:///src/@core/components/app-timeline/AppTimelineItem.vue","webpack:///./src/@core/components/app-timeline/AppTimelineItem.vue?894a","webpack:///./src/@core/components/app-timeline/AppTimelineItem.vue?c725","webpack:///./src/views/modules/ListPayAr/components/ModalDistributionAccount/ModalDistributionAccount.vue?4db6","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/node-libs-browser/node_modules/buffer/index.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./src/views/modules/ultils/Form/components/String/WidgetString.vue?2580","webpack:///src/views/modules/ultils/Form/components/String/WidgetString.vue","webpack:///./src/views/modules/ultils/Form/components/String/WidgetString.vue?a610","webpack:///./src/views/modules/ultils/Form/components/String/WidgetString.vue?ae64","webpack:///./node_modules/base64-js/index.js","webpack:///./src/views/modules/ultils/Section/SectionTransformTable.vue?d118","webpack:///src/views/modules/ultils/Section/SectionTransformTable.vue","webpack:///./src/views/modules/ultils/Section/SectionTransformTable.vue?3167","webpack:///./src/views/modules/ultils/Section/SectionTransformTable.vue?ea08","webpack:///./src/views/modules/ultils/Table/EzTable.vue?ee8c","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./src/views/modules/ultils/Button/PermissionButton.vue?2d59","webpack:///src/views/modules/ultils/Button/PermissionButton.vue","webpack:///./src/views/modules/ultils/Button/PermissionButton.vue?855e","webpack:///./src/views/modules/ultils/Button/PermissionButton.vue","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./src/views/modules/ultils/Form/components/Cleave/WidgetCleave.vue?1ae6","webpack:///src/views/modules/ultils/Form/components/Cleave/WidgetCleave.vue","webpack:///./src/views/modules/ultils/Form/components/Cleave/WidgetCleave.vue?a932","webpack:///./src/views/modules/ultils/Form/components/Cleave/WidgetCleave.vue","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./src/views/modules/ListPayAr/ListPayAr.vue?9a98","webpack:///./src/views/modules/ListPayAr/components/ModalQuickAction.vue?0cb8","webpack:///src/views/modules/ListPayAr/components/ModalQuickAction.vue","webpack:///./src/views/modules/ListPayAr/components/ModalQuickAction.vue?3977","webpack:///./src/views/modules/ListPayAr/components/ModalQuickAction.vue?7e09","webpack:///./src/views/modules/ListPayAr/components/ModalBoxAddNew.vue?5e7c","webpack:///src/views/modules/ListPayAr/components/ModalBoxAddNew.vue","webpack:///./src/views/modules/ListPayAr/components/ModalBoxAddNew.vue?52ad","webpack:///./src/views/modules/ListPayAr/components/ModalBoxAddNew.vue","webpack:///./src/views/modules/ListPayAr/components/SidebarViewPayment/SidebarViewPayment.vue?97b8","webpack:///./src/views/modules/ListPayAr/components/SidebarViewPayment/SidebarViewPayment.js","webpack:///./src/views/modules/ListPayAr/components/SidebarViewPayment/SidebarViewPayment.js?8fd5","webpack:///./src/views/modules/ListPayAr/components/SidebarViewPayment/SidebarViewPayment.vue?309a","webpack:///./src/views/modules/ListPayAr/ListPayAr.js","webpack:///./src/views/modules/ListPayAr/ListPayAr.js?a8f4","webpack:///./src/views/modules/ListPayAr/ListPayAr.vue","webpack:///./src/views/modules/ultils/PaymentForm/PaymentForDistribution.vue?6f83","webpack:///./node_modules/decimal.js/decimal.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./src/views/modules/ultils/General/GeneralInfo.vue?9b1c","webpack:///src/views/modules/ultils/General/GeneralInfo.vue","webpack:///./src/views/modules/ultils/General/GeneralInfo.vue?4cfd","webpack:///./src/views/modules/ultils/General/GeneralInfo.vue","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./src/views/modules/ultils/Table/EzTable.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./src/@core/components/confirm-dialog/ConfirmDialog.vue?7cd7","webpack:///src/@core/components/confirm-dialog/ConfirmDialog.vue","webpack:///./src/@core/components/confirm-dialog/ConfirmDialog.vue?1c3f","webpack:///./src/@core/components/confirm-dialog/ConfirmDialog.vue","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./src/views/modules/ultils/Section/SectionTransformTable.vue?ee66","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/engine-is-node.js","webpack:///./src/views/modules/ListPayAr/components/ModalQuickAction.vue?d32b","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./src/views/modules/ultils/Button/LoadingButton.vue?31d3","webpack:///src/views/modules/ultils/Button/LoadingButton.vue","webpack:///./src/views/modules/ultils/Button/LoadingButton.vue?e8ba","webpack:///./src/views/modules/ultils/Button/LoadingButton.vue","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./src/@core/components/delete-dialog/DeleteDialog.vue?183d","webpack:///src/@core/components/delete-dialog/DeleteDialog.vue","webpack:///./src/@core/components/delete-dialog/DeleteDialog.vue?a6bd","webpack:///./src/@core/components/delete-dialog/DeleteDialog.vue","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./src/views/modules/ultils/Form/components/Select/WidgetSelect.vue?b7c3","webpack:///src/views/modules/ultils/Form/components/Select/WidgetSelect.vue","webpack:///./src/views/modules/ultils/Form/components/Select/WidgetSelect.vue?3dfc","webpack:///./src/views/modules/ultils/Form/components/Select/WidgetSelect.vue","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./src/modules/SidebarLabel.vue?ecf0","webpack:///src/modules/SidebarLabel.vue","webpack:///./src/modules/SidebarLabel.vue?6af0","webpack:///./src/modules/SidebarLabel.vue?f9c6","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./src/views/modules/ultils/Button/LoadingModalButton.vue?e55b","webpack:///src/views/modules/ultils/Button/LoadingModalButton.vue","webpack:///./src/views/modules/ultils/Button/LoadingModalButton.vue?ae00","webpack:///./src/views/modules/ultils/Button/LoadingModalButton.vue","webpack:///./src/views/modules/ultils/Hooks/useFetch.ts","webpack:///./src/views/modules/ListPayAr/components/SidebarViewPayment/components/ModalBoxAddBill.vue?3a1a","webpack:///./src/views/modules/ListPayAr/components/SidebarViewPayment/SidebarViewPayment.vue?9667","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/ieee754/index.js","webpack:///./src/views/modules/ultils/Form/components/DateTime/WidgetDatetime.vue?f20e","webpack:///src/views/modules/ultils/Form/components/DateTime/WidgetDatetime.vue","webpack:///./src/views/modules/ultils/Form/components/DateTime/WidgetDatetime.vue?edd5","webpack:///./src/views/modules/ultils/Form/components/DateTime/WidgetDatetime.vue","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./src/views/modules/ListPayAr/components/ModalBoxAddNew.vue?1f5b","webpack:///./node_modules/core-js/internals/array-method-uses-to-length.js","webpack:///./src/views/modules/ultils/Table/EzTable.vue?8ccf","webpack:///./src/views/modules/ultils/Table/EzTable.js?1070","webpack:///./src/views/modules/ultils/Table/EzTable.vue?8555","webpack:///./src/views/modules/ListPayAr/components/SidebarViewPayment/components/ModalBoxAddBill.vue?43d0","webpack:///src/views/modules/ListPayAr/components/SidebarViewPayment/components/ModalBoxAddBill.vue","webpack:///./src/views/modules/ListPayAr/components/SidebarViewPayment/components/ModalBoxAddBill.vue?920f","webpack:///./src/views/modules/ListPayAr/components/SidebarViewPayment/components/ModalBoxAddBill.vue?6744","webpack:///./src/views/modules/ultils/Form/components/FormItem/FormItem.vue?bbb7","webpack:///./src/views/modules/ultils/Form/components/Separate/WidgetDivider.vue?6a82","webpack:///src/views/modules/ultils/Form/components/Separate/WidgetDivider.vue","webpack:///./src/views/modules/ultils/Form/components/Separate/WidgetDivider.vue?38c0","webpack:///./src/views/modules/ultils/Form/components/Separate/WidgetDivider.vue","webpack:///src/views/modules/ultils/Form/components/FormItem/FormItem.vue","webpack:///./src/views/modules/ultils/Form/components/FormItem/FormItem.vue?b1d4","webpack:///./src/views/modules/ultils/Form/components/FormItem/FormItem.vue","webpack:///./node_modules/node-libs-browser/node_modules/isarray/index.js","webpack:///./src/modules/SidebarLabel.vue?b8d3","webpack:///./src/views/modules/ultils/SearchList/SearchList.vue?76fb","webpack:///src/views/modules/ultils/SearchList/SearchList.vue","webpack:///./src/views/modules/ultils/SearchList/SearchList.vue?efef","webpack:///./src/views/modules/ultils/SearchList/SearchList.vue?42f4","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./src/views/modules/ultils/PaymentForm/PaymentForDistribution.vue?4d5b","webpack:///./src/views/modules/ultils/PaymentForm/PaymentForDistribution.js","webpack:///./src/views/modules/ultils/PaymentForm/PaymentForDistribution.js?47ab","webpack:///./src/views/modules/ultils/PaymentForm/PaymentForDistribution.vue","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/array-reduce.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./src/views/modules/ultils/Form/FormItems.vue?b026","webpack:///./src/views/modules/ultils/Form/FormItems.js","webpack:///./src/views/modules/ultils/Form/FormItems.js?cb66","webpack:///./src/views/modules/ultils/Form/FormItems.vue","webpack:///./src/views/modules/ultils/Form/components/String/WidgetString.vue?9931","webpack:///./src/@core/components/app-timeline/AppTimeline.vue?f110","webpack:///src/@core/components/app-timeline/AppTimeline.vue","webpack:///./src/@core/components/app-timeline/AppTimeline.vue?41b8","webpack:///./src/@core/components/app-timeline/AppTimeline.vue?2339","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./src/views/modules/ListPayAr/ListPayAr.vue?0154","webpack:///./src/views/modules/ListPayAr/components/ModalDistributionAccount/ModalDistributionAccount.vue?c76e","webpack:///src/views/modules/ListPayAr/components/ModalDistributionAccount/ModalDistributionAccount.vue","webpack:///./src/views/modules/ListPayAr/components/ModalDistributionAccount/ModalDistributionAccount.vue?3245","webpack:///./src/views/modules/ListPayAr/components/ModalDistributionAccount/ModalDistributionAccount.vue?acac","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js"],"names":["TaUserGroupType","ADMIN","USER","SUPERADMIN","TravelAgentType","AGENT","API","COMPANY","TRADING","SUPPLIER","convertTravelAgentType","type","title","_","invert","variant","convertTransactionType","transactionType","result","ArPaymentStatus","value","PaymentDetailTypeStatus","TravelAgentIsOverDraftStatus","SmsDistributionStatus","SmsStatus","DistributionStatus","ArPaymentDistributionStatus","ApPaymentStatus","CommonActiveStatus","convertPaymentDetailTypeStatus","dO","forEach","op","convertTravelAgentIsOverDraftStatus","convertDistributionStatus","convertSmsStatus","convertSmsDistributionStatus","convertCommonActiveStatus","convertArPaymentStatus","convertArPaymentDistributionStatus","convertApPaymentStatus","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","Object","getOwnPropertyDescriptor","exports","f","O","P","error","call","fails","createElement","module","defineProperty","get","a","$","$reduce","left","arrayMethodIsStrict","arrayMethodUsesToLength","CHROME_VERSION","IS_NODE","STRICT_METHOD","USES_TO_LENGTH","1","CHROME_BUG","target","proto","forced","reduce","callbackfn","this","arguments","length","undefined","render","_vm","_h","$createElement","_c","_self","_g","_b","staticClass","class","fillBorder","$attrs","$listeners","icon","attrs","_t","domProps","_s","time","subtitle","subtitle2","subtitle3","staticRenderFns","props","String","default","Boolean","component","it","TypeError","base64","ieee754","isArray","typedArraySupport","arr","Uint8Array","__proto__","prototype","foo","subarray","byteLength","e","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","arg","encodingOrOffset","Error","allocUnsafe","from","ArrayBuffer","fromArrayBuffer","fromString","fromObject","assertSize","size","alloc","fill","encoding","checked","i","string","isEncoding","actual","write","slice","fromArrayLike","array","byteOffset","obj","isBuffer","len","copy","buffer","isnan","data","toString","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","start","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","b","n","m","bidirectionalIndexOf","val","dir","isNaN","arrayIndexOf","indexOf","lastIndexOf","indexSize","arrLength","valLength","read","buf","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","fromByteArray","Math","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","push","decodeCodePointsArray","INSPECT_MAX_BYTES","global","poolSize","_augment","Symbol","species","configurable","allocUnsafeSlow","_isBuffer","compare","x","y","concat","list","pos","swap16","swap32","swap64","apply","equals","inspect","str","max","match","join","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","Array","_arr","MAX_ARGUMENTS_LENGTH","codePoints","fromCharCode","ret","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","floor","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","code","charCodeAt","INVALID_BASE64_RE","base64clean","stringtrim","replace","trim","units","Infinity","leadSurrogate","byteArray","c","hi","lo","toByteArray","src","dst","$t","placeholder","rows","disabled","currentValue","errors","on","updateData","name","validator","methods","v","console","log","$emit","watch","handler","deep","mounted","components","ValidationProvider","BFormInput","BFormGroup","BFormTextarea","lookup","revLookup","Arr","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","tmp","curByte","tripletToBase64","num","encodeChunk","uint8","output","extraBytes","parts","maxChunkLength","len2","pageSizeText","toInteger","index","integer","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","source","FORCED","key","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","isValidPermission","apiCode","style","_e","defineComponent","internalObjectKeys","enumBugKeys","hiddenKeys","getOwnPropertyNames","version","userAgent","process","versions","v8","split","nativeOn","$event","handlePaste","Cleave","_this$cleaveOptions","cleaveOptions","isNumberPositive","event","pastedData","clipboardData","window","getData","preventDefault","computed","numeral","numeralThousandsGroupStyle","numeralDecimalMark","delimiter","uppercase","blocks","creditCard","date","datePattern","defaultValue","getBuiltIn","refetchData","searchVal","formItems","ref","fixed","hideSelectAll","hideSelect","AR_IDA01","AR_RPA03","arClient","api_ExcelAR_RPA01","actions","columns","api_AR_RPA01","selectPayment","viewDetailListVoucher","removeListArPay","ArPayment","Id","scopedSlots","_u","fn","AR_IQA01","isShowQuickActionModal","_v","staticStyle","distributePayment","AR_IPA01","showModalPopupAddNew","proxy","billErrorCode","isShowModalAddNew","dataRefill","dataArClient","addDataBill","addDataEdit","isUpdatePayment","isCreatePayment","isFetchDetailDataLoading","isShowDetailsInvoiceDetail","dataViewDetailsPayment","dataRefillForBill","listCashier","listPayment","listPaymentHistory","showModalEditAddNew","addListPaymentForinvoiceDetail","fetchDataReadBill","delListArPaymentDetail","acceptEditForBillPayment","isShowModalDistributionAccount","isCreateDistribution","listSelectedRow","CurrencyCode","acceptData_AR_IDA01","formData","_ref","close","isLoading","createAutomation","model","isShow","callback","$$v","expression","onInputChange","LoadingModalButton","FormItems","setup","emit","vm","getCurrentInstance","PaymentDate","getUTC","PaymentDetailType","TotalAmount","buttonRef","formRef","dataSource","map","stt","Label","noClearable","labelOption","label","wrapperClass","dataSourceParams","Status","IsCheckPermission","required","api_AR_RCL01","customOptions","option","CodeName","TravelAgentCode","NameVi","api_AR_RAA01","InActive","ArTravelAgentId","TravelAgentId","cleaveType","maxValue","rules","labelAfterFix","showVnPriceText","timePicker","maxDate","dayjs","endOf","fetchData","mutation","useFetch","api_AR_IQA01","showLoading","afterErrorOrTimeoutFunction","func","_buttonRef$value","stopLoading","nextFunction","validate","then","success","_buttonRef$value2","startLoading","AccountId","onMounted","test","_vm$data","_vm$data2","PaymentCode","acceptDataAddVoucher","assign","readOnly","valSelectCompany","_ref2","submitterVal","isAutoCreateCode","_ref3","_vm$data3","_vm$data4","isViLanguage","format","daysOfWeek","monthNames","firstDay","dateOfFiling","_ref4","_vm$data5","paymentCode","_ref5","note","WidgetSelect","WidgetCleave","ValidationObserver","duplicateCodeMessages","duplicateValue","listCompany","$refs","AutoCode","Payer","Note","refillDataEdit","IsAutoGeneration","clearValueInput","_this$data","_this$data2","setTimeout","_this$data3","_this$data4","created","Date","add","closeSidebar","tabIndex","AR_UPA01","listGeneral","AR_IPAD01","showModalAddNew","isDetailPaymentLoading","disableToolbar","convertedListArPaymentDetail","disablePagination","editListPaymentAr","AR_HSP01","range","_vm$range","_vm$range2","fetchPaymentHistory","FromDate","startDate","ToDate","endDate","limitedListPaymentHistory","_l","OldValue","TransactionType","TransactionDate","NewValue","CreatedBy","CashierName","convertedTransaction","formatPrice","showMoreHistory","AR_UPAD01","isUpdate","isShowModalPayment","acceptDataSaveForBill","acceptDataEditForBill","PermissionButton","GeneralInfo","EzTable","SidebarLabel","PaymentForDistribution","ModalBoxAddBill","AppTimeline","WidgetDateTime","AppTimelineItem","detailRowIndex","nullable","listDataCashier","isUpdatingPayment","AR_RPAD01","AR_DPAD01","danger","caption","field","cellTemplate","formatType","cellRender","CashierCode","align","userData","JSON","parse","localStorage","getItem","currentShow","isShowAddNewBill","refillDataBill","renderNote","formattedNote","api_AR_HSP01","ArPaymentId","Data","ArTransaction","showResToast","status","startsWith","$root","delListArPayment","ArPaymentCode","deleteDialogRef","$parent","tableRate","deleteDialog","open","id","ListArPaymentDetail","content","PaymentStatus","ArTravelAgentName","afterFixLabel","formatDate","DistributionAmount","top","CreatedDate","dataGridRef","SearchList","ModalQuickAction","SectionTransformTable","ModalBoxAddNew","DeleteDialog","ConfirmDialog","DxDataGrid","DxColumn","SidebarViewPayment","DxSelection","ModalDistributionAccount","refs","fetchDataDetail","api_AR_RPA02","loadingMessage","disableSuccessMessage","createPayment","isError","isCreatePaymentError","api_AR_IPAD01","$bvModal","hide","createBill","isCreateBillError","errorCode","errorMessage","billErrorMessage","api_AR_IPA01","successMessage","api_AR_IDA01","api_AR_DPA01","successMessageMessage","provide","codeErrorMsg","externalError","KeyWord","ClientType","startDateSeach","endDateSeach","perPage","AR_RPA02","AR_DPA01","dialogContent","_data$data","minWidth","defaultIfEmpty","renderTextVariant","dateConfig","showTime","CreateBy","CreateByName","CreateByStatus","dataTableListPay","DateType","listAllotmentStates","cashierVal","isShowModalDistributionDept","clientIdSelected","isSelectedAllAccount","isSelectPayment","noReceiptList","fullDistributedList","row","showToast","paymentList","body","ArClientName","matchingClient","find","item","ClientName","fetchDataDetailsArPayment","column","rowIndex","arrayBannedCellTemplate","api_AR_UPA01","ArPaymentDetail","api_AR_DPAD01","api_AR_RPAD01","api_AR_UPAD01","deSelectedPayment","ArClientId","tableInstance","deselectRows","getKeyByRowIndex","selectedRowsData","listDataSelected","getSelectedRowsData","selectedRowsListId","newSelectedId","selectedRowKeys","selectRows","windowWidth","innerWidth","multiple","customReduce","api_AP_RTU01","TaUserCode","Fullname","listDateType","rangeData","isRange","dxDatagridRef","instance","globalScope","Decimal","inexact","quadrant","EXP_LIMIT","MAX_DIGITS","NUMERALS","LN10","PI","DEFAULTS","precision","rounding","modulo","toExpNeg","toExpPos","minE","maxE","crypto","external","decimalError","invalidArgument","precisionLimitExceeded","cryptoUnavailable","tag","mathfloor","mathpow","isBinary","isHex","isOctal","isDecimal","BASE","LOG_BASE","MAX_SAFE_INTEGER","LN10_PRECISION","PI_PRECISION","toStringTag","digitsToString","d","k","ws","indexOfLastWord","w","getZeroString","checkInt32","checkRoundingDigits","rm","repeating","di","r","rd","ceil","convertBase","baseIn","baseOut","arrL","strL","charAt","reverse","cosine","Ctor","isZero","tinyPow","taylorSeries","times","cos2x","minus","plus","absoluteValue","abs","constructor","s","finalise","clampedTo","clamp","NaN","gt","cmp","comparedTo","xdL","ydL","xd","yd","xs","ys","cos","pr","sd","toLessThanHalfPi","neg","cubeRoot","cbrt","rep","t","t3","t3plusx","toExponential","divide","eq","decimalPlaces","dp","dividedBy","div","dividedToIntegerBy","divToInt","greaterThan","greaterThanOrEqualTo","gte","hyperbolicCosine","cosh","one","cosh2_x","d8","hyperbolicSine","sinh","sqrt","sinh2_x","d5","d16","d20","hyperbolicTangent","tanh","inverseCosine","acos","halfPi","isNeg","getPi","asin","inverseHyperbolicCosine","acosh","lte","ln","inverseHyperbolicSine","asinh","inverseHyperbolicTangent","atanh","wpr","xsd","inverseSine","atan","inverseTangent","px","x2","isInteger","isInt","isNegative","isPositive","isPos","lessThan","lt","lessThanOrEqualTo","logarithm","base","isBase10","denominator","inf","guard","naturalLogarithm","getLn10","xe","xLTy","pop","shift","getBase10Exponent","mod","q","naturalExponential","exp","negated","carry","unshift","z","getPrecision","round","sine","sin","squareRoot","tangent","tan","rL","toBinary","toStringBinary","toDecimalPlaces","toDP","finiteToString","toFixed","toFraction","maxD","d0","d1","d2","n0","n1","toHexadecimal","toNearest","toNumber","toOctal","toPower","yn","intPow","toPrecision","toSignificantDigits","toSD","truncated","trunc","valueOf","multiplyInteger","temp","aL","bL","subtract","logBase","more","prod","prodL","qd","rem","remL","rem0","xi","xL","yd0","yL","yz","sign","isTruncated","digits","roundUp","xdi","isExp","nonFiniteToString","zs","truncate","isOdd","maxOrMin","args","ltgt","sum","c0","numerator","x1","parseDecimal","search","substring","parseOther","divisor","isFloat","p","sin2_x","isHyperbolic","u","pi","atan2","config","useDefaults","defaults","ps","getRandomValues","randomBytes","clone","isDecimalInstance","ROUND_UP","ROUND_DOWN","ROUND_CEIL","ROUND_FLOOR","ROUND_HALF_UP","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_CEIL","ROUND_HALF_FLOOR","EUCLID","hypot","log10","log2","random","hasOwnProperty","Uint32Array","classof","propertyIsEnumerable","cssClass","_class","getStyleObject","noCenter","rightWidth","leftWidth","styleProp","isEven","width","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","forceDisplayActions","excelExportApiCode","excelExportParams","excelExport","Function","customComponent","show","actionsConfig","externalLoading","toolbarConfig","toolbarActions","selectionConfig","actionType","pageConfig","columnResizingMode","editingConfig","editable","DxPosition","DxCustomRule","DxToolbar","Fragment","DxLoadPanel","DxItem","DxEditing","DxRequiredRule","DxColumnChooser","DxScrolling","DxPaging","DxPager","DxFilterRow","rawDataSourceParams","OffSet","Limit","totalCount","params","dataResponse","rawDataSource","calculateWidth","onContentReady","truncateWidth","decodedData","FileContents","newBlob","Blob","ContentType","url","URL","createObjectURL","document","href","download","FileDownloadName","click","revokeObjectURL","functionDataSource","tempDataSourceParams","rawApi","self","DataSource","store","CustomStore","loadMode","load","loadOptions","take","skip","customQueryParams","response","requireTotalCount","tempData","dataValues","values","TotalCount","catch","renderDate","onEditorPreparing","_this$selectionConfig","_this$selectionConfig2","parentType","command","mode","editorElement","remove","renderSlotHeader","fieldName","handlePropertyChange","fullName","renderColAlign","onCellClick","dataGridInstance","permissionList","permissionsParsed","PermissionCode","actionsSplit","iconActions","dropDownActions","templateArr","_this$columns","filter","hasSelectionChangeListener","hasExportListener","argument","dataConfirm","confirmDialog","dialog","IS_PURE","copyright","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","anObject","keys","getOwnPropertySymbols","bitmap","enumerable","writable","NATIVE_WEAK_MAP","isObject","objectHas","shared","sharedKey","WeakMap","enforce","getterFor","TYPE","state","wmget","wmhas","wmset","metadata","facade","STATE","inspectSource","InternalStateModule","getInternalState","enforceInternalState","TEMPLATE","unsafe","simple","className","requireObjectCoercible","ob","deleteItem","resetModal","dataRemove","invalid","normalizer","fnCount","opt","slot","onSelectAll","loading","node","isDisabled","disabledItemAfterFix","count","getDataSource","tempOptions","disabledItem","isGreaterThanOneArrayCurrentValue","oldValue","isOldValueSameAsNewValue","stringify","TreeselectTip","Treeselect","directives","rawName","modifiers","functionToString","usingTimeOutSubmit","fetchDataRoot","defaultData","directParams","$toast","dismiss","sec","afterErrorFunction","Messages","Code","message","MessageText","disableShowToastResCondition","afterTimeOutNextFunction","debounce","keyConverted","isTableData","takeRawData","postfix","definePropertyModule","object","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","rt","LN2","clearable","direction","ranges","timePickerIncrement","showDropDowns","labelCols","autoApply","DateRangePicker","replacement","feature","detection","normalize","POLYFILL","NATIVE","nativeDefineProperty","Attributes","METHOD_NAME","method","cache","thrower","ACCESSORS","argument0","argument1","_vm$selectionConfig","_vm$editingConfig","_vm$editingConfig2","_vm$actions","_vm$actions$filter","action","refInFor","handleExportExcel","showColumnChooser","loadIndex","captionAfterFix","fieldParentKey","stopPropagation","direct","disableColumnChooser","delete","_item$visible","_item$editingConfig","visible","rule","_item$editingConfig2","isSuperAdmin","pageSize","pageSizes","displayMode","ShowInfo","showNavigationButtons","showPageSizeSelector","payerVal","PaymentMethod","Name","TransactionCode","itemMethod","Group","Option","Description","listCurrencyLocalStorage","typeCurrencyVal","dataInputForm","Amount","$set","acceptDataSave","idPayment","_JSON$parse","currency","PaymentMethodId","PaymentTypeCode","CardNumber","ExpirationDate","PaymentGatewayCode","Qrcode","casherVal","noteVal","closeModal","convertedDataInputForm","_this$listPayment$0$P","_class2","formGroupRow","formGroupClass","labelClass","numberToVnText","customValidate","pattern","singleDatePicker","lowerCaseFirstLetter","text","renderVModel","defaultVModel","handleChange","_this$customValidate","_this$rules","_this$pattern","_this$customValidate2","extend","isValid","WidgetDivider","WidgetString","_k","keyCode","buttonText","emits","styles","LoadingButton","input","PREFERRED_STRING","resetFormData","openForm","isViewOnly","dataPayment","hideModal","paymentTypeOptions","form","handlePaymentType","ParentKeyword","listPaymentType","handleChoicePayment","showFormInputPaymentMethod","VNPAY","BANK","LS_Currency","onSelectCurrency","inputMaskByCurrency","CARD","maskCreditCard","CREDIT","AccountHolder","maskExpirationDate","PaymentMethodByVoucherInTransactionCode","VoucherCode","voucherDetail","Voucher","VoucherName","convertUTC","OpenDate","OTHER","PaymentMethodByEvoucherInTransactionCode","showMoneyExchange","totalAmountPaymentInputExchangeDisplay","CashierId","isSubmit","createPaymentDetail_IPM04","Payment","Refund","PaymentMethodGroup","AR","CASH","TMT","EZTICKET","EZGOLF","QRCODE","ROOM","VIP","paymentBase","FiscalPaymentDate","MemberId","ReceivedAmount","PaymentDetail","formBase","ClientId","DebitAccountId","Bdc","FormItem","vSelect","paymentId","number","listDebtAccount","PaymentMethods","PaymentTypeData","fields","thStyle","display","tdClass","paymentType","canShowPaymentType","paymentDr","paymentAmountInputExchange","debitAccountSelected","Cashiers","zoneId","paymentTypeName","listClient","arId","isLoadingCheckVoucher","getConfigInfo_RCOM01","getCurrencyList","baseCurrency","IsBase","NoOfDec","baseCurrencyCode","currencyCodeSelected","currencySelected","currencySelectedDetail","Format","DivBase","ExRate","totalAmountPaymentBaseCurr","totalAmountPaymentExchange","GFn_GetExchangeMoney","amountRemainPayment","receivedAmount","balance","amountRemainPaymentExchange","isPaymentDiffBase","amountRemainPaymentDisplay","totalAmountPaymentBaseCurrDisplay","totalAmountPaymentExchangeDisplay","api_AR_RCR01","ListCurrency","call_api_RMT01","api_AR_RMT01","ZoneId","async","_response$Data","ListPaymentMethod","_this$paymentTypeOpti","paymentAmountExchange","onSelectPaymentType","ev","GFn_GetBaseMoneyFromExchange","onChangeAmount","handleEvent","getPaymentMethodDefault","paymentMethods","paymentMethodDefault","paymentMethodList","s1","calTotalAmount","totalAmount","total","amount","parseFloat","paymentData","FiscalPaymentDetailDate","createFullDataExpirationDate","bookingDetailIdDistribution","getMemberPay","FullName","openModalDeletePaymentDetail","paymentDetailId","payment","getPaymentMethodNameById","openSelectARAccount","selectArAccount","arAccountData","arKey","shortExpirationDate","month","yearOld","year","baseMoney","baseMoneyToDecimal","exchangeMoney","noOfDec","exRate","exchangeMoneyToDecimal","SHARED","names","EXISTS","exec","path","aFunction","variable","namespace","nativePropertyIsEnumerable","NASHORN_BUG","V","toObject","IndexedObject","IS_RIGHT","argumentsLength","memo","right","check","globalThis","itemsConverted","items","defaultWrapperClass","updateFormData","formClass","numberOfCol","regex","formatEndDate","observerRef","_this$items","tempRules","ownKeys","getOwnPropertyDescriptorModule","isEmpty","travelAgent","totalDistribution","DistributionCode","distributionCode","ariaDescribedby","selectedDistributionType","disabledField","listAccountClient","selectedValAccount","valMoney","addListArAccount","listDistributionAdded","removeItemList","totalMoneyDistribution","acceptData","currencyCode","currencyCodeLocale","ArDistributionAccount","validateAmount","configTable","getListAccountClient_AR_RAA01","acc","TotalAmountDistribution","setLocalCurency","DistributionType","dis","tempMoneyDistributionTotal","dataField","editorOptions","_this$data$ListArDist","ArAccount","ListArDistributionAccount","ArDistributionAccountId","foundAccount","findIndex","account","finally","tableRef","saveEditData","_this$listDataSelecte","ArDistribution","PaymentDistributionCode","PaymentId","ArAccountId","editData","_currencyList$find","currencyList","foundAccountDistributionIndex","resetValue","rowData","splice","uid"],"mappings":"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","file":"js/chunk-3d432f78.b7c25054.js","sourcesContent":["import _ from \"lodash\";\n\nexport const DistributionType = {\n Auto: \"Auto\",\n Manual: \"Manual\",\n};\nexport const TaUserGroupType = {\n ADMIN: \"ADMIN\",\n USER: \"USER\",\n SUPERADMIN: \"SUPERADMIN\",\n};\nexport const TravelAgentType = {\n AGENT: 1,\n API: 2,\n COMPANY: 3,\n TRADING: 4,\n SUPPLIER :5,\n};\nexport function convertTravelAgentType(type) {\n \n return {title: _.invert(TravelAgentType)[type], variant:\"\"}\n}\nexport const convertTransactionType = (transactionType) => {\n let result = \"\";\n if (transactionType === \"AR_ADD\") {\n result = \"ar_client_add_bill\";\n }\n if (transactionType === \"AR_UPDATE\") {\n result = \"ar_client_change_bill\";\n }\n if (transactionType === \"AR_DELETE\") {\n result = \"ar_client_delete_bill\";\n }\n if (transactionType === \"PAYMENT_ADD\") {\n result = \"ar_client_add_pay\";\n }\n if (transactionType === \"PAYMENT_UPDATE\") {\n result = \"ar_client_change_payment\";\n }\n if (transactionType === \"PAYMENT_DELETE\") {\n result = \"ar_client_delete_payment\";\n }\n if (transactionType === \"AR_SMS_ADD\") {\n result = \"ar_client_pay_bill\";\n }\n if (transactionType === \"DISTRIBUTION_ADD\") {\n result = \"ar_client_add_distribution\";\n }\n if (transactionType === \"DISTRIBUTION_UPDATE\") {\n result = \"ar_client_edit_distribution\";\n }\n if (transactionType === \"DISTRIBUTION_DELETE\") {\n result = \"ar_client_delete_distribution\";\n }\n return result;\n};\nexport const TransactionAccountTransactionType = [\n { title: \"ar_client_reduce_price_booking\", value: \"DISTRIBUTION_BOOKING\", variant: \"success\" },\n { title: \"ar_client_auto_distribution_sms\", value: \"DISTRIBUTION_SMS\", variant: \"danger\" },\n];\n\nexport const ArPaymentStatus = [\n { title: \"ar_client_paid\", value: \"PAY\", variant: \"success\" },\n { title: \"ar_client_unpaid\", value: \"NO\", variant: \"danger\" },\n];\nexport const PaymentDetailTypeStatus = [\n { title: \"ar_client_refund\", value: \"REFUND\", variant: \"dark\" },\n { title: \"ar_client_top_up\", value: \"PAYMENT\", variant: \"dark\" },\n { title: \"ar_client_adjust\", value: \"MODIFY\", variant: \"dark\" },\n];\nexport const TravelAgentIsOverDraftStatus = [\n { title: \"ar_client_allow\", value: true, variant: \"success\" },\n { title: \"ar_client_not_allow\", value: false, variant: \"danger\" },\n];\nexport const SmsDistributionStatus = [\n { title: \"ar_client_allotted\", value: \"YES\", variant: \"success\" },\n { title: \"ar_client_not_allotment\", value: \"NO\", variant: \"danger\" },\n];\nexport const SmsStatus = [\n { title: \"ar_client_syntax_error\", value: \"ERROR\", variant: \"danger\" },\n { title: \"ar_client_draft_fixed\", value: \"DRAFT\", variant: \"primary\" },\n { title: \"ar_client_completed\", value: \"MODIFIED\", variant: \"success\" },\n { title: \"ar_client_syntax_correct\", value: \"SUCCESSFUL\", variant: \"success\" },\n];\nexport const DistributionStatus = [\n { title: \"ar_client_un_created_ap\", value: \"UNCREATEDAP\", variant: \"danger\" },\n { title: \"ar_client_creating_ap\", value: \"CREATINGAP\", variant: \"primary\" },\n { title: \"ar_client_created_ap\", value: \"CREATEDAP\", variant: \"success\" },\n];\nexport const ArPaymentDistributionStatus = [\n { title: \"ar_client_allotted\", value: \"FULL\", variant: \"success\" },\n { title: \"ar_client_not_allotment\", value: \"NO\", variant: \"danger\" },\n { title: \"ar_client_distributing\", value: \"INPROCESS\", variant: \"primary\" },\n];\nexport const ApPaymentStatus = [\n { title: \"ap_client_approve\", value: \"BROWSE\", variant: \"success\" },\n\n { title: \"golf_common_confirm\", value: \"CONFIRM\", variant: \"success\" },\n { title: \"Chi hết\", value: \"FULL\", variant: \"success\" },\n { title: \"Đang chi\", value: \"INPROCESS\", variant: \"primary\" },\n { title: \"Chưa chi\", value: \"NO\", variant: \"danger\" },\n];\nexport const CommonStatus = [\n { title: \"ar_client_active\", value: true, variant: \"success\" },\n { title: \"ar_client_in_active\", value: false, variant: \"danger\" },\n];\nexport const CommonActiveStatus = [\n { title: \"ar_client_active\", value: 1, variant: \"success\" },\n { title: \"ar_client_in_active\", value: 0, variant: \"danger\" },\n];\nexport const convertPaymentDetailTypeStatus = (title) => {\n let dO = { title: title, variant: \"\" };\n\n PaymentDetailTypeStatus.forEach((op) => {\n if (title === op.value) dO = { title: op.title, variant: op.variant };\n });\n\n return dO;\n};\nexport const convertTravelAgentIsOverDraftStatus = (title) => {\n let dO = { title: \"\", variant: \"\" };\n\n TravelAgentIsOverDraftStatus.forEach((op) => {\n if (title === op.value) dO = { title: op.title, variant: op.variant };\n });\n\n return dO;\n};\nexport const convertDistributionStatus = (title) => {\n let dO = { title: title, variant: \"\" };\n\n DistributionStatus.forEach((op) => {\n if (title === op.value) dO = { title: op.title, variant: op.variant };\n });\n\n return dO;\n};\nexport const convertSmsStatus = (title) => {\n let dO = { title: title, variant: \"\" };\n\n SmsStatus.forEach((op) => {\n if (title === op.value) dO = { title: op.title, variant: op.variant };\n });\n\n return dO;\n};\n\nexport const convertSmsDistributionStatus = (title) => {\n let dO = { title: title, variant: \"\" };\n\n SmsDistributionStatus.forEach((op) => {\n if (title === op.value) dO = { title: op.title, variant: op.variant };\n });\n\n return dO;\n};\nexport const convertCommonStatus = (title) => {\n let dO = { title: title, variant: \"\" };\n\n CommonStatus.forEach((op) => {\n if (title === op.value) dO = { title: op.title, variant: op.variant };\n });\n\n return dO;\n};\nexport const convertCommonActiveStatus = (title) => {\n let dO = { title: title, variant: \"\" };\n\n CommonActiveStatus.forEach((op) => {\n if (title === op.value) dO = { title: op.title, variant: op.variant };\n });\n\n return dO;\n};\nexport const convertArPaymentStatus = (title) => {\n let dO = { title: title, variant: \"\" };\n ArPaymentStatus.forEach((op) => {\n if (title === op.value) dO = { title: op.title, variant: op.variant };\n });\n\n return dO;\n};\nexport const convertArPaymentDistributionStatus = (title) => {\n let dO = { title: title, variant: \"\" };\n\n ArPaymentDistributionStatus.forEach((op) => {\n if (title === op.value) dO = { title: op.title, variant: op.variant };\n });\n\n return dO;\n};\nexport const convertApPaymentStatus = (title) => {\n let dO = { title: title, variant: \"\" };\n\n ApPaymentStatus.forEach((op) => {\n if (title === op.value) dO = { title: op.title, variant: op.variant };\n });\n\n return dO;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./WidgetSelect.scss?vue&type=style&index=0&prod&lang=scss&\"","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppTimeline.vue?vue&type=style&index=0&id=484a211f&prod&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchList.vue?vue&type=style&index=0&id=ff406d06&prod&lang=scss&\"","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 });\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteDialog.vue?vue&type=style&index=0&id=738dcb84&prod&lang=scss&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppTimelineItem.vue?vue&type=style&index=0&id=f60a7c90&prod&lang=scss&scoped=true&\"","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('li', _vm._g(_vm._b({\n staticClass: \"timeline-item\",\n class: [(\"timeline-variant-\" + (_vm.variant)), _vm.fillBorder ? (\"timeline-item-fill-border-\" + (_vm.variant)) : null]\n }, 'li', _vm.$attrs, false), _vm.$listeners), [!_vm.icon ? _c('div', {\n staticClass: \"timeline-item-point\"\n }) : _c('div', {\n staticClass: \"timeline-item-icon d-flex align-items-center justify-content-center rounded-circle\"\n }, [_c('feather-icon', {\n attrs: {\n \"icon\": _vm.icon\n }\n })], 1), _vm._t(\"default\", function () {\n return [_c('div', {\n staticClass: \"d-flex flex-sm-row flex-column flex-wrap justify-content-between mb-1 mb-sm-0\"\n }, [_c('h6', {\n domProps: {\n \"textContent\": _vm._s(_vm.title)\n }\n }), _c('small', {\n staticClass: \"timeline-item-time text-nowrap text-muted\",\n domProps: {\n \"textContent\": _vm._s(_vm.time)\n }\n })]), _c('p', {\n staticClass: \"mb-0\",\n domProps: {\n \"textContent\": _vm._s(_vm.subtitle)\n }\n }), _c('p', {\n staticClass: \"mb-0\",\n domProps: {\n \"textContent\": _vm._s(_vm.subtitle2)\n }\n }), _c('p', {\n staticClass: \"mb-0\",\n domProps: {\n \"textContent\": _vm._s(_vm.subtitle3)\n }\n })];\n })], 2);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppTimelineItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppTimelineItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppTimelineItem.vue?vue&type=template&id=f60a7c90&scoped=true&\"\nimport script from \"./AppTimelineItem.vue?vue&type=script&lang=js&\"\nexport * from \"./AppTimelineItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppTimelineItem.vue?vue&type=style&index=0&id=f60a7c90&prod&lang=scss&scoped=true&\"\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 \"f60a7c90\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalDistributionAccount.vue?vue&type=style&index=0&id=794f443c&prod&lang=scss&\"","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _vm.variant === 'textarea' ? _c('BFormTextarea', {\n attrs: {\n \"placeholder\": _vm.$t(_vm.placeholder),\n \"rows\": _vm.rows,\n \"disabled\": _vm.disabled,\n \"value\": _vm.currentValue,\n \"state\": _vm.errors.length > 0 ? false : null\n },\n on: {\n \"input\": _vm.updateData\n }\n }) : _vm.variant === 'switch' ? _c('b-form-checkbox', {\n attrs: {\n \"disabled\": _vm.disabled,\n \"checked\": _vm.currentValue,\n \"switch\": \"\"\n },\n on: {\n \"input\": _vm.updateData\n }\n }) : _c('b-form-input', {\n attrs: {\n \"placeholder\": _vm.$t(_vm.placeholder),\n \"disabled\": _vm.disabled,\n \"value\": _vm.currentValue,\n \"state\": _vm.errors.length > 0 ? false : null\n },\n on: {\n \"input\": _vm.updateData\n }\n });\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetString.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetString.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetString.vue?vue&type=template&id=2ec64508&\"\nimport script from \"./WidgetString.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetString.vue?vue&type=script&lang=js&\"\nimport style0 from \"./WidgetString.vue?vue&type=style&index=0&id=2ec64508&prod&lang=scss&\"\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","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('section', {\n staticClass: \"list-transform\",\n attrs: {\n \"data-page-size-text\": _vm.pageSizeText\n }\n }, [_vm._t(\"default\")], 2);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SectionTransformTable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SectionTransformTable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SectionTransformTable.vue?vue&type=template&id=37c5b58a&\"\nimport script from \"./SectionTransformTable.vue?vue&type=script&lang=js&\"\nexport * from \"./SectionTransformTable.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SectionTransformTable.vue?vue&type=style&index=0&id=37c5b58a&prod&lang=scss&\"\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","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EzTable.vue?vue&type=style&index=0&id=8f942682&prod&lang=scss&\"","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _vm.isValidPermission(_vm.apiCode) ? _c('b-button', _vm._g({\n class: {\n 'd-none': !_vm.isValidPermission(_vm.apiCode)\n },\n style: _vm.style,\n attrs: {\n \"variant\": _vm.variant,\n \"disabled\": _vm.disabled\n }\n }, _vm.$listeners), [_vm._t(\"default\")], 2) : _vm._e();\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PermissionButton.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PermissionButton.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PermissionButton.vue?vue&type=template&id=13ad79c4&\"\nimport script from \"./PermissionButton.vue?vue&type=script&lang=js&\"\nexport * from \"./PermissionButton.vue?vue&type=script&lang=js&\"\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","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('Cleave', {\n staticClass: \"form-control\",\n class: {\n 'cleave-error': _vm.errors.length > 0,\n 'text-right': _vm.type === 'currency' || _vm.type === 'numeral'\n },\n attrs: {\n \"value\": _vm.value,\n \"placeholder\": _vm.$t(_vm.placeholder),\n \"disabled\": _vm.disabled,\n \"raw\": true,\n \"options\": _vm.options\n },\n on: {\n \"input\": _vm.updateData\n },\n nativeOn: {\n \"paste\": function ($event) {\n return _vm.handlePaste.apply(null, arguments);\n }\n }\n });\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetCleave.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetCleave.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetCleave.vue?vue&type=template&id=db920fcc&\"\nimport script from \"./WidgetCleave.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetCleave.vue?vue&type=script&lang=js&\"\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","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('SectionTransformTable', [_c('SearchList', {\n attrs: {\n \"title\": _vm.$t('ar_client_list_receipt')\n },\n on: {\n \"search\": _vm.refetchData\n }\n }, [_c('FormItems', {\n attrs: {\n \"formData\": _vm.searchVal,\n \"items\": _vm.formItems\n },\n on: {\n \"update:formData\": function ($event) {\n _vm.searchVal = $event;\n },\n \"update:form-data\": function ($event) {\n _vm.searchVal = $event;\n }\n }\n })], 1), _c('b-card', [_c('EzTable', {\n ref: \"tableRate\",\n attrs: {\n \"actionsConfig\": {\n fixed: true\n },\n \"selectionConfig\": {\n hideSelectAll: true,\n hideSelect: !_vm.isValidPermission(_vm.AR_IDA01)\n },\n \"dataSourceParams\": _vm.searchVal,\n \"excelExportApiCode\": _vm.AR_RPA03,\n \"excelExport\": _vm.arClient.api_ExcelAR_RPA01,\n \"actions\": _vm.actions,\n \"columns\": _vm.columns,\n \"dataSource\": _vm.arClient.api_AR_RPA01\n },\n on: {\n \"selection-changed\": _vm.selectPayment,\n \"action-1\": _vm.viewDetailListVoucher,\n \"action-2\": function (data) {\n _vm.removeListArPay({\n ArPayment: {\n Id: data.data.Id\n }\n });\n }\n },\n scopedSlots: _vm._u([{\n key: \"toolbar\",\n fn: function () {\n return [_c('div', {\n staticClass: \"d-flex\"\n }, [_c('PermissionButton', {\n attrs: {\n \"api-code\": _vm.AR_IQA01,\n \"variant\": \"outline-primary\"\n },\n on: {\n \"click\": function () {\n return _vm.isShowQuickActionModal = true;\n }\n }\n }, [_c('ez-icon', {\n attrs: {\n \"icon\": \"ezAr-icon-plus-circle\"\n }\n }), _vm._v(\" \" + _vm._s(_vm.$t('ar_client_quick_create')) + \" \")], 1), _c('b-dropdown', {\n class: {\n 'd-none': !_vm.isValidPermission(_vm.AR_IDA01)\n },\n staticStyle: {\n \"margin-left\": \"6px\",\n \"width\": \"140px\"\n },\n attrs: {\n \"id\": \"dropdown-left\",\n \"text\": _vm.$t('ar_client_allotment'),\n \"variant\": \"outline-primary\"\n }\n }, [_c('b-dropdown-item', {\n staticClass: \"text-wrap\",\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": _vm.distributePayment\n }\n }, [_vm._v(_vm._s(_vm.$t('ar_client_create_distribution')))])], 1), _c('PermissionButton', {\n staticStyle: {\n \"margin-left\": \"6px\"\n },\n attrs: {\n \"api-code\": _vm.AR_IPA01,\n \"variant\": \"outline-primary\"\n },\n on: {\n \"click\": _vm.showModalPopupAddNew\n }\n }, [_c('ez-icon', {\n attrs: {\n \"icon\": \"ezAr-icon-plus-circle\"\n }\n }), _vm._v(\" \" + _vm._s(_vm.$t('ar_common_add_new')) + \" \")], 1)], 1)];\n },\n proxy: true\n }])\n })], 1), _vm.isShowQuickActionModal ? _c('ModalQuickAction', {\n attrs: {\n \"isShow\": _vm.isShowQuickActionModal\n },\n on: {\n \"afterSave\": function () {\n _vm.isShowQuickActionModal = false;\n _vm.refetchData();\n },\n \"update:isShow\": function ($event) {\n _vm.isShowQuickActionModal = $event;\n },\n \"update:is-show\": function ($event) {\n _vm.isShowQuickActionModal = $event;\n }\n }\n }) : _vm._e(), _c('ModalBoxAddNew', {\n attrs: {\n \"billErrorCode\": _vm.billErrorCode,\n \"isShow\": _vm.isShowModalAddNew,\n \"data\": _vm.dataRefill,\n \"listCompany\": _vm.dataArClient\n },\n on: {\n \"update:isShow\": function ($event) {\n _vm.isShowModalAddNew = $event;\n },\n \"update:is-show\": function ($event) {\n _vm.isShowModalAddNew = $event;\n },\n \"accept-data\": _vm.addDataBill,\n \"accept-data-edit\": _vm.addDataEdit\n }\n }), _c('SidebarViewPayment', {\n attrs: {\n \"isUpdate\": _vm.isUpdatePayment || _vm.isCreatePayment,\n \"isDetailPaymentLoading\": _vm.isFetchDetailDataLoading,\n \"isShow\": _vm.isShowDetailsInvoiceDetail,\n \"data\": _vm.dataViewDetailsPayment,\n \"dataRefillForBill\": _vm.dataRefillForBill,\n \"listDataCashier\": _vm.listCashier,\n \"listPayment\": _vm.listPayment,\n \"listPaymentHistory\": _vm.listPaymentHistory\n },\n on: {\n \"update:isShow\": function ($event) {\n _vm.isShowDetailsInvoiceDetail = $event;\n },\n \"update:is-show\": function ($event) {\n _vm.isShowDetailsInvoiceDetail = $event;\n },\n \"update:dataRefillForBill\": function ($event) {\n _vm.dataRefillForBill = $event;\n },\n \"update:data-refill-for-bill\": function ($event) {\n _vm.dataRefillForBill = $event;\n },\n \"show-edit\": _vm.showModalEditAddNew,\n \"accept-data-bill\": _vm.addListPaymentForinvoiceDetail,\n \"show-edit-bill\": _vm.fetchDataReadBill,\n \"del-arpayment\": _vm.removeListArPay,\n \"del-ListArPaymentDetail\": _vm.delListArPaymentDetail,\n \"accept-data-edit\": _vm.acceptEditForBillPayment\n }\n }), _vm.isShowModalDistributionAccount ? _c('ModalDistributionAccount', {\n attrs: {\n \"disabled\": _vm.isCreateDistribution,\n \"visible\": _vm.isShowModalDistributionAccount,\n \"listDataSelected\": _vm.listSelectedRow,\n \"currencyCode\": _vm.listSelectedRow.length > 0 ? _vm.listSelectedRow[0].CurrencyCode || '' : ''\n },\n on: {\n \"update:visible\": function ($event) {\n _vm.isShowModalDistributionAccount = $event;\n },\n \"accept-data\": _vm.acceptData_AR_IDA01\n }\n }) : _vm._e()], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-modal', {\n attrs: {\n \"dialog-class\": \"dialog-class\",\n \"centered\": \"\"\n },\n on: {\n \"hidden\": function () {\n _vm.$emit('update:isShow', false);\n _vm.formData = {};\n }\n },\n scopedSlots: _vm._u([{\n key: \"modal-header\",\n fn: function (_ref) {\n var close = _ref.close;\n return [_c('h4', {\n staticClass: \"mb-0 text-primary\"\n }, [_vm._v(\" \" + _vm._s(_vm.$t(\"ar_client_quick_create_from_payment\")) + \" \")]), _c('ez-icon', {\n staticClass: \"cursor-pointer\",\n attrs: {\n \"icon\": \"ezAr-icon-x\",\n \"size\": \"24\",\n \"color\": \"#114A9F\"\n },\n on: {\n \"click\": function ($event) {\n return close();\n }\n }\n })];\n }\n }, {\n key: \"modal-footer\",\n fn: function () {\n return [_c('LoadingModalButton', {\n ref: \"buttonRef\",\n attrs: {\n \"disabled\": _vm.isLoading,\n \"variant\": \"primary\"\n },\n on: {\n \"click\": _vm.createAutomation\n }\n }, [_vm._v(\" \" + _vm._s(_vm.$t(\"ar_common_save\")) + \" \")])];\n },\n proxy: true\n }]),\n model: {\n value: _vm.isShow,\n callback: function ($$v) {\n _vm.isShow = $$v;\n },\n expression: \"isShow\"\n }\n }, [_c('FormItems', {\n ref: \"formRef\",\n attrs: {\n \"formData\": _vm.formData,\n \"items\": _vm.formItems\n },\n on: {\n \"input-change\": _vm.onInputChange,\n \"update:formData\": function ($event) {\n _vm.formData = $event;\n },\n \"update:form-data\": function ($event) {\n _vm.formData = $event;\n }\n }\n })], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalQuickAction.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalQuickAction.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ModalQuickAction.vue?vue&type=template&id=1eb21dc4&\"\nimport script from \"./ModalQuickAction.vue?vue&type=script&lang=js&\"\nexport * from \"./ModalQuickAction.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ModalQuickAction.vue?vue&type=style&index=0&id=1eb21dc4&prod&lang=scss&\"\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","var render = function () {\n var _vm$data, _vm$data2;\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-modal', {\n attrs: {\n \"title\": (_vm$data = _vm.data) !== null && _vm$data !== void 0 && _vm$data.PaymentCode ? _vm.$t('ar_client_edit_bill') : _vm.$t('ar_client_create_bill'),\n \"centered\": \"\",\n \"dialog-class\": \"d-class\"\n },\n scopedSlots: _vm._u([{\n key: \"modal-footer\",\n fn: function () {\n return [_c('LoadingModalButton', {\n ref: \"buttonRef\",\n attrs: {\n \"usingTimeOutSubmit\": true\n },\n on: {\n \"click\": _vm.acceptDataAddVoucher\n }\n }, [_vm._v(\" \" + _vm._s(_vm.$t(\"ar_common_save\")) + \" \")])];\n },\n proxy: true\n }]),\n model: {\n value: _vm.isShow,\n callback: function ($$v) {\n _vm.isShow = $$v;\n },\n expression: \"isShow\"\n }\n }, [_c('validation-observer', {\n ref: \"formRef\"\n }, [_c('b-row', {\n staticClass: \"w-100 p-1 m-0\"\n }, [_c('b-col', {\n attrs: {\n \"md\": \"12\"\n }\n }, [_c('validation-provider', {\n attrs: {\n \"rules\": \"required\",\n \"name\": _vm.$t('ar_client_company')\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (_ref) {\n var errors = _ref.errors;\n return [_c('b-form-group', {\n staticClass: \"label-requires\",\n attrs: {\n \"label\": _vm.$t('ar_client_company') + ':'\n }\n }, [_c('WidgetSelect', {\n attrs: {\n \"errors\": errors,\n \"customOptions\": function (options) {\n return options.map(function (option) {\n return Object.assign({}, option, {\n CodeName: ((option.TravelAgentCode) + \" - \" + (option.NameVi))\n });\n });\n },\n \"disabled\": _vm.readOnly,\n \"label\": \"CodeName\",\n \"placeholder\": \"ar_voucher_select_company\",\n \"dataSource\": _vm.arClient.api_AR_RCL01,\n \"dataSourceParams\": {\n IsCheckPermission: false\n }\n },\n model: {\n value: _vm.valSelectCompany,\n callback: function ($$v) {\n _vm.valSelectCompany = $$v;\n },\n expression: \"valSelectCompany\"\n }\n })], 1), _c('small', {\n staticClass: \"text-danger\"\n }, [_vm._v(_vm._s(errors[0]))])];\n }\n }])\n })], 1), _c('b-col', {\n staticClass: \"mb-2\",\n attrs: {\n \"md\": \"6\"\n }\n }, [_c('validation-provider', {\n attrs: {\n \"rules\": \"required|max:100\",\n \"name\": _vm.$t('ar_client_payer')\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (_ref2) {\n var errors = _ref2.errors;\n return [_c('b-form-group', {\n staticClass: \"label-requires\",\n attrs: {\n \"label\": _vm.$t('ar_client_payer') + ':'\n }\n }, [_c('b-form-input', {\n attrs: {\n \"state\": errors.length > 0 ? false : null,\n \"disabled\": _vm.readOnly\n },\n model: {\n value: _vm.submitterVal,\n callback: function ($$v) {\n _vm.submitterVal = $$v;\n },\n expression: \"submitterVal\"\n }\n })], 1), _c('small', {\n staticClass: \"text-danger\"\n }, [_vm._v(_vm._s(errors[0]))])];\n }\n }])\n }), _c('validation-provider', {\n attrs: {\n \"name\": _vm.$t('ar_clinent_create_code_payment')\n }\n }, [_c('div', {\n staticClass: \"d-flex align-items-center mt-3\"\n }, [_c('label', {\n staticClass: \"mr-2\"\n }, [_vm._v(_vm._s(_vm.$t(\"ar_client_auto_create_payment_code\")))]), _c('b-form-checkbox', {\n attrs: {\n \"disabled\": (_vm$data2 = _vm.data) === null || _vm$data2 === void 0 ? void 0 : _vm$data2.PaymentCode,\n \"switch\": \"\"\n },\n model: {\n value: _vm.isAutoCreateCode,\n callback: function ($$v) {\n _vm.isAutoCreateCode = $$v;\n },\n expression: \"isAutoCreateCode\"\n }\n })], 1)])], 1), _c('b-col', {\n attrs: {\n \"md\": \"6\"\n }\n }, [_c('validation-provider', {\n attrs: {\n \"rules\": \"required|max:100\",\n \"name\": _vm.$t('ar_client_payment_date')\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (_ref3) {\n var _vm$data3, _vm$data4;\n var errors = _ref3.errors;\n return [_c('b-form-group', {\n staticClass: \"label-requires\",\n attrs: {\n \"label\": _vm.$t('ar_client_payment_date')\n }\n }, [((_vm$data3 = _vm.data) === null || _vm$data3 === void 0 ? void 0 : _vm$data3.TotalAmount) <= 0 || !((_vm$data4 = _vm.data) !== null && _vm$data4 !== void 0 && _vm$data4.PaymentDate) ? _c('date-range-picker', {\n attrs: {\n \"clearable\": false,\n \"max-date\": _vm.dayjs().endOf('day'),\n \"single-date-picker\": true,\n \"opens\": \"right\",\n \"ranges\": false,\n \"time-picker\": true,\n \"time-picker-increment\": 1,\n \"show-dropdowns\": true,\n \"auto-apply\": false,\n \"locale-data\": _vm.isViLanguage ? {\n format: 'dd/mm/YYYY',\n daysOfWeek: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'],\n monthNames: ['Tháng 1', 'Tháng 2', 'Tháng 3', 'Tháng 4', 'Tháng 5', 'Tháng 6', 'Tháng 7', 'Tháng 8', 'Tháng 9', 'Tháng 10', 'Tháng 11', 'Tháng 12'],\n firstDay: 0\n } : undefined\n },\n model: {\n value: _vm.dateOfFiling,\n callback: function ($$v) {\n _vm.dateOfFiling = $$v;\n },\n expression: \"dateOfFiling\"\n }\n }) : _c('b-form-input', {\n attrs: {\n \"disabled\": true,\n \"value\": _vm.dayjs(_vm.dateOfFiling).format('DD/MM/YYYY')\n }\n })], 1), _c('small', {\n staticClass: \"text-danger\"\n }, [_vm._v(_vm._s(errors[0]))])];\n }\n }])\n }), _c('validation-provider', {\n attrs: {\n \"rules\": {\n code: !_vm.isAutoCreateCode,\n required: !_vm.isAutoCreateCode,\n max: 13,\n min: 2\n },\n \"name\": _vm.$t('ar_client_payment_code')\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (_ref4) {\n var _vm$data5;\n var errors = _ref4.errors;\n return [_c('b-form-group', {\n staticClass: \"label-requires\",\n attrs: {\n \"label\": _vm.$t('ar_client_payment_code') + ':'\n }\n }, [_c('WidgetCleave', {\n attrs: {\n \"errors\": errors /* .length > 0 ? errors : duplicateCodeMessages[0] */,\n \"type\": \"uppercase\",\n \"disabled\": ((_vm$data5 = _vm.data) === null || _vm$data5 === void 0 ? void 0 : _vm$data5.PaymentCode) || _vm.isAutoCreateCode\n },\n model: {\n value: _vm.paymentCode,\n callback: function ($$v) {\n _vm.paymentCode = $$v;\n },\n expression: \"paymentCode\"\n }\n })], 1), _c('small', {\n staticClass: \"text-danger\"\n }, [_vm._v(_vm._s(errors[0] /* || duplicateCodeMessages[0] */))])];\n }\n }])\n })], 1), _c('b-col', {\n attrs: {\n \"md\": \"12\"\n }\n }, [_c('validation-provider', {\n attrs: {\n \"rules\": \"max:255\",\n \"name\": _vm.$t('ar_client_account_note')\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (_ref5) {\n var errors = _ref5.errors;\n return [_c('b-form-group', {\n attrs: {\n \"label\": _vm.$t('ar_client_account_note')\n }\n }, [_c('b-form-textarea', {\n attrs: {\n \"rows\": 6\n },\n model: {\n value: _vm.note,\n callback: function ($$v) {\n _vm.note = $$v;\n },\n expression: \"note\"\n }\n })], 1), _c('small', {\n staticClass: \"text-danger\"\n }, [_vm._v(_vm._s(errors[0]))])];\n }\n }])\n })], 1)], 1)], 1)], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalBoxAddNew.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalBoxAddNew.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ModalBoxAddNew.vue?vue&type=template&id=334a8f10&\"\nimport script from \"./ModalBoxAddNew.vue?vue&type=script&lang=js&\"\nexport * from \"./ModalBoxAddNew.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ModalBoxAddNew.vue?vue&type=style&index=0&id=334a8f10&prod&scss=true&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","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _vm.data ? _c('section', {\n staticClass: \"sidebar-view-payment\"\n }, [_c('b-sidebar', {\n staticClass: \"detail-sidebar\",\n attrs: {\n \"bg-variant\": \"white\",\n \"right\": \"\",\n \"backdrop\": \"\",\n \"shadow\": \"\",\n \"no-header\": \"\",\n \"width\": \"60%\"\n },\n on: {\n \"hidden\": function ($event) {\n return _vm.$emit('update:isShow', false);\n }\n },\n model: {\n value: _vm.isShow,\n callback: function ($$v) {\n _vm.isShow = $$v;\n },\n expression: \"isShow\"\n }\n }, [_c('div', {\n staticClass: \"sidebar-view-payment__header d-flex\"\n }, [_c('div', {\n staticClass: \"sidebar-view-payment__header--title w-50\"\n }, [_c('h4', {\n staticClass: \"mb-0 p-1 text-primary text-truncate\"\n }, [_vm._v(\" \" + _vm._s(_vm.$t(\"ar_client_detail_receipt\")) + \" \")])]), _c('div', {\n staticClass: \"sidebar-view-payment__header--icon w-50 d-flex align-items-center justify-content-end\"\n }, [_c('ez-icon', {\n staticClass: \"cursor-pointer mx-50\",\n attrs: {\n \"icon\": \"ezAr-icon-x\",\n \"size\": \"24\",\n \"color\": \"#114A9F\"\n },\n on: {\n \"click\": _vm.closeSidebar\n }\n })], 1)]), _c('b-tabs', {\n model: {\n value: _vm.tabIndex,\n callback: function ($$v) {\n _vm.tabIndex = $$v;\n },\n expression: \"tabIndex\"\n }\n }, [_c('b-tab', {\n attrs: {\n \"title\": _vm.$t('ar_voucher_general_information')\n }\n }, [_c('b-row', {\n staticClass: \"m-0 mb-1\"\n }, [_c('b-col', {\n attrs: {\n \"md\": \"6\"\n }\n }, [_c('h6', {\n staticClass: \"content-title\"\n }, [_vm._v(\" \" + _vm._s(_vm.$t(\"ar_voucher_general_information\")) + \" \")])]), _c('b-col', {\n staticClass: \"d-flex justify-content-end\",\n attrs: {\n \"md\": \"6\"\n }\n }, [_c('ez-icon', {\n staticClass: \"cursor-pointer mx-50\",\n class: {\n 'd-none': !_vm.isValidPermission(_vm.AR_UPA01)\n },\n attrs: {\n \"icon\": \"ezAr-icon-edit\",\n \"size\": \"24\",\n \"color\": \"#114A9F\"\n },\n on: {\n \"click\": _vm.showModalEditAddNew\n }\n })], 1)], 1), _c('GeneralInfo', {\n attrs: {\n \"leftWidth\": \"120px\",\n \"rightWidth\": \"140px\",\n \"list\": _vm.listGeneral\n }\n }), _c('div', {\n staticClass: \"divider\"\n }), _c('div', {\n staticClass: \"d-flex align-items-center justify-content-between\"\n }, [_c('h6', {\n staticClass: \"m-1\"\n }, [_vm._v(_vm._s(_vm.$t(\"ar_client_list_payment\")))]), _c('div', {\n staticClass: \"mr-1 d-flex align-items-center\"\n }, [_c('b-button', {\n attrs: {\n \"variant\": \"primary\",\n \"disabled\": true\n }\n }, [_vm._v(_vm._s(_vm.$t(\"ar_client_print_payment\")))]), _c('PermissionButton', {\n staticStyle: {\n \"margin-left\": \"5px\"\n },\n attrs: {\n \"api-code\": _vm.AR_IPAD01,\n \"variant\": \"primary\"\n },\n on: {\n \"click\": _vm.showModalAddNew\n }\n }, [_c('ez-icon', {\n attrs: {\n \"icon\": \"ezAr-icon-plus-circle\"\n }\n }), _c('span', {\n staticStyle: {\n \"margin-left\": \"3px\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"ar_client_add_pay\")))])], 1)], 1)]), _c('div', {\n staticClass: \"p-1\"\n }, [_c('EzTable', {\n attrs: {\n \"externalLoading\": _vm.isDetailPaymentLoading,\n \"actions\": _vm.actions,\n \"toolbarConfig\": {\n disableToolbar: true\n },\n \"dataSource\": _vm.convertedListArPaymentDetail,\n \"columns\": _vm.columns,\n \"pageConfig\": {\n disablePagination: true\n }\n },\n on: {\n \"action-1\": function (data) {\n return _vm.editListPaymentAr(data.data.Id);\n },\n \"action-2\": function (data) {\n return _vm.$emit('del-ListArPaymentDetail', data.data.Id);\n }\n }\n })], 1)], 1), _vm.isValidPermission(_vm.AR_HSP01) ? _c('b-tab', {\n attrs: {\n \"title\": _vm.$t('ar_client_operation_history')\n }\n }, [_c('div', {\n staticClass: \"m-3\"\n }, [_c('div', {\n staticClass: \"mb-3 d-flex align-items-center\"\n }, [_c('b-form-group', {\n staticStyle: {\n \"width\": \"200px\"\n },\n attrs: {\n \"label\": _vm.$t('ar_common_range')\n }\n }, [_c('WidgetDateTime', {\n attrs: {\n \"placeholder\": _vm.$t('ar_common_range'),\n \"isRange\": true\n },\n model: {\n value: _vm.range,\n callback: function ($$v) {\n _vm.range = $$v;\n },\n expression: \"range\"\n }\n })], 1), _c('b-button', {\n staticClass: \"ml-2\",\n staticStyle: {\n \"margin-top\": \"16px\"\n },\n attrs: {\n \"variant\": \"primary\"\n },\n on: {\n \"click\": function ($event) {\n var _vm$range, _vm$range2;\n return _vm.fetchPaymentHistory({\n FromDate: (_vm$range = _vm.range) === null || _vm$range === void 0 ? void 0 : _vm$range.startDate,\n ToDate: (_vm$range2 = _vm.range) === null || _vm$range2 === void 0 ? void 0 : _vm$range2.endDate\n });\n }\n }\n }, [_c('ez-icon', {\n staticStyle: {\n \"margin-right\": \"3px\"\n },\n attrs: {\n \"icon\": \"ezAr-icon-search\"\n }\n }), _vm._v(\" Tìm kiếm \")], 1)], 1), _c('div', {\n staticClass: \"p-1\",\n staticStyle: {\n \"height\": \"70vh\",\n \"overflow-y\": \"auto\"\n }\n }, [_vm.limitedListPaymentHistory && _vm.limitedListPaymentHistory.length > 0 ? _c('AppTimeline', _vm._l(_vm.limitedListPaymentHistory, function (_ref, index) {\n var OldValue = _ref.OldValue,\n TransactionType = _ref.TransactionType,\n TransactionDate = _ref.TransactionDate,\n NewValue = _ref.NewValue,\n CashierName = _ref.CashierName,\n CreatedBy = _ref.CreatedBy;\n return _c('AppTimelineItem', {\n key: index,\n attrs: {\n \"variant\": _vm.convertedTransaction(TransactionType),\n \"time\": _vm.dayjs(TransactionDate).format('DD/MM/YYYY HH:mm:ss'),\n \"subtitle\": ((_vm.$t('ar_client_old_value')) + \": \" + (_vm.formatPrice(OldValue))),\n \"subtitle2\": ((_vm.$t('ar_client_new_value')) + \": \" + (_vm.formatPrice(NewValue))),\n \"subtitle3\": ((_vm.$t('ar_client_update_user')) + \": \" + CreatedBy),\n \"title\": _vm.$t(_vm.convertTransactionType(TransactionType))\n }\n });\n }), 1) : _c('div', {\n staticClass: \"d-flex justify-content-center mt-5\",\n staticStyle: {\n \"font-size\": \"20px\",\n \"color\": \"#ccc\"\n }\n }, [_vm._v(\" \" + _vm._s(_vm.$t(\"ar_client_no_data\")) + \" \")]), _c('div', {\n staticClass: \"d-flex justify-content-center mt-3\"\n }, [_vm.limitedListPaymentHistory.length < _vm.listPaymentHistory.length ? _c('b-button', {\n attrs: {\n \"variant\": \"primary\"\n },\n on: {\n \"click\": _vm.showMoreHistory\n }\n }, [_vm._v(_vm._s(_vm.$t(\"ar_client_show_more\")))]) : _vm._e()], 1)], 1)])]) : _vm._e()], 1), _c('PaymentForDistribution', {\n attrs: {\n \"api-code\": _vm.AR_UPAD01,\n \"isUpdate\": _vm.isUpdate,\n \"isShow\": _vm.isShowModalPayment,\n \"dataPayment\": _vm.dataRefillForBill,\n \"paymentId\": _vm.data.Id\n },\n on: {\n \"update:isShow\": function ($event) {\n _vm.isShowModalPayment = $event;\n },\n \"update:is-show\": function ($event) {\n _vm.isShowModalPayment = $event;\n },\n \"accept-data\": _vm.acceptDataSaveForBill,\n \"accept-data-edit\": _vm.acceptDataEditForBill\n }\n })], 1)], 1) : _vm._e();\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import SidebarLabel from \"@/modules/SidebarLabel.vue\";\nimport AppTimeline from \"@/@core/components/app-timeline/AppTimeline.vue\";\nimport AppTimelineItem from \"@/@core/components/app-timeline/AppTimelineItem.vue\";\nimport ModalBoxAddBill from \"./components/ModalBoxAddBill.vue\";\nimport WidgetDateTime from \"../../../ultils/Form/components/DateTime/WidgetDatetime.vue\";\nimport PaymentForDistribution from \"../../../ultils/PaymentForm/PaymentForDistribution.vue\";\nimport EzTable from \"../../../ultils/Table/EzTable.vue\";\nimport PermissionButton from \"../../../ultils/Button/PermissionButton.vue\";\nimport GeneralInfo from \"../../../ultils/General/GeneralInfo.vue\";\nimport {\n convertArPaymentStatus,\n convertArPaymentDistributionStatus,\n convertTransactionType\n} from \"@/views/modules/ultils/status\";\nimport { arClient } from \"@/api/ar-client\";\nimport { AR_DPAD01, AR_RPAD01,AR_IPAD01,AR_UPA01 ,AR_HSP01,AR_UPAD01} from \"@/api/constant\";\nexport default {\n components: {\n PermissionButton,\n GeneralInfo,\n EzTable,\n SidebarLabel,\n PaymentForDistribution,\n ModalBoxAddBill,\n AppTimeline,\n WidgetDateTime,\n AppTimelineItem,\n },\n props: {\n isUpdate: Boolean,\n detailRowIndex: Number,\n isDetailPaymentLoading: Boolean,\n /* listPaymentHistory: {\n type: Array,\n default() {\n return [];\n },\n }, */\n isShow: {\n type: Boolean,\n default: false,\n },\n data: {\n type: Object,\n nullable: true,\n default: () => {\n return null;\n },\n },\n dataRefillForBill: {\n type: Object,\n nullable: true,\n default: () => {\n return null;\n },\n },\n listDataCashier: {\n type: Array,\n default: () => {\n return [];\n },\n },\n listPayment: {\n type: Array,\n default: () => {\n return [];\n },\n },\n },\n setup(){\n return {convertTransactionType,AR_IPAD01,AR_UPA01,AR_HSP01,AR_UPAD01}\n },\n data() {\n return {\n isUpdatingPayment: false,\n listPaymentHistory: [],\n isShowModalPayment: false,\n range: null,\n actions: [\n {\n apiCode:AR_RPAD01,\n title: \"ar_common_detail\",\n icon: \"eye\",\n },\n {\n apiCode:AR_DPAD01,\n danger: true,\n icon: \"trash\",\n title: \"ar_common_delete\",\n },\n ],\n columns: [\n {\n caption: \"ar_client_payment_date\",\n field: \"CreatedDate\",\n cellTemplate: true,\n formatType: \"date\",\n },\n {\n caption: \"ar_client_cashier\",\n field: \"CashierName\",\n cellTemplate: true,\n cellRender(data) {\n return `${data.data.CashierCode} - ${data.data.CashierName}`;\n },\n },\n {\n caption: \"ar_client_payment_type\",\n field: \"PaymentDetailType\",\n cellTemplate: true,\n align: \"center\",\n cellRender(data) {\n return \"Thanh toán\";\n },\n },\n {\n caption: \"ar_client_payments\",\n field: \"PaymentMethodName\",\n },\n {\n caption: \"ar_client_amount\",\n field: \"Amount\",\n cellTemplate: true,\n formatType: \"num\",\n },\n {\n caption: \"ar_client_currency_code\",\n field: \"CurrencyFomart\",\n },\n ],\n tabIndex: 0,\n userData: JSON.parse(localStorage.getItem(\"userData\")),\n currentShow: 20,\n\n FromDate: null,\n isShowAddNewBill: false,\n refillDataBill: null,\n };\n },\n methods: {\n renderNote() {\n if (!this.data.Note) {\n return ''\n }\n \n let formattedNote = this.data.Note\n .replace('transaction_info', this.$t('transaction_info'))\n .replace('order_info', this.$t('order_info'))\n .replace('transaction_no', this.$t('transaction_no'))\n .replace('transaction_ref', this.$t('transaction_ref'))\n .replace('transaction_type', this.$t('transaction_type'))\n .replace('transaction_date', this.$t('transaction_date'))\n .replace('transaction_status', this.$t('transaction_status'))\n .replace('ar_payment_online_add',this.$t('ar_payment_online_add'))\n .replace('payment_gateway',this.$t('payment_gateway'))\n .replace('Success', this.$t('Success'))\n .replace(/\\n/g, '
'); \n \n \n if (this.data.Note.includes('Important')) {\n formattedNote = `⚠ Important: ${formattedNote}`;\n }\n \n return formattedNote; // Trả về ghi chú đã được dịch và định dạng\n },\n \n async fetchPaymentHistory(data) {\n await this.arClient.api_AR_HSP01({ ...data, ArPaymentId: this.data.Id }).then((res) => {\n if (res.Status !== \"200\") {\n this.showResToast(res);\n return;\n }\n\n this.listPaymentHistory = res.Data.ArTransaction;\n });\n },\n convertArPaymentDistributionStatus(title) {\n return convertArPaymentDistributionStatus(title);\n },\n convertArPaymentStatus(title) {\n return convertArPaymentStatus(title);\n },\n convertedTransaction(type) {\n let status = \"primary\";\n if (type.startsWith(\"Thanh toán\")) {\n status = \"success\";\n }\n if (type.startsWith(\"Xóa\")) {\n status = \"danger\";\n }\n return status;\n },\n showMoreHistory() {\n this.currentShow += 20;\n },\n closeSidebar() {\n this.$emit(\"update:isShow\", false);\n },\n showModalEditAddNew() {\n this.$emit(\"show-edit\", this.data);\n },\n acceptDataSaveForBill(value) {\n this.$emit(\"accept-data-bill\", value);\n },\n showModalAddNew() {\n this.$emit(\"update:dataRefillForBill\", null);\n /* this.isShowModalPayment = true */\n this.$root.$emit(\"bv::show::modal\", \"modal-payment-for-distribution\");\n },\n\n delListArPayment(ArPaymentCode, Id) {\n const deleteDialogRef = this.$parent.$parent.$refs.tableRate.$refs.deleteDialog[0];\n\n deleteDialogRef.open({\n data: { ArPaymentCode, Id },\n });\n\n /* this.$emit(\"del-arpayment\", {\n ArPayment: {\n Id: id,\n },\n }); */\n },\n editListPaymentAr(id) {\n this.$emit(\"show-edit-bill\", id);\n this.$root.$emit(\"bv::show::modal\", \"modal-payment-for-distribution\");\n /* this.isShowModalPayment = true */\n },\n acceptDataEditForBill(data) {\n this.$emit(\"accept-data-edit\", data);\n },\n },\n created() {},\n computed: {\n convertedListArPaymentDetail() {\n return this.data.ListArPaymentDetail;\n },\n limitedListPaymentHistory() {\n return this.listPaymentHistory.slice(0, this.currentShow);\n },\n listGeneral() {\n return [\n {\n icon: \"code\",\n label: \"ar_client_payment_code\",\n content: this.data.PaymentCode,\n },\n {\n icon: \"bar-chart\",\n label: \"ar_client_receipt_status\",\n variant: this.$t(convertArPaymentStatus(this.data.PaymentStatus).variant),\n content: this.$t(convertArPaymentStatus(this.data.PaymentStatus).title),\n },\n {\n icon: \"place\",\n label: \"ar_voucher_company_name\",\n content: this.data.ArTravelAgentName,\n },\n {\n icon: \"bar-chart-2\",\n label: \"ar_client_allotment_states\",\n content: this.$t(convertArPaymentDistributionStatus(this.data.DistributionStatus).title),\n variant: this.$t(\n convertArPaymentDistributionStatus(this.data.DistributionStatus).variant\n ),\n },\n {\n icon: \"user\",\n label: \"ar_client_payer\",\n content: this.data.Payer,\n },\n {\n icon: \"dollar-sign\",\n label: \"ar_client_exchange_amount\",\n afterFixLabel: \"(VND)\",\n content: this.formatPrice(this.data.TotalAmount),\n },\n {\n icon: \"calendar\",\n label: \"ar_client_payment_date\",\n content: this.formatDate(this.data.PaymentDate),\n },\n {\n icon: \"plus-circle\",\n label: \"ar_client_distribution_value\",\n afterFixLabel: \"(VND)\",\n content: this.formatPrice(this.data.DistributionAmount),\n },\n {\n icon: \"user\",\n label: \"ar_client_created_person\",\n content: this.data.CashierName,\n },\n {\n icon: \"file-text\",\n label: \"ar_client_account_note\",\n top: true,\n content: this.renderNote(),\n },\n {\n icon: \"calendar\",\n label: \"ar_voucher_create_date\",\n content: this.formatDate(this.data.CreatedDate),\n },\n ];\n },\n },\n watch: {\n data: {\n handler(v) {\n if (v) {\n this.fetchPaymentHistory();\n }\n },\n deep: true,\n },\n isShow(value) {\n this.$emit(\"update:isShow\", value);\n if (!value) this.tabIndex = 0;\n },\n },\n};\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!./SidebarViewPayment.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!./SidebarViewPayment.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SidebarViewPayment.vue?vue&type=template&id=5267c882&scoped=true&\"\nimport script from \"./SidebarViewPayment.js?vue&type=script&lang=js&\"\nexport * from \"./SidebarViewPayment.js?vue&type=script&lang=js&\"\nimport style0 from \"./SidebarViewPayment.vue?vue&type=style&index=0&id=5267c882&prod&lang=scss&scoped=true&\"\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 \"5267c882\",\n null\n \n)\n\nexport default component.exports","// api\nimport { VoucherService } from \"@/api/voucher-service\";\nimport DeleteDialog from \"@core/components/delete-dialog/DeleteDialog.vue\";\nimport { arClient } from \"@/api/ar-client\";\nimport ConfirmDialog from \"@core/components/confirm-dialog/ConfirmDialog.vue\";\nimport FormItems from \"../ultils/Form/FormItems.vue\";\nimport { AR_DPA01, AR_RPA02 } from \"../../../api/constant\";\nimport PermissionButton from \"../ultils/Button/PermissionButton.vue\"\n\nimport SearchList from \"../ultils/SearchList/SearchList.vue\";\nimport SectionTransformTable from \"../ultils/Section/SectionTransformTable.vue\";\nimport EzTable from \"../ultils/Table/EzTable.vue\";\nimport { DxDataGrid, DxColumn, DxSelection } from \"devextreme-vue/data-grid\";\nimport ModalQuickAction from \"./components/ModalQuickAction.vue\";\nimport \"devextreme/dist/css/dx.light.css\";\nimport ModalBoxAddNew from \"./components/ModalBoxAddNew.vue\";\nimport SidebarViewPayment from \"./components/SidebarViewPayment/SidebarViewPayment.vue\";\nimport ModalDistributionAccount from \"./components/ModalDistributionAccount/ModalDistributionAccount.vue\";\nimport { useFetch } from \"../ultils/Hooks/useFetch.ts\";\nimport { AR_IDA01,AR_IQA01,AR_IPA01,AR_RPA03 } from \"../../../api/constant\";\n\nimport {\n ArPaymentDistributionStatus,\n ArPaymentStatus,\n PaymentDetailTypeStatus,\n convertPaymentDetailTypeStatus,\n convertArPaymentDistributionStatus,\n convertArPaymentStatus,\n} from \"../ultils/status\";\nimport { defineComponent, getCurrentInstance, ref } from \"@vue/composition-api\";\n\nconst dataGridRef = \"tableRate\";\n\nexport default defineComponent({\n components: {\n PermissionButton,\n SearchList,\n ModalQuickAction,\n FormItems,\n SectionTransformTable,\n EzTable,\n ModalBoxAddNew,\n DeleteDialog,\n ConfirmDialog,\n DxDataGrid,\n DxColumn,\n SidebarViewPayment,\n DxSelection,\n ModalDistributionAccount,\n },\n setup(props, { refs }) {\n const dataViewDetailsPayment = ref(null);\n const isShowDetailsInvoiceDetail = ref(false);\n const isShowModalDistributionAccount = ref(false);\n const vm = getCurrentInstance().proxy;\n\n function refetchData() {\n refs[dataGridRef].fetchData();\n }\n const { fetchData: fetchDataDetail, isLoading: isFetchDetailDataLoading } = useFetch(\n arClient.api_AR_RPA02,\n {\n showLoading: true,\n loadingMessage: \"ar_common_get_detail\",\n disableSuccessMessage: true,\n }\n );\n const {\n fetchData: createPayment,\n isError: isCreatePaymentError,\n isLoading: isCreatePayment,\n } = useFetch(arClient.api_AR_IPAD01, {\n nextFunction: () => {\n vm.$bvModal.hide(\"modal-payment-for-distribution\");\n },\n showLoading: true,\n });\n const {\n fetchData: createBill,\n isError: isCreateBillError,\n errorCode: billErrorCode,\n errorMessage: billErrorMessage,\n } = useFetch(arClient.api_AR_IPA01, {\n showLoading: true,\n successMessage: \"ar_client_create_bill_success\",\n });\n const { fetchData: acceptData_AR_IDA01, isLoading: isCreateDistribution } = useFetch(\n arClient.api_AR_IDA01,\n {\n showLoading: true,\n nextFunction: () => {\n refetchData();\n isShowModalDistributionAccount.value = false;\n },\n }\n );\n const { fetchData: removeListArPay } = useFetch(arClient.api_AR_DPA01, {\n nextFunction: () => {\n refetchData();\n isShowDetailsInvoiceDetail.value = false;\n dataViewDetailsPayment.value = null;\n },\n showLoading: true,\n successMessageMessage: \"ar_client_delete_success\",\n });\n\n return {\n AR_RPA03,\n AR_IDA01,\n AR_IPA01,\n AR_IQA01,\n isCreatePayment,\n isFetchDetailDataLoading,\n dataViewDetailsPayment,\n isShowDetailsInvoiceDetail,\n fetchDataDetail,\n isShowModalDistributionAccount,\n createPayment,\n createBill,\n billErrorCode,\n billErrorMessage,\n isCreateDistribution,\n isCreateBillError,\n isCreatePaymentError,\n acceptData_AR_IDA01,\n refetchData,\n removeListArPay,\n };\n },\n provide: {\n codeErrorMsg: \"\",\n externalError: false,\n },\n data() {\n const vm = this\n return {\n isShowQuickActionModal: false,\n range: null,\n listPaymentHistory: [],\n dataArClient: [],\n KeyWord: null,\n ClientType: null,\n\n startDateSeach: this.getUTC(\"start\", \"month\"),\n endDateSeach: this.getUTC(\"end\", \"month\"),\n isShowModalAddNew: false,\n\n isLoading: true,\n perPage: 10,\n dataGridRef: \"tableRate\",\n\n actions: [\n {\n apiCode:AR_RPA02,\n title: \"ar_common_detail\",\n icon: \"eye\",\n },\n {\n apiCode: AR_DPA01,\n danger: true,\n icon: \"trash\",\n dialogContent: (data) => {\n return this.$t(\"ar_client_confirm_delete_ar_payment\") + \" \" + data?.data?.ArPaymentCode;\n },\n title: \"ar_common_delete\",\n },\n ],\n columns: [\n {\n caption: \"ar_client_payment_code\",\n field: \"ArPaymentCode\",\n minWidth: 130,\n },\n {\n caption: \"ar_client_payment_type\",\n field: \"PaymentDetailType\",\n defaultIfEmpty: this.$t(\"ar_client_top_up\"),\n cellTemplate: true,\n formatType: \"text-variant\",\n renderTextVariant: convertPaymentDetailTypeStatus,\n minWidth: 120,\n },\n {\n caption: \"ar_client_company_code\",\n field: \"TravelAgentCode\",\n minWidth: 130,\n },\n\n {\n caption: \"ar_voucher_company_name\",\n field: \"NameVi\",\n minWidth: 180,\n },\n\n {\n caption: \"ar_client_receipt_status\",\n field: \"PaymentStatus\",\n formatType: \"text-variant\",\n\n cellTemplate: true,\n minWidth: 120,\n renderTextVariant: convertArPaymentStatus,\n },\n {\n caption: \"ar_client_allotment_states\",\n field: \"DistributionStatus\",\n minWidth: 120,\n cellTemplate: true,\n formatType: \"text-variant\",\n renderTextVariant: convertArPaymentDistributionStatus,\n },\n\n {\n caption: \"ar_client_total_money\",\n field: \"TotalAmount\",\n\n cellTemplate: true,\n formatType: \"currency\",\n },\n {\n caption: \"ar_client_distribution_money_number\",\n field: \"DistributionAmount\",\n\n cellTemplate: true,\n formatType: \"currency\",\n },\n {\n caption: \"ar_client_payer\",\n minWidth: 80,\n field: \"Payer\",\n },\n {\n caption: \"ar_client_payment_date\",\n formatType: \"date\",\n dateConfig: {\n showTime: true,\n },\n minWidth: 100,\n cellTemplate: true,\n field: \"ArPaymentDate\",\n },\n\n {\n caption: \"ar_client_created_person\",\n field: \"CreateBy\",\n cellTemplate: true,\n minWidth: 150,\n cellRender(data) {\n return `${data.data.CreateBy} - ${data.data.CreateByName} ${data.data.CreateByStatus === 0 ? `(${vm.$t(\"ar_client_in_active\")})` : \"\"}`;\n },\n },\n {\n caption: \"ar_voucher_create_date\",\n formatType: \"date\",\n dateConfig: {\n showTime: true,\n },\n cellTemplate: true,\n minWidth: 100,\n field: \"CreatedDate\",\n },\n ],\n detailRowIndex: 0,\n dataTableListPay: [],\n isUpdatePayment: false,\n\n dataGridRef: \"tableRate\",\n searchVal: {\n FromDate: undefined,\n ToDate: undefined,\n TravelAgentId: null,\n DateType: \"CreateDate\",\n TravelAgentId: null,\n PaymentStatus: null,\n DistributionStatus: null,\n PaymentCode: null,\n CashierCode: null,\n },\n dataRefill: null,\n dataRefillForBill: null,\n listAllotmentStates: [\n { value: \"INPROCESS\", name: this.$t(\"ar_client_inprocess\") },\n { value: \"NO\", name: this.$t(\"ar_client_not_allotment\") },\n { value: \"FULL\", name: this.$t(\"ar_client_allotted\") },\n ],\n\n listCashier: [],\n cashierVal: null,\n listPayment: [],\n\n isShowModalDistributionDept: false,\n clientIdSelected: 0,\n listSelectedRow: [],\n isSelectedAllAccount: false,\n };\n },\n methods: {\n showModalPopupAddNew() {\n this.isShowModalAddNew = !this.isShowModalAddNew;\n },\n distributePayment() {\n const isSelectPayment = this.listSelectedRow.length > 0;\n\n const noReceiptList = [];\n\n const fullDistributedList = [];\n\n if (!isSelectPayment) {\n this.showToast(\"error\", this.$t(\"ar_distribution_err_msg_01\"));\n return;\n }\n this.listSelectedRow.forEach((row) => {\n if (row.TotalAmount === 0) {\n noReceiptList.push(row.ArPaymentCode);\n }\n });\n this.listSelectedRow.forEach((row) => {\n if (row.DistributionStatus === \"FULL\") {\n fullDistributedList.push(row.ArPaymentCode);\n }\n });\n if (noReceiptList.length > 0) {\n this.showToast(\n \"error\",\n this.$t(\"ar_client_payment_no_receipt\", { paymentList: noReceiptList.join(\", \") })\n );\n return;\n }\n if (fullDistributedList.length > 0) {\n this.showToast(\n \"error\",\n this.$t(\"ar_client_payment_full_distributed\", {\n paymentList: fullDistributedList.join(\", \"),\n })\n );\n return;\n }\n\n this.isShowModalDistributionAccount = true;\n },\n\n async fetchDataDetailsArPayment(value) {\n const body = {\n ArPayment: {\n Id: value,\n },\n };\n\n await this.fetchDataDetail(body).then((data) => {\n this.dataViewDetailsPayment = data;\n if (!this.dataViewDetailsPayment.ArClientName) {\n const matchingClient = this.dataArClient.find(\n (item) => item.Id === this.dataViewDetailsPayment.ArTravelAgentId\n );\n this.dataViewDetailsPayment.ArClientName = matchingClient?.ClientName;\n }\n\n this.isShowDetailsInvoiceDetail = true;\n });\n },\n\n async addDataBill(value) {\n const data = {\n ArPayment: {\n ...value,\n },\n };\n await this.createBill(data).then((data) => {\n if (this.isCreateBillError) {\n return;\n }\n this.isShowModalAddNew = false;\n this.refetchData();\n this.fetchDataDetailsArPayment(data.ArPaymentId);\n });\n },\n\n async viewDetailListVoucher(value) {\n const { column, data, rowIndex } = value;\n const arrayBannedCellTemplate = [\"Action\", \"selection\", \"selectionCellTemplate\"];\n this.detailRowIndex = rowIndex;\n if (\n arrayBannedCellTemplate.includes(column.cellTemplate) ||\n arrayBannedCellTemplate.includes(column.cellTemplate.name)\n ) {\n return;\n }\n await this.fetchDataDetailsArPayment(data.Id);\n },\n showModalEditAddNew(value) {\n this.dataRefill = {\n ...value,\n };\n this.isShowModalAddNew = true;\n },\n async addDataEdit(data, Id) {\n const body = {\n ArPayment: {\n Id,\n ...data,\n },\n };\n await arClient.api_AR_UPA01(body).then((res) => {\n this.showResToast(res);\n if (res.Status !== \"200\") {\n return;\n }\n this.isShowModalAddNew = false;\n this.refetchData();\n this.fetchDataDetailsArPayment(Id);\n this.dataRefill = null;\n });\n },\n async addListPaymentForinvoiceDetail(value) {\n const body = {\n ArPaymentDetail: {\n ...value,\n },\n };\n\n await this.createPayment(body).then(() => {\n if (this.isCreatePaymentError) return;\n\n const { Id } = this.dataViewDetailsPayment;\n this.refetchData();\n this.fetchDataDetailsArPayment(Id);\n });\n },\n async delListArPaymentDetail(id) {\n const body = {\n ArPaymentDetail: {\n Id: id,\n },\n };\n await arClient.api_AR_DPAD01(body).then((res) => {\n this.showResToast(res);\n if (res.Status !== \"200\") {\n return;\n }\n const { Id } = this.dataViewDetailsPayment;\n this.fetchDataDetailsArPayment(Id);\n this.refetchData();\n });\n },\n async fetchDataReadBill(id) {\n const body = {\n ArPaymentDetail: {\n Id: id,\n },\n };\n await arClient.api_AR_RPAD01(body).then((res) => {\n if (res.Status !== \"200\") {\n this.showResToast(res);\n return;\n }\n\n this.dataRefillForBill = res.Data;\n });\n },\n async acceptEditForBillPayment(data) {\n this.isUpdatePayment = true;\n const body = {\n ArPaymentDetail: {\n ...data,\n },\n };\n await arClient.api_AR_UPAD01(body).then((res) => {\n this.isUpdatePayment = false;\n this.showResToast(res);\n if (res.Status !== \"200\") {\n return;\n }\n\n this.$bvModal.hide(\"modal-payment-for-distribution\");\n const { Id } = this.dataViewDetailsPayment;\n this.fetchDataDetailsArPayment(Id);\n this.refetchData();\n });\n },\n\n deSelectedPayment(ArClientId) {\n this.dataTableListPay.forEach((item, index) => {\n if (item.ArTravelAgentId === ArTravelAgentId) {\n this.tableInstance.deselectRows([this.tableInstance.getKeyByRowIndex(index)]);\n }\n });\n },\n selectPayment(value) {\n if (value.selectedRowsData.length === 0) {\n this.listSelectedRow = [];\n return;\n }\n const listDataSelected = this.tableInstance.getSelectedRowsData();\n\n const selectedRowsListId = listDataSelected.map((item) => item.TravelAgentId);\n const newSelectedId = value.selectedRowKeys[value.selectedRowKeys.length - 1].TravelAgentId;\n\n if (selectedRowsListId[0] === newSelectedId) {\n this.tableInstance.selectRows(\n [value.selectedRowKeys[value.selectedRowKeys.length - 1]],\n true\n );\n } else {\n this.tableInstance.selectRows(\n [value.selectedRowKeys[value.selectedRowKeys.length - 1]],\n false\n );\n }\n\n this.listSelectedRow = [...listDataSelected];\n },\n },\n\n watch: {\n isShowModalAddNew(value) {\n if (!value) {\n this.dataRefill = null;\n }\n },\n },\n computed: {\n windowWidth() {\n return window.innerWidth;\n },\n formItems() {\n return [\n {\n type: \"string\",\n name: \"PaymentCode\",\n label: \"ar_client_payment_code\",\n placeholder: \"ar_client_payment_code\",\n wrapperClass: \"col-2\",\n },\n {\n type: \"select\",\n name: \"TravelAgentId\",\n dataSource: this.arClient.api_AR_RCL01,\n multiple: true,\n dataSourceParams: {\n IsCheckPermission: false,\n },\n customOptions: (options) =>\n options.map((option) => ({\n ...option,\n CodeName: `${option.TravelAgentCode} - ${option.NameVi}`,\n })),\n labelOption: \"CodeName\",\n label: \"ar_client_company\",\n placeholder: \"ar_client_company\",\n wrapperClass: \"col-3\",\n },\n {\n type: \"select\",\n name: \"PaymentStatus\",\n dataSource: ArPaymentStatus.map((i) => ({ ...i, title: this.$t(i.title) })),\n multiple: true,\n customReduce: \"value\",\n labelOption: \"title\",\n label: \"ar_client_receipt_status\",\n placeholder: \"ar_client_receipt_status\",\n wrapperClass: \"col-3\",\n },\n {\n type: \"select\",\n name: \"DistributionStatus\",\n dataSource: ArPaymentDistributionStatus.map((i) => ({ ...i, title: this.$t(i.title) })),\n multiple: true,\n customReduce: \"value\",\n labelOption: \"title\",\n label: \"ar_client_allotment_states\",\n placeholder: \"ar_client_allotment_states\",\n wrapperClass: \"col-3\",\n },\n {\n type: \"select\",\n name: \"PaymentDetailType\",\n dataSource: PaymentDetailTypeStatus.map((i) => ({ ...i, title: this.$t(i.title) })),\n multiple: true,\n customReduce: \"value\",\n labelOption: \"title\",\n label: \"ar_client_payment_type\",\n\n wrapperClass: \"col-3\",\n },\n {\n type: \"select\",\n name: \"CashierCode\",\n dataSource: this.arClient.api_AP_RTU01,\n dataSourceParams: {\n IsCheckPermission: false,\n },\n multiple: true,\n customOptions: (options) =>\n options.map((option) => ({\n ...option,\n CodeName: `${option.TaUserCode} - ${option.Fullname}`,\n })),\n labelOption: \"CodeName\",\n label: \"ar_client_created_person\",\n placeholder: \"ar_client_created_person\",\n wrapperClass: \"col-3\",\n },\n {\n type: \"select\",\n name: \"DateType\",\n dataSource: this.listDateType,\n\n labelOption: \"Label\",\n label: \"ar_client_date_type\",\n placeholder: \"ar_client_date_type\",\n wrapperClass: \"col-2\",\n },\n {\n type: \"date\",\n rangeData: [\"FromDate\", \"ToDate\"],\n name: \"createdDate\",\n\n isRange: true,\n placeholder: \"ar_common_range\",\n label: \"ar_common_range\",\n wrapperClass: \"col-3\",\n },\n ];\n },\n listDateType() {\n return [\n { Id: \"CreateDate\", Label: this.$t(\"ar_client_created_date\") },\n { Id: \"ArPaymentDate\", Label: this.$t(\"ar_client_payment_date\") },\n ];\n },\n\n tableInstance() {\n return this.$refs[dataGridRef].$refs.dxDatagridRef.instance;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!./ListPayAr.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!./ListPayAr.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ListPayAr.vue?vue&type=template&id=70ecdc93&scoped=true&\"\nimport script from \"./ListPayAr.js?vue&type=script&lang=js&\"\nexport * from \"./ListPayAr.js?vue&type=script&lang=js&\"\nimport style0 from \"./ListPayAr.vue?vue&type=style&index=0&id=70ecdc93&prod&lang=scss&scoped=true&\"\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 \"70ecdc93\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentForDistribution.vue?vue&type=style&index=0&id=6ff9ecfd&prod&lang=scss&\"",";(function (globalScope) {\r\n 'use strict';\r\n\r\n\r\n /*!\r\n * decimal.js v10.4.3\r\n * An arbitrary-precision Decimal type for JavaScript.\r\n * https://github.com/MikeMcl/decimal.js\r\n * Copyright (c) 2022 Michael Mclaughlin \r\n * MIT Licence\r\n */\r\n\r\n\r\n // ----------------------------------- EDITABLE DEFAULTS ------------------------------------ //\r\n\r\n\r\n // The maximum exponent magnitude.\r\n // The limit on the value of `toExpNeg`, `toExpPos`, `minE` and `maxE`.\r\n var EXP_LIMIT = 9e15, // 0 to 9e15\r\n\r\n // The limit on the value of `precision`, and on the value of the first argument to\r\n // `toDecimalPlaces`, `toExponential`, `toFixed`, `toPrecision` and `toSignificantDigits`.\r\n MAX_DIGITS = 1e9, // 0 to 1e9\r\n\r\n // Base conversion alphabet.\r\n NUMERALS = '0123456789abcdef',\r\n\r\n // The natural logarithm of 10 (1025 digits).\r\n LN10 = '2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058',\r\n\r\n // Pi (1025 digits).\r\n PI = '3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789',\r\n\r\n\r\n // The initial configuration properties of the Decimal constructor.\r\n DEFAULTS = {\r\n\r\n // These values must be integers within the stated ranges (inclusive).\r\n // Most of these values can be changed at run-time using the `Decimal.config` method.\r\n\r\n // The maximum number of significant digits of the result of a calculation or base conversion.\r\n // E.g. `Decimal.config({ precision: 20 });`\r\n precision: 20, // 1 to MAX_DIGITS\r\n\r\n // The rounding mode used when rounding to `precision`.\r\n //\r\n // ROUND_UP 0 Away from zero.\r\n // ROUND_DOWN 1 Towards zero.\r\n // ROUND_CEIL 2 Towards +Infinity.\r\n // ROUND_FLOOR 3 Towards -Infinity.\r\n // ROUND_HALF_UP 4 Towards nearest neighbour. If equidistant, up.\r\n // ROUND_HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\r\n // ROUND_HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\r\n // ROUND_HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\r\n // ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\r\n //\r\n // E.g.\r\n // `Decimal.rounding = 4;`\r\n // `Decimal.rounding = Decimal.ROUND_HALF_UP;`\r\n rounding: 4, // 0 to 8\r\n\r\n // The modulo mode used when calculating the modulus: a mod n.\r\n // The quotient (q = a / n) is calculated according to the corresponding rounding mode.\r\n // The remainder (r) is calculated as: r = a - n * q.\r\n //\r\n // UP 0 The remainder is positive if the dividend is negative, else is negative.\r\n // DOWN 1 The remainder has the same sign as the dividend (JavaScript %).\r\n // FLOOR 3 The remainder has the same sign as the divisor (Python %).\r\n // HALF_EVEN 6 The IEEE 754 remainder function.\r\n // EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)). Always positive.\r\n //\r\n // Truncated division (1), floored division (3), the IEEE 754 remainder (6), and Euclidian\r\n // division (9) are commonly used for the modulus operation. The other rounding modes can also\r\n // be used, but they may not give useful results.\r\n modulo: 1, // 0 to 9\r\n\r\n // The exponent value at and beneath which `toString` returns exponential notation.\r\n // JavaScript numbers: -7\r\n toExpNeg: -7, // 0 to -EXP_LIMIT\r\n\r\n // The exponent value at and above which `toString` returns exponential notation.\r\n // JavaScript numbers: 21\r\n toExpPos: 21, // 0 to EXP_LIMIT\r\n\r\n // The minimum exponent value, beneath which underflow to zero occurs.\r\n // JavaScript numbers: -324 (5e-324)\r\n minE: -EXP_LIMIT, // -1 to -EXP_LIMIT\r\n\r\n // The maximum exponent value, above which overflow to Infinity occurs.\r\n // JavaScript numbers: 308 (1.7976931348623157e+308)\r\n maxE: EXP_LIMIT, // 1 to EXP_LIMIT\r\n\r\n // Whether to use cryptographically-secure random number generation, if available.\r\n crypto: false // true/false\r\n },\r\n\r\n\r\n // ----------------------------------- END OF EDITABLE DEFAULTS ------------------------------- //\r\n\r\n\r\n Decimal, inexact, noConflict, quadrant,\r\n external = true,\r\n\r\n decimalError = '[DecimalError] ',\r\n invalidArgument = decimalError + 'Invalid argument: ',\r\n precisionLimitExceeded = decimalError + 'Precision limit exceeded',\r\n cryptoUnavailable = decimalError + 'crypto unavailable',\r\n tag = '[object Decimal]',\r\n\r\n mathfloor = Math.floor,\r\n mathpow = Math.pow,\r\n\r\n isBinary = /^0b([01]+(\\.[01]*)?|\\.[01]+)(p[+-]?\\d+)?$/i,\r\n isHex = /^0x([0-9a-f]+(\\.[0-9a-f]*)?|\\.[0-9a-f]+)(p[+-]?\\d+)?$/i,\r\n isOctal = /^0o([0-7]+(\\.[0-7]*)?|\\.[0-7]+)(p[+-]?\\d+)?$/i,\r\n isDecimal = /^(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,\r\n\r\n BASE = 1e7,\r\n LOG_BASE = 7,\r\n MAX_SAFE_INTEGER = 9007199254740991,\r\n\r\n LN10_PRECISION = LN10.length - 1,\r\n PI_PRECISION = PI.length - 1,\r\n\r\n // Decimal.prototype object\r\n P = { toStringTag: tag };\r\n\r\n\r\n // Decimal prototype methods\r\n\r\n\r\n /*\r\n * absoluteValue abs\r\n * ceil\r\n * clampedTo clamp\r\n * comparedTo cmp\r\n * cosine cos\r\n * cubeRoot cbrt\r\n * decimalPlaces dp\r\n * dividedBy div\r\n * dividedToIntegerBy divToInt\r\n * equals eq\r\n * floor\r\n * greaterThan gt\r\n * greaterThanOrEqualTo gte\r\n * hyperbolicCosine cosh\r\n * hyperbolicSine sinh\r\n * hyperbolicTangent tanh\r\n * inverseCosine acos\r\n * inverseHyperbolicCosine acosh\r\n * inverseHyperbolicSine asinh\r\n * inverseHyperbolicTangent atanh\r\n * inverseSine asin\r\n * inverseTangent atan\r\n * isFinite\r\n * isInteger isInt\r\n * isNaN\r\n * isNegative isNeg\r\n * isPositive isPos\r\n * isZero\r\n * lessThan lt\r\n * lessThanOrEqualTo lte\r\n * logarithm log\r\n * [maximum] [max]\r\n * [minimum] [min]\r\n * minus sub\r\n * modulo mod\r\n * naturalExponential exp\r\n * naturalLogarithm ln\r\n * negated neg\r\n * plus add\r\n * precision sd\r\n * round\r\n * sine sin\r\n * squareRoot sqrt\r\n * tangent tan\r\n * times mul\r\n * toBinary\r\n * toDecimalPlaces toDP\r\n * toExponential\r\n * toFixed\r\n * toFraction\r\n * toHexadecimal toHex\r\n * toNearest\r\n * toNumber\r\n * toOctal\r\n * toPower pow\r\n * toPrecision\r\n * toSignificantDigits toSD\r\n * toString\r\n * truncated trunc\r\n * valueOf toJSON\r\n */\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the absolute value of this Decimal.\r\n *\r\n */\r\n P.absoluteValue = P.abs = function () {\r\n var x = new this.constructor(this);\r\n if (x.s < 0) x.s = 1;\r\n return finalise(x);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a whole number in the\r\n * direction of positive Infinity.\r\n *\r\n */\r\n P.ceil = function () {\r\n return finalise(new this.constructor(this), this.e + 1, 2);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal clamped to the range\r\n * delineated by `min` and `max`.\r\n *\r\n * min {number|string|Decimal}\r\n * max {number|string|Decimal}\r\n *\r\n */\r\n P.clampedTo = P.clamp = function (min, max) {\r\n var k,\r\n x = this,\r\n Ctor = x.constructor;\r\n min = new Ctor(min);\r\n max = new Ctor(max);\r\n if (!min.s || !max.s) return new Ctor(NaN);\r\n if (min.gt(max)) throw Error(invalidArgument + max);\r\n k = x.cmp(min);\r\n return k < 0 ? min : x.cmp(max) > 0 ? max : new Ctor(x);\r\n };\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if the value of this Decimal is greater than the value of `y`,\r\n * -1 if the value of this Decimal is less than the value of `y`,\r\n * 0 if they have the same value,\r\n * NaN if the value of either Decimal is NaN.\r\n *\r\n */\r\n P.comparedTo = P.cmp = function (y) {\r\n var i, j, xdL, ydL,\r\n x = this,\r\n xd = x.d,\r\n yd = (y = new x.constructor(y)).d,\r\n xs = x.s,\r\n ys = y.s;\r\n\r\n // Either NaN or ±Infinity?\r\n if (!xd || !yd) {\r\n return !xs || !ys ? NaN : xs !== ys ? xs : xd === yd ? 0 : !xd ^ xs < 0 ? 1 : -1;\r\n }\r\n\r\n // Either zero?\r\n if (!xd[0] || !yd[0]) return xd[0] ? xs : yd[0] ? -ys : 0;\r\n\r\n // Signs differ?\r\n if (xs !== ys) return xs;\r\n\r\n // Compare exponents.\r\n if (x.e !== y.e) return x.e > y.e ^ xs < 0 ? 1 : -1;\r\n\r\n xdL = xd.length;\r\n ydL = yd.length;\r\n\r\n // Compare digit by digit.\r\n for (i = 0, j = xdL < ydL ? xdL : ydL; i < j; ++i) {\r\n if (xd[i] !== yd[i]) return xd[i] > yd[i] ^ xs < 0 ? 1 : -1;\r\n }\r\n\r\n // Compare lengths.\r\n return xdL === ydL ? 0 : xdL > ydL ^ xs < 0 ? 1 : -1;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the cosine of the value in radians of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-1, 1]\r\n *\r\n * cos(0) = 1\r\n * cos(-0) = 1\r\n * cos(Infinity) = NaN\r\n * cos(-Infinity) = NaN\r\n * cos(NaN) = NaN\r\n *\r\n */\r\n P.cosine = P.cos = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.d) return new Ctor(NaN);\r\n\r\n // cos(0) = cos(-0) = 1\r\n if (!x.d[0]) return new Ctor(1);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE;\r\n Ctor.rounding = 1;\r\n\r\n x = cosine(Ctor, toLessThanHalfPi(Ctor, x));\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(quadrant == 2 || quadrant == 3 ? x.neg() : x, pr, rm, true);\r\n };\r\n\r\n\r\n /*\r\n *\r\n * Return a new Decimal whose value is the cube root of the value of this Decimal, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * cbrt(0) = 0\r\n * cbrt(-0) = -0\r\n * cbrt(1) = 1\r\n * cbrt(-1) = -1\r\n * cbrt(N) = N\r\n * cbrt(-I) = -I\r\n * cbrt(I) = I\r\n *\r\n * Math.cbrt(x) = (x < 0 ? -Math.pow(-x, 1/3) : Math.pow(x, 1/3))\r\n *\r\n */\r\n P.cubeRoot = P.cbrt = function () {\r\n var e, m, n, r, rep, s, sd, t, t3, t3plusx,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite() || x.isZero()) return new Ctor(x);\r\n external = false;\r\n\r\n // Initial estimate.\r\n s = x.s * mathpow(x.s * x, 1 / 3);\r\n\r\n // Math.cbrt underflow/overflow?\r\n // Pass x to Math.pow as integer, then adjust the exponent of the result.\r\n if (!s || Math.abs(s) == 1 / 0) {\r\n n = digitsToString(x.d);\r\n e = x.e;\r\n\r\n // Adjust n exponent so it is a multiple of 3 away from x exponent.\r\n if (s = (e - n.length + 1) % 3) n += (s == 1 || s == -2 ? '0' : '00');\r\n s = mathpow(n, 1 / 3);\r\n\r\n // Rarely, e may be one less than the result exponent value.\r\n e = mathfloor((e + 1) / 3) - (e % 3 == (e < 0 ? -1 : 2));\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new Ctor(n);\r\n r.s = x.s;\r\n } else {\r\n r = new Ctor(s.toString());\r\n }\r\n\r\n sd = (e = Ctor.precision) + 3;\r\n\r\n // Halley's method.\r\n // TODO? Compare Newton's method.\r\n for (;;) {\r\n t = r;\r\n t3 = t.times(t).times(t);\r\n t3plusx = t3.plus(x);\r\n r = divide(t3plusx.plus(x).times(t), t3plusx.plus(t3), sd + 2, 1);\r\n\r\n // TODO? Replace with for-loop and checkRoundingDigits.\r\n if (digitsToString(t.d).slice(0, sd) === (n = digitsToString(r.d)).slice(0, sd)) {\r\n n = n.slice(sd - 3, sd + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits are 9999 or 4999\r\n // , i.e. approaching a rounding boundary, continue the iteration.\r\n if (n == '9999' || !rep && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the exact result as the\r\n // nines may infinitely repeat.\r\n if (!rep) {\r\n finalise(t, e + 1, 0);\r\n\r\n if (t.times(t).times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n }\r\n\r\n sd += 4;\r\n rep = 1;\r\n } else {\r\n\r\n // If the rounding digits are null, 0{0,4} or 50{0,3}, check for an exact result.\r\n // If not, then there are further digits and m will be truthy.\r\n if (!+n || !+n.slice(1) && n.charAt(0) == '5') {\r\n\r\n // Truncate to the first rounding digit.\r\n finalise(r, e + 1, 1);\r\n m = !r.times(r).times(r).eq(x);\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n external = true;\r\n\r\n return finalise(r, e, Ctor.rounding, m);\r\n };\r\n\r\n\r\n /*\r\n * Return the number of decimal places of the value of this Decimal.\r\n *\r\n */\r\n P.decimalPlaces = P.dp = function () {\r\n var w,\r\n d = this.d,\r\n n = NaN;\r\n\r\n if (d) {\r\n w = d.length - 1;\r\n n = (w - mathfloor(this.e / LOG_BASE)) * LOG_BASE;\r\n\r\n // Subtract the number of trailing zeros of the last word.\r\n w = d[w];\r\n if (w) for (; w % 10 == 0; w /= 10) n--;\r\n if (n < 0) n = 0;\r\n }\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * n / 0 = I\r\n * n / N = N\r\n * n / I = 0\r\n * 0 / n = 0\r\n * 0 / 0 = N\r\n * 0 / N = N\r\n * 0 / I = 0\r\n * N / n = N\r\n * N / 0 = N\r\n * N / N = N\r\n * N / I = N\r\n * I / n = I\r\n * I / 0 = I\r\n * I / N = N\r\n * I / I = N\r\n *\r\n * Return a new Decimal whose value is the value of this Decimal divided by `y`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.dividedBy = P.div = function (y) {\r\n return divide(this, new this.constructor(y));\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the integer part of dividing the value of this Decimal\r\n * by the value of `y`, rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.dividedToIntegerBy = P.divToInt = function (y) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n return finalise(divide(x, new Ctor(y), 0, 1, 1), Ctor.precision, Ctor.rounding);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is equal to the value of `y`, otherwise return false.\r\n *\r\n */\r\n P.equals = P.eq = function (y) {\r\n return this.cmp(y) === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a whole number in the\r\n * direction of negative Infinity.\r\n *\r\n */\r\n P.floor = function () {\r\n return finalise(new this.constructor(this), this.e + 1, 3);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is greater than the value of `y`, otherwise return\r\n * false.\r\n *\r\n */\r\n P.greaterThan = P.gt = function (y) {\r\n return this.cmp(y) > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is greater than or equal to the value of `y`,\r\n * otherwise return false.\r\n *\r\n */\r\n P.greaterThanOrEqualTo = P.gte = function (y) {\r\n var k = this.cmp(y);\r\n return k == 1 || k === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic cosine of the value in radians of this\r\n * Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [1, Infinity]\r\n *\r\n * cosh(x) = 1 + x^2/2! + x^4/4! + x^6/6! + ...\r\n *\r\n * cosh(0) = 1\r\n * cosh(-0) = 1\r\n * cosh(Infinity) = Infinity\r\n * cosh(-Infinity) = Infinity\r\n * cosh(NaN) = NaN\r\n *\r\n * x time taken (ms) result\r\n * 1000 9 9.8503555700852349694e+433\r\n * 10000 25 4.4034091128314607936e+4342\r\n * 100000 171 1.4033316802130615897e+43429\r\n * 1000000 3817 1.5166076984010437725e+434294\r\n * 10000000 abandoned after 2 minute wait\r\n *\r\n * TODO? Compare performance of cosh(x) = 0.5 * (exp(x) + exp(-x))\r\n *\r\n */\r\n P.hyperbolicCosine = P.cosh = function () {\r\n var k, n, pr, rm, len,\r\n x = this,\r\n Ctor = x.constructor,\r\n one = new Ctor(1);\r\n\r\n if (!x.isFinite()) return new Ctor(x.s ? 1 / 0 : NaN);\r\n if (x.isZero()) return one;\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(x.e, x.sd()) + 4;\r\n Ctor.rounding = 1;\r\n len = x.d.length;\r\n\r\n // Argument reduction: cos(4x) = 1 - 8cos^2(x) + 8cos^4(x) + 1\r\n // i.e. cos(x) = 1 - cos^2(x/4)(8 - 8cos^2(x/4))\r\n\r\n // Estimate the optimum number of times to use the argument reduction.\r\n // TODO? Estimation reused from cosine() and may not be optimal here.\r\n if (len < 32) {\r\n k = Math.ceil(len / 3);\r\n n = (1 / tinyPow(4, k)).toString();\r\n } else {\r\n k = 16;\r\n n = '2.3283064365386962890625e-10';\r\n }\r\n\r\n x = taylorSeries(Ctor, 1, x.times(n), new Ctor(1), true);\r\n\r\n // Reverse argument reduction\r\n var cosh2_x,\r\n i = k,\r\n d8 = new Ctor(8);\r\n for (; i--;) {\r\n cosh2_x = x.times(x);\r\n x = one.minus(cosh2_x.times(d8.minus(cosh2_x.times(d8))));\r\n }\r\n\r\n return finalise(x, Ctor.precision = pr, Ctor.rounding = rm, true);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic sine of the value in radians of this\r\n * Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-Infinity, Infinity]\r\n *\r\n * sinh(x) = x + x^3/3! + x^5/5! + x^7/7! + ...\r\n *\r\n * sinh(0) = 0\r\n * sinh(-0) = -0\r\n * sinh(Infinity) = Infinity\r\n * sinh(-Infinity) = -Infinity\r\n * sinh(NaN) = NaN\r\n *\r\n * x time taken (ms)\r\n * 10 2 ms\r\n * 100 5 ms\r\n * 1000 14 ms\r\n * 10000 82 ms\r\n * 100000 886 ms 1.4033316802130615897e+43429\r\n * 200000 2613 ms\r\n * 300000 5407 ms\r\n * 400000 8824 ms\r\n * 500000 13026 ms 8.7080643612718084129e+217146\r\n * 1000000 48543 ms\r\n *\r\n * TODO? Compare performance of sinh(x) = 0.5 * (exp(x) - exp(-x))\r\n *\r\n */\r\n P.hyperbolicSine = P.sinh = function () {\r\n var k, pr, rm, len,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite() || x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(x.e, x.sd()) + 4;\r\n Ctor.rounding = 1;\r\n len = x.d.length;\r\n\r\n if (len < 3) {\r\n x = taylorSeries(Ctor, 2, x, x, true);\r\n } else {\r\n\r\n // Alternative argument reduction: sinh(3x) = sinh(x)(3 + 4sinh^2(x))\r\n // i.e. sinh(x) = sinh(x/3)(3 + 4sinh^2(x/3))\r\n // 3 multiplications and 1 addition\r\n\r\n // Argument reduction: sinh(5x) = sinh(x)(5 + sinh^2(x)(20 + 16sinh^2(x)))\r\n // i.e. sinh(x) = sinh(x/5)(5 + sinh^2(x/5)(20 + 16sinh^2(x/5)))\r\n // 4 multiplications and 2 additions\r\n\r\n // Estimate the optimum number of times to use the argument reduction.\r\n k = 1.4 * Math.sqrt(len);\r\n k = k > 16 ? 16 : k | 0;\r\n\r\n x = x.times(1 / tinyPow(5, k));\r\n x = taylorSeries(Ctor, 2, x, x, true);\r\n\r\n // Reverse argument reduction\r\n var sinh2_x,\r\n d5 = new Ctor(5),\r\n d16 = new Ctor(16),\r\n d20 = new Ctor(20);\r\n for (; k--;) {\r\n sinh2_x = x.times(x);\r\n x = x.times(d5.plus(sinh2_x.times(d16.times(sinh2_x).plus(d20))));\r\n }\r\n }\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(x, pr, rm, true);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic tangent of the value in radians of this\r\n * Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-1, 1]\r\n *\r\n * tanh(x) = sinh(x) / cosh(x)\r\n *\r\n * tanh(0) = 0\r\n * tanh(-0) = -0\r\n * tanh(Infinity) = 1\r\n * tanh(-Infinity) = -1\r\n * tanh(NaN) = NaN\r\n *\r\n */\r\n P.hyperbolicTangent = P.tanh = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite()) return new Ctor(x.s);\r\n if (x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + 7;\r\n Ctor.rounding = 1;\r\n\r\n return divide(x.sinh(), x.cosh(), Ctor.precision = pr, Ctor.rounding = rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arccosine (inverse cosine) in radians of the value of\r\n * this Decimal.\r\n *\r\n * Domain: [-1, 1]\r\n * Range: [0, pi]\r\n *\r\n * acos(x) = pi/2 - asin(x)\r\n *\r\n * acos(0) = pi/2\r\n * acos(-0) = pi/2\r\n * acos(1) = 0\r\n * acos(-1) = pi\r\n * acos(1/2) = pi/3\r\n * acos(-1/2) = 2*pi/3\r\n * acos(|x| > 1) = NaN\r\n * acos(NaN) = NaN\r\n *\r\n */\r\n P.inverseCosine = P.acos = function () {\r\n var halfPi,\r\n x = this,\r\n Ctor = x.constructor,\r\n k = x.abs().cmp(1),\r\n pr = Ctor.precision,\r\n rm = Ctor.rounding;\r\n\r\n if (k !== -1) {\r\n return k === 0\r\n // |x| is 1\r\n ? x.isNeg() ? getPi(Ctor, pr, rm) : new Ctor(0)\r\n // |x| > 1 or x is NaN\r\n : new Ctor(NaN);\r\n }\r\n\r\n if (x.isZero()) return getPi(Ctor, pr + 4, rm).times(0.5);\r\n\r\n // TODO? Special case acos(0.5) = pi/3 and acos(-0.5) = 2*pi/3\r\n\r\n Ctor.precision = pr + 6;\r\n Ctor.rounding = 1;\r\n\r\n x = x.asin();\r\n halfPi = getPi(Ctor, pr + 4, rm).times(0.5);\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return halfPi.minus(x);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic cosine in radians of the\r\n * value of this Decimal.\r\n *\r\n * Domain: [1, Infinity]\r\n * Range: [0, Infinity]\r\n *\r\n * acosh(x) = ln(x + sqrt(x^2 - 1))\r\n *\r\n * acosh(x < 1) = NaN\r\n * acosh(NaN) = NaN\r\n * acosh(Infinity) = Infinity\r\n * acosh(-Infinity) = NaN\r\n * acosh(0) = NaN\r\n * acosh(-0) = NaN\r\n * acosh(1) = 0\r\n * acosh(-1) = NaN\r\n *\r\n */\r\n P.inverseHyperbolicCosine = P.acosh = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (x.lte(1)) return new Ctor(x.eq(1) ? 0 : NaN);\r\n if (!x.isFinite()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(Math.abs(x.e), x.sd()) + 4;\r\n Ctor.rounding = 1;\r\n external = false;\r\n\r\n x = x.times(x).minus(1).sqrt().plus(x);\r\n\r\n external = true;\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return x.ln();\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic sine in radians of the value\r\n * of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-Infinity, Infinity]\r\n *\r\n * asinh(x) = ln(x + sqrt(x^2 + 1))\r\n *\r\n * asinh(NaN) = NaN\r\n * asinh(Infinity) = Infinity\r\n * asinh(-Infinity) = -Infinity\r\n * asinh(0) = 0\r\n * asinh(-0) = -0\r\n *\r\n */\r\n P.inverseHyperbolicSine = P.asinh = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite() || x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + 2 * Math.max(Math.abs(x.e), x.sd()) + 6;\r\n Ctor.rounding = 1;\r\n external = false;\r\n\r\n x = x.times(x).plus(1).sqrt().plus(x);\r\n\r\n external = true;\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return x.ln();\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic tangent in radians of the\r\n * value of this Decimal.\r\n *\r\n * Domain: [-1, 1]\r\n * Range: [-Infinity, Infinity]\r\n *\r\n * atanh(x) = 0.5 * ln((1 + x) / (1 - x))\r\n *\r\n * atanh(|x| > 1) = NaN\r\n * atanh(NaN) = NaN\r\n * atanh(Infinity) = NaN\r\n * atanh(-Infinity) = NaN\r\n * atanh(0) = 0\r\n * atanh(-0) = -0\r\n * atanh(1) = Infinity\r\n * atanh(-1) = -Infinity\r\n *\r\n */\r\n P.inverseHyperbolicTangent = P.atanh = function () {\r\n var pr, rm, wpr, xsd,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite()) return new Ctor(NaN);\r\n if (x.e >= 0) return new Ctor(x.abs().eq(1) ? x.s / 0 : x.isZero() ? x : NaN);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n xsd = x.sd();\r\n\r\n if (Math.max(xsd, pr) < 2 * -x.e - 1) return finalise(new Ctor(x), pr, rm, true);\r\n\r\n Ctor.precision = wpr = xsd - x.e;\r\n\r\n x = divide(x.plus(1), new Ctor(1).minus(x), wpr + pr, 1);\r\n\r\n Ctor.precision = pr + 4;\r\n Ctor.rounding = 1;\r\n\r\n x = x.ln();\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return x.times(0.5);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arcsine (inverse sine) in radians of the value of this\r\n * Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-pi/2, pi/2]\r\n *\r\n * asin(x) = 2*atan(x/(1 + sqrt(1 - x^2)))\r\n *\r\n * asin(0) = 0\r\n * asin(-0) = -0\r\n * asin(1/2) = pi/6\r\n * asin(-1/2) = -pi/6\r\n * asin(1) = pi/2\r\n * asin(-1) = -pi/2\r\n * asin(|x| > 1) = NaN\r\n * asin(NaN) = NaN\r\n *\r\n * TODO? Compare performance of Taylor series.\r\n *\r\n */\r\n P.inverseSine = P.asin = function () {\r\n var halfPi, k,\r\n pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (x.isZero()) return new Ctor(x);\r\n\r\n k = x.abs().cmp(1);\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n\r\n if (k !== -1) {\r\n\r\n // |x| is 1\r\n if (k === 0) {\r\n halfPi = getPi(Ctor, pr + 4, rm).times(0.5);\r\n halfPi.s = x.s;\r\n return halfPi;\r\n }\r\n\r\n // |x| > 1 or x is NaN\r\n return new Ctor(NaN);\r\n }\r\n\r\n // TODO? Special case asin(1/2) = pi/6 and asin(-1/2) = -pi/6\r\n\r\n Ctor.precision = pr + 6;\r\n Ctor.rounding = 1;\r\n\r\n x = x.div(new Ctor(1).minus(x.times(x)).sqrt().plus(1)).atan();\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return x.times(2);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arctangent (inverse tangent) in radians of the value\r\n * of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-pi/2, pi/2]\r\n *\r\n * atan(x) = x - x^3/3 + x^5/5 - x^7/7 + ...\r\n *\r\n * atan(0) = 0\r\n * atan(-0) = -0\r\n * atan(1) = pi/4\r\n * atan(-1) = -pi/4\r\n * atan(Infinity) = pi/2\r\n * atan(-Infinity) = -pi/2\r\n * atan(NaN) = NaN\r\n *\r\n */\r\n P.inverseTangent = P.atan = function () {\r\n var i, j, k, n, px, t, r, wpr, x2,\r\n x = this,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision,\r\n rm = Ctor.rounding;\r\n\r\n if (!x.isFinite()) {\r\n if (!x.s) return new Ctor(NaN);\r\n if (pr + 4 <= PI_PRECISION) {\r\n r = getPi(Ctor, pr + 4, rm).times(0.5);\r\n r.s = x.s;\r\n return r;\r\n }\r\n } else if (x.isZero()) {\r\n return new Ctor(x);\r\n } else if (x.abs().eq(1) && pr + 4 <= PI_PRECISION) {\r\n r = getPi(Ctor, pr + 4, rm).times(0.25);\r\n r.s = x.s;\r\n return r;\r\n }\r\n\r\n Ctor.precision = wpr = pr + 10;\r\n Ctor.rounding = 1;\r\n\r\n // TODO? if (x >= 1 && pr <= PI_PRECISION) atan(x) = halfPi * x.s - atan(1 / x);\r\n\r\n // Argument reduction\r\n // Ensure |x| < 0.42\r\n // atan(x) = 2 * atan(x / (1 + sqrt(1 + x^2)))\r\n\r\n k = Math.min(28, wpr / LOG_BASE + 2 | 0);\r\n\r\n for (i = k; i; --i) x = x.div(x.times(x).plus(1).sqrt().plus(1));\r\n\r\n external = false;\r\n\r\n j = Math.ceil(wpr / LOG_BASE);\r\n n = 1;\r\n x2 = x.times(x);\r\n r = new Ctor(x);\r\n px = x;\r\n\r\n // atan(x) = x - x^3/3 + x^5/5 - x^7/7 + ...\r\n for (; i !== -1;) {\r\n px = px.times(x2);\r\n t = r.minus(px.div(n += 2));\r\n\r\n px = px.times(x2);\r\n r = t.plus(px.div(n += 2));\r\n\r\n if (r.d[j] !== void 0) for (i = j; r.d[i] === t.d[i] && i--;);\r\n }\r\n\r\n if (k) r = r.times(2 << (k - 1));\r\n\r\n external = true;\r\n\r\n return finalise(r, Ctor.precision = pr, Ctor.rounding = rm, true);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is a finite number, otherwise return false.\r\n *\r\n */\r\n P.isFinite = function () {\r\n return !!this.d;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is an integer, otherwise return false.\r\n *\r\n */\r\n P.isInteger = P.isInt = function () {\r\n return !!this.d && mathfloor(this.e / LOG_BASE) > this.d.length - 2;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is NaN, otherwise return false.\r\n *\r\n */\r\n P.isNaN = function () {\r\n return !this.s;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is negative, otherwise return false.\r\n *\r\n */\r\n P.isNegative = P.isNeg = function () {\r\n return this.s < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is positive, otherwise return false.\r\n *\r\n */\r\n P.isPositive = P.isPos = function () {\r\n return this.s > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is 0 or -0, otherwise return false.\r\n *\r\n */\r\n P.isZero = function () {\r\n return !!this.d && this.d[0] === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is less than `y`, otherwise return false.\r\n *\r\n */\r\n P.lessThan = P.lt = function (y) {\r\n return this.cmp(y) < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is less than or equal to `y`, otherwise return false.\r\n *\r\n */\r\n P.lessThanOrEqualTo = P.lte = function (y) {\r\n return this.cmp(y) < 1;\r\n };\r\n\r\n\r\n /*\r\n * Return the logarithm of the value of this Decimal to the specified base, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * If no base is specified, return log[10](arg).\r\n *\r\n * log[base](arg) = ln(arg) / ln(base)\r\n *\r\n * The result will always be correctly rounded if the base of the log is 10, and 'almost always'\r\n * otherwise:\r\n *\r\n * Depending on the rounding mode, the result may be incorrectly rounded if the first fifteen\r\n * rounding digits are [49]99999999999999 or [50]00000000000000. In that case, the maximum error\r\n * between the result and the correctly rounded result will be one ulp (unit in the last place).\r\n *\r\n * log[-b](a) = NaN\r\n * log[0](a) = NaN\r\n * log[1](a) = NaN\r\n * log[NaN](a) = NaN\r\n * log[Infinity](a) = NaN\r\n * log[b](0) = -Infinity\r\n * log[b](-0) = -Infinity\r\n * log[b](-a) = NaN\r\n * log[b](1) = 0\r\n * log[b](Infinity) = Infinity\r\n * log[b](NaN) = NaN\r\n *\r\n * [base] {number|string|Decimal} The base of the logarithm.\r\n *\r\n */\r\n P.logarithm = P.log = function (base) {\r\n var isBase10, d, denominator, k, inf, num, sd, r,\r\n arg = this,\r\n Ctor = arg.constructor,\r\n pr = Ctor.precision,\r\n rm = Ctor.rounding,\r\n guard = 5;\r\n\r\n // Default base is 10.\r\n if (base == null) {\r\n base = new Ctor(10);\r\n isBase10 = true;\r\n } else {\r\n base = new Ctor(base);\r\n d = base.d;\r\n\r\n // Return NaN if base is negative, or non-finite, or is 0 or 1.\r\n if (base.s < 0 || !d || !d[0] || base.eq(1)) return new Ctor(NaN);\r\n\r\n isBase10 = base.eq(10);\r\n }\r\n\r\n d = arg.d;\r\n\r\n // Is arg negative, non-finite, 0 or 1?\r\n if (arg.s < 0 || !d || !d[0] || arg.eq(1)) {\r\n return new Ctor(d && !d[0] ? -1 / 0 : arg.s != 1 ? NaN : d ? 0 : 1 / 0);\r\n }\r\n\r\n // The result will have a non-terminating decimal expansion if base is 10 and arg is not an\r\n // integer power of 10.\r\n if (isBase10) {\r\n if (d.length > 1) {\r\n inf = true;\r\n } else {\r\n for (k = d[0]; k % 10 === 0;) k /= 10;\r\n inf = k !== 1;\r\n }\r\n }\r\n\r\n external = false;\r\n sd = pr + guard;\r\n num = naturalLogarithm(arg, sd);\r\n denominator = isBase10 ? getLn10(Ctor, sd + 10) : naturalLogarithm(base, sd);\r\n\r\n // The result will have 5 rounding digits.\r\n r = divide(num, denominator, sd, 1);\r\n\r\n // If at a rounding boundary, i.e. the result's rounding digits are [49]9999 or [50]0000,\r\n // calculate 10 further digits.\r\n //\r\n // If the result is known to have an infinite decimal expansion, repeat this until it is clear\r\n // that the result is above or below the boundary. Otherwise, if after calculating the 10\r\n // further digits, the last 14 are nines, round up and assume the result is exact.\r\n // Also assume the result is exact if the last 14 are zero.\r\n //\r\n // Example of a result that will be incorrectly rounded:\r\n // log[1048576](4503599627370502) = 2.60000000000000009610279511444746...\r\n // The above result correctly rounded using ROUND_CEIL to 1 decimal place should be 2.7, but it\r\n // will be given as 2.6 as there are 15 zeros immediately after the requested decimal place, so\r\n // the exact result would be assumed to be 2.6, which rounded using ROUND_CEIL to 1 decimal\r\n // place is still 2.6.\r\n if (checkRoundingDigits(r.d, k = pr, rm)) {\r\n\r\n do {\r\n sd += 10;\r\n num = naturalLogarithm(arg, sd);\r\n denominator = isBase10 ? getLn10(Ctor, sd + 10) : naturalLogarithm(base, sd);\r\n r = divide(num, denominator, sd, 1);\r\n\r\n if (!inf) {\r\n\r\n // Check for 14 nines from the 2nd rounding digit, as the first may be 4.\r\n if (+digitsToString(r.d).slice(k + 1, k + 15) + 1 == 1e14) {\r\n r = finalise(r, pr + 1, 0);\r\n }\r\n\r\n break;\r\n }\r\n } while (checkRoundingDigits(r.d, k += 10, rm));\r\n }\r\n\r\n external = true;\r\n\r\n return finalise(r, pr, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the maximum of the arguments and the value of this Decimal.\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n P.max = function () {\r\n Array.prototype.push.call(arguments, this);\r\n return maxOrMin(this.constructor, arguments, 'lt');\r\n };\r\n */\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the minimum of the arguments and the value of this Decimal.\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n P.min = function () {\r\n Array.prototype.push.call(arguments, this);\r\n return maxOrMin(this.constructor, arguments, 'gt');\r\n };\r\n */\r\n\r\n\r\n /*\r\n * n - 0 = n\r\n * n - N = N\r\n * n - I = -I\r\n * 0 - n = -n\r\n * 0 - 0 = 0\r\n * 0 - N = N\r\n * 0 - I = -I\r\n * N - n = N\r\n * N - 0 = N\r\n * N - N = N\r\n * N - I = N\r\n * I - n = I\r\n * I - 0 = I\r\n * I - N = N\r\n * I - I = N\r\n *\r\n * Return a new Decimal whose value is the value of this Decimal minus `y`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.minus = P.sub = function (y) {\r\n var d, e, i, j, k, len, pr, rm, xd, xe, xLTy, yd,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n y = new Ctor(y);\r\n\r\n // If either is not finite...\r\n if (!x.d || !y.d) {\r\n\r\n // Return NaN if either is NaN.\r\n if (!x.s || !y.s) y = new Ctor(NaN);\r\n\r\n // Return y negated if x is finite and y is ±Infinity.\r\n else if (x.d) y.s = -y.s;\r\n\r\n // Return x if y is finite and x is ±Infinity.\r\n // Return x if both are ±Infinity with different signs.\r\n // Return NaN if both are ±Infinity with the same sign.\r\n else y = new Ctor(y.d || x.s !== y.s ? x : NaN);\r\n\r\n return y;\r\n }\r\n\r\n // If signs differ...\r\n if (x.s != y.s) {\r\n y.s = -y.s;\r\n return x.plus(y);\r\n }\r\n\r\n xd = x.d;\r\n yd = y.d;\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n\r\n // If either is zero...\r\n if (!xd[0] || !yd[0]) {\r\n\r\n // Return y negated if x is zero and y is non-zero.\r\n if (yd[0]) y.s = -y.s;\r\n\r\n // Return x if y is zero and x is non-zero.\r\n else if (xd[0]) y = new Ctor(x);\r\n\r\n // Return zero if both are zero.\r\n // From IEEE 754 (2008) 6.3: 0 - 0 = -0 - -0 = -0 when rounding to -Infinity.\r\n else return new Ctor(rm === 3 ? -0 : 0);\r\n\r\n return external ? finalise(y, pr, rm) : y;\r\n }\r\n\r\n // x and y are finite, non-zero numbers with the same sign.\r\n\r\n // Calculate base 1e7 exponents.\r\n e = mathfloor(y.e / LOG_BASE);\r\n xe = mathfloor(x.e / LOG_BASE);\r\n\r\n xd = xd.slice();\r\n k = xe - e;\r\n\r\n // If base 1e7 exponents differ...\r\n if (k) {\r\n xLTy = k < 0;\r\n\r\n if (xLTy) {\r\n d = xd;\r\n k = -k;\r\n len = yd.length;\r\n } else {\r\n d = yd;\r\n e = xe;\r\n len = xd.length;\r\n }\r\n\r\n // Numbers with massively different exponents would result in a very high number of\r\n // zeros needing to be prepended, but this can be avoided while still ensuring correct\r\n // rounding by limiting the number of zeros to `Math.ceil(pr / LOG_BASE) + 2`.\r\n i = Math.max(Math.ceil(pr / LOG_BASE), len) + 2;\r\n\r\n if (k > i) {\r\n k = i;\r\n d.length = 1;\r\n }\r\n\r\n // Prepend zeros to equalise exponents.\r\n d.reverse();\r\n for (i = k; i--;) d.push(0);\r\n d.reverse();\r\n\r\n // Base 1e7 exponents equal.\r\n } else {\r\n\r\n // Check digits to determine which is the bigger number.\r\n\r\n i = xd.length;\r\n len = yd.length;\r\n xLTy = i < len;\r\n if (xLTy) len = i;\r\n\r\n for (i = 0; i < len; i++) {\r\n if (xd[i] != yd[i]) {\r\n xLTy = xd[i] < yd[i];\r\n break;\r\n }\r\n }\r\n\r\n k = 0;\r\n }\r\n\r\n if (xLTy) {\r\n d = xd;\r\n xd = yd;\r\n yd = d;\r\n y.s = -y.s;\r\n }\r\n\r\n len = xd.length;\r\n\r\n // Append zeros to `xd` if shorter.\r\n // Don't add zeros to `yd` if shorter as subtraction only needs to start at `yd` length.\r\n for (i = yd.length - len; i > 0; --i) xd[len++] = 0;\r\n\r\n // Subtract yd from xd.\r\n for (i = yd.length; i > k;) {\r\n\r\n if (xd[--i] < yd[i]) {\r\n for (j = i; j && xd[--j] === 0;) xd[j] = BASE - 1;\r\n --xd[j];\r\n xd[i] += BASE;\r\n }\r\n\r\n xd[i] -= yd[i];\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; xd[--len] === 0;) xd.pop();\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xd[0] === 0; xd.shift()) --e;\r\n\r\n // Zero?\r\n if (!xd[0]) return new Ctor(rm === 3 ? -0 : 0);\r\n\r\n y.d = xd;\r\n y.e = getBase10Exponent(xd, e);\r\n\r\n return external ? finalise(y, pr, rm) : y;\r\n };\r\n\r\n\r\n /*\r\n * n % 0 = N\r\n * n % N = N\r\n * n % I = n\r\n * 0 % n = 0\r\n * -0 % n = -0\r\n * 0 % 0 = N\r\n * 0 % N = N\r\n * 0 % I = 0\r\n * N % n = N\r\n * N % 0 = N\r\n * N % N = N\r\n * N % I = N\r\n * I % n = N\r\n * I % 0 = N\r\n * I % N = N\r\n * I % I = N\r\n *\r\n * Return a new Decimal whose value is the value of this Decimal modulo `y`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * The result depends on the modulo mode.\r\n *\r\n */\r\n P.modulo = P.mod = function (y) {\r\n var q,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n y = new Ctor(y);\r\n\r\n // Return NaN if x is ±Infinity or NaN, or y is NaN or ±0.\r\n if (!x.d || !y.s || y.d && !y.d[0]) return new Ctor(NaN);\r\n\r\n // Return x if y is ±Infinity or x is ±0.\r\n if (!y.d || x.d && !x.d[0]) {\r\n return finalise(new Ctor(x), Ctor.precision, Ctor.rounding);\r\n }\r\n\r\n // Prevent rounding of intermediate calculations.\r\n external = false;\r\n\r\n if (Ctor.modulo == 9) {\r\n\r\n // Euclidian division: q = sign(y) * floor(x / abs(y))\r\n // result = x - q * y where 0 <= result < abs(y)\r\n q = divide(x, y.abs(), 0, 3, 1);\r\n q.s *= y.s;\r\n } else {\r\n q = divide(x, y, 0, Ctor.modulo, 1);\r\n }\r\n\r\n q = q.times(y);\r\n\r\n external = true;\r\n\r\n return x.minus(q);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of the value of this Decimal,\r\n * i.e. the base e raised to the power the value of this Decimal, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.naturalExponential = P.exp = function () {\r\n return naturalExponential(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of the value of this Decimal,\r\n * rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.naturalLogarithm = P.ln = function () {\r\n return naturalLogarithm(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal negated, i.e. as if multiplied by\r\n * -1.\r\n *\r\n */\r\n P.negated = P.neg = function () {\r\n var x = new this.constructor(this);\r\n x.s = -x.s;\r\n return finalise(x);\r\n };\r\n\r\n\r\n /*\r\n * n + 0 = n\r\n * n + N = N\r\n * n + I = I\r\n * 0 + n = n\r\n * 0 + 0 = 0\r\n * 0 + N = N\r\n * 0 + I = I\r\n * N + n = N\r\n * N + 0 = N\r\n * N + N = N\r\n * N + I = N\r\n * I + n = I\r\n * I + 0 = I\r\n * I + N = N\r\n * I + I = I\r\n *\r\n * Return a new Decimal whose value is the value of this Decimal plus `y`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.plus = P.add = function (y) {\r\n var carry, d, e, i, k, len, pr, rm, xd, yd,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n y = new Ctor(y);\r\n\r\n // If either is not finite...\r\n if (!x.d || !y.d) {\r\n\r\n // Return NaN if either is NaN.\r\n if (!x.s || !y.s) y = new Ctor(NaN);\r\n\r\n // Return x if y is finite and x is ±Infinity.\r\n // Return x if both are ±Infinity with the same sign.\r\n // Return NaN if both are ±Infinity with different signs.\r\n // Return y if x is finite and y is ±Infinity.\r\n else if (!x.d) y = new Ctor(y.d || x.s === y.s ? x : NaN);\r\n\r\n return y;\r\n }\r\n\r\n // If signs differ...\r\n if (x.s != y.s) {\r\n y.s = -y.s;\r\n return x.minus(y);\r\n }\r\n\r\n xd = x.d;\r\n yd = y.d;\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n\r\n // If either is zero...\r\n if (!xd[0] || !yd[0]) {\r\n\r\n // Return x if y is zero.\r\n // Return y if y is non-zero.\r\n if (!yd[0]) y = new Ctor(x);\r\n\r\n return external ? finalise(y, pr, rm) : y;\r\n }\r\n\r\n // x and y are finite, non-zero numbers with the same sign.\r\n\r\n // Calculate base 1e7 exponents.\r\n k = mathfloor(x.e / LOG_BASE);\r\n e = mathfloor(y.e / LOG_BASE);\r\n\r\n xd = xd.slice();\r\n i = k - e;\r\n\r\n // If base 1e7 exponents differ...\r\n if (i) {\r\n\r\n if (i < 0) {\r\n d = xd;\r\n i = -i;\r\n len = yd.length;\r\n } else {\r\n d = yd;\r\n e = k;\r\n len = xd.length;\r\n }\r\n\r\n // Limit number of zeros prepended to max(ceil(pr / LOG_BASE), len) + 1.\r\n k = Math.ceil(pr / LOG_BASE);\r\n len = k > len ? k + 1 : len + 1;\r\n\r\n if (i > len) {\r\n i = len;\r\n d.length = 1;\r\n }\r\n\r\n // Prepend zeros to equalise exponents. Note: Faster to use reverse then do unshifts.\r\n d.reverse();\r\n for (; i--;) d.push(0);\r\n d.reverse();\r\n }\r\n\r\n len = xd.length;\r\n i = yd.length;\r\n\r\n // If yd is longer than xd, swap xd and yd so xd points to the longer array.\r\n if (len - i < 0) {\r\n i = len;\r\n d = yd;\r\n yd = xd;\r\n xd = d;\r\n }\r\n\r\n // Only start adding at yd.length - 1 as the further digits of xd can be left as they are.\r\n for (carry = 0; i;) {\r\n carry = (xd[--i] = xd[i] + yd[i] + carry) / BASE | 0;\r\n xd[i] %= BASE;\r\n }\r\n\r\n if (carry) {\r\n xd.unshift(carry);\r\n ++e;\r\n }\r\n\r\n // Remove trailing zeros.\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n for (len = xd.length; xd[--len] == 0;) xd.pop();\r\n\r\n y.d = xd;\r\n y.e = getBase10Exponent(xd, e);\r\n\r\n return external ? finalise(y, pr, rm) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return the number of significant digits of the value of this Decimal.\r\n *\r\n * [z] {boolean|number} Whether to count integer-part trailing zeros: true, false, 1 or 0.\r\n *\r\n */\r\n P.precision = P.sd = function (z) {\r\n var k,\r\n x = this;\r\n\r\n if (z !== void 0 && z !== !!z && z !== 1 && z !== 0) throw Error(invalidArgument + z);\r\n\r\n if (x.d) {\r\n k = getPrecision(x.d);\r\n if (z && x.e + 1 > k) k = x.e + 1;\r\n } else {\r\n k = NaN;\r\n }\r\n\r\n return k;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a whole number using\r\n * rounding mode `rounding`.\r\n *\r\n */\r\n P.round = function () {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n return finalise(new Ctor(x), x.e + 1, Ctor.rounding);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the sine of the value in radians of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-1, 1]\r\n *\r\n * sin(x) = x - x^3/3! + x^5/5! - ...\r\n *\r\n * sin(0) = 0\r\n * sin(-0) = -0\r\n * sin(Infinity) = NaN\r\n * sin(-Infinity) = NaN\r\n * sin(NaN) = NaN\r\n *\r\n */\r\n P.sine = P.sin = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite()) return new Ctor(NaN);\r\n if (x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE;\r\n Ctor.rounding = 1;\r\n\r\n x = sine(Ctor, toLessThanHalfPi(Ctor, x));\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(quadrant > 2 ? x.neg() : x, pr, rm, true);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the square root of this Decimal, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * sqrt(-n) = N\r\n * sqrt(N) = N\r\n * sqrt(-I) = N\r\n * sqrt(I) = I\r\n * sqrt(0) = 0\r\n * sqrt(-0) = -0\r\n *\r\n */\r\n P.squareRoot = P.sqrt = function () {\r\n var m, n, sd, r, rep, t,\r\n x = this,\r\n d = x.d,\r\n e = x.e,\r\n s = x.s,\r\n Ctor = x.constructor;\r\n\r\n // Negative/NaN/Infinity/zero?\r\n if (s !== 1 || !d || !d[0]) {\r\n return new Ctor(!s || s < 0 && (!d || d[0]) ? NaN : d ? x : 1 / 0);\r\n }\r\n\r\n external = false;\r\n\r\n // Initial estimate.\r\n s = Math.sqrt(+x);\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\r\n if (s == 0 || s == 1 / 0) {\r\n n = digitsToString(d);\r\n\r\n if ((n.length + e) % 2 == 0) n += '0';\r\n s = Math.sqrt(n);\r\n e = mathfloor((e + 1) / 2) - (e < 0 || e % 2);\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new Ctor(n);\r\n } else {\r\n r = new Ctor(s.toString());\r\n }\r\n\r\n sd = (e = Ctor.precision) + 3;\r\n\r\n // Newton-Raphson iteration.\r\n for (;;) {\r\n t = r;\r\n r = t.plus(divide(x, t, sd + 2, 1)).times(0.5);\r\n\r\n // TODO? Replace with for-loop and checkRoundingDigits.\r\n if (digitsToString(t.d).slice(0, sd) === (n = digitsToString(r.d)).slice(0, sd)) {\r\n n = n.slice(sd - 3, sd + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits are 9999 or\r\n // 4999, i.e. approaching a rounding boundary, continue the iteration.\r\n if (n == '9999' || !rep && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the exact result as the\r\n // nines may infinitely repeat.\r\n if (!rep) {\r\n finalise(t, e + 1, 0);\r\n\r\n if (t.times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n }\r\n\r\n sd += 4;\r\n rep = 1;\r\n } else {\r\n\r\n // If the rounding digits are null, 0{0,4} or 50{0,3}, check for an exact result.\r\n // If not, then there are further digits and m will be truthy.\r\n if (!+n || !+n.slice(1) && n.charAt(0) == '5') {\r\n\r\n // Truncate to the first rounding digit.\r\n finalise(r, e + 1, 1);\r\n m = !r.times(r).eq(x);\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n external = true;\r\n\r\n return finalise(r, e, Ctor.rounding, m);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the tangent of the value in radians of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-Infinity, Infinity]\r\n *\r\n * tan(0) = 0\r\n * tan(-0) = -0\r\n * tan(Infinity) = NaN\r\n * tan(-Infinity) = NaN\r\n * tan(NaN) = NaN\r\n *\r\n */\r\n P.tangent = P.tan = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite()) return new Ctor(NaN);\r\n if (x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + 10;\r\n Ctor.rounding = 1;\r\n\r\n x = x.sin();\r\n x.s = 1;\r\n x = divide(x, new Ctor(1).minus(x.times(x)).sqrt(), pr + 10, 0);\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(quadrant == 2 || quadrant == 4 ? x.neg() : x, pr, rm, true);\r\n };\r\n\r\n\r\n /*\r\n * n * 0 = 0\r\n * n * N = N\r\n * n * I = I\r\n * 0 * n = 0\r\n * 0 * 0 = 0\r\n * 0 * N = N\r\n * 0 * I = N\r\n * N * n = N\r\n * N * 0 = N\r\n * N * N = N\r\n * N * I = N\r\n * I * n = I\r\n * I * 0 = N\r\n * I * N = N\r\n * I * I = I\r\n *\r\n * Return a new Decimal whose value is this Decimal times `y`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.times = P.mul = function (y) {\r\n var carry, e, i, k, r, rL, t, xdL, ydL,\r\n x = this,\r\n Ctor = x.constructor,\r\n xd = x.d,\r\n yd = (y = new Ctor(y)).d;\r\n\r\n y.s *= x.s;\r\n\r\n // If either is NaN, ±Infinity or ±0...\r\n if (!xd || !xd[0] || !yd || !yd[0]) {\r\n\r\n return new Ctor(!y.s || xd && !xd[0] && !yd || yd && !yd[0] && !xd\r\n\r\n // Return NaN if either is NaN.\r\n // Return NaN if x is ±0 and y is ±Infinity, or y is ±0 and x is ±Infinity.\r\n ? NaN\r\n\r\n // Return ±Infinity if either is ±Infinity.\r\n // Return ±0 if either is ±0.\r\n : !xd || !yd ? y.s / 0 : y.s * 0);\r\n }\r\n\r\n e = mathfloor(x.e / LOG_BASE) + mathfloor(y.e / LOG_BASE);\r\n xdL = xd.length;\r\n ydL = yd.length;\r\n\r\n // Ensure xd points to the longer array.\r\n if (xdL < ydL) {\r\n r = xd;\r\n xd = yd;\r\n yd = r;\r\n rL = xdL;\r\n xdL = ydL;\r\n ydL = rL;\r\n }\r\n\r\n // Initialise the result array with zeros.\r\n r = [];\r\n rL = xdL + ydL;\r\n for (i = rL; i--;) r.push(0);\r\n\r\n // Multiply!\r\n for (i = ydL; --i >= 0;) {\r\n carry = 0;\r\n for (k = xdL + i; k > i;) {\r\n t = r[k] + yd[i] * xd[k - i - 1] + carry;\r\n r[k--] = t % BASE | 0;\r\n carry = t / BASE | 0;\r\n }\r\n\r\n r[k] = (r[k] + carry) % BASE | 0;\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; !r[--rL];) r.pop();\r\n\r\n if (carry) ++e;\r\n else r.shift();\r\n\r\n y.d = r;\r\n y.e = getBase10Exponent(r, e);\r\n\r\n return external ? finalise(y, Ctor.precision, Ctor.rounding) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in base 2, round to `sd` significant\r\n * digits using rounding mode `rm`.\r\n *\r\n * If the optional `sd` argument is present then return binary exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toBinary = function (sd, rm) {\r\n return toStringBinary(this, 2, sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `dp`\r\n * decimal places using rounding mode `rm` or `rounding` if `rm` is omitted.\r\n *\r\n * If `dp` is omitted, return a new Decimal whose value is the value of this Decimal.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toDecimalPlaces = P.toDP = function (dp, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n x = new Ctor(x);\r\n if (dp === void 0) return x;\r\n\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n return finalise(x, dp + x.e + 1, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in exponential notation rounded to\r\n * `dp` fixed decimal places using rounding mode `rounding`.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toExponential = function (dp, rm) {\r\n var str,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (dp === void 0) {\r\n str = finiteToString(x, true);\r\n } else {\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n x = finalise(new Ctor(x), dp + 1, rm);\r\n str = finiteToString(x, true, dp + 1);\r\n }\r\n\r\n return x.isNeg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in normal (fixed-point) notation to\r\n * `dp` fixed decimal places and rounded using rounding mode `rm` or `rounding` if `rm` is\r\n * omitted.\r\n *\r\n * As with JavaScript numbers, (-0).toFixed(0) is '0', but e.g. (-0.00001).toFixed(0) is '-0'.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.\r\n * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.\r\n * (-0).toFixed(3) is '0.000'.\r\n * (-0.5).toFixed(0) is '-0'.\r\n *\r\n */\r\n P.toFixed = function (dp, rm) {\r\n var str, y,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (dp === void 0) {\r\n str = finiteToString(x);\r\n } else {\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n y = finalise(new Ctor(x), dp + x.e + 1, rm);\r\n str = finiteToString(y, false, dp + y.e + 1);\r\n }\r\n\r\n // To determine whether to add the minus sign look at the value before it was rounded,\r\n // i.e. look at `x` rather than `y`.\r\n return x.isNeg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return an array representing the value of this Decimal as a simple fraction with an integer\r\n * numerator and an integer denominator.\r\n *\r\n * The denominator will be a positive non-zero value less than or equal to the specified maximum\r\n * denominator. If a maximum denominator is not specified, the denominator will be the lowest\r\n * value necessary to represent the number exactly.\r\n *\r\n * [maxD] {number|string|Decimal} Maximum denominator. Integer >= 1 and < Infinity.\r\n *\r\n */\r\n P.toFraction = function (maxD) {\r\n var d, d0, d1, d2, e, k, n, n0, n1, pr, q, r,\r\n x = this,\r\n xd = x.d,\r\n Ctor = x.constructor;\r\n\r\n if (!xd) return new Ctor(x);\r\n\r\n n1 = d0 = new Ctor(1);\r\n d1 = n0 = new Ctor(0);\r\n\r\n d = new Ctor(d1);\r\n e = d.e = getPrecision(xd) - x.e - 1;\r\n k = e % LOG_BASE;\r\n d.d[0] = mathpow(10, k < 0 ? LOG_BASE + k : k);\r\n\r\n if (maxD == null) {\r\n\r\n // d is 10**e, the minimum max-denominator needed.\r\n maxD = e > 0 ? d : n1;\r\n } else {\r\n n = new Ctor(maxD);\r\n if (!n.isInt() || n.lt(n1)) throw Error(invalidArgument + n);\r\n maxD = n.gt(d) ? (e > 0 ? d : n1) : n;\r\n }\r\n\r\n external = false;\r\n n = new Ctor(digitsToString(xd));\r\n pr = Ctor.precision;\r\n Ctor.precision = e = xd.length * LOG_BASE * 2;\r\n\r\n for (;;) {\r\n q = divide(n, d, 0, 1, 1);\r\n d2 = d0.plus(q.times(d1));\r\n if (d2.cmp(maxD) == 1) break;\r\n d0 = d1;\r\n d1 = d2;\r\n d2 = n1;\r\n n1 = n0.plus(q.times(d2));\r\n n0 = d2;\r\n d2 = d;\r\n d = n.minus(q.times(d2));\r\n n = d2;\r\n }\r\n\r\n d2 = divide(maxD.minus(d0), d1, 0, 1, 1);\r\n n0 = n0.plus(d2.times(n1));\r\n d0 = d0.plus(d2.times(d1));\r\n n0.s = n1.s = x.s;\r\n\r\n // Determine which fraction is closer to x, n0/d0 or n1/d1?\r\n r = divide(n1, d1, e, 1).minus(x).abs().cmp(divide(n0, d0, e, 1).minus(x).abs()) < 1\r\n ? [n1, d1] : [n0, d0];\r\n\r\n Ctor.precision = pr;\r\n external = true;\r\n\r\n return r;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in base 16, round to `sd` significant\r\n * digits using rounding mode `rm`.\r\n *\r\n * If the optional `sd` argument is present then return binary exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toHexadecimal = P.toHex = function (sd, rm) {\r\n return toStringBinary(this, 16, sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Returns a new Decimal whose value is the nearest multiple of `y` in the direction of rounding\r\n * mode `rm`, or `Decimal.rounding` if `rm` is omitted, to the value of this Decimal.\r\n *\r\n * The return value will always have the same sign as this Decimal, unless either this Decimal\r\n * or `y` is NaN, in which case the return value will be also be NaN.\r\n *\r\n * The return value is not affected by the value of `precision`.\r\n *\r\n * y {number|string|Decimal} The magnitude to round to a multiple of.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * 'toNearest() rounding mode not an integer: {rm}'\r\n * 'toNearest() rounding mode out of range: {rm}'\r\n *\r\n */\r\n P.toNearest = function (y, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n x = new Ctor(x);\r\n\r\n if (y == null) {\r\n\r\n // If x is not finite, return x.\r\n if (!x.d) return x;\r\n\r\n y = new Ctor(1);\r\n rm = Ctor.rounding;\r\n } else {\r\n y = new Ctor(y);\r\n if (rm === void 0) {\r\n rm = Ctor.rounding;\r\n } else {\r\n checkInt32(rm, 0, 8);\r\n }\r\n\r\n // If x is not finite, return x if y is not NaN, else NaN.\r\n if (!x.d) return y.s ? x : y;\r\n\r\n // If y is not finite, return Infinity with the sign of x if y is Infinity, else NaN.\r\n if (!y.d) {\r\n if (y.s) y.s = x.s;\r\n return y;\r\n }\r\n }\r\n\r\n // If y is not zero, calculate the nearest multiple of y to x.\r\n if (y.d[0]) {\r\n external = false;\r\n x = divide(x, y, 0, rm, 1).times(y);\r\n external = true;\r\n finalise(x);\r\n\r\n // If y is zero, return zero with the sign of x.\r\n } else {\r\n y.s = x.s;\r\n x = y;\r\n }\r\n\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return the value of this Decimal converted to a number primitive.\r\n * Zero keeps its sign.\r\n *\r\n */\r\n P.toNumber = function () {\r\n return +this;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in base 8, round to `sd` significant\r\n * digits using rounding mode `rm`.\r\n *\r\n * If the optional `sd` argument is present then return binary exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toOctal = function (sd, rm) {\r\n return toStringBinary(this, 8, sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal raised to the power `y`, rounded\r\n * to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * ECMAScript compliant.\r\n *\r\n * pow(x, NaN) = NaN\r\n * pow(x, ±0) = 1\r\n\r\n * pow(NaN, non-zero) = NaN\r\n * pow(abs(x) > 1, +Infinity) = +Infinity\r\n * pow(abs(x) > 1, -Infinity) = +0\r\n * pow(abs(x) == 1, ±Infinity) = NaN\r\n * pow(abs(x) < 1, +Infinity) = +0\r\n * pow(abs(x) < 1, -Infinity) = +Infinity\r\n * pow(+Infinity, y > 0) = +Infinity\r\n * pow(+Infinity, y < 0) = +0\r\n * pow(-Infinity, odd integer > 0) = -Infinity\r\n * pow(-Infinity, even integer > 0) = +Infinity\r\n * pow(-Infinity, odd integer < 0) = -0\r\n * pow(-Infinity, even integer < 0) = +0\r\n * pow(+0, y > 0) = +0\r\n * pow(+0, y < 0) = +Infinity\r\n * pow(-0, odd integer > 0) = -0\r\n * pow(-0, even integer > 0) = +0\r\n * pow(-0, odd integer < 0) = -Infinity\r\n * pow(-0, even integer < 0) = +Infinity\r\n * pow(finite x < 0, finite non-integer) = NaN\r\n *\r\n * For non-integer or very large exponents pow(x, y) is calculated using\r\n *\r\n * x^y = exp(y*ln(x))\r\n *\r\n * Assuming the first 15 rounding digits are each equally likely to be any digit 0-9, the\r\n * probability of an incorrectly rounded result\r\n * P([49]9{14} | [50]0{14}) = 2 * 0.2 * 10^-14 = 4e-15 = 1/2.5e+14\r\n * i.e. 1 in 250,000,000,000,000\r\n *\r\n * If a result is incorrectly rounded the maximum error will be 1 ulp (unit in last place).\r\n *\r\n * y {number|string|Decimal} The power to which to raise this Decimal.\r\n *\r\n */\r\n P.toPower = P.pow = function (y) {\r\n var e, k, pr, r, rm, s,\r\n x = this,\r\n Ctor = x.constructor,\r\n yn = +(y = new Ctor(y));\r\n\r\n // Either ±Infinity, NaN or ±0?\r\n if (!x.d || !y.d || !x.d[0] || !y.d[0]) return new Ctor(mathpow(+x, yn));\r\n\r\n x = new Ctor(x);\r\n\r\n if (x.eq(1)) return x;\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n\r\n if (y.eq(1)) return finalise(x, pr, rm);\r\n\r\n // y exponent\r\n e = mathfloor(y.e / LOG_BASE);\r\n\r\n // If y is a small integer use the 'exponentiation by squaring' algorithm.\r\n if (e >= y.d.length - 1 && (k = yn < 0 ? -yn : yn) <= MAX_SAFE_INTEGER) {\r\n r = intPow(Ctor, x, k, pr);\r\n return y.s < 0 ? new Ctor(1).div(r) : finalise(r, pr, rm);\r\n }\r\n\r\n s = x.s;\r\n\r\n // if x is negative\r\n if (s < 0) {\r\n\r\n // if y is not an integer\r\n if (e < y.d.length - 1) return new Ctor(NaN);\r\n\r\n // Result is positive if x is negative and the last digit of integer y is even.\r\n if ((y.d[e] & 1) == 0) s = 1;\r\n\r\n // if x.eq(-1)\r\n if (x.e == 0 && x.d[0] == 1 && x.d.length == 1) {\r\n x.s = s;\r\n return x;\r\n }\r\n }\r\n\r\n // Estimate result exponent.\r\n // x^y = 10^e, where e = y * log10(x)\r\n // log10(x) = log10(x_significand) + x_exponent\r\n // log10(x_significand) = ln(x_significand) / ln(10)\r\n k = mathpow(+x, yn);\r\n e = k == 0 || !isFinite(k)\r\n ? mathfloor(yn * (Math.log('0.' + digitsToString(x.d)) / Math.LN10 + x.e + 1))\r\n : new Ctor(k + '').e;\r\n\r\n // Exponent estimate may be incorrect e.g. x: 0.999999999999999999, y: 2.29, e: 0, r.e: -1.\r\n\r\n // Overflow/underflow?\r\n if (e > Ctor.maxE + 1 || e < Ctor.minE - 1) return new Ctor(e > 0 ? s / 0 : 0);\r\n\r\n external = false;\r\n Ctor.rounding = x.s = 1;\r\n\r\n // Estimate the extra guard digits needed to ensure five correct rounding digits from\r\n // naturalLogarithm(x). Example of failure without these extra digits (precision: 10):\r\n // new Decimal(2.32456).pow('2087987436534566.46411')\r\n // should be 1.162377823e+764914905173815, but is 1.162355823e+764914905173815\r\n k = Math.min(12, (e + '').length);\r\n\r\n // r = x^y = exp(y*ln(x))\r\n r = naturalExponential(y.times(naturalLogarithm(x, pr + k)), pr);\r\n\r\n // r may be Infinity, e.g. (0.9999999999999999).pow(-1e+40)\r\n if (r.d) {\r\n\r\n // Truncate to the required precision plus five rounding digits.\r\n r = finalise(r, pr + 5, 1);\r\n\r\n // If the rounding digits are [49]9999 or [50]0000 increase the precision by 10 and recalculate\r\n // the result.\r\n if (checkRoundingDigits(r.d, pr, rm)) {\r\n e = pr + 10;\r\n\r\n // Truncate to the increased precision plus five rounding digits.\r\n r = finalise(naturalExponential(y.times(naturalLogarithm(x, e + k)), e), e + 5, 1);\r\n\r\n // Check for 14 nines from the 2nd rounding digit (the first rounding digit may be 4 or 9).\r\n if (+digitsToString(r.d).slice(pr + 1, pr + 15) + 1 == 1e14) {\r\n r = finalise(r, pr + 1, 0);\r\n }\r\n }\r\n }\r\n\r\n r.s = s;\r\n external = true;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(r, pr, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal rounded to `sd` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * Return exponential notation if `sd` is less than the number of digits necessary to represent\r\n * the integer part of the value in normal notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toPrecision = function (sd, rm) {\r\n var str,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (sd === void 0) {\r\n str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);\r\n } else {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n x = finalise(new Ctor(x), sd, rm);\r\n str = finiteToString(x, sd <= x.e || x.e <= Ctor.toExpNeg, sd);\r\n }\r\n\r\n return x.isNeg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `sd`\r\n * significant digits using rounding mode `rm`, or to `precision` and `rounding` respectively if\r\n * omitted.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * 'toSD() digits out of range: {sd}'\r\n * 'toSD() digits not an integer: {sd}'\r\n * 'toSD() rounding mode not an integer: {rm}'\r\n * 'toSD() rounding mode out of range: {rm}'\r\n *\r\n */\r\n P.toSignificantDigits = P.toSD = function (sd, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n if (sd === void 0) {\r\n sd = Ctor.precision;\r\n rm = Ctor.rounding;\r\n } else {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n }\r\n\r\n return finalise(new Ctor(x), sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal.\r\n *\r\n * Return exponential notation if this Decimal has a positive exponent equal to or greater than\r\n * `toExpPos`, or a negative exponent equal to or less than `toExpNeg`.\r\n *\r\n */\r\n P.toString = function () {\r\n var x = this,\r\n Ctor = x.constructor,\r\n str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);\r\n\r\n return x.isNeg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal truncated to a whole number.\r\n *\r\n */\r\n P.truncated = P.trunc = function () {\r\n return finalise(new this.constructor(this), this.e + 1, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal.\r\n * Unlike `toString`, negative zero will include the minus sign.\r\n *\r\n */\r\n P.valueOf = P.toJSON = function () {\r\n var x = this,\r\n Ctor = x.constructor,\r\n str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);\r\n\r\n return x.isNeg() ? '-' + str : str;\r\n };\r\n\r\n\r\n // Helper functions for Decimal.prototype (P) and/or Decimal methods, and their callers.\r\n\r\n\r\n /*\r\n * digitsToString P.cubeRoot, P.logarithm, P.squareRoot, P.toFraction, P.toPower,\r\n * finiteToString, naturalExponential, naturalLogarithm\r\n * checkInt32 P.toDecimalPlaces, P.toExponential, P.toFixed, P.toNearest,\r\n * P.toPrecision, P.toSignificantDigits, toStringBinary, random\r\n * checkRoundingDigits P.logarithm, P.toPower, naturalExponential, naturalLogarithm\r\n * convertBase toStringBinary, parseOther\r\n * cos P.cos\r\n * divide P.atanh, P.cubeRoot, P.dividedBy, P.dividedToIntegerBy,\r\n * P.logarithm, P.modulo, P.squareRoot, P.tan, P.tanh, P.toFraction,\r\n * P.toNearest, toStringBinary, naturalExponential, naturalLogarithm,\r\n * taylorSeries, atan2, parseOther\r\n * finalise P.absoluteValue, P.atan, P.atanh, P.ceil, P.cos, P.cosh,\r\n * P.cubeRoot, P.dividedToIntegerBy, P.floor, P.logarithm, P.minus,\r\n * P.modulo, P.negated, P.plus, P.round, P.sin, P.sinh, P.squareRoot,\r\n * P.tan, P.times, P.toDecimalPlaces, P.toExponential, P.toFixed,\r\n * P.toNearest, P.toPower, P.toPrecision, P.toSignificantDigits,\r\n * P.truncated, divide, getLn10, getPi, naturalExponential,\r\n * naturalLogarithm, ceil, floor, round, trunc\r\n * finiteToString P.toExponential, P.toFixed, P.toPrecision, P.toString, P.valueOf,\r\n * toStringBinary\r\n * getBase10Exponent P.minus, P.plus, P.times, parseOther\r\n * getLn10 P.logarithm, naturalLogarithm\r\n * getPi P.acos, P.asin, P.atan, toLessThanHalfPi, atan2\r\n * getPrecision P.precision, P.toFraction\r\n * getZeroString digitsToString, finiteToString\r\n * intPow P.toPower, parseOther\r\n * isOdd toLessThanHalfPi\r\n * maxOrMin max, min\r\n * naturalExponential P.naturalExponential, P.toPower\r\n * naturalLogarithm P.acosh, P.asinh, P.atanh, P.logarithm, P.naturalLogarithm,\r\n * P.toPower, naturalExponential\r\n * nonFiniteToString finiteToString, toStringBinary\r\n * parseDecimal Decimal\r\n * parseOther Decimal\r\n * sin P.sin\r\n * taylorSeries P.cosh, P.sinh, cos, sin\r\n * toLessThanHalfPi P.cos, P.sin\r\n * toStringBinary P.toBinary, P.toHexadecimal, P.toOctal\r\n * truncate intPow\r\n *\r\n * Throws: P.logarithm, P.precision, P.toFraction, checkInt32, getLn10, getPi,\r\n * naturalLogarithm, config, parseOther, random, Decimal\r\n */\r\n\r\n\r\n function digitsToString(d) {\r\n var i, k, ws,\r\n indexOfLastWord = d.length - 1,\r\n str = '',\r\n w = d[0];\r\n\r\n if (indexOfLastWord > 0) {\r\n str += w;\r\n for (i = 1; i < indexOfLastWord; i++) {\r\n ws = d[i] + '';\r\n k = LOG_BASE - ws.length;\r\n if (k) str += getZeroString(k);\r\n str += ws;\r\n }\r\n\r\n w = d[i];\r\n ws = w + '';\r\n k = LOG_BASE - ws.length;\r\n if (k) str += getZeroString(k);\r\n } else if (w === 0) {\r\n return '0';\r\n }\r\n\r\n // Remove trailing zeros of last w.\r\n for (; w % 10 === 0;) w /= 10;\r\n\r\n return str + w;\r\n }\r\n\r\n\r\n function checkInt32(i, min, max) {\r\n if (i !== ~~i || i < min || i > max) {\r\n throw Error(invalidArgument + i);\r\n }\r\n }\r\n\r\n\r\n /*\r\n * Check 5 rounding digits if `repeating` is null, 4 otherwise.\r\n * `repeating == null` if caller is `log` or `pow`,\r\n * `repeating != null` if caller is `naturalLogarithm` or `naturalExponential`.\r\n */\r\n function checkRoundingDigits(d, i, rm, repeating) {\r\n var di, k, r, rd;\r\n\r\n // Get the length of the first word of the array d.\r\n for (k = d[0]; k >= 10; k /= 10) --i;\r\n\r\n // Is the rounding digit in the first word of d?\r\n if (--i < 0) {\r\n i += LOG_BASE;\r\n di = 0;\r\n } else {\r\n di = Math.ceil((i + 1) / LOG_BASE);\r\n i %= LOG_BASE;\r\n }\r\n\r\n // i is the index (0 - 6) of the rounding digit.\r\n // E.g. if within the word 3487563 the first rounding digit is 5,\r\n // then i = 4, k = 1000, rd = 3487563 % 1000 = 563\r\n k = mathpow(10, LOG_BASE - i);\r\n rd = d[di] % k | 0;\r\n\r\n if (repeating == null) {\r\n if (i < 3) {\r\n if (i == 0) rd = rd / 100 | 0;\r\n else if (i == 1) rd = rd / 10 | 0;\r\n r = rm < 4 && rd == 99999 || rm > 3 && rd == 49999 || rd == 50000 || rd == 0;\r\n } else {\r\n r = (rm < 4 && rd + 1 == k || rm > 3 && rd + 1 == k / 2) &&\r\n (d[di + 1] / k / 100 | 0) == mathpow(10, i - 2) - 1 ||\r\n (rd == k / 2 || rd == 0) && (d[di + 1] / k / 100 | 0) == 0;\r\n }\r\n } else {\r\n if (i < 4) {\r\n if (i == 0) rd = rd / 1000 | 0;\r\n else if (i == 1) rd = rd / 100 | 0;\r\n else if (i == 2) rd = rd / 10 | 0;\r\n r = (repeating || rm < 4) && rd == 9999 || !repeating && rm > 3 && rd == 4999;\r\n } else {\r\n r = ((repeating || rm < 4) && rd + 1 == k ||\r\n (!repeating && rm > 3) && rd + 1 == k / 2) &&\r\n (d[di + 1] / k / 1000 | 0) == mathpow(10, i - 3) - 1;\r\n }\r\n }\r\n\r\n return r;\r\n }\r\n\r\n\r\n // Convert string of `baseIn` to an array of numbers of `baseOut`.\r\n // Eg. convertBase('255', 10, 16) returns [15, 15].\r\n // Eg. convertBase('ff', 16, 10) returns [2, 5, 5].\r\n function convertBase(str, baseIn, baseOut) {\r\n var j,\r\n arr = [0],\r\n arrL,\r\n i = 0,\r\n strL = str.length;\r\n\r\n for (; i < strL;) {\r\n for (arrL = arr.length; arrL--;) arr[arrL] *= baseIn;\r\n arr[0] += NUMERALS.indexOf(str.charAt(i++));\r\n for (j = 0; j < arr.length; j++) {\r\n if (arr[j] > baseOut - 1) {\r\n if (arr[j + 1] === void 0) arr[j + 1] = 0;\r\n arr[j + 1] += arr[j] / baseOut | 0;\r\n arr[j] %= baseOut;\r\n }\r\n }\r\n }\r\n\r\n return arr.reverse();\r\n }\r\n\r\n\r\n /*\r\n * cos(x) = 1 - x^2/2! + x^4/4! - ...\r\n * |x| < pi/2\r\n *\r\n */\r\n function cosine(Ctor, x) {\r\n var k, len, y;\r\n\r\n if (x.isZero()) return x;\r\n\r\n // Argument reduction: cos(4x) = 8*(cos^4(x) - cos^2(x)) + 1\r\n // i.e. cos(x) = 8*(cos^4(x/4) - cos^2(x/4)) + 1\r\n\r\n // Estimate the optimum number of times to use the argument reduction.\r\n len = x.d.length;\r\n if (len < 32) {\r\n k = Math.ceil(len / 3);\r\n y = (1 / tinyPow(4, k)).toString();\r\n } else {\r\n k = 16;\r\n y = '2.3283064365386962890625e-10';\r\n }\r\n\r\n Ctor.precision += k;\r\n\r\n x = taylorSeries(Ctor, 1, x.times(y), new Ctor(1));\r\n\r\n // Reverse argument reduction\r\n for (var i = k; i--;) {\r\n var cos2x = x.times(x);\r\n x = cos2x.times(cos2x).minus(cos2x).times(8).plus(1);\r\n }\r\n\r\n Ctor.precision -= k;\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Perform division in the specified base.\r\n */\r\n var divide = (function () {\r\n\r\n // Assumes non-zero x and k, and hence non-zero result.\r\n function multiplyInteger(x, k, base) {\r\n var temp,\r\n carry = 0,\r\n i = x.length;\r\n\r\n for (x = x.slice(); i--;) {\r\n temp = x[i] * k + carry;\r\n x[i] = temp % base | 0;\r\n carry = temp / base | 0;\r\n }\r\n\r\n if (carry) x.unshift(carry);\r\n\r\n return x;\r\n }\r\n\r\n function compare(a, b, aL, bL) {\r\n var i, r;\r\n\r\n if (aL != bL) {\r\n r = aL > bL ? 1 : -1;\r\n } else {\r\n for (i = r = 0; i < aL; i++) {\r\n if (a[i] != b[i]) {\r\n r = a[i] > b[i] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return r;\r\n }\r\n\r\n function subtract(a, b, aL, base) {\r\n var i = 0;\r\n\r\n // Subtract b from a.\r\n for (; aL--;) {\r\n a[aL] -= i;\r\n i = a[aL] < b[aL] ? 1 : 0;\r\n a[aL] = i * base + a[aL] - b[aL];\r\n }\r\n\r\n // Remove leading zeros.\r\n for (; !a[0] && a.length > 1;) a.shift();\r\n }\r\n\r\n return function (x, y, pr, rm, dp, base) {\r\n var cmp, e, i, k, logBase, more, prod, prodL, q, qd, rem, remL, rem0, sd, t, xi, xL, yd0,\r\n yL, yz,\r\n Ctor = x.constructor,\r\n sign = x.s == y.s ? 1 : -1,\r\n xd = x.d,\r\n yd = y.d;\r\n\r\n // Either NaN, Infinity or 0?\r\n if (!xd || !xd[0] || !yd || !yd[0]) {\r\n\r\n return new Ctor(// Return NaN if either NaN, or both Infinity or 0.\r\n !x.s || !y.s || (xd ? yd && xd[0] == yd[0] : !yd) ? NaN :\r\n\r\n // Return ±0 if x is 0 or y is ±Infinity, or return ±Infinity as y is 0.\r\n xd && xd[0] == 0 || !yd ? sign * 0 : sign / 0);\r\n }\r\n\r\n if (base) {\r\n logBase = 1;\r\n e = x.e - y.e;\r\n } else {\r\n base = BASE;\r\n logBase = LOG_BASE;\r\n e = mathfloor(x.e / logBase) - mathfloor(y.e / logBase);\r\n }\r\n\r\n yL = yd.length;\r\n xL = xd.length;\r\n q = new Ctor(sign);\r\n qd = q.d = [];\r\n\r\n // Result exponent may be one less than e.\r\n // The digit array of a Decimal from toStringBinary may have trailing zeros.\r\n for (i = 0; yd[i] == (xd[i] || 0); i++);\r\n\r\n if (yd[i] > (xd[i] || 0)) e--;\r\n\r\n if (pr == null) {\r\n sd = pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n } else if (dp) {\r\n sd = pr + (x.e - y.e) + 1;\r\n } else {\r\n sd = pr;\r\n }\r\n\r\n if (sd < 0) {\r\n qd.push(1);\r\n more = true;\r\n } else {\r\n\r\n // Convert precision in number of base 10 digits to base 1e7 digits.\r\n sd = sd / logBase + 2 | 0;\r\n i = 0;\r\n\r\n // divisor < 1e7\r\n if (yL == 1) {\r\n k = 0;\r\n yd = yd[0];\r\n sd++;\r\n\r\n // k is the carry.\r\n for (; (i < xL || k) && sd--; i++) {\r\n t = k * base + (xd[i] || 0);\r\n qd[i] = t / yd | 0;\r\n k = t % yd | 0;\r\n }\r\n\r\n more = k || i < xL;\r\n\r\n // divisor >= 1e7\r\n } else {\r\n\r\n // Normalise xd and yd so highest order digit of yd is >= base/2\r\n k = base / (yd[0] + 1) | 0;\r\n\r\n if (k > 1) {\r\n yd = multiplyInteger(yd, k, base);\r\n xd = multiplyInteger(xd, k, base);\r\n yL = yd.length;\r\n xL = xd.length;\r\n }\r\n\r\n xi = yL;\r\n rem = xd.slice(0, yL);\r\n remL = rem.length;\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; remL < yL;) rem[remL++] = 0;\r\n\r\n yz = yd.slice();\r\n yz.unshift(0);\r\n yd0 = yd[0];\r\n\r\n if (yd[1] >= base / 2) ++yd0;\r\n\r\n do {\r\n k = 0;\r\n\r\n // Compare divisor and remainder.\r\n cmp = compare(yd, rem, yL, remL);\r\n\r\n // If divisor < remainder.\r\n if (cmp < 0) {\r\n\r\n // Calculate trial digit, k.\r\n rem0 = rem[0];\r\n if (yL != remL) rem0 = rem0 * base + (rem[1] || 0);\r\n\r\n // k will be how many times the divisor goes into the current remainder.\r\n k = rem0 / yd0 | 0;\r\n\r\n // Algorithm:\r\n // 1. product = divisor * trial digit (k)\r\n // 2. if product > remainder: product -= divisor, k--\r\n // 3. remainder -= product\r\n // 4. if product was < remainder at 2:\r\n // 5. compare new remainder and divisor\r\n // 6. If remainder > divisor: remainder -= divisor, k++\r\n\r\n if (k > 1) {\r\n if (k >= base) k = base - 1;\r\n\r\n // product = divisor * trial digit.\r\n prod = multiplyInteger(yd, k, base);\r\n prodL = prod.length;\r\n remL = rem.length;\r\n\r\n // Compare product and remainder.\r\n cmp = compare(prod, rem, prodL, remL);\r\n\r\n // product > remainder.\r\n if (cmp == 1) {\r\n k--;\r\n\r\n // Subtract divisor from product.\r\n subtract(prod, yL < prodL ? yz : yd, prodL, base);\r\n }\r\n } else {\r\n\r\n // cmp is -1.\r\n // If k is 0, there is no need to compare yd and rem again below, so change cmp to 1\r\n // to avoid it. If k is 1 there is a need to compare yd and rem again below.\r\n if (k == 0) cmp = k = 1;\r\n prod = yd.slice();\r\n }\r\n\r\n prodL = prod.length;\r\n if (prodL < remL) prod.unshift(0);\r\n\r\n // Subtract product from remainder.\r\n subtract(rem, prod, remL, base);\r\n\r\n // If product was < previous remainder.\r\n if (cmp == -1) {\r\n remL = rem.length;\r\n\r\n // Compare divisor and new remainder.\r\n cmp = compare(yd, rem, yL, remL);\r\n\r\n // If divisor < new remainder, subtract divisor from remainder.\r\n if (cmp < 1) {\r\n k++;\r\n\r\n // Subtract divisor from remainder.\r\n subtract(rem, yL < remL ? yz : yd, remL, base);\r\n }\r\n }\r\n\r\n remL = rem.length;\r\n } else if (cmp === 0) {\r\n k++;\r\n rem = [0];\r\n } // if cmp === 1, k will be 0\r\n\r\n // Add the next digit, k, to the result array.\r\n qd[i++] = k;\r\n\r\n // Update the remainder.\r\n if (cmp && rem[0]) {\r\n rem[remL++] = xd[xi] || 0;\r\n } else {\r\n rem = [xd[xi]];\r\n remL = 1;\r\n }\r\n\r\n } while ((xi++ < xL || rem[0] !== void 0) && sd--);\r\n\r\n more = rem[0] !== void 0;\r\n }\r\n\r\n // Leading zero?\r\n if (!qd[0]) qd.shift();\r\n }\r\n\r\n // logBase is 1 when divide is being used for base conversion.\r\n if (logBase == 1) {\r\n q.e = e;\r\n inexact = more;\r\n } else {\r\n\r\n // To calculate q.e, first get the number of digits of qd[0].\r\n for (i = 1, k = qd[0]; k >= 10; k /= 10) i++;\r\n q.e = i + e * logBase - 1;\r\n\r\n finalise(q, dp ? pr + q.e + 1 : pr, rm, more);\r\n }\r\n\r\n return q;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Round `x` to `sd` significant digits using rounding mode `rm`.\r\n * Check for over/under-flow.\r\n */\r\n function finalise(x, sd, rm, isTruncated) {\r\n var digits, i, j, k, rd, roundUp, w, xd, xdi,\r\n Ctor = x.constructor;\r\n\r\n // Don't round if sd is null or undefined.\r\n out: if (sd != null) {\r\n xd = x.d;\r\n\r\n // Infinity/NaN.\r\n if (!xd) return x;\r\n\r\n // rd: the rounding digit, i.e. the digit after the digit that may be rounded up.\r\n // w: the word of xd containing rd, a base 1e7 number.\r\n // xdi: the index of w within xd.\r\n // digits: the number of digits of w.\r\n // i: what would be the index of rd within w if all the numbers were 7 digits long (i.e. if\r\n // they had leading zeros)\r\n // j: if > 0, the actual index of rd within w (if < 0, rd is a leading zero).\r\n\r\n // Get the length of the first word of the digits array xd.\r\n for (digits = 1, k = xd[0]; k >= 10; k /= 10) digits++;\r\n i = sd - digits;\r\n\r\n // Is the rounding digit in the first word of xd?\r\n if (i < 0) {\r\n i += LOG_BASE;\r\n j = sd;\r\n w = xd[xdi = 0];\r\n\r\n // Get the rounding digit at index j of w.\r\n rd = w / mathpow(10, digits - j - 1) % 10 | 0;\r\n } else {\r\n xdi = Math.ceil((i + 1) / LOG_BASE);\r\n k = xd.length;\r\n if (xdi >= k) {\r\n if (isTruncated) {\r\n\r\n // Needed by `naturalExponential`, `naturalLogarithm` and `squareRoot`.\r\n for (; k++ <= xdi;) xd.push(0);\r\n w = rd = 0;\r\n digits = 1;\r\n i %= LOG_BASE;\r\n j = i - LOG_BASE + 1;\r\n } else {\r\n break out;\r\n }\r\n } else {\r\n w = k = xd[xdi];\r\n\r\n // Get the number of digits of w.\r\n for (digits = 1; k >= 10; k /= 10) digits++;\r\n\r\n // Get the index of rd within w.\r\n i %= LOG_BASE;\r\n\r\n // Get the index of rd within w, adjusted for leading zeros.\r\n // The number of leading zeros of w is given by LOG_BASE - digits.\r\n j = i - LOG_BASE + digits;\r\n\r\n // Get the rounding digit at index j of w.\r\n rd = j < 0 ? 0 : w / mathpow(10, digits - j - 1) % 10 | 0;\r\n }\r\n }\r\n\r\n // Are there any non-zero digits after the rounding digit?\r\n isTruncated = isTruncated || sd < 0 ||\r\n xd[xdi + 1] !== void 0 || (j < 0 ? w : w % mathpow(10, digits - j - 1));\r\n\r\n // The expression `w % mathpow(10, digits - j - 1)` returns all the digits of w to the right\r\n // of the digit at (left-to-right) index j, e.g. if w is 908714 and j is 2, the expression\r\n // will give 714.\r\n\r\n roundUp = rm < 4\r\n ? (rd || isTruncated) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : rd > 5 || rd == 5 && (rm == 4 || isTruncated || rm == 6 &&\r\n\r\n // Check whether the digit to the left of the rounding digit is odd.\r\n ((i > 0 ? j > 0 ? w / mathpow(10, digits - j) : 0 : xd[xdi - 1]) % 10) & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n if (sd < 1 || !xd[0]) {\r\n xd.length = 0;\r\n if (roundUp) {\r\n\r\n // Convert sd to decimal places.\r\n sd -= x.e + 1;\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n xd[0] = mathpow(10, (LOG_BASE - sd % LOG_BASE) % LOG_BASE);\r\n x.e = -sd || 0;\r\n } else {\r\n\r\n // Zero.\r\n xd[0] = x.e = 0;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n // Remove excess digits.\r\n if (i == 0) {\r\n xd.length = xdi;\r\n k = 1;\r\n xdi--;\r\n } else {\r\n xd.length = xdi + 1;\r\n k = mathpow(10, LOG_BASE - i);\r\n\r\n // E.g. 56700 becomes 56000 if 7 is the rounding digit.\r\n // j > 0 means i > number of leading zeros of w.\r\n xd[xdi] = j > 0 ? (w / mathpow(10, digits - j) % mathpow(10, j) | 0) * k : 0;\r\n }\r\n\r\n if (roundUp) {\r\n for (;;) {\r\n\r\n // Is the digit to be rounded up in the first word of xd?\r\n if (xdi == 0) {\r\n\r\n // i will be the length of xd[0] before k is added.\r\n for (i = 1, j = xd[0]; j >= 10; j /= 10) i++;\r\n j = xd[0] += k;\r\n for (k = 1; j >= 10; j /= 10) k++;\r\n\r\n // if i != k the length has increased.\r\n if (i != k) {\r\n x.e++;\r\n if (xd[0] == BASE) xd[0] = 1;\r\n }\r\n\r\n break;\r\n } else {\r\n xd[xdi] += k;\r\n if (xd[xdi] != BASE) break;\r\n xd[xdi--] = 0;\r\n k = 1;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (i = xd.length; xd[--i] === 0;) xd.pop();\r\n }\r\n\r\n if (external) {\r\n\r\n // Overflow?\r\n if (x.e > Ctor.maxE) {\r\n\r\n // Infinity.\r\n x.d = null;\r\n x.e = NaN;\r\n\r\n // Underflow?\r\n } else if (x.e < Ctor.minE) {\r\n\r\n // Zero.\r\n x.e = 0;\r\n x.d = [0];\r\n // Ctor.underflow = true;\r\n } // else Ctor.underflow = false;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n function finiteToString(x, isExp, sd) {\r\n if (!x.isFinite()) return nonFiniteToString(x);\r\n var k,\r\n e = x.e,\r\n str = digitsToString(x.d),\r\n len = str.length;\r\n\r\n if (isExp) {\r\n if (sd && (k = sd - len) > 0) {\r\n str = str.charAt(0) + '.' + str.slice(1) + getZeroString(k);\r\n } else if (len > 1) {\r\n str = str.charAt(0) + '.' + str.slice(1);\r\n }\r\n\r\n str = str + (x.e < 0 ? 'e' : 'e+') + x.e;\r\n } else if (e < 0) {\r\n str = '0.' + getZeroString(-e - 1) + str;\r\n if (sd && (k = sd - len) > 0) str += getZeroString(k);\r\n } else if (e >= len) {\r\n str += getZeroString(e + 1 - len);\r\n if (sd && (k = sd - e - 1) > 0) str = str + '.' + getZeroString(k);\r\n } else {\r\n if ((k = e + 1) < len) str = str.slice(0, k) + '.' + str.slice(k);\r\n if (sd && (k = sd - len) > 0) {\r\n if (e + 1 === len) str += '.';\r\n str += getZeroString(k);\r\n }\r\n }\r\n\r\n return str;\r\n }\r\n\r\n\r\n // Calculate the base 10 exponent from the base 1e7 exponent.\r\n function getBase10Exponent(digits, e) {\r\n var w = digits[0];\r\n\r\n // Add the number of digits of the first word of the digits array.\r\n for ( e *= LOG_BASE; w >= 10; w /= 10) e++;\r\n return e;\r\n }\r\n\r\n\r\n function getLn10(Ctor, sd, pr) {\r\n if (sd > LN10_PRECISION) {\r\n\r\n // Reset global state in case the exception is caught.\r\n external = true;\r\n if (pr) Ctor.precision = pr;\r\n throw Error(precisionLimitExceeded);\r\n }\r\n return finalise(new Ctor(LN10), sd, 1, true);\r\n }\r\n\r\n\r\n function getPi(Ctor, sd, rm) {\r\n if (sd > PI_PRECISION) throw Error(precisionLimitExceeded);\r\n return finalise(new Ctor(PI), sd, rm, true);\r\n }\r\n\r\n\r\n function getPrecision(digits) {\r\n var w = digits.length - 1,\r\n len = w * LOG_BASE + 1;\r\n\r\n w = digits[w];\r\n\r\n // If non-zero...\r\n if (w) {\r\n\r\n // Subtract the number of trailing zeros of the last word.\r\n for (; w % 10 == 0; w /= 10) len--;\r\n\r\n // Add the number of digits of the first word.\r\n for (w = digits[0]; w >= 10; w /= 10) len++;\r\n }\r\n\r\n return len;\r\n }\r\n\r\n\r\n function getZeroString(k) {\r\n var zs = '';\r\n for (; k--;) zs += '0';\r\n return zs;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of Decimal `x` to the power `n`, where `n` is an\r\n * integer of type number.\r\n *\r\n * Implements 'exponentiation by squaring'. Called by `pow` and `parseOther`.\r\n *\r\n */\r\n function intPow(Ctor, x, n, pr) {\r\n var isTruncated,\r\n r = new Ctor(1),\r\n\r\n // Max n of 9007199254740991 takes 53 loop iterations.\r\n // Maximum digits array length; leaves [28, 34] guard digits.\r\n k = Math.ceil(pr / LOG_BASE + 4);\r\n\r\n external = false;\r\n\r\n for (;;) {\r\n if (n % 2) {\r\n r = r.times(x);\r\n if (truncate(r.d, k)) isTruncated = true;\r\n }\r\n\r\n n = mathfloor(n / 2);\r\n if (n === 0) {\r\n\r\n // To ensure correct rounding when r.d is truncated, increment the last word if it is zero.\r\n n = r.d.length - 1;\r\n if (isTruncated && r.d[n] === 0) ++r.d[n];\r\n break;\r\n }\r\n\r\n x = x.times(x);\r\n truncate(x.d, k);\r\n }\r\n\r\n external = true;\r\n\r\n return r;\r\n }\r\n\r\n\r\n function isOdd(n) {\r\n return n.d[n.d.length - 1] & 1;\r\n }\r\n\r\n\r\n /*\r\n * Handle `max` and `min`. `ltgt` is 'lt' or 'gt'.\r\n */\r\n function maxOrMin(Ctor, args, ltgt) {\r\n var y,\r\n x = new Ctor(args[0]),\r\n i = 0;\r\n\r\n for (; ++i < args.length;) {\r\n y = new Ctor(args[i]);\r\n if (!y.s) {\r\n x = y;\r\n break;\r\n } else if (x[ltgt](y)) {\r\n x = y;\r\n }\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of `x` rounded to `sd` significant\r\n * digits.\r\n *\r\n * Taylor/Maclaurin series.\r\n *\r\n * exp(x) = x^0/0! + x^1/1! + x^2/2! + x^3/3! + ...\r\n *\r\n * Argument reduction:\r\n * Repeat x = x / 32, k += 5, until |x| < 0.1\r\n * exp(x) = exp(x / 2^k)^(2^k)\r\n *\r\n * Previously, the argument was initially reduced by\r\n * exp(x) = exp(r) * 10^k where r = x - k * ln10, k = floor(x / ln10)\r\n * to first put r in the range [0, ln10], before dividing by 32 until |x| < 0.1, but this was\r\n * found to be slower than just dividing repeatedly by 32 as above.\r\n *\r\n * Max integer argument: exp('20723265836946413') = 6.3e+9000000000000000\r\n * Min integer argument: exp('-20723265836946411') = 1.2e-9000000000000000\r\n * (Math object integer min/max: Math.exp(709) = 8.2e+307, Math.exp(-745) = 5e-324)\r\n *\r\n * exp(Infinity) = Infinity\r\n * exp(-Infinity) = 0\r\n * exp(NaN) = NaN\r\n * exp(±0) = 1\r\n *\r\n * exp(x) is non-terminating for any finite, non-zero x.\r\n *\r\n * The result will always be correctly rounded.\r\n *\r\n */\r\n function naturalExponential(x, sd) {\r\n var denominator, guard, j, pow, sum, t, wpr,\r\n rep = 0,\r\n i = 0,\r\n k = 0,\r\n Ctor = x.constructor,\r\n rm = Ctor.rounding,\r\n pr = Ctor.precision;\r\n\r\n // 0/NaN/Infinity?\r\n if (!x.d || !x.d[0] || x.e > 17) {\r\n\r\n return new Ctor(x.d\r\n ? !x.d[0] ? 1 : x.s < 0 ? 0 : 1 / 0\r\n : x.s ? x.s < 0 ? 0 : x : 0 / 0);\r\n }\r\n\r\n if (sd == null) {\r\n external = false;\r\n wpr = pr;\r\n } else {\r\n wpr = sd;\r\n }\r\n\r\n t = new Ctor(0.03125);\r\n\r\n // while abs(x) >= 0.1\r\n while (x.e > -2) {\r\n\r\n // x = x / 2^5\r\n x = x.times(t);\r\n k += 5;\r\n }\r\n\r\n // Use 2 * log10(2^k) + 5 (empirically derived) to estimate the increase in precision\r\n // necessary to ensure the first 4 rounding digits are correct.\r\n guard = Math.log(mathpow(2, k)) / Math.LN10 * 2 + 5 | 0;\r\n wpr += guard;\r\n denominator = pow = sum = new Ctor(1);\r\n Ctor.precision = wpr;\r\n\r\n for (;;) {\r\n pow = finalise(pow.times(x), wpr, 1);\r\n denominator = denominator.times(++i);\r\n t = sum.plus(divide(pow, denominator, wpr, 1));\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\r\n j = k;\r\n while (j--) sum = finalise(sum.times(sum), wpr, 1);\r\n\r\n // Check to see if the first 4 rounding digits are [49]999.\r\n // If so, repeat the summation with a higher precision, otherwise\r\n // e.g. with precision: 18, rounding: 1\r\n // exp(18.404272462595034083567793919843761) = 98372560.1229999999 (should be 98372560.123)\r\n // `wpr - guard` is the index of first rounding digit.\r\n if (sd == null) {\r\n\r\n if (rep < 3 && checkRoundingDigits(sum.d, wpr - guard, rm, rep)) {\r\n Ctor.precision = wpr += 10;\r\n denominator = pow = t = new Ctor(1);\r\n i = 0;\r\n rep++;\r\n } else {\r\n return finalise(sum, Ctor.precision = pr, rm, external = true);\r\n }\r\n } else {\r\n Ctor.precision = pr;\r\n return sum;\r\n }\r\n }\r\n\r\n sum = t;\r\n }\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of `x` rounded to `sd` significant\r\n * digits.\r\n *\r\n * ln(-n) = NaN\r\n * ln(0) = -Infinity\r\n * ln(-0) = -Infinity\r\n * ln(1) = 0\r\n * ln(Infinity) = Infinity\r\n * ln(-Infinity) = NaN\r\n * ln(NaN) = NaN\r\n *\r\n * ln(n) (n != 1) is non-terminating.\r\n *\r\n */\r\n function naturalLogarithm(y, sd) {\r\n var c, c0, denominator, e, numerator, rep, sum, t, wpr, x1, x2,\r\n n = 1,\r\n guard = 10,\r\n x = y,\r\n xd = x.d,\r\n Ctor = x.constructor,\r\n rm = Ctor.rounding,\r\n pr = Ctor.precision;\r\n\r\n // Is x negative or Infinity, NaN, 0 or 1?\r\n if (x.s < 0 || !xd || !xd[0] || !x.e && xd[0] == 1 && xd.length == 1) {\r\n return new Ctor(xd && !xd[0] ? -1 / 0 : x.s != 1 ? NaN : xd ? 0 : x);\r\n }\r\n\r\n if (sd == null) {\r\n external = false;\r\n wpr = pr;\r\n } else {\r\n wpr = sd;\r\n }\r\n\r\n Ctor.precision = wpr += guard;\r\n c = digitsToString(xd);\r\n c0 = c.charAt(0);\r\n\r\n if (Math.abs(e = x.e) < 1.5e15) {\r\n\r\n // Argument reduction.\r\n // The series converges faster the closer the argument is to 1, so using\r\n // ln(a^b) = b * ln(a), ln(a) = ln(a^b) / b\r\n // multiply the argument by itself until the leading digits of the significand are 7, 8, 9,\r\n // 10, 11, 12 or 13, recording the number of multiplications so the sum of the series can\r\n // later be divided by this number, then separate out the power of 10 using\r\n // ln(a*10^b) = ln(a) + b*ln(10).\r\n\r\n // max n is 21 (gives 0.9, 1.0 or 1.1) (9e15 / 21 = 4.2e14).\r\n //while (c0 < 9 && c0 != 1 || c0 == 1 && c.charAt(1) > 1) {\r\n // max n is 6 (gives 0.7 - 1.3)\r\n while (c0 < 7 && c0 != 1 || c0 == 1 && c.charAt(1) > 3) {\r\n x = x.times(y);\r\n c = digitsToString(x.d);\r\n c0 = c.charAt(0);\r\n n++;\r\n }\r\n\r\n e = x.e;\r\n\r\n if (c0 > 1) {\r\n x = new Ctor('0.' + c);\r\n e++;\r\n } else {\r\n x = new Ctor(c0 + '.' + c.slice(1));\r\n }\r\n } else {\r\n\r\n // The argument reduction method above may result in overflow if the argument y is a massive\r\n // number with exponent >= 1500000000000000 (9e15 / 6 = 1.5e15), so instead recall this\r\n // function using ln(x*10^e) = ln(x) + e*ln(10).\r\n t = getLn10(Ctor, wpr + 2, pr).times(e + '');\r\n x = naturalLogarithm(new Ctor(c0 + '.' + c.slice(1)), wpr - guard).plus(t);\r\n Ctor.precision = pr;\r\n\r\n return sd == null ? finalise(x, pr, rm, external = true) : x;\r\n }\r\n\r\n // x1 is x reduced to a value near 1.\r\n x1 = x;\r\n\r\n // Taylor series.\r\n // ln(y) = ln((1 + x)/(1 - x)) = 2(x + x^3/3 + x^5/5 + x^7/7 + ...)\r\n // where x = (y - 1)/(y + 1) (|x| < 1)\r\n sum = numerator = x = divide(x.minus(1), x.plus(1), wpr, 1);\r\n x2 = finalise(x.times(x), wpr, 1);\r\n denominator = 3;\r\n\r\n for (;;) {\r\n numerator = finalise(numerator.times(x2), wpr, 1);\r\n t = sum.plus(divide(numerator, new Ctor(denominator), wpr, 1));\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\r\n sum = sum.times(2);\r\n\r\n // Reverse the argument reduction. Check that e is not 0 because, besides preventing an\r\n // unnecessary calculation, -0 + 0 = +0 and to ensure correct rounding -0 needs to stay -0.\r\n if (e !== 0) sum = sum.plus(getLn10(Ctor, wpr + 2, pr).times(e + ''));\r\n sum = divide(sum, new Ctor(n), wpr, 1);\r\n\r\n // Is rm > 3 and the first 4 rounding digits 4999, or rm < 4 (or the summation has\r\n // been repeated previously) and the first 4 rounding digits 9999?\r\n // If so, restart the summation with a higher precision, otherwise\r\n // e.g. with precision: 12, rounding: 1\r\n // ln(135520028.6126091714265381533) = 18.7246299999 when it should be 18.72463.\r\n // `wpr - guard` is the index of first rounding digit.\r\n if (sd == null) {\r\n if (checkRoundingDigits(sum.d, wpr - guard, rm, rep)) {\r\n Ctor.precision = wpr += guard;\r\n t = numerator = x = divide(x1.minus(1), x1.plus(1), wpr, 1);\r\n x2 = finalise(x.times(x), wpr, 1);\r\n denominator = rep = 1;\r\n } else {\r\n return finalise(sum, Ctor.precision = pr, rm, external = true);\r\n }\r\n } else {\r\n Ctor.precision = pr;\r\n return sum;\r\n }\r\n }\r\n\r\n sum = t;\r\n denominator += 2;\r\n }\r\n }\r\n\r\n\r\n // ±Infinity, NaN.\r\n function nonFiniteToString(x) {\r\n // Unsigned.\r\n return String(x.s * x.s / 0);\r\n }\r\n\r\n\r\n /*\r\n * Parse the value of a new Decimal `x` from string `str`.\r\n */\r\n function parseDecimal(x, str) {\r\n var e, i, len;\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = str.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +str.slice(i + 1);\r\n str = str.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = str.length;\r\n }\r\n\r\n // Determine leading zeros.\r\n for (i = 0; str.charCodeAt(i) === 48; i++);\r\n\r\n // Determine trailing zeros.\r\n for (len = str.length; str.charCodeAt(len - 1) === 48; --len);\r\n str = str.slice(i, len);\r\n\r\n if (str) {\r\n len -= i;\r\n x.e = e = e - i - 1;\r\n x.d = [];\r\n\r\n // Transform base\r\n\r\n // e is the base 10 exponent.\r\n // i is where to slice str to get the first word of the digits array.\r\n i = (e + 1) % LOG_BASE;\r\n if (e < 0) i += LOG_BASE;\r\n\r\n if (i < len) {\r\n if (i) x.d.push(+str.slice(0, i));\r\n for (len -= LOG_BASE; i < len;) x.d.push(+str.slice(i, i += LOG_BASE));\r\n str = str.slice(i);\r\n i = LOG_BASE - str.length;\r\n } else {\r\n i -= len;\r\n }\r\n\r\n for (; i--;) str += '0';\r\n x.d.push(+str);\r\n\r\n if (external) {\r\n\r\n // Overflow?\r\n if (x.e > x.constructor.maxE) {\r\n\r\n // Infinity.\r\n x.d = null;\r\n x.e = NaN;\r\n\r\n // Underflow?\r\n } else if (x.e < x.constructor.minE) {\r\n\r\n // Zero.\r\n x.e = 0;\r\n x.d = [0];\r\n // x.constructor.underflow = true;\r\n } // else x.constructor.underflow = false;\r\n }\r\n } else {\r\n\r\n // Zero.\r\n x.e = 0;\r\n x.d = [0];\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Parse the value of a new Decimal `x` from a string `str`, which is not a decimal value.\r\n */\r\n function parseOther(x, str) {\r\n var base, Ctor, divisor, i, isFloat, len, p, xd, xe;\r\n\r\n if (str.indexOf('_') > -1) {\r\n str = str.replace(/(\\d)_(?=\\d)/g, '$1');\r\n if (isDecimal.test(str)) return parseDecimal(x, str);\r\n } else if (str === 'Infinity' || str === 'NaN') {\r\n if (!+str) x.s = NaN;\r\n x.e = NaN;\r\n x.d = null;\r\n return x;\r\n }\r\n\r\n if (isHex.test(str)) {\r\n base = 16;\r\n str = str.toLowerCase();\r\n } else if (isBinary.test(str)) {\r\n base = 2;\r\n } else if (isOctal.test(str)) {\r\n base = 8;\r\n } else {\r\n throw Error(invalidArgument + str);\r\n }\r\n\r\n // Is there a binary exponent part?\r\n i = str.search(/p/i);\r\n\r\n if (i > 0) {\r\n p = +str.slice(i + 1);\r\n str = str.substring(2, i);\r\n } else {\r\n str = str.slice(2);\r\n }\r\n\r\n // Convert `str` as an integer then divide the result by `base` raised to a power such that the\r\n // fraction part will be restored.\r\n i = str.indexOf('.');\r\n isFloat = i >= 0;\r\n Ctor = x.constructor;\r\n\r\n if (isFloat) {\r\n str = str.replace('.', '');\r\n len = str.length;\r\n i = len - i;\r\n\r\n // log[10](16) = 1.2041... , log[10](88) = 1.9444....\r\n divisor = intPow(Ctor, new Ctor(base), i, i * 2);\r\n }\r\n\r\n xd = convertBase(str, base, BASE);\r\n xe = xd.length - 1;\r\n\r\n // Remove trailing zeros.\r\n for (i = xe; xd[i] === 0; --i) xd.pop();\r\n if (i < 0) return new Ctor(x.s * 0);\r\n x.e = getBase10Exponent(xd, xe);\r\n x.d = xd;\r\n external = false;\r\n\r\n // At what precision to perform the division to ensure exact conversion?\r\n // maxDecimalIntegerPartDigitCount = ceil(log[10](b) * otherBaseIntegerPartDigitCount)\r\n // log[10](2) = 0.30103, log[10](8) = 0.90309, log[10](16) = 1.20412\r\n // E.g. ceil(1.2 * 3) = 4, so up to 4 decimal digits are needed to represent 3 hex int digits.\r\n // maxDecimalFractionPartDigitCount = {Hex:4|Oct:3|Bin:1} * otherBaseFractionPartDigitCount\r\n // Therefore using 4 * the number of digits of str will always be enough.\r\n if (isFloat) x = divide(x, divisor, len * 4);\r\n\r\n // Multiply by the binary exponent part if present.\r\n if (p) x = x.times(Math.abs(p) < 54 ? mathpow(2, p) : Decimal.pow(2, p));\r\n external = true;\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * sin(x) = x - x^3/3! + x^5/5! - ...\r\n * |x| < pi/2\r\n *\r\n */\r\n function sine(Ctor, x) {\r\n var k,\r\n len = x.d.length;\r\n\r\n if (len < 3) {\r\n return x.isZero() ? x : taylorSeries(Ctor, 2, x, x);\r\n }\r\n\r\n // Argument reduction: sin(5x) = 16*sin^5(x) - 20*sin^3(x) + 5*sin(x)\r\n // i.e. sin(x) = 16*sin^5(x/5) - 20*sin^3(x/5) + 5*sin(x/5)\r\n // and sin(x) = sin(x/5)(5 + sin^2(x/5)(16sin^2(x/5) - 20))\r\n\r\n // Estimate the optimum number of times to use the argument reduction.\r\n k = 1.4 * Math.sqrt(len);\r\n k = k > 16 ? 16 : k | 0;\r\n\r\n x = x.times(1 / tinyPow(5, k));\r\n x = taylorSeries(Ctor, 2, x, x);\r\n\r\n // Reverse argument reduction\r\n var sin2_x,\r\n d5 = new Ctor(5),\r\n d16 = new Ctor(16),\r\n d20 = new Ctor(20);\r\n for (; k--;) {\r\n sin2_x = x.times(x);\r\n x = x.times(d5.plus(sin2_x.times(d16.times(sin2_x).minus(d20))));\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n // Calculate Taylor series for `cos`, `cosh`, `sin` and `sinh`.\r\n function taylorSeries(Ctor, n, x, y, isHyperbolic) {\r\n var j, t, u, x2,\r\n i = 1,\r\n pr = Ctor.precision,\r\n k = Math.ceil(pr / LOG_BASE);\r\n\r\n external = false;\r\n x2 = x.times(x);\r\n u = new Ctor(y);\r\n\r\n for (;;) {\r\n t = divide(u.times(x2), new Ctor(n++ * n++), pr, 1);\r\n u = isHyperbolic ? y.plus(t) : y.minus(t);\r\n y = divide(t.times(x2), new Ctor(n++ * n++), pr, 1);\r\n t = u.plus(y);\r\n\r\n if (t.d[k] !== void 0) {\r\n for (j = k; t.d[j] === u.d[j] && j--;);\r\n if (j == -1) break;\r\n }\r\n\r\n j = u;\r\n u = y;\r\n y = t;\r\n t = j;\r\n i++;\r\n }\r\n\r\n external = true;\r\n t.d.length = k + 1;\r\n\r\n return t;\r\n }\r\n\r\n\r\n // Exponent e must be positive and non-zero.\r\n function tinyPow(b, e) {\r\n var n = b;\r\n while (--e) n *= b;\r\n return n;\r\n }\r\n\r\n\r\n // Return the absolute value of `x` reduced to less than or equal to half pi.\r\n function toLessThanHalfPi(Ctor, x) {\r\n var t,\r\n isNeg = x.s < 0,\r\n pi = getPi(Ctor, Ctor.precision, 1),\r\n halfPi = pi.times(0.5);\r\n\r\n x = x.abs();\r\n\r\n if (x.lte(halfPi)) {\r\n quadrant = isNeg ? 4 : 1;\r\n return x;\r\n }\r\n\r\n t = x.divToInt(pi);\r\n\r\n if (t.isZero()) {\r\n quadrant = isNeg ? 3 : 2;\r\n } else {\r\n x = x.minus(t.times(pi));\r\n\r\n // 0 <= x < pi\r\n if (x.lte(halfPi)) {\r\n quadrant = isOdd(t) ? (isNeg ? 2 : 3) : (isNeg ? 4 : 1);\r\n return x;\r\n }\r\n\r\n quadrant = isOdd(t) ? (isNeg ? 1 : 4) : (isNeg ? 3 : 2);\r\n }\r\n\r\n return x.minus(pi).abs();\r\n }\r\n\r\n\r\n /*\r\n * Return the value of Decimal `x` as a string in base `baseOut`.\r\n *\r\n * If the optional `sd` argument is present include a binary exponent suffix.\r\n */\r\n function toStringBinary(x, baseOut, sd, rm) {\r\n var base, e, i, k, len, roundUp, str, xd, y,\r\n Ctor = x.constructor,\r\n isExp = sd !== void 0;\r\n\r\n if (isExp) {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n } else {\r\n sd = Ctor.precision;\r\n rm = Ctor.rounding;\r\n }\r\n\r\n if (!x.isFinite()) {\r\n str = nonFiniteToString(x);\r\n } else {\r\n str = finiteToString(x);\r\n i = str.indexOf('.');\r\n\r\n // Use exponential notation according to `toExpPos` and `toExpNeg`? No, but if required:\r\n // maxBinaryExponent = floor((decimalExponent + 1) * log[2](10))\r\n // minBinaryExponent = floor(decimalExponent * log[2](10))\r\n // log[2](10) = 3.321928094887362347870319429489390175864\r\n\r\n if (isExp) {\r\n base = 2;\r\n if (baseOut == 16) {\r\n sd = sd * 4 - 3;\r\n } else if (baseOut == 8) {\r\n sd = sd * 3 - 2;\r\n }\r\n } else {\r\n base = baseOut;\r\n }\r\n\r\n // Convert the number as an integer then divide the result by its base raised to a power such\r\n // that the fraction part will be restored.\r\n\r\n // Non-integer.\r\n if (i >= 0) {\r\n str = str.replace('.', '');\r\n y = new Ctor(1);\r\n y.e = str.length - i;\r\n y.d = convertBase(finiteToString(y), 10, base);\r\n y.e = y.d.length;\r\n }\r\n\r\n xd = convertBase(str, 10, base);\r\n e = len = xd.length;\r\n\r\n // Remove trailing zeros.\r\n for (; xd[--len] == 0;) xd.pop();\r\n\r\n if (!xd[0]) {\r\n str = isExp ? '0p+0' : '0';\r\n } else {\r\n if (i < 0) {\r\n e--;\r\n } else {\r\n x = new Ctor(x);\r\n x.d = xd;\r\n x.e = e;\r\n x = divide(x, y, sd, rm, 0, base);\r\n xd = x.d;\r\n e = x.e;\r\n roundUp = inexact;\r\n }\r\n\r\n // The rounding digit, i.e. the digit after the digit that may be rounded up.\r\n i = xd[sd];\r\n k = base / 2;\r\n roundUp = roundUp || xd[sd + 1] !== void 0;\r\n\r\n roundUp = rm < 4\r\n ? (i !== void 0 || roundUp) && (rm === 0 || rm === (x.s < 0 ? 3 : 2))\r\n : i > k || i === k && (rm === 4 || roundUp || rm === 6 && xd[sd - 1] & 1 ||\r\n rm === (x.s < 0 ? 8 : 7));\r\n\r\n xd.length = sd;\r\n\r\n if (roundUp) {\r\n\r\n // Rounding up may mean the previous digit has to be rounded up and so on.\r\n for (; ++xd[--sd] > base - 1;) {\r\n xd[sd] = 0;\r\n if (!sd) {\r\n ++e;\r\n xd.unshift(1);\r\n }\r\n }\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (len = xd.length; !xd[len - 1]; --len);\r\n\r\n // E.g. [4, 11, 15] becomes 4bf.\r\n for (i = 0, str = ''; i < len; i++) str += NUMERALS.charAt(xd[i]);\r\n\r\n // Add binary exponent suffix?\r\n if (isExp) {\r\n if (len > 1) {\r\n if (baseOut == 16 || baseOut == 8) {\r\n i = baseOut == 16 ? 4 : 3;\r\n for (--len; len % i; len++) str += '0';\r\n xd = convertBase(str, base, baseOut);\r\n for (len = xd.length; !xd[len - 1]; --len);\r\n\r\n // xd[0] will always be be 1\r\n for (i = 1, str = '1.'; i < len; i++) str += NUMERALS.charAt(xd[i]);\r\n } else {\r\n str = str.charAt(0) + '.' + str.slice(1);\r\n }\r\n }\r\n\r\n str = str + (e < 0 ? 'p' : 'p+') + e;\r\n } else if (e < 0) {\r\n for (; ++e;) str = '0' + str;\r\n str = '0.' + str;\r\n } else {\r\n if (++e > len) for (e -= len; e-- ;) str += '0';\r\n else if (e < len) str = str.slice(0, e) + '.' + str.slice(e);\r\n }\r\n }\r\n\r\n str = (baseOut == 16 ? '0x' : baseOut == 2 ? '0b' : baseOut == 8 ? '0o' : '') + str;\r\n }\r\n\r\n return x.s < 0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // Does not strip trailing zeros.\r\n function truncate(arr, len) {\r\n if (arr.length > len) {\r\n arr.length = len;\r\n return true;\r\n }\r\n }\r\n\r\n\r\n // Decimal methods\r\n\r\n\r\n /*\r\n * abs\r\n * acos\r\n * acosh\r\n * add\r\n * asin\r\n * asinh\r\n * atan\r\n * atanh\r\n * atan2\r\n * cbrt\r\n * ceil\r\n * clamp\r\n * clone\r\n * config\r\n * cos\r\n * cosh\r\n * div\r\n * exp\r\n * floor\r\n * hypot\r\n * ln\r\n * log\r\n * log2\r\n * log10\r\n * max\r\n * min\r\n * mod\r\n * mul\r\n * pow\r\n * random\r\n * round\r\n * set\r\n * sign\r\n * sin\r\n * sinh\r\n * sqrt\r\n * sub\r\n * sum\r\n * tan\r\n * tanh\r\n * trunc\r\n */\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the absolute value of `x`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function abs(x) {\r\n return new this(x).abs();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arccosine in radians of `x`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function acos(x) {\r\n return new this(x).acos();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic cosine of `x`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function acosh(x) {\r\n return new this(x).acosh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the sum of `x` and `y`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n * y {number|string|Decimal}\r\n *\r\n */\r\n function add(x, y) {\r\n return new this(x).plus(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arcsine in radians of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function asin(x) {\r\n return new this(x).asin();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic sine of `x`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function asinh(x) {\r\n return new this(x).asinh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arctangent in radians of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function atan(x) {\r\n return new this(x).atan();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic tangent of `x`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function atanh(x) {\r\n return new this(x).atanh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arctangent in radians of `y/x` in the range -pi to pi\r\n * (inclusive), rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-pi, pi]\r\n *\r\n * y {number|string|Decimal} The y-coordinate.\r\n * x {number|string|Decimal} The x-coordinate.\r\n *\r\n * atan2(±0, -0) = ±pi\r\n * atan2(±0, +0) = ±0\r\n * atan2(±0, -x) = ±pi for x > 0\r\n * atan2(±0, x) = ±0 for x > 0\r\n * atan2(-y, ±0) = -pi/2 for y > 0\r\n * atan2(y, ±0) = pi/2 for y > 0\r\n * atan2(±y, -Infinity) = ±pi for finite y > 0\r\n * atan2(±y, +Infinity) = ±0 for finite y > 0\r\n * atan2(±Infinity, x) = ±pi/2 for finite x\r\n * atan2(±Infinity, -Infinity) = ±3*pi/4\r\n * atan2(±Infinity, +Infinity) = ±pi/4\r\n * atan2(NaN, x) = NaN\r\n * atan2(y, NaN) = NaN\r\n *\r\n */\r\n function atan2(y, x) {\r\n y = new this(y);\r\n x = new this(x);\r\n var r,\r\n pr = this.precision,\r\n rm = this.rounding,\r\n wpr = pr + 4;\r\n\r\n // Either NaN\r\n if (!y.s || !x.s) {\r\n r = new this(NaN);\r\n\r\n // Both ±Infinity\r\n } else if (!y.d && !x.d) {\r\n r = getPi(this, wpr, 1).times(x.s > 0 ? 0.25 : 0.75);\r\n r.s = y.s;\r\n\r\n // x is ±Infinity or y is ±0\r\n } else if (!x.d || y.isZero()) {\r\n r = x.s < 0 ? getPi(this, pr, rm) : new this(0);\r\n r.s = y.s;\r\n\r\n // y is ±Infinity or x is ±0\r\n } else if (!y.d || x.isZero()) {\r\n r = getPi(this, wpr, 1).times(0.5);\r\n r.s = y.s;\r\n\r\n // Both non-zero and finite\r\n } else if (x.s < 0) {\r\n this.precision = wpr;\r\n this.rounding = 1;\r\n r = this.atan(divide(y, x, wpr, 1));\r\n x = getPi(this, wpr, 1);\r\n this.precision = pr;\r\n this.rounding = rm;\r\n r = y.s < 0 ? r.minus(x) : r.plus(x);\r\n } else {\r\n r = this.atan(divide(y, x, wpr, 1));\r\n }\r\n\r\n return r;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the cube root of `x`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function cbrt(x) {\r\n return new this(x).cbrt();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` rounded to an integer using `ROUND_CEIL`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function ceil(x) {\r\n return finalise(x = new this(x), x.e + 1, 2);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` clamped to the range delineated by `min` and `max`.\r\n *\r\n * x {number|string|Decimal}\r\n * min {number|string|Decimal}\r\n * max {number|string|Decimal}\r\n *\r\n */\r\n function clamp(x, min, max) {\r\n return new this(x).clamp(min, max);\r\n }\r\n\r\n\r\n /*\r\n * Configure global settings for a Decimal constructor.\r\n *\r\n * `obj` is an object with one or more of the following properties,\r\n *\r\n * precision {number}\r\n * rounding {number}\r\n * toExpNeg {number}\r\n * toExpPos {number}\r\n * maxE {number}\r\n * minE {number}\r\n * modulo {number}\r\n * crypto {boolean|number}\r\n * defaults {true}\r\n *\r\n * E.g. Decimal.config({ precision: 20, rounding: 4 })\r\n *\r\n */\r\n function config(obj) {\r\n if (!obj || typeof obj !== 'object') throw Error(decimalError + 'Object expected');\r\n var i, p, v,\r\n useDefaults = obj.defaults === true,\r\n ps = [\r\n 'precision', 1, MAX_DIGITS,\r\n 'rounding', 0, 8,\r\n 'toExpNeg', -EXP_LIMIT, 0,\r\n 'toExpPos', 0, EXP_LIMIT,\r\n 'maxE', 0, EXP_LIMIT,\r\n 'minE', -EXP_LIMIT, 0,\r\n 'modulo', 0, 9\r\n ];\r\n\r\n for (i = 0; i < ps.length; i += 3) {\r\n if (p = ps[i], useDefaults) this[p] = DEFAULTS[p];\r\n if ((v = obj[p]) !== void 0) {\r\n if (mathfloor(v) === v && v >= ps[i + 1] && v <= ps[i + 2]) this[p] = v;\r\n else throw Error(invalidArgument + p + ': ' + v);\r\n }\r\n }\r\n\r\n if (p = 'crypto', useDefaults) this[p] = DEFAULTS[p];\r\n if ((v = obj[p]) !== void 0) {\r\n if (v === true || v === false || v === 0 || v === 1) {\r\n if (v) {\r\n if (typeof crypto != 'undefined' && crypto &&\r\n (crypto.getRandomValues || crypto.randomBytes)) {\r\n this[p] = true;\r\n } else {\r\n throw Error(cryptoUnavailable);\r\n }\r\n } else {\r\n this[p] = false;\r\n }\r\n } else {\r\n throw Error(invalidArgument + p + ': ' + v);\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the cosine of `x`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function cos(x) {\r\n return new this(x).cos();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic cosine of `x`, rounded to precision\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function cosh(x) {\r\n return new this(x).cosh();\r\n }\r\n\r\n\r\n /*\r\n * Create and return a Decimal constructor with the same configuration properties as this Decimal\r\n * constructor.\r\n *\r\n */\r\n function clone(obj) {\r\n var i, p, ps;\r\n\r\n /*\r\n * The Decimal constructor and exported function.\r\n * Return a new Decimal instance.\r\n *\r\n * v {number|string|Decimal} A numeric value.\r\n *\r\n */\r\n function Decimal(v) {\r\n var e, i, t,\r\n x = this;\r\n\r\n // Decimal called without new.\r\n if (!(x instanceof Decimal)) return new Decimal(v);\r\n\r\n // Retain a reference to this Decimal constructor, and shadow Decimal.prototype.constructor\r\n // which points to Object.\r\n x.constructor = Decimal;\r\n\r\n // Duplicate.\r\n if (isDecimalInstance(v)) {\r\n x.s = v.s;\r\n\r\n if (external) {\r\n if (!v.d || v.e > Decimal.maxE) {\r\n\r\n // Infinity.\r\n x.e = NaN;\r\n x.d = null;\r\n } else if (v.e < Decimal.minE) {\r\n\r\n // Zero.\r\n x.e = 0;\r\n x.d = [0];\r\n } else {\r\n x.e = v.e;\r\n x.d = v.d.slice();\r\n }\r\n } else {\r\n x.e = v.e;\r\n x.d = v.d ? v.d.slice() : v.d;\r\n }\r\n\r\n return;\r\n }\r\n\r\n t = typeof v;\r\n\r\n if (t === 'number') {\r\n if (v === 0) {\r\n x.s = 1 / v < 0 ? -1 : 1;\r\n x.e = 0;\r\n x.d = [0];\r\n return;\r\n }\r\n\r\n if (v < 0) {\r\n v = -v;\r\n x.s = -1;\r\n } else {\r\n x.s = 1;\r\n }\r\n\r\n // Fast path for small integers.\r\n if (v === ~~v && v < 1e7) {\r\n for (e = 0, i = v; i >= 10; i /= 10) e++;\r\n\r\n if (external) {\r\n if (e > Decimal.maxE) {\r\n x.e = NaN;\r\n x.d = null;\r\n } else if (e < Decimal.minE) {\r\n x.e = 0;\r\n x.d = [0];\r\n } else {\r\n x.e = e;\r\n x.d = [v];\r\n }\r\n } else {\r\n x.e = e;\r\n x.d = [v];\r\n }\r\n\r\n return;\r\n\r\n // Infinity, NaN.\r\n } else if (v * 0 !== 0) {\r\n if (!v) x.s = NaN;\r\n x.e = NaN;\r\n x.d = null;\r\n return;\r\n }\r\n\r\n return parseDecimal(x, v.toString());\r\n\r\n } else if (t !== 'string') {\r\n throw Error(invalidArgument + v);\r\n }\r\n\r\n // Minus sign?\r\n if ((i = v.charCodeAt(0)) === 45) {\r\n v = v.slice(1);\r\n x.s = -1;\r\n } else {\r\n // Plus sign?\r\n if (i === 43) v = v.slice(1);\r\n x.s = 1;\r\n }\r\n\r\n return isDecimal.test(v) ? parseDecimal(x, v) : parseOther(x, v);\r\n }\r\n\r\n Decimal.prototype = P;\r\n\r\n Decimal.ROUND_UP = 0;\r\n Decimal.ROUND_DOWN = 1;\r\n Decimal.ROUND_CEIL = 2;\r\n Decimal.ROUND_FLOOR = 3;\r\n Decimal.ROUND_HALF_UP = 4;\r\n Decimal.ROUND_HALF_DOWN = 5;\r\n Decimal.ROUND_HALF_EVEN = 6;\r\n Decimal.ROUND_HALF_CEIL = 7;\r\n Decimal.ROUND_HALF_FLOOR = 8;\r\n Decimal.EUCLID = 9;\r\n\r\n Decimal.config = Decimal.set = config;\r\n Decimal.clone = clone;\r\n Decimal.isDecimal = isDecimalInstance;\r\n\r\n Decimal.abs = abs;\r\n Decimal.acos = acos;\r\n Decimal.acosh = acosh; // ES6\r\n Decimal.add = add;\r\n Decimal.asin = asin;\r\n Decimal.asinh = asinh; // ES6\r\n Decimal.atan = atan;\r\n Decimal.atanh = atanh; // ES6\r\n Decimal.atan2 = atan2;\r\n Decimal.cbrt = cbrt; // ES6\r\n Decimal.ceil = ceil;\r\n Decimal.clamp = clamp;\r\n Decimal.cos = cos;\r\n Decimal.cosh = cosh; // ES6\r\n Decimal.div = div;\r\n Decimal.exp = exp;\r\n Decimal.floor = floor;\r\n Decimal.hypot = hypot; // ES6\r\n Decimal.ln = ln;\r\n Decimal.log = log;\r\n Decimal.log10 = log10; // ES6\r\n Decimal.log2 = log2; // ES6\r\n Decimal.max = max;\r\n Decimal.min = min;\r\n Decimal.mod = mod;\r\n Decimal.mul = mul;\r\n Decimal.pow = pow;\r\n Decimal.random = random;\r\n Decimal.round = round;\r\n Decimal.sign = sign; // ES6\r\n Decimal.sin = sin;\r\n Decimal.sinh = sinh; // ES6\r\n Decimal.sqrt = sqrt;\r\n Decimal.sub = sub;\r\n Decimal.sum = sum;\r\n Decimal.tan = tan;\r\n Decimal.tanh = tanh; // ES6\r\n Decimal.trunc = trunc; // ES6\r\n\r\n if (obj === void 0) obj = {};\r\n if (obj) {\r\n if (obj.defaults !== true) {\r\n ps = ['precision', 'rounding', 'toExpNeg', 'toExpPos', 'maxE', 'minE', 'modulo', 'crypto'];\r\n for (i = 0; i < ps.length;) if (!obj.hasOwnProperty(p = ps[i++])) obj[p] = this[p];\r\n }\r\n }\r\n\r\n Decimal.config(obj);\r\n\r\n return Decimal;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` divided by `y`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n * y {number|string|Decimal}\r\n *\r\n */\r\n function div(x, y) {\r\n return new this(x).div(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} The power to which to raise the base of the natural log.\r\n *\r\n */\r\n function exp(x) {\r\n return new this(x).exp();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` round to an integer using `ROUND_FLOOR`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function floor(x) {\r\n return finalise(x = new this(x), x.e + 1, 3);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the square root of the sum of the squares of the arguments,\r\n * rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * hypot(a, b, ...) = sqrt(a^2 + b^2 + ...)\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n */\r\n function hypot() {\r\n var i, n,\r\n t = new this(0);\r\n\r\n external = false;\r\n\r\n for (i = 0; i < arguments.length;) {\r\n n = new this(arguments[i++]);\r\n if (!n.d) {\r\n if (n.s) {\r\n external = true;\r\n return new this(1 / 0);\r\n }\r\n t = n;\r\n } else if (t.d) {\r\n t = t.plus(n.times(n));\r\n }\r\n }\r\n\r\n external = true;\r\n\r\n return t.sqrt();\r\n }\r\n\r\n\r\n /*\r\n * Return true if object is a Decimal instance (where Decimal is any Decimal constructor),\r\n * otherwise return false.\r\n *\r\n */\r\n function isDecimalInstance(obj) {\r\n return obj instanceof Decimal || obj && obj.toStringTag === tag || false;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function ln(x) {\r\n return new this(x).ln();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the log of `x` to the base `y`, or to base 10 if no base\r\n * is specified, rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * log[y](x)\r\n *\r\n * x {number|string|Decimal} The argument of the logarithm.\r\n * y {number|string|Decimal} The base of the logarithm.\r\n *\r\n */\r\n function log(x, y) {\r\n return new this(x).log(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the base 2 logarithm of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function log2(x) {\r\n return new this(x).log(2);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the base 10 logarithm of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function log10(x) {\r\n return new this(x).log(10);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the maximum of the arguments.\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n */\r\n function max() {\r\n return maxOrMin(this, arguments, 'lt');\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the minimum of the arguments.\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n */\r\n function min() {\r\n return maxOrMin(this, arguments, 'gt');\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` modulo `y`, rounded to `precision` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n * y {number|string|Decimal}\r\n *\r\n */\r\n function mod(x, y) {\r\n return new this(x).mod(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` multiplied by `y`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n * y {number|string|Decimal}\r\n *\r\n */\r\n function mul(x, y) {\r\n return new this(x).mul(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` raised to the power `y`, rounded to precision\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} The base.\r\n * y {number|string|Decimal} The exponent.\r\n *\r\n */\r\n function pow(x, y) {\r\n return new this(x).pow(y);\r\n }\r\n\r\n\r\n /*\r\n * Returns a new Decimal with a random value equal to or greater than 0 and less than 1, and with\r\n * `sd`, or `Decimal.precision` if `sd` is omitted, significant digits (or less if trailing zeros\r\n * are produced).\r\n *\r\n * [sd] {number} Significant digits. Integer, 0 to MAX_DIGITS inclusive.\r\n *\r\n */\r\n function random(sd) {\r\n var d, e, k, n,\r\n i = 0,\r\n r = new this(1),\r\n rd = [];\r\n\r\n if (sd === void 0) sd = this.precision;\r\n else checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n k = Math.ceil(sd / LOG_BASE);\r\n\r\n if (!this.crypto) {\r\n for (; i < k;) rd[i++] = Math.random() * 1e7 | 0;\r\n\r\n // Browsers supporting crypto.getRandomValues.\r\n } else if (crypto.getRandomValues) {\r\n d = crypto.getRandomValues(new Uint32Array(k));\r\n\r\n for (; i < k;) {\r\n n = d[i];\r\n\r\n // 0 <= n < 4294967296\r\n // Probability n >= 4.29e9, is 4967296 / 4294967296 = 0.00116 (1 in 865).\r\n if (n >= 4.29e9) {\r\n d[i] = crypto.getRandomValues(new Uint32Array(1))[0];\r\n } else {\r\n\r\n // 0 <= n <= 4289999999\r\n // 0 <= (n % 1e7) <= 9999999\r\n rd[i++] = n % 1e7;\r\n }\r\n }\r\n\r\n // Node.js supporting crypto.randomBytes.\r\n } else if (crypto.randomBytes) {\r\n\r\n // buffer\r\n d = crypto.randomBytes(k *= 4);\r\n\r\n for (; i < k;) {\r\n\r\n // 0 <= n < 2147483648\r\n n = d[i] + (d[i + 1] << 8) + (d[i + 2] << 16) + ((d[i + 3] & 0x7f) << 24);\r\n\r\n // Probability n >= 2.14e9, is 7483648 / 2147483648 = 0.0035 (1 in 286).\r\n if (n >= 2.14e9) {\r\n crypto.randomBytes(4).copy(d, i);\r\n } else {\r\n\r\n // 0 <= n <= 2139999999\r\n // 0 <= (n % 1e7) <= 9999999\r\n rd.push(n % 1e7);\r\n i += 4;\r\n }\r\n }\r\n\r\n i = k / 4;\r\n } else {\r\n throw Error(cryptoUnavailable);\r\n }\r\n\r\n k = rd[--i];\r\n sd %= LOG_BASE;\r\n\r\n // Convert trailing digits to zeros according to sd.\r\n if (k && sd) {\r\n n = mathpow(10, LOG_BASE - sd);\r\n rd[i] = (k / n | 0) * n;\r\n }\r\n\r\n // Remove trailing words which are zero.\r\n for (; rd[i] === 0; i--) rd.pop();\r\n\r\n // Zero?\r\n if (i < 0) {\r\n e = 0;\r\n rd = [0];\r\n } else {\r\n e = -1;\r\n\r\n // Remove leading words which are zero and adjust exponent accordingly.\r\n for (; rd[0] === 0; e -= LOG_BASE) rd.shift();\r\n\r\n // Count the digits of the first word of rd to determine leading zeros.\r\n for (k = 1, n = rd[0]; n >= 10; n /= 10) k++;\r\n\r\n // Adjust the exponent for leading zeros of the first word of rd.\r\n if (k < LOG_BASE) e -= LOG_BASE - k;\r\n }\r\n\r\n r.e = e;\r\n r.d = rd;\r\n\r\n return r;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` rounded to an integer using rounding mode `rounding`.\r\n *\r\n * To emulate `Math.round`, set rounding to 7 (ROUND_HALF_CEIL).\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function round(x) {\r\n return finalise(x = new this(x), x.e + 1, this.rounding);\r\n }\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if x > 0,\r\n * -1 if x < 0,\r\n * 0 if x is 0,\r\n * -0 if x is -0,\r\n * NaN otherwise\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function sign(x) {\r\n x = new this(x);\r\n return x.d ? (x.d[0] ? x.s : 0 * x.s) : x.s || NaN;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the sine of `x`, rounded to `precision` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function sin(x) {\r\n return new this(x).sin();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic sine of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function sinh(x) {\r\n return new this(x).sinh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the square root of `x`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function sqrt(x) {\r\n return new this(x).sqrt();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` minus `y`, rounded to `precision` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n * y {number|string|Decimal}\r\n *\r\n */\r\n function sub(x, y) {\r\n return new this(x).sub(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the sum of the arguments, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * Only the result is rounded, not the intermediate calculations.\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n */\r\n function sum() {\r\n var i = 0,\r\n args = arguments,\r\n x = new this(args[i]);\r\n\r\n external = false;\r\n for (; x.s && ++i < args.length;) x = x.plus(args[i]);\r\n external = true;\r\n\r\n return finalise(x, this.precision, this.rounding);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the tangent of `x`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function tan(x) {\r\n return new this(x).tan();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic tangent of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function tanh(x) {\r\n return new this(x).tanh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` truncated to an integer.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function trunc(x) {\r\n return finalise(x = new this(x), x.e + 1, 1);\r\n }\r\n\r\n\r\n // Create and configure initial Decimal constructor.\r\n Decimal = clone(DEFAULTS);\r\n Decimal.prototype.constructor = Decimal;\r\n Decimal['default'] = Decimal.Decimal = Decimal;\r\n\r\n // Create the internal constants from their string values.\r\n LN10 = new Decimal(LN10);\r\n PI = new Decimal(PI);\r\n\r\n\r\n // Export.\r\n\r\n\r\n // AMD.\r\n if (typeof define == 'function' && define.amd) {\r\n define(function () {\r\n return Decimal;\r\n });\r\n\r\n // Node and other environments that support module.exports.\r\n } else if (typeof module != 'undefined' && module.exports) {\r\n if (typeof Symbol == 'function' && typeof Symbol.iterator == 'symbol') {\r\n P[Symbol['for']('nodejs.util.inspect.custom')] = P.toString;\r\n P[Symbol.toStringTag] = 'Decimal';\r\n }\r\n\r\n module.exports = Decimal;\r\n\r\n // Browser.\r\n } else {\r\n if (!globalScope) {\r\n globalScope = typeof self != 'undefined' && self && self.self == self ? self : window;\r\n }\r\n\r\n noConflict = globalScope.Decimal;\r\n Decimal.noConflict = function () {\r\n globalScope.Decimal = noConflict;\r\n return Decimal;\r\n };\r\n\r\n globalScope.Decimal = Decimal;\r\n }\r\n})(this);\r\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-row', {\n staticClass: \"m-0 mb-1\",\n class: {\n cssClass: _vm.cssClass\n }\n }, _vm._l(_vm.list, function (_ref, index) {\n var _class;\n var icon = _ref.icon,\n label = _ref.label,\n content = _ref.content,\n variant = _ref.variant,\n afterFixLabel = _ref.afterFixLabel,\n top = _ref.top;\n return _c('b-col', {\n key: index,\n staticClass: \"mb-2\",\n attrs: {\n \"md\": \"6\"\n }\n }, [_c('div', {\n staticClass: \"d-flex\",\n class: {\n ' align-items-center': !top,\n 'align-items-start': top\n }\n }, [_c('sidebar-label', {\n attrs: {\n \"title\": _vm.$t(label),\n \"icon\": (\"ezAr-icon-\" + icon)\n }\n }, [_c('div', {\n staticClass: \"d-flex\"\n }, [_c('label', {\n staticClass: \"font-weight-bold\",\n style: _vm.getStyleObject(index)\n }, [_vm._v(_vm._s(_vm.$t(label)) + \" \" + _vm._s(afterFixLabel) + \" \")]), _c('span', {\n staticClass: \"font-weight-bold mr-1\"\n }, [_vm._v(\":\")])])]), _c('span', {\n class: (_class = {}, _class[(\"text-\" + variant)] = variant, _class),\n staticStyle: {\n \"word-break\": \"break-word\",\n \"margin-top\": \"2px\"\n }\n }, [_vm._v(_vm._s(content))])], 1)]);\n }), 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GeneralInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GeneralInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GeneralInfo.vue?vue&type=template&id=69d0e7b5&\"\nimport script from \"./GeneralInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./GeneralInfo.vue?vue&type=script&lang=js&\"\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","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","import {\n DxDataGrid,\n DxScrolling,\n DxColumn,\n DxPaging,\n DxPager,\n DxFilterRow,\n DxColumnChooser,\n DxRequiredRule,\n DxPosition,\n DxSelection,\n DxLoadPanel,\n DxToolbar,\n DxItem,\n DxEditing,\n DxCustomRule,\n} from \"devextreme-vue/data-grid\";\nimport store from \"@/store\";\nimport \"devextreme/dist/css/dx.light.css\";\n\nimport DeleteDialog from \"@/@core/components/delete-dialog/DeleteDialog.vue\";\n\nimport CustomStore from \"devextreme/data/custom_store\";\nimport DataSource from \"devextreme/data/data_source\";\nimport { Fragment } from \"vue-fragment\";\nimport { useFetch } from \"../Hooks/useFetch.ts\";\n\nimport { ref, defineComponent, PropType } from \"@vue/composition-api\";\nimport { useElementSize } from \"@vueuse/core\";\n\nexport default defineComponent({\n name: \"EzTable\",\n props: {\n forceDisplayActions:Boolean,\n excelExportApiCode: String,\n excelExportParams: Object,\n excelExport: Function,\n customComponent: Object,\n show: Boolean,\n actionsConfig: {\n type: Object,\n default() {\n return {};\n },\n },\n externalLoading: {\n type: Boolean,\n default: false,\n },\n toolbarConfig: {\n type: Object,\n default() {\n return {};\n },\n },\n toolbarActions: {\n type: Array,\n default: () => {\n return [];\n },\n },\n\n selectionConfig: {\n type: Object,\n nullable: true,\n },\n actionType: String,\n actions: {\n type: Array,\n default: () => {\n return [];\n },\n },\n pageConfig: {\n type: Object,\n default: () => {\n return {};\n },\n },\n dataSourceParams: {\n type: Object,\n nullable: true,\n },\n // if dataSource is function , must be promise with final Data return\n dataSource: [Array, Function],\n\n columnResizingMode: String,\n columns: Array,\n editingConfig: Object,\n editable: Boolean,\n },\n components: {\n DxPosition,\n DxCustomRule,\n DxToolbar,\n Fragment,\n DxLoadPanel,\n DxItem,\n DxColumn,\n DeleteDialog,\n DxSelection,\n DxEditing,\n DxRequiredRule,\n DxDataGrid,\n DxColumnChooser,\n DxScrolling,\n DxPaging,\n DxPager,\n DxFilterRow,\n },\n setup(props) {\n const rawDataSourceParams = ref({ ...props.dataSourceParams, OffSet: 0, Limit: 10 });\n\n const { isLoading, data, totalCount } = useFetch(props.dataSource, {\n params: rawDataSourceParams,\n });\n const dataResponse = ref({});\n\n return { isLoading, data, totalCount, rawDataSourceParams, dataResponse };\n },\n data() {\n return {\n rawDataSource: [],\n };\n },\n methods: {\n calculateWidth(type) {\n let width = undefined;\n if (type === \"currency\") {\n width = 100;\n }\n return width;\n },\n onContentReady(e) {},\n truncateWidth(v) {\n if (v) {\n return `width: ${v};`;\n }\n return \"\";\n },\n async handleExportExcel() {\n await this.excelExport(this.excelExportParams).then((res) => {\n const decodedData = Buffer.from(res.Data.FileContents, \"base64\");\n const newBlob = new Blob([decodedData], {\n type: res.Data.ContentType,\n });\n const url = window.URL.createObjectURL(newBlob);\n const a = document.createElement(\"a\");\n a.href = url;\n a.download =\n res.Data.FileDownloadName + \"_\" + this.dayjs(new Date()).format(\"DD/MM/YYYY HH:mm:ss\");\n a.click();\n window.URL.revokeObjectURL(url);\n });\n },\n fetchData() {\n if (this.functionDataSource) {\n const tempDataSourceParams = this.dataSourceParams;\n const rawApi = this.dataSource;\n const self = this;\n let tempDataResponse = {};\n\n this.rawDataSource = new DataSource({\n store: new CustomStore({\n loadMode: \"processed\",\n\n load(loadOptions) {\n let options = {\n ...tempDataSourceParams,\n Limit: loadOptions.take,\n OffSet: loadOptions.skip || 0,\n };\n if (loadOptions.customQueryParams)\n options = { ...options, ...loadOptions.customQueryParams };\n return rawApi(options)\n .then((response) => {\n loadOptions.requireTotalCount = true;\n let tempData = [];\n const dataValues = Object.values(response.Data);\n console.log(this, \"1644\");\n self.dataResponse = response.Data;\n dataValues.forEach((item) => {\n if (Array.isArray(item)) {\n tempData = item;\n }\n });\n return {\n data: tempData,\n totalCount: response.Data.TotalCount,\n };\n })\n .catch(() => {\n throw \"Network error\";\n });\n },\n }),\n });\n } else {\n this.rawDataSource = this.dataSource;\n }\n },\n renderDate(value, dateConfig) {\n let format = \"DD/MM/YYYY HH:mm\";\n\n /* if (dateConfig?.showTime) {\n format += \" hh:mm\";\n } */\n return this.formatDate(value);\n },\n onEditorPreparing: function (e) {\n if (\n e.parentType == \"headerRow\" &&\n e.command == \"select\" &&\n (this.selectionConfig?.mode === \"Single\" || this.selectionConfig?.hideSelectAll)\n ) {\n e.editorElement.remove();\n }\n this.$emit(\"onEditorPreparing\", e);\n },\n renderSlotHeader(fieldName) {\n return fieldName + \"-header\";\n },\n handlePropertyChange: function (e) {\n if (this.functionDataSource) {\n if (e.fullName.includes(\"sortOrder\")) {\n }\n }\n },\n renderColAlign(type) {\n let align = \"left\";\n if (type === \"num\" || type === \"currency\") {\n align = \"right\";\n }\n if (type === \"date\" || type === \"text-variant\") {\n align = \"center\";\n }\n return align;\n },\n\n onCellClick(e) {\n if (e.column.type === \"selection\") {\n return;\n }\n this.$emit(\"cellClick\", e);\n },\n },\n watch: {\n dataSource: {\n handler: function (value) {\n if (!this.functionDataSource) {\n this.rawDataSource = value;\n }\n },\n deep: true,\n },\n dataSourceParams: {\n handler: function (value) {\n if (value) {\n this.rawDataSourceParams = { ...this.dataSourceParams };\n }\n },\n deep: true,\n },\n },\n created() {\n this.fetchData();\n },\n\n computed: {\n dataGridInstance(){\n return this.$refs.dxDatagridRef.instance\n },\n permissionList() {\n return this.permissionsParsed\n ? this.permissionsParsed.map((func) => func.PermissionCode)\n : [];\n },\n functionDataSource() {\n return typeof this.dataSource === \"function\";\n },\n\n actionsSplit() {\n let value = { iconActions: [], dropDownActions: [] };\n if (this.actions.length > 0) {\n const temp = this.actions;\n if (temp.length > 0) {\n const iconActions = temp.length <= 3 ? temp.slice(0, 3) : temp.slice(0, 2);\n const dropDownActions = temp.length > 3 ? temp.slice(2, temp.length) : [];\n\n value = { iconActions, dropDownActions };\n }\n }\n return value;\n },\n\n templateArr() {\n return this.columns?.filter((c) => c.cellTemplate) || [];\n },\n hasSelectionChangeListener() {\n return this.$listeners && this.$listeners[\"selection-changed\"];\n },\n hasExportListener() {\n return this.$listeners && (this.$listeners[\"export-excel\"] || this.$listeners[\"export-pdf\"]);\n },\n },\n});\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-modal', {\n attrs: {\n \"id\": \"modal-primary\",\n \"ok-variant\": \"primary\",\n \"cancel-variant\": \"outline-secondary\",\n \"cancel-title\": _vm.$t('golf_common_back'),\n \"ok-title\": _vm.$t('golf_common_confirm'),\n \"modal-class\": \"modal-primary\",\n \"centered\": \"\",\n \"size\": \"xs\",\n \"title\": _vm.item.dataConfirm.title\n },\n on: {\n \"ok\": _vm.confirmDialog\n },\n model: {\n value: _vm.dialog,\n callback: function ($$v) {\n _vm.dialog = $$v;\n },\n expression: \"dialog\"\n }\n }, [_c('b-card-text', [_c('div', {\n staticClass: \"w-100 text-center\",\n staticStyle: {\n \"padding\": \"20px 16px\"\n }\n }, [_vm._v(\" \" + _vm._s(_vm.item.dataConfirm.content))])])], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConfirmDialog.vue?vue&type=template&id=14d0c0a6&\"\nimport script from \"./ConfirmDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./ConfirmDialog.vue?vue&type=script&lang=js&\"\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","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.8.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SectionTransformTable.vue?vue&type=style&index=0&id=37c5b58a&prod&lang=scss&\"","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalQuickAction.vue?vue&type=style&index=0&id=1eb21dc4&prod&lang=scss&\"","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","exports.f = Object.getOwnPropertySymbols;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('Fragment', [_c('b-button', {\n class: _vm.className,\n attrs: {\n \"variant\": _vm.variant,\n \"disabled\": _vm.isLoading\n },\n on: {\n \"click\": function ($event) {\n return _vm.$emit('click');\n }\n }\n }, [_vm.isLoading ? _c('b-spinner', {\n attrs: {\n \"small\": \"\"\n }\n }) : _vm._e(), _vm._t(\"default\")], 2)], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingButton.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingButton.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoadingButton.vue?vue&type=template&id=7a152aa1&\"\nimport script from \"./LoadingButton.vue?vue&type=script&lang=js&\"\nexport * from \"./LoadingButton.vue?vue&type=script&lang=js&\"\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","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-modal', {\n attrs: {\n \"id\": \"modal-danger\",\n \"ok-variant\": \"danger\",\n \"cancel-variant\": \"outline-secondary\",\n \"cancel-title\": _vm.$t('ar_client_back'),\n \"ok-title\": _vm.$t('ar_client_confirm'),\n \"modal-class\": \"modal-danger\",\n \"centered\": \"\",\n \"size\": \"xs\",\n \"title\": _vm.ob.title\n },\n on: {\n \"ok\": _vm.deleteItem,\n \"hidden\": _vm.resetModal\n },\n model: {\n value: _vm.deleteDialog,\n callback: function ($$v) {\n _vm.deleteDialog = $$v;\n },\n expression: \"deleteDialog\"\n }\n }, [_c('b-card-text', [_c('div', {\n staticStyle: {\n \"padding\": \"20px 16px\"\n }\n }, [_vm._v(\" \" + _vm._s(_vm.ob.content))])])], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeleteDialog.vue?vue&type=template&id=738dcb84&\"\nimport script from \"./DeleteDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./DeleteDialog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeleteDialog.vue?vue&type=style&index=0&id=738dcb84&prod&lang=scss&\"\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","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('Treeselect', {\n class: {\n invalid: _vm.errors.length > 0\n },\n attrs: {\n \"disabled\": _vm.disabled,\n \"options\": _vm.options,\n \"clearable\": !_vm.noClearable,\n \"default-expand-level\": 1,\n \"normalizer\": _vm.normalizer,\n \"placeholder\": _vm.$t(_vm.placeholder),\n \"noOptionsText\": _vm.$t('ar_client_no_data'),\n \"noResultsText\": _vm.$t('ar_client_no_data'),\n \"multiple\": _vm.multiple,\n \"limit-text\": _vm.fnCount,\n \"limit\": 1,\n \"clear-on-select\": false\n },\n on: {\n \"input\": function ($event) {\n _vm.$emit('change', _vm.options.find(function (opt) {\n return opt[_vm.customReduce || 'Id'] === _vm.currentValue;\n }));\n }\n },\n model: {\n value: _vm.currentValue,\n callback: function ($$v) {\n _vm.currentValue = $$v;\n },\n expression: \"currentValue\"\n }\n }, [_vm.multiple ? _c('template', {\n slot: \"before-list\"\n }, [_c('label', {\n staticClass: \"text-primary cursor-pointer\",\n staticStyle: {\n \"margin-left\": \"5px\"\n },\n on: {\n \"click\": _vm.onSelectAll\n }\n }, [_vm._v(\" \" + _vm._s(_vm.$t(\"ar_client_select_all\")) + \" \")])]) : _vm._e(), _vm.loading ? _c('treeselect-tip', {\n attrs: {\n \"slot\": \"after-list\",\n \"type\": \"loading\",\n \"icon\": \"loader\"\n },\n slot: \"after-list\"\n }, [_vm._v(_vm._s(_vm.$t(\"ar_client_loading\")) + \"...\")]) : _vm._e()], 2);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetSelect.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetSelect.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetSelect.vue?vue&type=template&id=03efb084&\"\nimport script from \"./WidgetSelect.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetSelect.vue?vue&type=script&lang=js&\"\nimport style0 from \"./WidgetSelect.scss?vue&type=style&index=0&prod&lang=scss&\"\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","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', {\n staticClass: \"sidebar-label d-flex align-items-center\"\n }, [_c('div', {\n directives: [{\n name: \"b-tooltip\",\n rawName: \"v-b-tooltip.hover\",\n modifiers: {\n \"hover\": true\n }\n }],\n staticClass: \"sidebar-label__icon d-flex justify-content-center align-items-center\",\n attrs: {\n \"title\": _vm.title\n }\n }, [_c('ez-icon', {\n attrs: {\n \"icon\": _vm.icon,\n \"size\": \"14\"\n }\n })], 1), _c('span', {\n staticClass: \"sidebar-label__text\"\n }, [_vm._t(\"default\")], 2)]);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarLabel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarLabel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SidebarLabel.vue?vue&type=template&id=66f205bb&scoped=true&\"\nimport script from \"./SidebarLabel.vue?vue&type=script&lang=js&\"\nexport * from \"./SidebarLabel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SidebarLabel.vue?vue&type=style&index=0&id=66f205bb&prod&lang=scss&scoped=true&\"\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 \"66f205bb\",\n null\n \n)\n\nexport default component.exports","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-button', {\n class: _vm.className,\n style: _vm.style,\n attrs: {\n \"variant\": _vm.variant,\n \"disabled\": _vm.isLoading\n },\n on: {\n \"click\": function ($event) {\n return _vm.$emit('click');\n }\n }\n }, [_vm.isLoading ? _c('b-spinner', {\n staticStyle: {\n \"margin-right\": \"5px\"\n },\n attrs: {\n \"small\": \"\"\n }\n }) : _vm._e(), _vm._t(\"default\")], 2);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingModalButton.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingModalButton.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoadingModalButton.vue?vue&type=template&id=b0ee9cd2&\"\nimport script from \"./LoadingModalButton.vue?vue&type=script&lang=js&\"\nexport * from \"./LoadingModalButton.vue?vue&type=script&lang=js&\"\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","import { reactive, toRefs, getCurrentInstance } from \"@vue/composition-api\";\n\nimport _ from \"lodash\";\n//@ts-ignore\nimport ToastificationContent from \"@core/components/toastification/ToastificationContent.vue\";\n\ntype TState = {\n isLoading: Boolean;\n isError: Boolean;\n errorCode: String;\n errorMessage: String;\n data: any;\n totalCount: number;\n};\ninterface IOptions {\n takeRawData?: boolean;\n validateFunction?: () => Promise<{ success: boolean }>;\n showLoading?: boolean;\n loadingMessage?: string;\n params?: { value: any };\n disableShowToastResCondition?: (params: { code: string; message: string }) => Boolean;\n disableSuccessMessage?: boolean;\n successMessage?: string;\n defaultData?: {} | [];\n nextFunction?: (data: any) => void;\n afterErrorFunction?: () => void;\n afterErrorOrTimeoutFunction?: {\n func: () => void;\n sec?: number;\n };\n afterTimeOutNextFunction?: {\n func: () => void;\n sec: number;\n };\n}\ntype Options = IOptions & {};\nexport const useFetch = (fetchDataRoot, options: Options = {}) => {\n /* if (getCurrentInstance() === null) throw \"Not using this hook inside function\"; */\n const vm = getCurrentInstance()?.proxy as any;\n if (!vm) throw \"Not using this hook inside function\";\n const state = reactive({\n isLoading: false,\n isError: false,\n errorCode: \"\",\n errorMessage: \"\",\n data: options.defaultData || null,\n totalCount: 0,\n });\n\n const { isLoading, isError, errorMessage, data, totalCount, errorCode } = toRefs(state);\n\n const fetchData = async (directParams?) => {\n let id = null;\n\n if (options.showLoading) {\n id = vm.$toast({\n component: ToastificationContent,\n props: {\n title: options.loadingMessage ? vm.$t(options.loadingMessage) : vm.$t('golf_common_saving'),\n icon: \"loading\",\n variant: \"secondary\",\n },\n });\n }\n\n isLoading.value = true;\n try {\n const res = await fetchDataRoot(directParams || options.params?.value);\n isLoading.value = false;\n vm.$toast.dismiss(id);\n if (res.Status !== \"200\") {\n console.log(options.afterErrorOrTimeoutFunction, \"run 811\");\n if (options.afterErrorOrTimeoutFunction) {\n const { func, sec } = options.afterErrorOrTimeoutFunction;\n\n setTimeout(() => {\n func();\n }, sec || 500);\n }\n if (options.afterErrorFunction) {\n options.afterErrorFunction();\n }\n const code = res.Messages[0]?.Code;\n const message = res.Messages[0]?.MessageText;\n errorCode.value = code;\n errorMessage.value = message;\n isError.value = true;\n\n if (\n !(\n options.disableShowToastResCondition &&\n options.disableShowToastResCondition({ code, message })\n )\n ) {\n vm.showResToast(res);\n }\n\n return;\n }\n isError.value = false;\n\n if (id !== null && !options.disableSuccessMessage) {\n vm.$toast({\n component: ToastificationContent,\n props: {\n title: vm.$t(options.successMessage) || vm.$t('golf_common_success'),\n icon: \"ezAr-icon-check\",\n variant: \"success\",\n },\n });\n }\n\n if (options.nextFunction) {\n options.nextFunction(res.Data);\n }\n if (options.afterErrorOrTimeoutFunction) {\n const { func, sec } = options.afterErrorOrTimeoutFunction;\n\n setTimeout(() => {\n func();\n }, sec || 500);\n }\n if (options.afterTimeOutNextFunction) {\n const { func, sec } = options.afterTimeOutNextFunction;\n\n _.debounce(func, sec || 500);\n }\n\n if (res.Data) {\n const keyConverted = Object.keys(res.Data);\n\n const isTableData = keyConverted.includes(\"TotalCount\");\n\n if (isTableData) {\n totalCount.value = res.Data.TotalCount;\n let tempData: any[] = [];\n const dataValues = Object.values(res.Data);\n dataValues.forEach((item) => {\n if (Array.isArray(item)) {\n tempData = item;\n }\n });\n\n if (options.takeRawData) {\n data.value = res.Data;\n return res.Data;\n }\n data.value = tempData;\n return tempData;\n } else {\n data.value = res.Data;\n return res.Data;\n }\n }\n\n return res;\n } catch (err) {\n // @ts-ignore\n vm.showToast(\"error\", err.message);\n }\n };\n\n return {\n isError,\n errorCode,\n isLoading,\n errorMessage,\n data,\n totalCount,\n fetchData,\n };\n};\n","export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalBoxAddBill.vue?vue&type=style&index=0&id=011518d8&prod&lang=scss&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarViewPayment.vue?vue&type=style&index=0&id=5267c882&prod&lang=scss&scoped=true&\"","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('date-range-picker', {\n attrs: {\n \"clearable\": _vm.clearable,\n \"disabled\": _vm.disabled,\n \"max-date\": _vm.maxDate,\n \"controlContainerClass\": {\n disabled: _vm.disabled\n },\n \"single-date-picker\": _vm.isRange ? false : true,\n \"opens\": _vm.direction || 'right',\n \"ranges\": _vm.ranges || false,\n \"placeholder\": _vm.$t(_vm.placeholder),\n \"time-picker\": _vm.timePicker || false,\n \"time-picker-increment\": _vm.timePickerIncrement || 1,\n \"show-dropdowns\": _vm.showDropDowns || true,\n \"auto-apply\": _vm.isRange,\n \"locale-data\": _vm.isViLanguage ? {\n format: 'mm/dd/YYYY HH:mm',\n daysOfWeek: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'],\n monthNames: ['Tháng 1', 'Tháng 2', 'Tháng 3', 'Tháng 4', 'Tháng 5', 'Tháng 6', 'Tháng 7', 'Tháng 8', 'Tháng 9', 'Tháng 10', 'Tháng 11', 'Tháng 12'],\n firstDay: 0\n } : undefined\n },\n model: {\n value: _vm.currentValue,\n callback: function ($$v) {\n _vm.currentValue = $$v;\n },\n expression: \"currentValue\"\n }\n });\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetDatetime.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetDatetime.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetDatetime.vue?vue&type=template&id=aacac6ac&\"\nimport script from \"./WidgetDatetime.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetDatetime.vue?vue&type=script&lang=js&\"\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","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\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!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalBoxAddNew.vue?vue&type=style&index=0&id=334a8f10&prod&scss=true&lang=css&\"","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","var render = function () {\n var _vm$selectionConfig, _vm$editingConfig, _vm$editingConfig2, _vm$actions, _vm$actions$filter;\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-overlay', {\n staticClass: \"dx-wrapper\",\n attrs: {\n \"show\": false,\n \"opacity\": 0.3,\n \"rounded\": \"sm\"\n }\n }, [_vm._l(_vm.actions, function (action, index) {\n return action.danger ? _c('delete-dialog', {\n key: index,\n ref: \"deleteDialog\",\n refInFor: true,\n attrs: {\n \"data-remove\": function (data) {\n return {\n title: _vm.$t('ar_common_confirm_delete'),\n content: action.dialogContent ? action.dialogContent(data) : _vm.$t('ar_common_are_you_sure_delete')\n };\n }\n },\n on: {\n \"deleteItem\": function (data) {\n return _vm.$emit((\"action-\" + (index + 1)), data);\n }\n }\n }) : _vm._e();\n }), _vm.customComponent ? _c(_vm.customComponent, {\n tag: \"component\"\n }) : _vm._e(), _c('DxDataGrid', {\n ref: \"dxDatagridRef\",\n staticStyle: {\n \"max-height\": \"500px\"\n },\n attrs: {\n \"hover-state-enabled\": true,\n \"remote-operations\": true,\n \"noDataText\": _vm.$t('ar_common_no_data'),\n \"word-wrap-enabled\": true,\n \"column-resizing-mode\": _vm.columnResizingMode,\n \"data-source\": _vm.rawDataSource,\n \"show-column-lines\": true,\n \"show-row-lines\": true,\n \"show-borders\": true\n },\n on: {\n \"contentReady\": _vm.onContentReady,\n \"editor-preparing\": _vm.onEditorPreparing,\n \"option-changed\": _vm.handlePropertyChange,\n \"selection-changed\": function ($event) {\n return _vm.$emit('selection-changed', $event);\n },\n \"cellClick\": _vm.onCellClick\n },\n scopedSlots: _vm._u([{\n key: \"export\",\n fn: function () {\n return [_c('b-dropdown', {\n attrs: {\n \"id\": \"dropdown-left\",\n \"text\": _vm.$t('ar_client_export'),\n \"variant\": \"outline-primary\"\n }\n }, [_c('b-dropdown-item', {\n staticClass: \"text-wrap\",\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": _vm.handleExportExcel\n }\n }, [_vm._v(_vm._s(_vm.$t('ar_client_export_excel')) + \" \")]), _c('b-dropdown-item', {\n staticClass: \"text-wrap\",\n attrs: {\n \"href\": \"#\",\n \"disabled\": true\n }\n }, [_vm._v(_vm._s(_vm.$t('ar_client_export_pdf')))])], 1)];\n },\n proxy: true\n }, {\n key: \"showHideColumn\",\n fn: function () {\n return [_c('b-button', {\n attrs: {\n \"id\": \"column-chooser-button\",\n \"variant\": \"outline-primary\"\n },\n on: {\n \"click\": function ($event) {\n return _vm.$refs.dxDatagridRef.instance.showColumnChooser();\n }\n }\n }, [_c('ez-icon', {\n attrs: {\n \"icon\": \"ezAr-icon-align-justify\"\n }\n }), _vm._v(\" \" + _vm._s(_vm.$t('ar_client_hide_column')) + \" \")], 1)];\n },\n proxy: true\n }, {\n key: \"customToolbar\",\n fn: function () {\n return [_vm._t(\"customToolbar\")];\n },\n proxy: true\n }, {\n key: \"beforeToolbarActions\",\n fn: function () {\n return [_vm._t(\"beforeToolbarActions\")];\n },\n proxy: true\n }, {\n key: \"toolbarActions\",\n fn: function () {\n return [_vm._t(\"toolbar\")];\n },\n proxy: true\n }, {\n key: \"ExportTransaction\",\n fn: function () {\n return [_vm._t(\"ExportTransaction\")];\n },\n proxy: true\n }, {\n key: \"index\",\n fn: function (_ref) {\n var data = _ref.data;\n return [_vm._v(_vm._s(data.row.loadIndex + 1))];\n }\n }, _vm._l(_vm.columns, function (item) {\n return {\n key: _vm.renderSlotHeader(item.field),\n fn: function (_ref2) {\n var data = _ref2.data;\n return [item.formatType === 'currency' ? _c('span', [_vm._v(\" \" + _vm._s(data.column.caption) + \" (VND) \")]) : item.captionAfterFix ? _c('span', [_vm._v(\" \" + _vm._s(data.column.caption + item.captionAfterFix) + \" \")]) : _c('div', {\n staticClass: \"d-flex\"\n }, [_vm._v(\" \" + _vm._s(data.column.caption) + \" \")])];\n }\n };\n }), _vm.templateArr.length > 0 ? _vm._l(_vm.columns, function (item) {\n return {\n key: item.field,\n fn: function (_ref3) {\n var data = _ref3.data;\n return [item.cellRender ? _c('span', {\n on: {\n \"click\": function ($event) {\n return _vm.$emit(((item.field) + \"-action\"), data);\n }\n }\n }, [_vm._v(\" \" + _vm._s(item.cellRender(data)) + \" \")]) : !data.data[item.field] && item.defaultIfEmpty ? _c('span', [_vm._v(\" \" + _vm._s(item.defaultIfEmpty) + \" \")]) : item.fieldParentKey ? _c('span', [_vm._v(\" \" + _vm._s(data.data[item.fieldParentKey][item.field]) + \" \")]) : item.formatType === 'currency' || item.formatType === 'num' ? _c('span', [_vm._v(\" \" + _vm._s(_vm.formatPrice(data.data[item.field])) + \" \")]) : item.formatType === 'date' ? _c('span', [_vm._v(\" \" + _vm._s(data.data[item.field] ? _vm.renderDate(data.data[item.field], item.dateConfig) : '') + \" \")]) : item.formatType === 'truncate' ? _c('span', {\n directives: [{\n name: \"b-tooltip\",\n rawName: \"v-b-tooltip.hover\",\n modifiers: {\n \"hover\": true\n }\n }],\n staticClass: \"truncate\",\n style: _vm.truncateWidth(item.truncateWidth),\n attrs: {\n \"title\": data.data[item.field]\n }\n }, [_vm._v(\" \" + _vm._s(data.data[item.field]) + \" \")]) : item.formatType === 'text-variant' && item.renderTextVariant ? _c('span', {\n class: (\"text-\" + (item.renderTextVariant(data.data[item.field]).variant))\n }, [_vm._v(\" \" + _vm._s(_vm.$t(item.renderTextVariant(data.data[item.field]).title)) + \" \")]) : _vm._t(item.field, null, {\n \"data\": data\n })];\n }\n };\n }) : null, {\n key: \"action\",\n fn: function (_ref4) {\n var data = _ref4.data;\n return [_c('div', {\n staticClass: \"d-flex align-items-center justify-content-center\",\n staticStyle: {\n \"gap\": \"10px\"\n }\n }, [_vm._l(_vm.actionsSplit.iconActions, function (action, index) {\n return _vm.actionsSplit.iconActions.length > 0 ? _c('span', {\n class: {\n 'd-none': !_vm.forceDisplayActions && !_vm.isValidPermission(action.apiCode)\n }\n }, [_c('span', {\n directives: [{\n name: \"b-tooltip\",\n rawName: \"v-b-tooltip.hover\",\n modifiers: {\n \"hover\": true\n }\n }],\n attrs: {\n \"title\": action.title ? _vm.$t(action.title) : ''\n }\n }, [_c('ez-icon', {\n key: index,\n staticClass: \"cursor-pointer\",\n attrs: {\n \"icon\": 'ezAr-icon-' + action.icon,\n \"size\": \"18\",\n \"color\": action.danger ? '#EA5455' : '#114A9F'\n },\n on: {\n \"click\": function ($event) {\n $event.stopPropagation();\n action.danger && !Array.isArray(_vm.$refs.deleteDialog) && !action.direct ? _vm.$refs.deleteDialog.open(data) : action.danger && !action.direct ? _vm.$refs.deleteDialog[0].open(data) : _vm.$emit((\"action-\" + (index + 1)), data);\n }\n }\n })], 1)]) : _vm._e();\n }), _vm.actionsSplit.dropDownActions.length > 2 ? _c('b-dropdown', {\n staticClass: \"w-100\",\n attrs: {\n \"menu-class\": \"w-100\",\n \"size\": \"lg\",\n \"variant\": \"link\",\n \"toggle-class\": \"text-decoration-none\",\n \"no-caret\": \"\",\n \"right\": \"\"\n },\n scopedSlots: _vm._u([{\n key: \"button-content\",\n fn: function () {\n return [_c('feather-icon', {\n attrs: {\n \"icon\": \"MoreVerticalIcon\",\n \"color\": \"#114A9F\"\n }\n })];\n },\n proxy: true\n }], null, true)\n }, _vm._l(_vm.actionsSplit.dropDownActions, function (action, index) {\n return _c('b-dropdown-item', {\n key: index,\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function ($event) {\n $event.stopPropagation();\n action.danger && !Array.isArray(_vm.$refs.deleteDialog) ? _vm.$refs.deleteDialog.open(data) : action.danger ? _vm.$refs.deleteDialog[data.rowIndex].open(data) : _vm.$emit((\"action-\" + (index + 1)), data);\n }\n }\n }, [action.danger ? _c('delete-dialog', {\n ref: \"deleteDialog\",\n refInFor: true,\n attrs: {\n \"data-remove\": {\n title: _vm.$t('ar_common_confirm_delete'),\n content: _vm.$t('ar_common_are_you_sure_delete')\n }\n },\n on: {\n \"deleteItem\": function ($event) {\n return _vm.$emit((\"action-\" + (index + 1)), data);\n }\n }\n }) : _vm._e(), _c('span', {\n class: action.danger ? 'text-danger' : ''\n }, [_vm._v(\" \" + _vm._s(action.title ? _vm.$t(action.title) : '') + \" \")])], 1);\n }), 1) : _vm._e()], 2)];\n }\n }], null, true)\n }, [!_vm.toolbarConfig.disableToolbar ? _c('DxColumnChooser', {\n attrs: {\n \"enabled\": true,\n \"title\": this.$t('ar_common_showhide_column'),\n \"mode\": \"select\"\n }\n }, [_c('DxPosition', {\n attrs: {\n \"my\": \"center top\",\n \"at\": \"left bottom\",\n \"of\": \"#column-chooser-button\"\n }\n })], 1) : _vm._e(), !_vm.toolbarConfig.disableToolbar ? _c('DxToolbar', [_c('DxItem', {\n attrs: {\n \"location\": \"after\",\n \"template\": \"customToolbar\"\n }\n }), _c('DxItem', {\n attrs: {\n \"location\": \"before\",\n \"template\": \"beforeToolbarActions\"\n }\n }), _c('DxItem', {\n attrs: {\n \"location\": \"after\",\n \"template\": \"toolbarActions\"\n }\n }), _c('DxItem', {\n attrs: {\n \"location\": \"after\",\n \"template\": \"ExportTransaction\"\n }\n }), _vm.excelExport && _vm.isValidPermission(_vm.excelExportApiCode) ? _c('DxItem', {\n attrs: {\n \"location\": \"after\",\n \"template\": \"export\"\n }\n }) : _vm._e(), !_vm.toolbarConfig.disableColumnChooser ? _c('DxItem', {\n attrs: {\n \"template\": \"showHideColumn\",\n \"locate-in-menu\": \"auto\",\n \"location\": \"after\"\n }\n }) : _vm._e()], 1) : _vm._e(), _vm.hasSelectionChangeListener && !_vm.selectionConfig.hideSelect ? _c('DxSelection', {\n attrs: {\n \"mode\": ((_vm$selectionConfig = _vm.selectionConfig) === null || _vm$selectionConfig === void 0 ? void 0 : _vm$selectionConfig.mode) || 'multiple'\n }\n }) : _vm._e(), _vm.editable ? _c('DxEditing', {\n attrs: {\n \"allow-deleting\": (_vm$editingConfig = _vm.editingConfig) === null || _vm$editingConfig === void 0 ? void 0 : _vm$editingConfig.delete,\n \"allow-updating\": true,\n \"mode\": ((_vm$editingConfig2 = _vm.editingConfig) === null || _vm$editingConfig2 === void 0 ? void 0 : _vm$editingConfig2.mode) || 'cell'\n }\n }) : _vm._e(), _c('DxColumn', {\n attrs: {\n \"caption\": _vm.$t('STT'),\n \"alignment\": \"center\",\n \"width\": \"50\",\n \"cell-template\": \"index\"\n }\n }), _vm._l(_vm.columns, function (item, index) {\n var _item$visible, _item$editingConfig;\n return _c('DxColumn', {\n key: index,\n attrs: {\n \"visible\": (_item$visible = item.visible) !== null && _item$visible !== void 0 ? _item$visible : true,\n \"css-class\": item.cssClass,\n \"caption\": item.caption ? _vm.$t(item.caption) : '',\n \"data-field\": item.field,\n \"header-cell-template\": _vm.renderSlotHeader(item.field),\n \"cell-template\": item.cellTemplate ? item.field : false,\n \"allow-column-resizing\": true,\n \"column-auto-width\": true,\n \"min-width\": item.minWidth,\n \"alignment\": item.align || _vm.renderColAlign(item.formatType),\n \"width\": item.width || _vm.calculateWidth(item.formatType),\n \"allowFiltering\": item.field != 'action' ? true : false\n }\n }, [item.editingConfig && item.editingConfig.required ? _c('DxRequiredRule') : _vm._e(), _vm._l((_item$editingConfig = item.editingConfig) === null || _item$editingConfig === void 0 ? void 0 : _item$editingConfig.rules, function (rule, index) {\n var _item$editingConfig2;\n return item.editingConfig && (_item$editingConfig2 = item.editingConfig) !== null && _item$editingConfig2 !== void 0 && _item$editingConfig2.rules ? _c('DxCustomRule', {\n key: rule.message,\n attrs: {\n \"validation-callback\": rule.callback,\n \"message\": _vm.$t(rule.message)\n }\n }) : _vm._e();\n })], 2);\n }), _vm.forceDisplayActions || _vm.isSuperAdmin && ((_vm$actions = _vm.actions) === null || _vm$actions === void 0 ? void 0 : _vm$actions.length) > 0 || ((_vm$actions$filter = _vm.actions.filter(function (action) {\n return _vm.permissionList.includes(action.apiCode);\n })) === null || _vm$actions$filter === void 0 ? void 0 : _vm$actions$filter.length) > 0 ? _c('DxColumn', {\n attrs: {\n \"fixed\": true,\n \"fixed-position\": \"right\",\n \"showInColumnChooser\": false,\n \"caption\": _vm.$t('ar_common_operation'),\n \"alignment\": \"center\",\n \"cssClass\": \"action-column\",\n \"width\": \"100px\",\n \"cell-template\": \"action\"\n }\n }) : _vm._e(), _c('DxPaging', {\n attrs: {\n \"enabled\": !_vm.pageConfig.disablePagination,\n \"page-size\": _vm.pageConfig.pageSize || 20\n }\n }), _c('DxPager', {\n attrs: {\n \"visible\": !_vm.pageConfig.disablePagination,\n \"allowed-page-sizes\": _vm.pageConfig.pageSizes || [10, 20, 40, 0],\n \"display-mode\": _vm.pageConfig.displayMode || 'full',\n \"show-info\": _vm.pageConfig.ShowInfo || true,\n \"show-navigation-buttons\": _vm.pageConfig.showNavigationButtons || true,\n \"show-page-size-selector\": _vm.pageConfig.showPageSizeSelector || true,\n \"info-text\": ((_vm.$t('Page')) + \" {0} \" + (_vm.$t('of')) + \" {1} ({2} \" + (_vm.$t('record')) + \")\")\n }\n }), _c('DxScrolling', {\n attrs: {\n \"column-rendering-mode\": \"virtual\"\n }\n })], 2)], 2);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!./EzTable.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!./EzTable.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EzTable.vue?vue&type=template&id=8f942682&\"\nimport script from \"./EzTable.js?vue&type=script&lang=js&\"\nexport * from \"./EzTable.js?vue&type=script&lang=js&\"\nimport style0 from \"./EzTable.vue?vue&type=style&index=0&id=8f942682&prod&lang=scss&\"\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","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('section', {\n staticClass: \"add-bill\"\n }, [_c('b-modal', {\n attrs: {\n \"dialog-class\": \"dialog-class\",\n \"size\": \"lg\",\n \"centered\": \"\",\n \"title\": _vm.dataRefillForBill ? _vm.$t('ar_client_edit_pay') : _vm.$t('ar_client_add_pay'),\n \"hide-footer\": \"\"\n },\n on: {\n \"hidden\": _vm.clearValueInput\n },\n model: {\n value: _vm.isShow,\n callback: function ($$v) {\n _vm.isShow = $$v;\n },\n expression: \"isShow\"\n }\n }, [_c('validation-observer', {\n ref: \"formRef\"\n }, [_c('b-row', {\n staticClass: \"m-0 mt-1 mb-1\"\n }, [_c('b-col', {\n attrs: {\n \"md\": \"6\"\n }\n }, [_c('b-form-group', {\n staticClass: \"label-requires\",\n attrs: {\n \"label\": _vm.$t('ar_client_cashier'),\n \"label-cols\": \"3\"\n }\n }, [_c('validation-provider', {\n attrs: {\n \"name\": _vm.$t('ar_client_cashier'),\n \"rules\": \"required\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (_ref) {\n var errors = _ref.errors;\n return [_c('v-select', {\n attrs: {\n \"options\": _vm.listDataCashier,\n \"label\": \"CashierName\",\n \"placeholder\": _vm.$t('ar_client_select_payer')\n },\n model: {\n value: _vm.cashierVal,\n callback: function ($$v) {\n _vm.cashierVal = $$v;\n },\n expression: \"cashierVal\"\n }\n }), _c('small', {\n staticClass: \"text-danger\"\n }, [_vm._v(_vm._s(errors[0]))])];\n }\n }])\n })], 1)], 1), _c('b-col', {\n attrs: {\n \"md\": \"6\"\n }\n }, [_c('b-form-group', {\n staticClass: \"label-requires\",\n attrs: {\n \"label\": _vm.$t('ar_client_payments'),\n \"label-cols\": \"3\"\n }\n }, [_c('validation-provider', {\n attrs: {\n \"name\": _vm.$t('ar_client_payments'),\n \"rules\": \"required\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (_ref2) {\n var errors = _ref2.errors;\n return [_c('b-form-select', {\n model: {\n value: _vm.payerVal,\n callback: function ($$v) {\n _vm.payerVal = $$v;\n },\n expression: \"payerVal\"\n }\n }, [_c('b-form-select-option', {\n attrs: {\n \"value\": null\n }\n }, [_vm._v(_vm._s(_vm.$t(\"ar_client_payments\")))]), _vm._l(_vm.listPayment[0].PaymentMethod, function (item, index) {\n return _c('b-form-select-option-group', {\n key: index,\n attrs: {\n \"label\": item.Name\n }\n }, _vm._l(item.TransactionCode, function (itemMethod, index) {\n return _c('b-form-select-option', {\n key: index,\n attrs: {\n \"value\": {\n Group: item,\n Option: itemMethod\n }\n }\n }, [_vm._v(\" \" + _vm._s(itemMethod.Description) + \" \")]);\n }), 1);\n })], 2), _c('small', {\n staticClass: \"text-danger\"\n }, [_vm._v(_vm._s(errors[0]))])];\n }\n }])\n })], 1)], 1)], 1), _c('b-row', {\n staticClass: \"m-0 mb-1\"\n }, [_c('b-col', {\n attrs: {\n \"md\": \"6\"\n }\n }, [_c('b-form-group', {\n staticClass: \"label-requires\",\n attrs: {\n \"label\": _vm.$t('ar_voucher_type_currency'),\n \"label-cols\": \"3\"\n }\n }, [_c('validation-provider', {\n attrs: {\n \"name\": _vm.$t('ar_voucher_type_currency'),\n \"rules\": \"required\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (_ref3) {\n var errors = _ref3.errors;\n return [_c('v-select', {\n attrs: {\n \"options\": _vm.listCurrencyLocalStorage,\n \"placeholder\": _vm.$t('ar_client_select_type_currency'),\n \"label\": \"CurrencyCode\"\n },\n model: {\n value: _vm.typeCurrencyVal,\n callback: function ($$v) {\n _vm.typeCurrencyVal = $$v;\n },\n expression: \"typeCurrencyVal\"\n }\n }), _c('small', {\n staticClass: \"text-danger\"\n }, [_vm._v(_vm._s(errors[0]))])];\n }\n }])\n })], 1)], 1), _c('b-col', {\n attrs: {\n \"md\": \"6\"\n }\n }, [_c('b-form-group', {\n staticClass: \"label-requires\",\n attrs: {\n \"label\": _vm.$t('ar_client_input_money_number'),\n \"label-cols\": \"3\"\n }\n }, [_c('validation-provider', {\n attrs: {\n \"name\": _vm.$t('ar_client_input_money_number'),\n \"rules\": \"required\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (_ref4) {\n var errors = _ref4.errors;\n return [_c('b-form-input', {\n model: {\n value: _vm.dataInputForm.Amount,\n callback: function ($$v) {\n _vm.$set(_vm.dataInputForm, \"Amount\", $$v);\n },\n expression: \"dataInputForm.Amount\"\n }\n }), _c('small', {\n staticClass: \"text-danger\"\n }, [_vm._v(_vm._s(errors[0]))])];\n }\n }])\n })], 1)], 1)], 1), _c('b-row', {\n staticClass: \"m-0 mb-1\"\n }, [_c('b-col', {\n attrs: {\n \"md\": \"12\"\n }\n }, [_c('b-form-group', {\n attrs: {\n \"label\": _vm.$t('ar_voucher_note'),\n \"label-cols\": \"1\"\n }\n }, [_c('b-form-textarea', {\n model: {\n value: _vm.dataInputForm.Note,\n callback: function ($$v) {\n _vm.$set(_vm.dataInputForm, \"Note\", $$v);\n },\n expression: \"dataInputForm.Note\"\n }\n })], 1)], 1)], 1)], 1), _c('div', {\n staticClass: \"w-100 border-top d-flex justify-content-end align-items-center p-1\"\n }, [_c('b-button', {\n attrs: {\n \"variant\": \"primary\"\n },\n on: {\n \"click\": _vm.acceptDataSave\n }\n }, [_vm._v(\" \" + _vm._s(_vm.$t(\"ar_voucher_save\")) + \" \")])], 1)], 1)], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalBoxAddBill.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalBoxAddBill.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ModalBoxAddBill.vue?vue&type=template&id=011518d8&\"\nimport script from \"./ModalBoxAddBill.vue?vue&type=script&lang=js&\"\nexport * from \"./ModalBoxAddBill.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ModalBoxAddBill.vue?vue&type=style&index=0&id=011518d8&prod&lang=scss&\"\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","var render = function () {\n var _class, _class2;\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', {\n staticClass: \"form-group\",\n class: (_class = {\n 'row ': _vm.formGroupRow,\n 'label-requires': _vm.required || _vm.rules.required\n }, _class[(\"\" + (_vm.formGroupClass))] = _vm.formGroupClass, _class)\n }, [_vm.type !== 'divider' ? _c('label', {\n staticClass: \"d-block form-label\",\n class: (_class2 = {}, _class2[(\"\" + (_vm.labelClass))] = _vm.labelClass, _class2),\n staticStyle: {\n \"margin-bottom\": \"6px\"\n }\n }, [_vm._v(_vm._s(_vm.$t(_vm.label) + _vm.labelAfterFix || ''))]) : _vm._e(), _c('validation-provider', {\n attrs: {\n \"rules\": _vm.rules,\n \"name\": _vm.$t(_vm.label)\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function (_ref) {\n var errors = _ref.errors;\n return [_vm.type === 'date' ? _c('WidgetDateTime', {\n attrs: {\n \"clearable\": !_vm.noClearable,\n \"timePicker\": _vm.timePicker,\n \"max-date\": _vm.maxDate,\n \"disabled\": _vm.disabled,\n \"isRange\": _vm.isRange,\n \"placeholder\": _vm.$t(_vm.placeholder) || _vm.$t(_vm.label)\n },\n model: {\n value: _vm.currentValue,\n callback: function ($$v) {\n _vm.currentValue = $$v;\n },\n expression: \"currentValue\"\n }\n }) : _vm._e(), _vm.type === 'select' ? _c('WidgetSelect', {\n attrs: {\n \"disabledItemAfterFix\": _vm.disabledItemAfterFix,\n \"disabledItem\": _vm.disabledItem,\n \"defaultValue\": _vm.defaultValue,\n \"customOptions\": _vm.customOptions,\n \"errors\": errors,\n \"placeholder\": _vm.placeholder || _vm.label,\n \"dataSource\": _vm.dataSource,\n \"multiple\": _vm.multiple,\n \"noClearable\": _vm.noClearable,\n \"dataSourceParams\": _vm.dataSourceParams,\n \"label\": _vm.labelOption,\n \"disabled\": _vm.disabled,\n \"customReduce\": _vm.customReduce\n },\n model: {\n value: _vm.currentValue,\n callback: function ($$v) {\n _vm.currentValue = $$v;\n },\n expression: \"currentValue\"\n }\n }) : _vm._e(), _vm.type === 'divider' ? _c('WidgetDivider', {\n attrs: {\n \"variant\": _vm.variant,\n \"label\": _vm.label\n }\n }) : _vm._e(), _vm.type === 'string' ? _c('WidgetString', {\n attrs: {\n \"disabled\": _vm.disabled,\n \"rows\": _vm.rows,\n \"variant\": _vm.variant,\n \"errors\": errors,\n \"placeholder\": _vm.placeholder || _vm.label\n },\n model: {\n value: _vm.currentValue,\n callback: function ($$v) {\n _vm.currentValue = $$v;\n },\n expression: \"currentValue\"\n }\n }) : _vm._e(), _vm.type === 'cleave' ? _c('WidgetCleave', {\n attrs: {\n \"cleaveOptions\": _vm.cleaveOptions,\n \"defaultValue\": _vm.defaultValue,\n \"errors\": errors,\n \"type\": _vm.cleaveType,\n \"disabled\": _vm.disabled,\n \"placeholder\": _vm.placeholder || _vm.label\n },\n model: {\n value: _vm.currentValue,\n callback: function ($$v) {\n _vm.currentValue = $$v;\n },\n expression: \"currentValue\"\n }\n }) : _vm._e(), _vm.currentValue && _vm.showVnPriceText ? _c('div', {\n staticClass: \"text-right font-weight-bold font-italic text-primary\",\n staticStyle: {\n \"font-size\": \"10px\",\n \"margin-top\": \"6px\"\n }\n }, [_vm._v(\" \" + _vm._s(_vm.numberToVnText(_vm.currentValue)) + \" \")]) : _vm._e(), _c('small', {\n staticClass: \"text-danger\"\n }, [_vm._v(_vm._s(errors[0]))])];\n }\n }])\n })], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _vm.variant === 'text' ? _c('h3', {\n staticClass: \"my-1\"\n }, [_vm._v(_vm._s(_vm.label))]) : _c('h3');\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetDivider.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetDivider.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetDivider.vue?vue&type=template&id=3737f6ea&\"\nimport script from \"./WidgetDivider.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetDivider.vue?vue&type=script&lang=js&\"\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","\n\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormItem.vue?vue&type=template&id=5dde2c67&\"\nimport script from \"./FormItem.vue?vue&type=script&lang=js&\"\nexport * from \"./FormItem.vue?vue&type=script&lang=js&\"\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","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarLabel.vue?vue&type=style&index=0&id=66f205bb&prod&lang=scss&scoped=true&\"","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-card', {\n staticClass: \"search-list\",\n attrs: {\n \"title\": _vm.title ? _vm.$t(_vm.title) : ''\n }\n }, [_c('div', {\n staticClass: \"d-flex\"\n }, [_c('div', {\n staticClass: \"outline-none\",\n staticStyle: {\n \"width\": \"90%\",\n \"margin-right\": \"40px\"\n },\n attrs: {\n \"tabindex\": \"0\"\n },\n on: {\n \"keyup\": function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) { return null; }\n return _vm.$emit('search');\n }\n }\n }, [_vm._t(\"default\")], 2), _c('div', {\n staticStyle: {\n \"width\": \"10%\",\n \"padding-left\": \"20px\"\n }\n }, [_c('LoadingButton', {\n attrs: {\n \"className\": \"mt-3\",\n \"variant\": \"primary\"\n },\n on: {\n \"click\": function ($event) {\n return _vm.$emit('search');\n }\n }\n }, [_c('ez-icon', {\n staticStyle: {\n \"margin-right\": \"3px\"\n },\n attrs: {\n \"icon\": \"ezAr-icon-search\"\n }\n }), _vm._v(_vm._s(_vm.buttonText ? _vm.$t(_vm.buttonText) : _vm.$t(\"ar_common_search\")))], 1)], 1)])]);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SearchList.vue?vue&type=template&id=ff406d06&\"\nimport script from \"./SearchList.vue?vue&type=script&lang=js&\"\nexport * from \"./SearchList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SearchList.vue?vue&type=style&index=0&id=ff406d06&prod&lang=scss&\"\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","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', [_c('b-modal', {\n attrs: {\n \"id\": \"modal-payment-for-distribution\",\n \"size\": \"md\",\n \"centered\": \"\",\n \"hide-footer\": \"\"\n },\n on: {\n \"hidden\": _vm.resetFormData,\n \"shown\": _vm.openForm\n },\n scopedSlots: _vm._u([{\n key: \"modal-header\",\n fn: function () {\n return [_c('h4', {\n staticClass: \"mb-0 text-primary\"\n }, [_vm._v(\" \" + _vm._s(_vm.isViewOnly && _vm.dataPayment ? _vm.$t('ar_client_invoice_details') : !_vm.isViewOnly && _vm.dataPayment ? _vm.$t('ar_client_edit_payment') : _vm.$t('ar_client_add_pay')) + \" \")]), _c('div', {\n staticClass: \"d-flex align-items-center\"\n }, [_vm.dataPayment && _vm.isValidPermission(_vm.apiCode) ? _c('ez-icon', {\n staticClass: \"mr-1\",\n class: {\n 'cursor-pointer': _vm.isViewOnly\n },\n attrs: {\n \"icon\": \"ezAr-icon-edit\",\n \"size\": \"24\",\n \"color\": _vm.isViewOnly ? '#ea5455' : '#ccc'\n },\n on: {\n \"click\": function ($event) {\n _vm.isViewOnly = false;\n }\n }\n }) : _vm._e(), _c('ez-icon', {\n staticClass: \"cursor-pointer\",\n attrs: {\n \"icon\": \"ezAr-icon-x\",\n \"size\": \"24\",\n \"color\": \"#114A9F\"\n },\n on: {\n \"click\": _vm.hideModal\n }\n })], 1)];\n },\n proxy: true\n }])\n }, [_c('b-card-body', [_c('b-overlay', {\n attrs: {\n \"show\": _vm.isLoading,\n \"opacity\": 0.3,\n \"rounded\": \"sm\"\n }\n }, [_c('validation-observer', {\n ref: \"formRef\"\n }, [_c('div', {\n staticClass: \"form-row form-group\"\n }, [_c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_payment_type')))]), _c('b-form-group', [_c('v-select', {\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"options\": _vm.paymentTypeOptions,\n \"placeholder\": _vm.$t('golf_payment_payment_type'),\n \"clearable\": false,\n \"label\": \"title\",\n \"reduce\": function (option) {\n return option.value;\n }\n },\n model: {\n value: _vm.form.PaymentDetailType,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"PaymentDetailType\", $$v);\n },\n expression: \"form.PaymentDetailType\"\n }\n })], 1)], 1)]), _c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\",\n on: {\n \"mouseleave\": function ($event) {\n return _vm.handlePaymentType('hide');\n }\n }\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_payment_method')))]), _c('WidgetSelect', {\n attrs: {\n \"defaultValue\": function (options) {\n return options.find(function (opt) {\n return opt.ParentKeyword === 'TMT';\n });\n },\n \"dataSource\": _vm.listPaymentType,\n \"customOptions\": function (options) {\n return options.map(function (option) {\n return Object.assign({}, option, {\n CodeName: ((option.ParentKeyword) + \" - \" + (option.NameVi))\n });\n });\n },\n \"label\": \"CodeName\",\n \"placeholder\": \"golf_payment_payment_method\",\n \"disabled\": _vm.isViewOnly\n },\n on: {\n \"change\": _vm.handleChoicePayment\n },\n model: {\n value: _vm.form.PaymentMethodId,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"PaymentMethodId\", $$v);\n },\n expression: \"form.PaymentMethodId\"\n }\n })], 1)])]), _vm.showFormInputPaymentMethod.VNPAY || _vm.showFormInputPaymentMethod.BANK ? _c('div', {\n staticClass: \"form-row form-group\"\n }, [_c('div', {\n staticClass: \"col-lg-12\"\n }, [_c('FormItem', {\n attrs: {\n \"type\": \"string\",\n \"disabled\": _vm.isViewOnly,\n \"rules\": {\n required: true\n },\n \"label\": \"ar_client_transaction_code\",\n \"placeholder\": \"ar_client_transaction_code\"\n },\n model: {\n value: _vm.form.TransactionCode,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"TransactionCode\", $$v);\n },\n expression: \"form.TransactionCode\"\n }\n })], 1), _c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_currency_code')))]), _c('b-form-group', [_c('v-select', {\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"options\": _vm.LS_Currency,\n \"placeholder\": _vm.$t('golf_payment_currency_code'),\n \"clearable\": false,\n \"label\": \"Format\",\n \"reduce\": function (option) {\n return option.Id;\n }\n },\n on: {\n \"option:selected\": _vm.onSelectCurrency\n },\n model: {\n value: _vm.form.CurrencyCode,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"CurrencyCode\", $$v);\n },\n expression: \"form.CurrencyCode\"\n }\n })], 1)], 1)]), _c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('div', {\n staticClass: \"d-flex justify-content-between\"\n }, [_c('div', [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_amount')))])])]), _c('cleave', {\n staticClass: \"form-control text-right\",\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"raw\": true,\n \"options\": _vm.inputMaskByCurrency(),\n \"placeholder\": \"1,000,000\"\n },\n model: {\n value: _vm.form.Amount,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"Amount\", $$v);\n },\n expression: \"form.Amount\"\n }\n })], 1)])]) : _vm.showFormInputPaymentMethod.CARD ? _c('div', {\n staticClass: \"form-row form-group\"\n }, [_c('div', {\n staticClass: \"col-lg-12\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_card_number')))]), _c('b-form-group', [_c('cleave', {\n staticClass: \"form-control\",\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"raw\": false,\n \"options\": _vm.maskCreditCard,\n \"maxlength\": 50\n },\n model: {\n value: _vm.form.CardNumber,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"CardNumber\", $$v);\n },\n expression: \"form.CardNumber\"\n }\n })], 1)], 1)]), _c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_currency_code')))]), _c('b-form-group', [_c('v-select', {\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"options\": _vm.LS_Currency,\n \"placeholder\": _vm.$t('golf_payment_currency_code'),\n \"clearable\": false,\n \"label\": \"Format\",\n \"reduce\": function (option) {\n return option.Id;\n }\n },\n on: {\n \"option:selected\": _vm.onSelectCurrency\n },\n model: {\n value: _vm.form.CurrencyCode,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"CurrencyCode\", $$v);\n },\n expression: \"form.CurrencyCode\"\n }\n })], 1)], 1)]), _c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('div', {\n staticClass: \"d-flex justify-content-between\"\n }, [_c('div', [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_amount')))])])]), _c('cleave', {\n staticClass: \"form-control text-right\",\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"raw\": true,\n \"options\": _vm.inputMaskByCurrency(),\n \"placeholder\": \"1,000,000\"\n },\n model: {\n value: _vm.form.Amount,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"Amount\", $$v);\n },\n expression: \"form.Amount\"\n }\n })], 1)])]) : _vm.showFormInputPaymentMethod.CREDIT ? _c('div', {\n staticClass: \"form-row form-group\"\n }, [_c('div', {\n staticClass: \"col-lg-12\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('ar_client_card_owner')))]), _c('b-form-group', {\n staticClass: \"validate-voucher\"\n }, [_c('b-form-input', {\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"placeholder\": _vm.$t('ar_client_card_owner')\n },\n model: {\n value: _vm.form.AccountHolder,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"AccountHolder\", $$v);\n },\n expression: \"form.AccountHolder\"\n }\n })], 1)], 1)]), _c('div', {\n staticClass: \"col-lg-8\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_card_number')))]), _c('b-form-group', [_c('cleave', {\n staticClass: \"form-control\",\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"raw\": true,\n \"options\": _vm.maskCreditCard,\n \"maxlength\": 50\n },\n model: {\n value: _vm.form.CardNumber,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"CardNumber\", $$v);\n },\n expression: \"form.CardNumber\"\n }\n })], 1)], 1)]), _c('div', {\n staticClass: \"col-lg-4\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_expiration_date')))]), _c('b-form-group', [_c('cleave', {\n staticClass: \"form-control\",\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"raw\": false,\n \"options\": _vm.maskExpirationDate,\n \"placeholder\": \"MM/YY\"\n },\n model: {\n value: _vm.form.ExpirationDate,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"ExpirationDate\", $$v);\n },\n expression: \"form.ExpirationDate\"\n }\n })], 1)], 1)]), _c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_currency_code')))]), _c('b-form-group', [_c('v-select', {\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"options\": _vm.LS_Currency,\n \"placeholder\": _vm.$t('golf_payment_currency_code'),\n \"clearable\": false,\n \"label\": \"Format\",\n \"reduce\": function (option) {\n return option.Id;\n }\n },\n on: {\n \"option:selected\": _vm.onSelectCurrency\n },\n model: {\n value: _vm.form.CurrencyCode,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"CurrencyCode\", $$v);\n },\n expression: \"form.CurrencyCode\"\n }\n })], 1)], 1)]), _c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('div', {\n staticClass: \"d-flex justify-content-between\"\n }, [_c('div', [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_amount')))])])]), _c('cleave', {\n staticClass: \"form-control text-right\",\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"raw\": true,\n \"options\": _vm.inputMaskByCurrency(),\n \"placeholder\": \"1,000,000\"\n },\n model: {\n value: _vm.form.Amount,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"Amount\", $$v);\n },\n expression: \"form.Amount\"\n }\n })], 1)])]) : _vm.PaymentMethodByVoucherInTransactionCode === _vm.TransactionCode ? _c('div', {\n staticClass: \"form-row form-group\"\n }, [_c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_currency_code')))]), _c('b-form-group', [_c('v-select', {\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"options\": _vm.LS_Currency,\n \"placeholder\": _vm.$t('golf_payment_currency_code'),\n \"clearable\": false,\n \"label\": \"Format\",\n \"reduce\": function (option) {\n return option.Id;\n }\n },\n on: {\n \"option:selected\": _vm.onSelectCurrency\n },\n model: {\n value: _vm.form.CurrencyCode,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"CurrencyCode\", $$v);\n },\n expression: \"form.CurrencyCode\"\n }\n })], 1)], 1)]), _c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('div', {\n staticClass: \"d-flex justify-content-between\"\n }, [_c('div', [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_amount')))])])]), _c('cleave', {\n staticClass: \"form-control text-right\",\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"raw\": true,\n \"options\": _vm.inputMaskByCurrency(),\n \"placeholder\": \"1,000,000\"\n },\n model: {\n value: _vm.form.Amount,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"Amount\", $$v);\n },\n expression: \"form.Amount\"\n }\n })], 1)]), _vm.form.VoucherCode && _vm.voucherDetail ? _c('div', {\n staticClass: \"col-lg-12\"\n }, [_c('p', {\n staticClass: \"text-danger mb-0\"\n }, [_vm._v(\" \" + _vm._s(_vm.$t('golf_voucher_name')) + \": \" + _vm._s(_vm.voucherDetail.Voucher.VoucherName) + \" \")]), _c('p', {\n staticClass: \"text-danger mb-0\"\n }, [_vm._v(\" \" + _vm._s(_vm.$t('golf_voucher_amount')) + \": \" + _vm._s(_vm.formatPrice(_vm.voucherDetail.TotalAmount)) + \" \")]), _c('p', {\n staticClass: \"text-danger mb-0\"\n }, [_vm._v(\" \" + _vm._s(_vm.$t('golf_voucher_time_apply')) + \": \" + _vm._s(_vm.convertUTC(_vm.voucherDetail.Voucher.OpenDate, 'DD/MM/YYYY')) + \" - \" + _vm._s(_vm.convertUTC(_vm.voucherDetail.Voucher.ExpirationDate, 'DD/MM/YYYY')) + \" \")])]) : _vm._e()]) : _vm.showFormInputPaymentMethod.OTHER && _vm.PaymentMethodByEvoucherInTransactionCode != _vm.TransactionCode && _vm.PaymentMethodByVoucherInTransactionCode != _vm.TransactionCode ? _c('div', {\n staticClass: \"form-row form-group\"\n }, [_c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_currency_code')))]), _c('b-form-group', [_c('v-select', {\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"options\": _vm.LS_Currency,\n \"placeholder\": _vm.$t('golf_payment_currency_code'),\n \"clearable\": false,\n \"label\": \"Format\",\n \"reduce\": function (option) {\n return option.Id;\n }\n },\n on: {\n \"option:selected\": _vm.onSelectCurrency\n },\n model: {\n value: _vm.form.CurrencyCode,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"CurrencyCode\", $$v);\n },\n expression: \"form.CurrencyCode\"\n }\n })], 1)], 1)]), _c('div', {\n staticClass: \"col-lg-6\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('div', {\n staticClass: \"d-flex justify-content-between\"\n }, [_c('div', [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_amount')))])]), _c('div', [_vm.showMoneyExchange ? _c('div', {\n staticClass: \"text-right money-exchange\"\n }, [_vm._v(\" = \" + _vm._s(_vm.totalAmountPaymentInputExchangeDisplay) + \" \")]) : _vm._e()])]), _c('cleave', {\n staticClass: \"form-control\",\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"raw\": true,\n \"options\": _vm.inputMaskByCurrency(),\n \"placeholder\": \"1,000,000\"\n },\n model: {\n value: _vm.form.Amount,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"Amount\", $$v);\n },\n expression: \"form.Amount\"\n }\n })], 1)])]) : _vm._e(), _c('div', {\n staticClass: \"form-row form-group\"\n }, [_c('div', {\n staticClass: \"col-lg-12\"\n }, [_c('div', {\n staticClass: \"form-group label-requires\"\n }, [_c('label', {\n staticClass: \"form-label\"\n }, [_vm._v(_vm._s(_vm.$t('golf_payment_cashier')))]), _c('b-form-group', [_c('WidgetSelect', {\n attrs: {\n \"customOptions\": function (options) {\n return options.map(function (option) {\n return Object.assign({}, option, {\n CodeName: ((option.TaUserCode) + \" - \" + (option.Fullname))\n });\n });\n },\n \"placeholder\": \"golf_payment_cashier\",\n \"dataSourceParams\": {\n IsCheckPermission: false\n },\n \"dataSource\": _vm.arClient.api_AP_RTU01,\n \"label\": \"CodeName\",\n \"disabled\": _vm.isViewOnly\n },\n model: {\n value: _vm.form.CashierId,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"CashierId\", $$v);\n },\n expression: \"form.CashierId\"\n }\n })], 1)], 1)])]), _c('div', {\n staticClass: \"form-row form-group\"\n }, [_c('div', {\n staticClass: \"col\"\n }, [_c('label', [_vm._v(_vm._s(_vm.$t('ar_client_note')))]), _c('b-form-textarea', {\n staticClass: \"form-control\",\n attrs: {\n \"disabled\": _vm.isViewOnly,\n \"placeholder\": _vm.$t('golf_payment_note'),\n \"rows\": \"2\",\n \"wrap\": \"soft\",\n \"maxlength\": 250\n },\n model: {\n value: _vm.form.Note,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"Note\", $$v);\n },\n expression: \"form.Note\"\n }\n })], 1)]), _c('div', {\n staticClass: \"form-row mt-2 form-group text-right\"\n }, [_c('div', {\n staticClass: \"col\"\n }, [!_vm.isViewOnly ? _c('b-button', {\n staticStyle: {\n \"white-space\": \"nowrap\"\n },\n attrs: {\n \"variant\": \"primary\",\n \"disabled\": !_vm.isSubmit\n },\n on: {\n \"click\": _vm.createPaymentDetail_IPM04\n }\n }, [_vm._v(\" \" + _vm._s(_vm.$t('ar_common_save')) + \" \")]) : _vm._e()], 1)])])], 1)], 1)], 1)], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import vSelect from \"vue-select\";\nimport Decimal from \"decimal.js\";\n\nimport { arClient } from \"@/api/ar-client\";\nimport { ValidationObserver, ValidationProvider, extend } from \"vee-validate\";\n/* import PaymentType from \"@/views/modules/booking/PaymentType.vue\"; */\nimport Cleave from \"vue-cleave-component\";\nimport FormItem from \"../Form/components/FormItem/FormItem.vue\";\nimport PermissionButton from \"../../ultils/Button/PermissionButton.vue\";\nimport WidgetSelect from \"../../ultils/Form/components/Select/WidgetSelect.vue\";\n/* import SelectDebitAccount from \"@/views/modules/ultils/SelectDebitAccount\"; */\nimport { commonServices } from \"@/api/common-services\";\nimport { AR_UPAD01 } from \"@/api/constant\";\nimport { VoucherService } from \"@/api/voucher-service\";\n\nconst PaymentDetailType = {\n Payment: \"PAYMENT\",\n Refund: \"REFUND\",\n};\n\nconst PaymentMethodGroup = {\n AR: \"AR\",\n BANK: \"BANK\",\n CASH: \"CASH\",\n TMT: \"TMT\",\n CREDIT: \"CREDIT\",\n EZTICKET: \"EZTICKET\",\n EZGOLF: \"EZGOLF\",\n VNPAY: \"VNPAY\",\n OTHER: \"OTHER\",\n CARD: \"CARD\",\n QRCODE: \"QRCODE\",\n ROOM: \"ROOM\",\n VIP: \"VIP\",\n};\n\nconst paymentBase = {\n Id: null,\n PaymentCode: \"\",\n PaymentDate: \"\",\n FiscalPaymentDate: \"\",\n MemberId: null,\n TotalAmount: 0,\n ReceivedAmount: 0,\n PaymentDetail: [],\n};\n\nconst formBase = {\n PaymentMethodId: null,\n PaymentDetailType: null,\n Note: \"\",\n CashierId: null,\n Amount: 0,\n CurrencyCode: \"\",\n CardNumber: \"\",\n ClientId: null,\n DebitAccountId: null,\n ExpirationDate: null,\n Bdc: null,\n};\n\nexport default {\n components: {\n PermissionButton,\n FormItem,\n ValidationObserver,\n WidgetSelect,\n /* PaymentType,\n SelectDebitAccount, */\n vSelect,\n Cleave,\n },\n name: \"PaymentForDistribution\",\n props: {\n apiCode: String,\n isUpdate: Boolean,\n\n isShow: Boolean,\n paymentId: {\n type: String,\n },\n /* bookingDetailIdDistribution: {\n type: Number,\n }, */\n dataPayment: {\n type: Object,\n nullable: true,\n },\n /* distributionId: {\n type: Number,\n }, */\n },\n data() {\n return {\n isSubmit: true,\n isViewOnly: false,\n number: {\n numeral: true,\n numeralThousandsGroupStyle: \"thousand\",\n },\n LS_Currency: [],\n listDebtAccount: [],\n PaymentMethods: [],\n PaymentTypeData: [],\n form: {\n ArPaymentId: 0,\n PaymentMethodId: null,\n PaymentDetailType: null,\n Note: \"\",\n CashierId: null,\n Amount: 0,\n CurrencyCode: \"\",\n CardNumber: \"\",\n DebitAccountId: null,\n ClientId: null,\n ExpirationDate: null,\n Bdc: null,\n },\n fields: [\n {\n key: \"type\",\n label: \"ID\",\n thStyle: { width: \"80%\", display: \"none\" },\n tdClass: \"e-td\",\n },\n {\n key: \"total\",\n label: \"ID\",\n thStyle: { width: \"20%\", display: \"none\" },\n tdClass: \"e-td\",\n },\n ],\n paymentType: \"\",\n canShowPaymentType: false,\n paymentDr: { ...paymentBase },\n paymentAmountInputExchange: 0,\n debitAccountSelected: {\n Id: null,\n ClientName: \"\",\n },\n maskExpirationDate: {\n date: true,\n datePattern: [\"m\", \"y\"],\n delimiter: \"/\",\n },\n maskCreditCard: {\n creditCard: true,\n },\n Cashiers: [],\n paymentTypeOptions: [\n /* {\n title: this.$t(\"ar_client_refund\"),\n value: \"REFUND\",\n }, */\n {\n title: this.$t(\"ar_client_payment\"),\n value: \"PAYMENT\",\n },\n ],\n listPaymentType: [],\n zoneId: [],\n paymentTypeName: null,\n TransactionCode: null,\n listClient: [],\n arId: null,\n isLoading: false,\n PaymentMethodByEvoucherInTransactionCode: null,\n PaymentMethodByVoucherInTransactionCode: null,\n isLoadingCheckVoucher: false,\n };\n },\n created() {\n /* this.getPaymentConfig(); */\n this.getConfigInfo_RCOM01();\n this.getCurrencyList();\n },\n computed: {\n // paymentTypeOptions() {\n // return [\n // { title: this.$t('golf_common_payment'), value: PaymentDetailType.Payment },\n // { title: this.$t('golf_common_refund'), value: PaymentDetailType.Refund },\n // ]\n // },\n\n baseCurrency() {\n const baseCurrency = this.LS_Currency.find((s) => s.IsBase || false);\n return (\n baseCurrency || {\n CurrencyCode: \"\",\n NoOfDec: 0,\n }\n );\n },\n baseCurrencyCode() {\n return \"CurrencyCode\" in this.baseCurrency ? this.baseCurrency.CurrencyCode : \"\";\n },\n currencyCodeSelected() {\n return this.form.CurrencyCode || \"\";\n },\n currencySelected() {\n const currencySelectedDetail = this.LS_Currency.find(\n (s) => s.Format === this.currencyCodeSelected\n );\n if (typeof currencySelectedDetail !== \"undefined\") {\n return {\n DivBase: currencySelectedDetail.DivBase || false,\n ExRate: currencySelectedDetail.ExRate || 1,\n NoOfDec: currencySelectedDetail.NoOfDec || 0,\n };\n }\n return {\n CurrencyCode: this.currencyCodeSelected,\n DivBase: false,\n ExRate: 1,\n NoOfDec: 0,\n };\n },\n totalAmountPaymentBaseCurr() {\n if (this.paymentDr) {\n return this.paymentDr.TotalAmount || 0;\n }\n return 0;\n },\n totalAmountPaymentExchange() {\n if (this.currencyCodeSelected === this.baseCurrencyCode) {\n return this.totalAmountPaymentBaseCurr;\n }\n return this.GFn_GetExchangeMoney(this.totalAmountPaymentBaseCurr, this.currencySelected);\n },\n amountRemainPayment() {\n if (this.paymentDr) {\n const receivedAmount = this.paymentDr.ReceivedAmount || 0;\n const balance = this.totalAmountPaymentBaseCurr - receivedAmount;\n return balance >= 0 ? balance : 0;\n }\n return 0;\n },\n amountRemainPaymentExchange() {\n if (this.currencyCodeSelected === this.baseCurrencyCode) {\n return this.amountRemainPayment;\n }\n return this.GFn_GetExchangeMoney(this.amountRemainPayment, this.currencySelected);\n },\n isPaymentDiffBase() {\n return this.currencyCodeSelected !== this.baseCurrencyCode;\n },\n showMoneyExchange() {\n return this.isPaymentDiffBase;\n },\n // Format Display\n amountRemainPaymentDisplay() {\n return `${this.formatPrice(this.amountRemainPayment)} ${this.baseCurrencyCode}`;\n },\n totalAmountPaymentBaseCurrDisplay() {\n return `${this.formatPrice(this.totalAmountPaymentBaseCurr)} ${this.baseCurrencyCode}`;\n },\n totalAmountPaymentExchangeDisplay() {\n return `${this.formatPrice(this.totalAmountPaymentExchange)} ${this.currencyCodeSelected}`;\n },\n totalAmountPaymentInputExchangeDisplay() {\n return `${this.formatPrice(this.paymentAmountInputExchange)} ${this.baseCurrencyCode}`;\n },\n showFormInputPaymentMethod() {\n return {\n AR: this.paymentType === PaymentMethodGroup.AR,\n VNPAY: this.paymentType === PaymentMethodGroup.VNPAY,\n\n BANK: this.paymentType === PaymentMethodGroup.BANK,\n CASH: this.paymentType === PaymentMethodGroup.CASH,\n TMT: this.paymentType === PaymentMethodGroup.TMT,\n CREDIT: this.paymentType === PaymentMethodGroup.CREDIT,\n EZTICKET: this.paymentType === PaymentMethodGroup.EZTICKET,\n EZGOLF: this.paymentType === PaymentMethodGroup.EZGOLF,\n OTHER: this.paymentType === PaymentMethodGroup.OTHER,\n CARD: this.paymentType === PaymentMethodGroup.CARD,\n QRCODE: this.paymentType === PaymentMethodGroup.QRCODE,\n ROOM: this.paymentType === PaymentMethodGroup.ROOM,\n VIP: this.paymentType === PaymentMethodGroup.VIP,\n };\n },\n },\n methods: {\n async getCurrencyList() {\n const res = await arClient.api_AR_RCR01();\n if (res.Status === \"200\") {\n this.LS_Currency = res.Data.ListCurrency;\n }\n },\n\n async getConfigInfo_RCOM01() {\n /* const response = await arClient.api_AR_RCL01();\n if (response.Status === \"200\") {\n return */ this.call_api_RMT01();\n /* } */\n },\n async call_api_RMT01() {\n await arClient\n .api_AR_RMT01({\n ZoneId: [\"24\"],\n })\n .then(async (response) => {\n if (response.Status === \"200\") {\n this.listPaymentType = response?.Data?.ListPaymentMethod;\n\n /* this.paymentTypeOptions = response?.Data?.ListPaymentMethod.map((x) => ({\n title: x.Name,\n value: x.Code,\n })); */\n }\n });\n },\n async openForm() {\n this.isLoading = true;\n \n\n this.form.CurrencyCode = this.baseCurrencyCode;\n if (this.paymentId) {\n this.form.ArPaymentId = this.paymentId;\n }\n\n if (this.dataPayment) {\n this.isViewOnly = true;\n const { PaymentMethodId } = this.dataPayment;\n\n this.form = { ...this.form, ...this.dataPayment };\n\n /* this.handleChoicePayment(\n foundPaymentMethod,\n foundPaymentMethod.PaymentMethods.find((pm) => pm.Id === PaymentMethodId)\n ); */\n } else {\n /* this.handleChoicePayment(\n this.listPaymentType.find((t) => t.ParentKeyword === \"TMT\"),\n this.listPaymentType.find((t) => t.ParentKeyword === \"TMT\").PaymentMethods[0]\n ); */\n\n this.form.CurrencyCode = this.LS_Currency.find((c) => c.Format === \"VND\").Id;\n this.form.PaymentDetailType = this.paymentTypeOptions[0]?.value;\n\n this.isViewOnly = false;\n }\n this.isLoading = false;\n },\n resetFormData() {\n /* this.paymentType = \"\";\n this.paymentTypeName = null; */\n this.$emit(\"update:isUpdatingPayment\", false);\n if (this.dataPayment) this.isViewOnly = true;\n\n this.form = { ...formBase };\n this.paymentDr = { ...paymentBase };\n this.paymentAmountExchange = 0;\n this.PaymentTypeData = [];\n },\n onSelectPaymentType(ev) {\n if (ev.value === PaymentDetailType.Payment) {\n if (this.isPaymentDiffBase) {\n if (this.form.Amount > this.amountRemainPaymentExchange) {\n if (this.form.PaymentDetailType === PaymentDetailType.Payment) {\n this.form.Amount = this.amountRemainPaymentExchange;\n }\n }\n this.paymentAmountInputExchange = this.GFn_GetBaseMoneyFromExchange(\n this.form.Amount,\n this.currencySelected\n );\n } else if (\n this.form.Amount > this.amountRemainPayment &&\n this.form.PaymentDetailType === PaymentDetailType.Payment\n ) {\n this.form.Amount = this.amountRemainPayment;\n }\n }\n },\n onSelectCurrency(ev) {\n this.paymentAmountInputExchange = this.amountRemainPayment;\n this.form.Amount = this.amountRemainPaymentExchange;\n },\n onChangeAmount(ev) {\n if (ev < 0) {\n this.form.Amount = 0;\n }\n if (this.isPaymentDiffBase) {\n if (ev > this.amountRemainPaymentExchange) {\n if (this.form.PaymentDetailType === PaymentDetailType.Payment) {\n this.form.Amount = this.amountRemainPaymentExchange;\n }\n }\n this.paymentAmountInputExchange = this.GFn_GetBaseMoneyFromExchange(\n this.form.Amount,\n this.currencySelected\n );\n } else if (\n ev > this.amountRemainPayment &&\n this.form.PaymentDetailType === PaymentDetailType.Payment\n ) {\n this.form.Amount = this.amountRemainPayment;\n }\n },\n close() {\n this.$emit(\"closePopup\", true);\n },\n handleEvent() {},\n hideModal() {\n this.$bvModal.hide(\"modal-payment-for-distribution\");\n },\n\n getPaymentMethodDefault(paymentMethods) {\n let paymentMethodDefault = null;\n paymentMethods.forEach((s) => {\n const paymentMethodList = s.PaymentMethod || [];\n paymentMethodList.forEach((s1) => {\n if (s1.Code === PaymentMethodGroup.CASH) {\n paymentMethodDefault = {\n Id: s1.Id,\n Code: s1.Code,\n };\n }\n });\n });\n return paymentMethodDefault;\n },\n calTotalAmount() {\n const totalAmount = this.paymentDr.TotalAmount || 0;\n const receivedAmount = this.paymentDr.ReceivedAmount || 0;\n const balance = totalAmount - receivedAmount;\n const total = balance >= 0 ? balance : 0;\n if (this.paymentDr) {\n return `${this.formatPrice(total)} ${this.baseCurrencyCode}`;\n }\n return `0 ${this.baseCurrencyCode}`;\n },\n async createPaymentDetail_IPM04() {\n const amount = parseFloat(this.form.Amount || \"0\");\n const paymentData = {\n AccountHolder: this.form.AccountHolder,\n TransactionCode: this.form.TransactionCode,\n PaymentDetailType: this.form.PaymentDetailType,\n Id: this.form.Id,\n ArPaymentId: this.paymentId,\n PaymentGatewayCode: \"\",\n Qrcode: \"\",\n PaymentMethodId: this.form.PaymentMethodId,\n FiscalPaymentDetailDate: new Date(),\n Amount: amount,\n Note: this.form.Note,\n CurrencyCode: this.form.CurrencyCode,\n CardNumber: this.form.CardNumber,\n\n CashierId: this.form.CashierId,\n ExpirationDate: this.createFullDataExpirationDate(this.form.ExpirationDate),\n };\n\n const dataPost = {\n PaymentDetail: {\n ...paymentData,\n },\n };\n\n if (amount < 0 || amount === 0) {\n this.showToast(\"error\", this.$t(\"golf_common_please_enter_money\"));\n return;\n }\n if (!paymentData.CurrencyCode) {\n this.showToast(\"error\", this.$t(\"golf_common_please_select_a_currency\"));\n return;\n }\n\n if (!paymentData.CashierId) {\n this.showToast(\"error\", this.$t(\"ar_client_please_select_cashier\"));\n return;\n }\n\n if (\n (this.paymentType === PaymentMethodGroup.VNPAY ||\n this.paymentType === PaymentMethodGroup.BANK) &&\n !this.form.TransactionCode\n ) {\n this.showToast(\"error\", this.$t(\"ar_client_please_select_transaction_code\"));\n return;\n }\n\n if (!this.paymentType || this.form.PaymentMethodId === null) {\n this.showToast(\"error\", this.$t(\"golf_common_please_select_payment_type\"));\n return;\n }\n if (this.paymentType === PaymentMethodGroup.AR) {\n if (!this.form.DebitAccountId) {\n this.showToast(\"error\", this.$t(\"golf_common_please_choose_debit_account\"));\n return;\n }\n }\n if (this.paymentType === PaymentMethodGroup.CARD && !this.form.CardNumber) {\n if (!this.form.DebitAccountId) {\n this.showToast(\"error\", this.$t(\"golf_common_please_enter_card_number\"));\n return;\n }\n }\n if (this.paymentType === PaymentMethodGroup.CREDIT) {\n if (!this.form.AccountHolder) {\n this.showToast(\"error\", this.$t(\"ar_client_please_select_card_owner\"));\n return;\n }\n if (!this.form.CardNumber) {\n this.showToast(\"error\", this.$t(\"golf_common_please_enter_card_number\"));\n return;\n }\n if (!this.form.ExpirationDate) {\n this.showToast(\"error\", this.$t(\"golf_common_please_enter_expiration_date\"));\n return;\n }\n }\n\n if (this.bookingDetailIdDistribution) {\n const body = {\n TotalAmount: 0,\n Code: null,\n CashierCode:\n this.form.CashierCode && this.form.CashierCode.id\n ? `${this.form.CashierCode.id}`\n : null,\n PaymentDetail: [paymentData],\n };\n } else {\n this.isSubmit = false;\n this.$emit(!this.dataPayment ? \"accept-data\" : \"accept-data-edit\", paymentData);\n setTimeout(() => {\n this.isSubmit = true;\n }, 2000);\n }\n },\n getMemberPay() {\n if (this.paymentDr) {\n return `Hóa đơn #${this.paymentDr.Id} ${this.paymentDr.FullName}`;\n }\n return \"\";\n },\n\n openModalDeletePaymentDetail(id) {\n this.$emit(\"event\", { type: \"open_modal_delete_payment_detail\", paymentDetailId: id });\n },\n handlePaymentType(type) {\n const isShow = type === \"show\";\n if (this.isViewOnly) return;\n this.canShowPaymentType = isShow;\n },\n handleChoicePayment(payment) {\n this.paymentType = payment.ParentKeyword;\n\n this.canShowPaymentType = false;\n if (\n this.paymentType !== PaymentMethodGroup.CREDIT &&\n this.paymentType !== PaymentMethodGroup.CARD\n ) {\n this.form.CardNumber = \"\";\n }\n },\n getPaymentMethodNameById(id) {\n let name = id;\n this.PaymentMethods.forEach((x) => {\n x.PaymentMethod.forEach((y) => {\n if (y.Id === id) {\n name = y.Name;\n }\n });\n });\n return name;\n },\n openSelectARAccount() {\n this.$root.$emit(\"bv::show::modal\", \"modal-select-ar\");\n },\n \n selectArAccount(arAccountData) {\n Object.keys(this.debitAccountSelected).forEach((arKey) => {\n if (arKey in arAccountData) {\n this.debitAccountSelected[arKey] = arAccountData[arKey];\n }\n });\n this.form.DebitAccountId = this.debitAccountSelected.Id;\n this.form.ClientId = this.debitAccountSelected.Id;\n },\n createFullDataExpirationDate(shortExpirationDate) {\n if (shortExpirationDate) {\n const [month, yearOld] = shortExpirationDate.split(\"/\");\n const year = this.dayjs(`${month}/01/${yearOld}`).format(\"YYYY\");\n return new Date(year, month, 0, 23, 59, 59);\n }\n return null;\n },\n GFn_GetExchangeMoney(baseMoney, { DivBase, ExRate, NoOfDec }) {\n const baseMoneyToDecimal = new Decimal(baseMoney || 0);\n let exchangeMoney = 0;\n const noOfDec = NoOfDec || 0;\n const exRate = ExRate || 1;\n if (DivBase || false) {\n exchangeMoney = Decimal.div(baseMoneyToDecimal, exRate).toFixed(noOfDec);\n } else {\n exchangeMoney = Decimal.mul(baseMoneyToDecimal, exRate).toFixed(noOfDec);\n }\n return new Decimal(exchangeMoney).mul(1).toNumber();\n },\n GFn_GetBaseMoneyFromExchange(exchangeMoney, { DivBase, ExRate }) {\n const exchangeMoneyToDecimal = new Decimal(exchangeMoney || 0);\n let baseMoney = 0;\n const noOfDec = this.baseCurrency.NoOfDec || 0;\n const exRate = ExRate || 1;\n if (DivBase || false) {\n baseMoney = Decimal.mul(exchangeMoneyToDecimal, exRate).toFixed(noOfDec);\n } else {\n baseMoney = Decimal.div(exchangeMoneyToDecimal, exRate).toFixed(noOfDec);\n }\n return new Decimal(baseMoney).mul(1).toNumber();\n },\n },\n setup() {\n return { AR_UPAD01 };\n },\n watch: {\n form: {\n handler: function (value) {},\n deep: true,\n },\n },\n};\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!./PaymentForDistribution.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!./PaymentForDistribution.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PaymentForDistribution.vue?vue&type=template&id=6ff9ecfd&\"\nimport script from \"./PaymentForDistribution.js?vue&type=script&lang=js&\"\nexport * from \"./PaymentForDistribution.js?vue&type=script&lang=js&\"\nimport style0 from \"./PaymentForDistribution.vue?vue&type=style&index=0&id=6ff9ecfd&prod&lang=scss&\"\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","module.exports = false;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","module.exports = {};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n (function () { return this; })() || Function('return this')();\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('validation-observer', {\n ref: \"observerRef\"\n }, [_c('div', {\n staticClass: \"p-1\"\n }, [_c('div', {\n staticClass: \"row\"\n }, _vm._l(_vm.itemsConverted, function (item, index) {\n return _vm.items.length > 0 && !item.hide ? _c('div', {\n class: item.wrapperClass || _vm.defaultWrapperClass\n }, [_c('FormItem', _vm._b({\n attrs: {\n \"value\": _vm.formData[item.name]\n },\n on: {\n \"input\": function (v) {\n return _vm.updateFormData(item.name, v);\n }\n }\n }, 'FormItem', item, false))], 1) : _vm._e();\n }), 0)])]);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import WidgetSelect from \"./components/Select/WidgetSelect.vue\";\nimport WidgetString from \"./components/String/WidgetString.vue\";\nimport WidgetDateTime from \"./components/DateTime/WidgetDatetime.vue\";\n\nimport FormItem from \"./components/FormItem/FormItem.vue\";\nimport { required, max, min, regex, minValue } from \"@validations\";\nimport _ from \"lodash\";\n\nimport { ValidationObserver, ValidationProvider, extend } from \"vee-validate\";\nimport { BFormGroup, BFormInput } from \"bootstrap-vue\";\nimport { Fragment } from \"vue-fragment\";\nimport { defineComponent } from \"@vue/composition-api\";\n\nexport default defineComponent({\n name: \"FormItems\",\n props: {\n disabled: Boolean,\n formClass: String,\n formData: {\n type: Object,\n default() {\n return {};\n },\n required: true,\n },\n items: {\n type: Array,\n required: true,\n },\n numberOfCol: {\n type: Number,\n },\n },\n data() {\n return {\n required,\n max,\n min,\n regex,\n };\n },\n components: {\n Fragment,\n WidgetDateTime,\n WidgetSelect,\n WidgetString,\n ValidationObserver,\n ValidationProvider,\n BFormGroup,\n BFormInput,\n FormItem,\n },\n watch: {\n formData: {\n handler: function (value) {\n console.log(value, \"5333\");\n if (value) {\n const temp = { ...value };\n this.items.forEach((item) => {\n // handle dateRange value\n if (\n item.rangeData &&\n Array.isArray(item.rangeData) &&\n typeof item.rangeData[0] === \"string\"\n ) {\n if (temp[item.name]) {\n temp[item.rangeData[0]] = temp[item.name].startDate;\n temp[item.rangeData[1]] = this.formatEndDate(temp[item.name].endDate);\n delete temp[item.name];\n this.$emit(\"update:formData\", temp);\n } else if (\n temp[item.rangeData[0]] &&\n temp[item.rangeData[1]] &&\n !temp[item.name] &&\n typeof temp[item.name] === \"object\"\n ) {\n delete temp[item.name];\n delete temp[item.rangeData[0]];\n delete temp[item.rangeData[1]];\n this.$emit(\"update:formData\", temp);\n }\n }\n });\n }\n },\n deep: true,\n },\n },\n created() {\n const temp = { ...this.formData };\n this.items.forEach((item) => {\n if (item.type === \"date\" && item.defaultValue && item.rangeData) {\n item.rangeData.forEach((v, index) => {\n temp[v] = item.defaultValue[index];\n });\n }\n });\n\n /* this.$emit(\"update:formData\",temp) */\n },\n methods: {\n updateFormData(name, v) {\n console.log(name, v, \"1066\");\n this.$emit(\"update:formData\", { ...this.formData, [`${name}`]: v });\n this.$emit(\"input-change\", name, v);\n },\n validate() {\n return this.$refs.observerRef.validate();\n },\n },\n computed: {\n itemsConverted() {\n return this.items?.map((item) => {\n let temp = { ...item };\n const tempRules = { ...item.rules };\n if (item.required) {\n tempRules[\"required\"] = item.required;\n /* if (item.rules) {\n temp[\"rules\"] = `required|${item.rules}`;\n } */\n }\n if (item.pattern) {\n tempRules[\"pattern\"] = true;\n }\n\n if (item.customValidate) {\n tempRules[\"customValidate\"] = true;\n }\n if (item.rules) {\n /* temp[\"rules\"] = item.rules; */\n }\n if (this.disabled) {\n temp[\"disabled\"] = true;\n }\n temp[\"rules\"] = { ...tempRules };\n return temp;\n });\n },\n defaultWrapperClass() {\n return this.numberOfCol ? 12 / this.numberOfCol : \"col-6\";\n },\n },\n});\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!./FormItems.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!./FormItems.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormItems.vue?vue&type=template&id=2232addc&\"\nimport script from \"./FormItems.js?vue&type=script&lang=js&\"\nexport * from \"./FormItems.js?vue&type=script&lang=js&\"\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","export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetString.vue?vue&type=style&index=0&id=2ec64508&prod&lang=scss&\"","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('ul', _vm._g(_vm._b({\n staticClass: \"app-timeline\"\n }, 'ul', _vm.$attrs, false), _vm.$listeners), [_vm._t(\"default\")], 2);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppTimeline.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppTimeline.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppTimeline.vue?vue&type=template&id=484a211f&scoped=true&\"\nimport script from \"./AppTimeline.vue?vue&type=script&lang=js&\"\nexport * from \"./AppTimeline.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppTimeline.vue?vue&type=style&index=0&id=484a211f&prod&lang=scss&scoped=true&\"\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 \"484a211f\",\n null\n \n)\n\nexport default component.exports","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListPayAr.vue?vue&type=style&index=0&id=70ecdc93&prod&lang=scss&scoped=true&\"","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-modal', {\n attrs: {\n \"title\": _vm.$t(_vm.isEmpty(_vm.data) ? 'ar_clinent_distributing_accounts' : 'ar_client_edit_distribution'),\n \"centered\": \"\",\n \"size\": \"lg\",\n \"hide-footer\": \"\"\n },\n on: {\n \"hidden\": function () {\n _vm.$emit('update:visible', false);\n },\n \"shown\": _vm.openForm\n },\n model: {\n value: _vm.visible,\n callback: function ($$v) {\n _vm.visible = $$v;\n },\n expression: \"visible\"\n }\n }, [_c('validation-observer', {\n ref: \"formRef\"\n }, [_c('form', {\n ref: \"form\"\n }, [_c('b-row', {\n staticClass: \"m-0 mt-2\"\n }, [_c('b-col', {\n attrs: {\n \"md\": \"6\"\n }\n }, [_c('b-form-group', {\n attrs: {\n \"label\": _vm.$t('ar_client_agency')\n }\n }, [_c('b-form-input', {\n attrs: {\n \"value\": _vm.travelAgent,\n \"disabled\": true\n }\n })], 1), _c('b-form-group', {\n staticStyle: {\n \"margin-top\": \"26px\"\n },\n attrs: {\n \"label\": _vm.$t('ar_client_total_money') + ' (VND)'\n }\n }, [_c('b-form-input', {\n attrs: {\n \"value\": _vm.formatPrice(_vm.totalDistribution),\n \"disabled\": true\n }\n })], 1)], 1), _c('b-col', {\n attrs: {\n \"md\": \"6\"\n }\n }, [_c('FormItem', {\n attrs: {\n \"type\": \"cleave\",\n \"cleaveType\": \"uppercase\",\n \"label\": \"ar_client_distribution_code\",\n \"placeholder\": \"ar_client_distribution_code\",\n \"name\": \"distributionCode\",\n \"disabled\": _vm.data.DistributionCode || _vm.isAutoCreateCode,\n \"rules\": {\n max: 13,\n min: _vm.isAutoCreateCode ? 0 : 2,\n code: !_vm.isAutoCreateCode,\n required: !_vm.isAutoCreateCode\n }\n },\n model: {\n value: _vm.distributionCode,\n callback: function ($$v) {\n _vm.distributionCode = $$v;\n },\n expression: \"distributionCode\"\n }\n }), _c('div', {\n staticClass: \"d-flex align-items-center mt-2 mb-2\"\n }, [_c('label', {\n staticClass: \"mr-1\"\n }, [_vm._v(_vm._s(_vm.$t(\"ar_client_auto_create_distribution_code\")))]), _c('b-form-checkbox', {\n attrs: {\n \"disabled\": _vm.data.DistributionCode,\n \"switch\": \"\"\n },\n model: {\n value: _vm.isAutoCreateCode,\n callback: function ($$v) {\n _vm.isAutoCreateCode = $$v;\n },\n expression: \"isAutoCreateCode\"\n }\n })], 1), _c('b-form-group', {\n attrs: {\n \"label\": _vm.$t('ar_client_allotment') + ':',\n \"label-cols\": \"3\"\n }\n }, [_c('div', {\n staticClass: \"h-100 d-flex align-items-center\"\n }, [_c('b-form-radio', {\n staticClass: \"mr-2\",\n attrs: {\n \"disabled\": true,\n \"aria-describedby\": _vm.ariaDescribedby,\n \"name\": \"some-radios\",\n \"value\": \"AUTO\"\n },\n model: {\n value: _vm.selectedDistributionType,\n callback: function ($$v) {\n _vm.selectedDistributionType = $$v;\n },\n expression: \"selectedDistributionType\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"ar_client_auto\")))]), _c('b-form-radio', {\n attrs: {\n \"disabled\": _vm.disabledField,\n \"aria-describedby\": _vm.ariaDescribedby,\n \"name\": \"some-radios\",\n \"value\": \"Manual\"\n },\n model: {\n value: _vm.selectedDistributionType,\n callback: function ($$v) {\n _vm.selectedDistributionType = $$v;\n },\n expression: \"selectedDistributionType\"\n }\n }, [_vm._v(_vm._s(_vm.$t(\"ar_client_manual\")))])], 1)])], 1)], 1)], 1), _c('div', {\n staticClass: \"p-1\"\n }, [_c('FormItem', {\n attrs: {\n \"type\": \"string\",\n \"variant\": \"textarea\",\n \"label\": \"ar_client_note\",\n \"placeholder\": \"ar_client_note\",\n \"name\": \"note\",\n \"rules\": {\n max: 255\n }\n },\n model: {\n value: _vm.note,\n callback: function ($$v) {\n _vm.note = $$v;\n },\n expression: \"note\"\n }\n })], 1)]), _c('h6', {\n staticClass: \"m-2\"\n }, [_vm._v(_vm._s(_vm.$t(\"ar_client_list_debit_account\")))]), _c('b-row', {\n staticClass: \"m-0\"\n }, [_c('b-col', {\n attrs: {\n \"md\": \"3\"\n }\n }, [_c('b-form-group', {\n attrs: {\n \"label\": _vm.$t('ar_client_debit_account')\n }\n }, [_c('v-select', {\n attrs: {\n \"disabled\": _vm.disabledField,\n \"label\": \"AccountCode\",\n \"placeholder\": _vm.$t('golf_ar_select_debit_account'),\n \"options\": _vm.listAccountClient\n },\n model: {\n value: _vm.selectedValAccount,\n callback: function ($$v) {\n _vm.selectedValAccount = $$v;\n },\n expression: \"selectedValAccount\"\n }\n }, [_c('div', {\n attrs: {\n \"slot\": \"no-options\"\n },\n slot: \"no-options\"\n }, [_vm._v(_vm._s(_vm.$t(\"ar_client_no_data\")))])])], 1)], 1), _c('b-col', {\n attrs: {\n \"md\": \"3\"\n }\n }, [_c('FormItem', {\n attrs: {\n \"disabled\": _vm.disabledField,\n \"type\": \"cleave\",\n \"cleaveType\": \"currency\",\n \"label\": \"ar_client_distribution_amount\",\n \"placeholder\": \" \",\n \"name\": \"valMoney\",\n \"rules\": {\n max: 12\n }\n },\n model: {\n value: _vm.valMoney,\n callback: function ($$v) {\n _vm.valMoney = $$v;\n },\n expression: \"valMoney\"\n }\n }), _vm.valMoney ? _c('div', {\n staticClass: \"text-right font-weight-bold font-italic text-primary\",\n staticStyle: {\n \"font-size\": \"10px\",\n \"margin-top\": \"6px\"\n }\n }, [_vm._v(\" \" + _vm._s(_vm.numberToVnText(this.valMoney)) + \" \")]) : _vm._e()], 1), _c('b-col', {\n attrs: {\n \"md\": \"2\"\n }\n }, [_c('b-button', {\n staticStyle: {\n \"margin-top\": \"24px\"\n },\n attrs: {\n \"disabled\": _vm.disabledField,\n \"variant\": \"primary\"\n },\n on: {\n \"click\": _vm.addListArAccount\n }\n }, [_vm._v(\" \" + _vm._s(_vm.$t(\"ar_client_add\")) + \" \")])], 1)], 1), _c('div', {\n staticClass: \"p-1\"\n }, [_c('EzTable', {\n ref: \"tableRef\",\n attrs: {\n \"forceDisplayActions\": true,\n \"toolbarConfig\": {\n disableToolbar: true\n },\n \"pageConfig\": {\n disablePagination: true\n },\n \"actions\": _vm.actions,\n \"columns\": _vm.columns,\n \"editable\": true,\n \"data-source\": _vm.listDistributionAdded\n },\n on: {\n \"onEditorPreparing\": _vm.onEditorPreparing,\n \"action-1\": _vm.removeItemList\n }\n })], 1), _c('div', {\n staticClass: \"d-flex justify-content-end align-items-center\"\n }, [_c('div', {\n staticClass: \"d-flex align-items-center mb-2 mr-4\"\n }, [_c('h5', {\n staticClass: \"mr-1\",\n staticStyle: {\n \"margin-top\": \"3px\"\n }\n }, [_vm._v(\" \" + _vm._s(_vm.$t(\"ar_clinent_total_amount_distributed\")) + \" (VND) : \")]), _c('span', {\n staticStyle: {\n \"font-size\": \"16px\",\n \"margin-bottom\": \"1px\"\n }\n }, [_vm._v(_vm._s(_vm.formatPrice(_vm.totalMoneyDistribution)))])]), _c('LoadingModalButton', {\n ref: \"buttonRef\",\n attrs: {\n \"usingTimeOutSubmit\": true,\n \"className\": \" mb-2 mr-2\"\n },\n on: {\n \"click\": _vm.acceptData\n }\n }, [_vm._v(\" \" + _vm._s(_vm.$t(\"ar_common_save\")) + \" \")])], 1)], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalDistributionAccount.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalDistributionAccount.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ModalDistributionAccount.vue?vue&type=template&id=794f443c&\"\nimport script from \"./ModalDistributionAccount.vue?vue&type=script&lang=js&\"\nexport * from \"./ModalDistributionAccount.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ModalDistributionAccount.vue?vue&type=style&index=0&id=794f443c&prod&lang=scss&\"\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","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n"],"sourceRoot":""}