{"version":3,"sources":["webpack:///./src/views/app/transaction/trn_image_ro_gallery.vue?277a","webpack:///./src/views/app/transaction/trn_labour_pay_ro.vue?dbf4","webpack:///./src/views/app/transaction/trn_labour_pay_ro.vue?d334","webpack:///./src/views/app/transaction/trn_image_ro_gallery.vue?0b2e","webpack:///src/views/app/transaction/trn_image_ro_gallery.vue","webpack:///./src/views/app/transaction/trn_image_ro_gallery.vue?2642","webpack:///./src/views/app/transaction/trn_image_ro_gallery.vue","webpack:///./src/views/app/transaction/trn_image_ro_gallery.vue?cf5b","webpack:///./src/views/app/transaction/trn_labour_pay_ro.vue?368a","webpack:///./node_modules/decimal.js/decimal.mjs","webpack:///src/views/app/transaction/trn_labour_pay_ro.vue","webpack:///./src/views/app/transaction/trn_labour_pay_ro.vue?57db","webpack:///./src/views/app/transaction/trn_labour_pay_ro.vue"],"names":["tabCostheight","window","innerHeight","$linq","arr","linq","from","components","vSelect","loadingbox","data","_ref","imgShow","modalShowing","docno","datechk","empcode","select_store","storeList","checkin_detail","callcard_detail","loadingx","activeTabs1","activeTabs2","updateByStore","is_empty","status_plan","export_progress","skip","error_mgs","height","loading","is_locked","page","perPage","search","to","total","lastPage","limitPage","_defineProperty","value","label","auth","menuRight","subMenuRight","isenabled","methods","getimg","img","apiUrl","onshowimg","createFilePath","linkGen","onloadData","exportCheckInData","_this","_asyncToGenerator","_regeneratorRuntime","mark","_callee","url","result","wrap","_callee$","_context","prev","next","$set","concat","xtools","getServer","sent","open","token_hex","stop","DateCh","date","moment","format","onLoadStore","_this2","_callee2","working_date","_callee2$","_context2","ls_store_ck","forEach","v","i","store_name","store_code_sh","push","orderBy","y","toArray","_this3","_callee3","form","_callee3$","_context3","dataList","FormData","append","fromWh","postServerForm","ck_detail","cc_detail","x","all_visit","where","w","time_checkin","is_allgreen","visit_status","console","log","length","recheck","v_in","pre_des","account_name","province_name","dc_fullname","refcode","time","img_check","img_checkin","remark","remark_ckeckin","detecheck","type","img_type","callcard","v2","i2","dt","brand_name","status","callcard_time","callcard_img","quo_no","subitemno","v_out","time_checkout","img_checkout","remark_checkout","emp","selectStore","_this4","_callee4","ck_by_store","cc_by_store","_callee4$","_context4","dc_empcode","dc_docno","dc_team_id","onUpdateByStore","checked_all","alert","check_out","firstOrDefault","onSetStatus","confirmByStore","_arguments","arguments","_this5","_callee5","close","data_checkin","data_callcard","_callee5$","_context5","undefined","postServerJson","dataCheckin","dataSubD","success","onSaveActionLogs","$route","meta","module","nameMenu","$notify","duration","permanent","error","setStatusShow","mounted","query","locked","isEmpty","subRight","statusRight","menu_id","labour","expenseother","paydetail","_totalBT","date_old","start","Date","end","minDate","maxDate","minPaidDate","dataRepeatshow","disabled","tabIndex","diff_date","storeloading","objcontron_bal","monthToInt","detailList","planDetailAll","calToPayList","dataexpH","datapay_detall","countDate","columns","columnsH","visit_per_brand_header","apiBase","dataH","type_doc","labour_plus","dc_project_code","dc_project_code2","dc_project_name","dc_job_code","dc_job_name2","dc_job_name","dc_remark","dc_job_start_date","dc_job_end_date","dc_days","dc_job_expens_code","dc_docno_ref","exp_labour","daymaxpay","new_startday","tax_amount","net_amount","pr_ref","totalBT","dc_days_plan","dc_days_05","dc_hid_days","dc_labour_amount","jobData","accountshow","provinceshow","storeshow","itemSelect","setkey","setval","brand_key","accountList","holidayData","dataRepeat","expData","dataExpList","datapayList","openprshow","objcontron","objcontronlist","paylistbydocno","afterpayList","afterPayAmount","afterPayExpense","afterPayExpenseTotal","afterPayExpenseList","expDataD","data2Default","beforeTax","afterTax","sumExpenseList","company","checkExport","isPaid","onloadLabour","startdate","enddate","total_d","h","add","toDate","dc_remark_ref","expD","old","dateDff","getDeffDate","parseInt","d","sub_d","count_date","cal_group","expH","pay_detall","genReport","onloadprcontrol","costcode","onloadprcontrollist","loadpaylistbydocno","onloadLabourByDate","maxpayday","endplanday","diff_days","diff","asDays","wh_g","isreadonly","datapay","forYMD","year","month","day","v_s","v_e","vdff","days","toString","replace","start_date","limit","dataC","paylist","v_now","v_end","v_start","v_vdff","v_days","v_limit","ii","v_createdDate","utc","v_expirationDate","pay","ref_of","_loop","createdDate","expirationDate","d_rend","hld","holiday_date","pay_","width","title","key","daywh","toLowerCase","id","ycount","groupByyear","groupBy","g","select","s","values","y_rend","Math","floor","random","col","index","groupBymonth","data2","m_rend","datapay_detall_dic","_iterator","_createForOfIteratorHelper","_step","n","done","xx","code","dc_itemno_ref","err","e","f","countDate_dic","_iterator2","_step2","calToPayList_dic","_iterator3","_step3","planDetailAll_dic","_iterator4","_step4","_planDetailAll_dic$f$","ex_tax","ex_tax_total","ex_total","ex","dc_itemno","amount","parseFloat","tax_per","co","count_visit","value_status","status_green1","dic","dc_net_amount","total_netamt","total_wage","sum_wage","total_wage_tax","total_exp_tax","sum_exp_tax","total_amt_tax","sum_all_tax","total_amt_net","labour_net_amount","ontotalSum","Getpage","createpay","createtable","amt_n","select_n","day_n","key_spit","split","date_i","amt","dc_startend_days","join","day_","dc_currency","dc_amount","dc_cut_amount","dc_wht_code","labour_amt_vat","dc_code","exp_type","sum","exp_amt_vat","exp_labour_amt_vat","dc_total_amount","dc_tax_amount","dc_panding_days","dc_duct_days","dc_RP_days","dc_total_day","dc_total_plan","dc_tatal_diff","dc_deduct_amt","dc_labour_amount2","dc_amt_deduct","ex_sum","expens_code","onloadjob","pre_event","_this6","onHoliday","_this7","onLoadmainName","_this8","maincode","prno","_this9","_callee6","_callee6$","_context6","qty_control","amt_control","_this10","_callee7","_callee7$","_context7","countRow","count","qty_total_sum","total_sum","amt_bal","amt_ex_bal","_this11","_callee8","_callee8$","_context8","SavePlanY","_this12","_callee9","get_y","min","set","dataSave","_callee9$","_context9","abrupt","any","a","tax_amount_labour","ondecimal","taxper","net_amount_labour","duct_amount","day_pay","deduct_amt","wage_amt","deduct_wages_amt","tax_amount_exp","net_amount_exp","day_amt","dataD","onDeletePay","_this13","_callee10","_callee10$","_context10","hidyColor","getkeyname","cl","rowcolor","_this14","getformula","onkeypressValue","vv","ex_paytrue","ex_code","ex_contron","ex_cur","cost","excut_amt","sum_m","dc_wht_amount","ex_count","iex","exp_amt","exp_amt_ex","total_wage_ex","_this15","sum_labour_amount","reduce","sum_visit","plan_visit","sum_green1","sum_net_amt","sum_total_netamt","sum_total_wage","sum_wage_tax","total_tax_amount","sum_amt_tax","sum_amt_net","date1","date2","diffTime","abs","diffDays","ceil","onsetValue","val","hideExport","Decimal","toDP","toNumber","getDateRange","startDate","endDate","dateFormat","dates","isValid","subtract","obj","dc_account_name","dc_province_name","dc_store_name","dc_time_checkin","dc_time_checkout","dc_checker","dc_user_control_name","importExcelTopay","exeel","_this16","_callee11","dataEx","statusControl","_callee11$","_context11","dataimport","readXlsxFile","files","then","rows","excelData","ex_controlArr","ix","v_","expens_name","exptype","costcodeControl","control_ex_df","control_ex_pay","ex_cut","ex_inport","gruopControl","gg","countS","v_exp","item_sort","exportToExcel","_this17","_callee12","act","rsp","_callee12$","_context12","$msg","confirm","serverUrl","onExOutsource2","_this18","_callee13","dataexport","pay_list","labour_list","end_date","wb","buf","_callee13$","_context13","ExcelJS","Workbook","worksheet","addWorksheet","dc_team_id_name","columnsF","header","mergeCells","getCell","mainname","alignment","horizontal","font","color","argb","size","bold","fill","pattern","fgColor","bgColor","getRow","dc_id_card","dc_position_name","dc_phone","pay_obj","row_","chklist","detail","area_name","part_name","time_callcard","addRow","state","xlsx","writeBuffer","saveAs","Blob","onExOutsource","_this19","_callee14","_callee14$","_context14","exportExpenseTopay","_this20","_callee15","ws","columnsAdd","columnsAdd2","col1","col2","_callee15$","_context15","issaveas","take","onrefPage","onModalReturn","_this21","_callee16","_callee16$","_context16","wh","maxpaydate","dataFor","openprlist","onExpense","$refs","Ctexpenseother","onModalShow","onLabour","Ctlabour","onListPay","Ctpaydetail","onListPayEdit","item","routeData","$router","resolve","path","dc_doc","docref","href","beforeMount","_this22","setTimeout","_this23","$","document","ready","ref","$nextTick","on","_callee17","table","r","_callee17$","_context17","nodeType","getElementById","innerHTML","html","t0","finish"],"mappings":"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AACA;;AAEA;AACA;;AAEA;AACA,OAAO;;;AAGP;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,QAAQ;AACR,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,wCAAwC,OAAO;AAC/C;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP,8CAA8C,IAAI,OAAO,IAAI;AAC7D;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,aAAa;AAC9B;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,KAAK;AACb;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAK;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,aAAa,GAAG;;AAEhB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,UAAU;AAClB;AACA;;AAEA;AACA;;AAEA,sCAAsC,0BAA0B;AAChE;;AAEA;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,oBAAoB,cAAc;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,KAAK;AACpB;;AAEA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,2BAA2B,OAAO;;AAElC;AACA,qBAAqB,OAAO;;AAE5B;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;;AAEA;AACA;;AAEA;AACA,QAAQ,iBAAiB;;AAEzB;AACA,QAAQ,aAAa;;AAErB;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,KAAK;AACf;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,GAAG;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,gBAAgB;;AAEvC;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA,QAAQ,eAAe;AACvB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP,8CAA8C,IAAI,OAAO,IAAI;AAC7D;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,KAAK;;AAEnB;AACA,eAAe,UAAU;AACzB;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,QAAQ,UAAU;;AAElB;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,sBAAsB;AAC5B,SAAS,OAAO;AAChB;AACA,+CAA+C,GAAG;AAClD,6CAA6C,GAAG;AAChD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG,SAAS,GAAG;AAC1B;AACA;AACA;AACA;AACA,MAAM,sBAAsB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB,SAAS,OAAO;AAChB;AACA,iCAAiC,GAAG;AACpC,mCAAmC,GAAG;AACtC,0CAA0C,GAAG;AAC7C,wCAAwC,GAAG;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,qBAAqB;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,QAAQ,cAAc;;AAEtB;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,SAAS;;AAEzB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,UAAU;AAClB,2BAA2B,QAAQ;AACnC;AACA,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,iBAAiB,KAAK;AACtB;AACA;AACA;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,KAAK;AAC5B;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,UAAU,MAAM;AAChB;AACA;AACA;AACA;;AAEA;AACA,UAAU,uBAAuB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,uBAAuB;;AAEtC;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;;AAEA;;AAEA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,cAAc,WAAW;;AAEzB;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX;AACA;AACA,WAAW;;AAEX;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,4BAA4B,SAAS;AACrC;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,SAAS;AACxC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;;AAEA;AACA,wBAAwB,SAAS;;AAEjC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA,gCAAgC,SAAS;AACzC;AACA,qBAAqB,SAAS;;AAE9B;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,eAAe;AACtC;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA,sBAAsB,SAAS;AAC/B;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,UAAU,aAAa;;AAEvB;AACA,uBAAuB,SAAS;AAChC;;AAEA;AACA;;;AAGA;AACA;AACA,QAAQ,KAAK;AACb;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mCAAmC;AACnC;;AAEA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,mBAAmB;AAC3B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA,aAAa,0BAA0B;;AAEvC;AACA,wBAAwB,gCAAgC;AACxD;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA,KAAK;AACL;AACA;;AAEA,UAAU,KAAK;AACf;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,aAAa;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC,kBAAkB;AAC3D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ,KAAK;AACb;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,0BAA0B;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,UAAU,gBAAgB;;AAE1B;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B,cAAc;;AAEzC;AACA,2BAA2B,SAAS;;AAEpC;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA,iCAAiC,cAAc;;AAE/C;AACA,mCAAmC,SAAS;AAC5C,WAAW;AACX;AACA;AACA;;AAEA;AACA,OAAO;AACP,cAAc,KAAK;AACnB;AACA,OAAO;AACP,qCAAqC,MAAM;AAC3C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM,sBAAsB;AAC5B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM;AACN,MAAM;AACN;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM,sBAAsB;AAC5B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM,sBAAsB;AAC5B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,sBAAsB;AAC5B,MAAM,sBAAsB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,MAAM;AACN,QAAQ;AACR,QAAQ;AACR;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB;AACA,wBAAwB,6BAA6B;AACrD;AACA;AACA,SAAS,cAAM;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM,sBAAsB;AAC5B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM,sBAAsB;AAC5B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,sBAAsB;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,0BAA0B,SAAS;;AAEnC;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,cAAM;AACvC;AACA;;AAEA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,wBAAwB;AACxB;AACA,wBAAwB;AACxB;AACA,sBAAsB;AACtB;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,wBAAwB;AACxB,sBAAsB;AACtB;AACA,gBAAgB,WAAG;AACnB;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,sBAAsB;AACtB,wBAAwB;;AAExB;AACA;AACA;AACA;AACA,iBAAiB,eAAe;AAChC;AACA;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM;AACN,MAAM;AACN;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM,sBAAsB;AAC5B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;;AAEA,aAAa,sBAAsB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,sBAAsB;AAC5B,MAAM,sBAAsB;AAC5B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,SAAS,WAAG;AACZ;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM;AACN,MAAM;AACN;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM;AACN,MAAM;AACN;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM,sBAAsB;AAC5B,MAAM,sBAAsB;AAC5B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,UAAU,OAAO;;AAEjB;AACA,GAAG;AACH;;AAEA,UAAU,OAAO;AACjB;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA,UAAU,OAAO;;AAEjB;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,aAAa;;AAErB;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,UAAU,aAAa;;AAEvB;AACA,0BAA0B,SAAS;;AAEnC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM,sBAAsB;AAC5B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM,sBAAsB;AAC5B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM;AACN,MAAM;AACN;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,0BAA0B;AAClC;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM,s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","file":"assets/js/transaction.d71ba353.js","sourcesContent":["// extracted by mini-css-extract-plugin","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./trn_labour_pay_ro.vue?vue&type=style&index=0&id=185bff26&scoped=true&lang=css&\"","// extracted by mini-css-extract-plugin","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-row',[_c('b-colxx',{attrs:{\"lg\":\"4\",\"sm\":\"4\",\"md\":\"4\",\"xs\":\"12\"}},[_c('piaf-breadcrumb')],1),_vm._v(\" \"),_c('b-colxx',{attrs:{\"lg\":\"3\",\"sm\":\"3\",\"md\":\"3\",\"xs\":\"12\"}},[_c('div',{staticClass:\"form-group has-float-label\",staticStyle:{\"margin-top\":\"5px\"}},[_c('v-select',{staticStyle:{\"height\":\"1px\"},attrs:{\"size\":\"xs\",\"options\":_vm.storeList},on:{\"change\":function($event){return _vm.selectStore()}},model:{value:(_vm.select_store),callback:function ($$v) {_vm.select_store=$$v},expression:\"select_store\"}}),_vm._v(\" \"),_c('span',[_vm._v(\"Store\")])],1)]),_vm._v(\" \"),_c('b-colxx',{staticStyle:{\"margin-top\":\"3px\"},attrs:{\"lg\":\"3\",\"sm\":\"12\",\"md\":\"6\",\"xs\":\"12\"}},[(_vm.is_locked == 'false')?_c('button',{staticClass:\"btn btn-info btn-sm\",attrs:{\"disabled\":!_vm.select_store.value || _vm.is_empty == true || _vm.statusRight.isenabled == 0},on:{\"click\":function($event){return _vm.onUpdateByStore()}}},[_vm._v(\"Update Status\")]):_vm._e(),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-warning btn-sm\",on:{\"click\":function($event){return _vm.onloadData()}}},[_c('i',{staticClass:\"simple-icon-refresh\",staticStyle:{\"font-size\":\"16px\"}}),_vm._v(\" Refresh\")]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-success btn-sm\",on:{\"click\":function($event){return _vm.exportCheckInData()}}},[_vm._v(\"Export to Report\")])]),_vm._v(\" \"),_c('b-colxx',{attrs:{\"lg\":\"2\",\"sm\":\"2\",\"md\":\"2\",\"xs\":\"12\"}},[_c('span',{staticStyle:{\"float\":\"right\",\"font-size\":\"20px\",\"margin-top\":\"10px\"}},[_vm._v(_vm._s(_vm.emp.dc_fullname))])])],1),_vm._v(\" \"),_c('b-row',[_c('b-colxx',{attrs:{\"lg\":\"12\",\"sm\":\"12\",\"md\":\"12\",\"xs\":\"12\"}},[_c('div',{staticClass:\"separator mb-2\"})])],1),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('b-row',[_c('b-colxx',{attrs:{\"xxs\":\"12\"}},[_c('b-card',{staticClass:\"mb-1\",style:('min-height:'+(_vm.height-290)+'px;')},[(_vm.loading)?_c('div',{staticClass:\"loading\"}):_vm._e(),_vm._v(\" \"),_c('b-row',_vm._l((_vm.dataList),function(v,i){return _c('b-colxx',{key:i,attrs:{\"lg\":\"2\",\"sm\":\"3\",\"md\":\"3\",\"xs\":\"12\"}},[_c('b-card',{staticClass:\"mb-4\",attrs:{\"no-body\":\"\"}},[_c('div',{staticClass:\"position-relative\"},[_c('img',{staticClass:\"card-img-top\",attrs:{\"src\":_vm.getimg(v.img_check)}}),_vm._v(\" \"),_c('b-badge',{staticClass:\"position-absolute badge-top-right\",attrs:{\"variant\":\"primary\",\"pill\":\"\"}},[_vm._v(_vm._s(_vm.DateCh(v.detecheck)))]),_vm._v(\" \"),_c('b-badge',{staticClass:\"position-absolute badge-top-left\",attrs:{\"variant\":\"primary\",\"pill\":\"\"}},[_vm._v(_vm._s(v.type))]),_vm._v(\" \"),_c('b-badge',{staticClass:\"position-absolute badge-top-left-2\",attrs:{\"variant\":\"success\",\"pill\":\"\"}},[_vm._v(_vm._s(v.time ||\"00:00\"))]),_vm._v(\" \"),(v.status == '1')?_c('b-badge',{staticClass:\"position-absolute badge-top-right-2\",attrs:{\"variant\":\"success\",\"pill\":\"\"}},[_vm._v(_vm._s(v.status))]):_vm._e(),_vm._v(\" \"),(v.status == 'X')?_c('b-badge',{staticClass:\"position-absolute badge-top-right-2\",attrs:{\"variant\":\"danger\",\"pill\":\"\"}},[_vm._v(_vm._s('1'))]):_vm._e(),_vm._v(\" \"),(v.status == 'S' || v.status == 'X1')?_c('b-badge',{staticClass:\"position-absolute badge-top-right-2\",attrs:{\"variant\":\"danger\",\"pill\":\"\"}},[_vm._v(_vm._s(v.status))]):_vm._e(),_vm._v(\" \"),(v.status == 'NC')?_c('b-badge',{staticClass:\"position-absolute badge-top-right-2\",attrs:{\"variant\":\"danger\",\"pill\":\"\"}},[_vm._v(_vm._s('SH'))]):_vm._e()],1),_vm._v(\" \"),_c('b-card-body',[_c('p',{staticClass:\"mb-1 text-muted w-sm-100\"},[_c('span',{staticClass:\"texth\"},[_vm._v(\"Project\")]),_vm._v(\" : \"+_vm._s(v.pre_des)+\" \")]),_vm._v(\" \"),(v.img_type == 'CK')?_c('p',{staticClass:\"mb-1 text-muted w-sm-100\"},[_c('span',{staticClass:\"texth\"},[_vm._v(\"Ref. Code\")]),_vm._v(\" : \"+_vm._s(v.refcode))]):_vm._e(),_vm._v(\" \"),_c('p',{staticClass:\"mb-1 text-muted w-sm-100\"},[_c('span',{staticClass:\"texth\"},[_vm._v(\"Store\")]),_vm._v(\" : \"+_vm._s(v.store_name))]),_vm._v(\" \"),_c('p',{staticClass:\"mb-1 text-muted w-sm-100\"},[_c('span',{staticClass:\"texth\"},[_vm._v(\"Account\")]),_vm._v(\" : \"+_vm._s(v.account_name))]),_vm._v(\" \"),(v.img_type == 'CC')?_c('p',{staticClass:\"mb-1 text-muted w-sm-100\"},[_c('span',{staticClass:\"texth\"},[_vm._v(\"Brand\")]),_vm._v(\" : \"+_vm._s(v.brand_name))]):_vm._e(),_vm._v(\" \"),(v.img_type == 'CC')?_c('p',{staticClass:\"mb-1 text-muted w-sm-100\"},[_c('span',{staticClass:\"texth\"},[_vm._v(\"Quotation\")]),_vm._v(\" : \"+_vm._s(v.quo_no))]):_vm._e(),_vm._v(\" \"),_c('p',{staticClass:\"mb-1 text-muted w-sm-100\"},[_c('span',{staticClass:\"texth\"},[_vm._v(\"Province\")]),_vm._v(\" : \"+_vm._s(v.province_name))]),_vm._v(\" \"),(v.img_type == 'CK')?_c('p',{staticClass:\"mb-1 text-muted w-sm-100\"},[_c('span',{staticClass:\"texth\"},[_vm._v(\"Remark\")]),_vm._v(\" : \"+_vm._s(v.remark))]):_vm._e(),_vm._v(\" \"),_c('b-form-group',{staticClass:\"pull-right\"},[_c('b-form-checkbox',{attrs:{\"unchecked-value\":\"false\"},model:{value:(v.recheck),callback:function ($$v) {_vm.$set(v, \"recheck\", $$v)},expression:\"v.recheck\"}},[_vm._v(\"Check\")])],1)],1)],1)],1)}),1)],1)],1)],1),_vm._v(\" \"),_c('br'),_c('br'),_vm._v(\" \"),_c('div',{staticClass:\"chat-input-container\"},[_c('div',[(_vm.lastPage>1)?_c('b-row',[_c('b-colxx',{attrs:{\"xxs\":\"12\"}},[_c('b-pagination-nav',{staticClass:\"mt-2\",attrs:{\"number-of-pages\":_vm.perPage,\"base-url\":\"#\",\"align\":\"center\"},on:{\"input\":function($event){return _vm.linkGen()}},scopedSlots:_vm._u([{key:\"next-text\",fn:function(){return [_c('i',{staticClass:\"simple-icon-arrow-right\"})]},proxy:true},{key:\"prev-text\",fn:function(){return [_c('i',{staticClass:\"simple-icon-arrow-left\"})]},proxy:true},{key:\"first-text\",fn:function(){return [_c('i',{staticClass:\"simple-icon-control-start\"})]},proxy:true},{key:\"last-text\",fn:function(){return [_c('i',{staticClass:\"simple-icon-control-end\"})]},proxy:true}],null,false,2104427419),model:{value:(_vm.page),callback:function ($$v) {_vm.page=$$v},expression:\"page\"}})],1)],1):_vm._e()],1)]),_vm._v(\" \"),_c('div',[_c('b-modal',{attrs:{\"centered\":\"\",\"hide-footer\":\"\",\"no-close-on-backdrop\":true,\"size\":\"lg\",\"no-close-on-esc\":true},model:{value:(_vm.updateByStore),callback:function ($$v) {_vm.updateByStore=$$v},expression:\"updateByStore\"}},[_c('template',{slot:\"modal-title\"},[_c('b-row',[_c('b-colxx',{attrs:{\"xxs\":\"12\",\"sm\":\"2\",\"md\":\"12\",\"lg\":\"12\"}},[_vm._v(\"\\n Update Status\\n \")])],1)],1),_vm._v(\" \"),_c('b-row',{staticClass:\"icon-cards-row mb-3\"},[_c('b-colxx',{attrs:{\"xxs\":\"3\",\"sm\":\"2\",\"md\":\"2\",\"lg\":\"1.5\"}},[_c('b-card',{staticClass:\"mb-1 classStatusActive text-center classHover\",class:{ 'disabled-menu': _vm.statusRight.isenabled == 0 },on:{\"click\":function($event){return _vm.onSetStatus('1')}}},[_c('h1',{staticClass:\"topClass\"},[_vm._v(\"\\n 1 \"),_c('i',{staticClass:\"simple-icon-lock\",staticStyle:{\"font-size\":\"20px\"}}),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"textClass\"},[_vm._v(\"Visit ที่ทำงาน\")])])])],1),_vm._v(\" \"),_c('b-colxx',{attrs:{\"xxs\":\"3\",\"sm\":\"2\",\"md\":\"2\",\"lg\":\"1.5\"}},[_c('b-card',{staticClass:\"mb-1 classStatusRed text-center classHover\",class:{ 'disabled-menu': _vm.statusRight.isenabled == 0 },on:{\"click\":function($event){return _vm.onSetStatus('S')}}},[_c('h1',{staticClass:\"topClass\"},[_vm._v(\"\\n S \"),_c('i'),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"textClass\"},[_vm._v(\"ภายใน\")])])])],1),_vm._v(\" \"),_c('b-colxx',{attrs:{\"xxs\":\"3\",\"sm\":\"2\",\"md\":\"2\",\"lg\":\"1.5\"}},[_c('b-card',{staticClass:\"mb-1 classStatusRed text-center classHover\",class:{ 'disabled-menu': _vm.statusRight.isenabled == 0 },on:{\"click\":function($event){return _vm.onSetStatus('X1')}}},[_c('h1',{staticClass:\"topClass\"},[_vm._v(\"\\n X1 \"),_c('i'),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"textClass\"},[_vm._v(\"ไม่คิดเงิน\")])])])],1),_vm._v(\" \"),_c('b-colxx',{attrs:{\"xxs\":\"3\",\"sm\":\"2\",\"md\":\"2\",\"lg\":\"1.5\"}},[_c('b-card',{staticClass:\"mb-1 classStatusRed text-center classHover\",class:{ 'disabled-menu': _vm.statusRight.isenabled == 0 },on:{\"click\":function($event){return _vm.onSetStatus('NC')}}},[_c('h1',{staticClass:\"topClass\"},[_vm._v(\"\\n SH \"),_c('i'),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"textClass\"},[_vm._v(\"No Check In\")])])])],1)],1),_vm._v(\" \"),_c('b-button',{staticStyle:{\"float\":\"right\",\"margin-right\":\"5px\"},attrs:{\"size\":\"sm\",\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.confirmByStore()}}},[_vm._v(\"แก้ไขสถานะ\")]),_vm._v(\" \"),_c('span',{staticClass:\"statusText\",staticStyle:{\"float\":\"right\"}},[_vm._v(\"       \")]),_vm._v(\" \"),(_vm.status_plan == 'S')?_c('span',{staticClass:\"statusText\",staticStyle:{\"float\":\"right\",\"margin-top\":\"5px\"}},[_vm._v(\"\\n สถานะที่เลือก : [S] ภายใน\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.status_plan == '1')?_c('span',{staticClass:\"statusText\",staticStyle:{\"float\":\"right\",\"margin-top\":\"5px\"}},[_vm._v(\"\\n สถานะที่เลือก : [1] วันทำงาน(คิดเต็มวัน)\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.status_plan == 'X1')?_c('span',{staticClass:\"statusText\",staticStyle:{\"float\":\"right\",\"margin-top\":\"5px\"}},[_vm._v(\"\\n สถานะที่เลือก : [X1] ไม่คิดเงิน\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.status_plan == 'NC')?_c('span',{staticClass:\"statusText\",staticStyle:{\"float\":\"right\",\"margin-top\":\"5px\"}},[_vm._v(\"\\n สถานะที่เลือก : [SH] Not Check In\\n \")]):_vm._e()],2)],1),_vm._v(\" \"),_c('b-modal',{staticStyle:{\"width\":\"80%\"},attrs:{\"centered\":\"\",\"title\":\"Image\",\"size\":\"lg\",\"hide-footer\":true},model:{value:(_vm.modalShowing),callback:function ($$v) {_vm.modalShowing=$$v},expression:\"modalShowing\"}},[_c('div',[_c('img',{attrs:{\"src\":_vm.createFilePath(_vm.imgShow),\"height\":\"100%\"}})])]),_vm._v(\" \"),_c('loadingbox',{attrs:{\"active\":_vm.loadingx,\"spinner\":\"spinner\",\"color\":\"dimgray\",\"text\":_vm.export_progress,\"is-full-screen\":\"\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n ","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??ref--12-1!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./trn_image_ro_gallery.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??ref--12-1!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./trn_image_ro_gallery.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./trn_image_ro_gallery.vue?vue&type=template&id=42c126ea&scoped=true&\"\nimport script from \"./trn_image_ro_gallery.vue?vue&type=script&lang=js&\"\nexport * from \"./trn_image_ro_gallery.vue?vue&type=script&lang=js&\"\nimport style0 from \"./trn_image_ro_gallery.vue?vue&type=style&index=0&id=42c126ea&scoped=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 \"42c126ea\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./trn_image_ro_gallery.vue?vue&type=style&index=0&id=42c126ea&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-row',[_c('b-colxx',{attrs:{\"xxs\":\"12\"}},[_c('piaf-breadcrumb'),_vm._v(\" \"),(_vm.disabled)?_c('b-button',{staticStyle:{\"float\":\"right\",\"margin-right\":\"5px\"},attrs:{\"disabled\":(_vm.menuRight.isreadonly == 1)?true:false || _vm.isPaid ? true : false,\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":function($event){return _vm.$refs.file.click()}}},[_vm._v(\"Import Expenses\")]):_vm._e(),_vm._v(\" \"),(_vm.disabled)?_c('b-button',{staticStyle:{\"float\":\"right\",\"margin-right\":\"5px\"},attrs:{\"disabled\":(_vm.menuRight.issaveas == 1)?true:false || _vm.isPaid ? true : false,\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":function($event){return _vm.exportExpenseTopay()}}},[_vm._v(\"Export Expenses to Pay\")]):_vm._e(),_vm._v(\" \"),_c('b-button',{staticStyle:{\"float\":\"right\",\"margin-right\":\"5px\"},attrs:{\"size\":\"sm\",\"disabled\":_vm.menuRight.issaveas == 1 ? true : false || _vm.dataH.dc_docno_ref == '' ? true : false || _vm.isPaid ? true : false,\"variant\":\"success\"},on:{\"click\":function($event){return _vm.exportToExcel()}}},[_vm._v(\"Export To Excel\")]),_vm._v(\" \"),_c('b-button',{staticStyle:{\"float\":\"right\",\"margin-right\":\"5px\"},attrs:{\"size\":\"sm\",\"variant\":\"info\",\"disabled\":(_vm.menuRight.isreadonly == 1) ? true:false || _vm.isPaid ? true : false},on:{\"click\":function($event){return _vm.onExpense()}}},[_vm._v(\"Add Expenses\")]),_vm._v(\" \"),_c('b-button',{staticStyle:{\"float\":\"right\",\"margin-right\":\"5px\"},attrs:{\"size\":\"sm\",\"variant\":\"success\"},on:{\"click\":function($event){return _vm.onLabour()}}},[_vm._v(\"Select Labour\")]),_vm._v(\" \"),_c('input',{ref:\"file\",staticStyle:{\"display\":\"none\"},attrs:{\"type\":\"file\",\"accept\":\"application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\"capture\":\"\"},on:{\"change\":function($event){return _vm.importExcelTopay($event.target)}}}),_vm._v(\" \"),_c('div',{staticClass:\"separator mb-3\"})],1)],1),_vm._v(\" \"),_c('b-row',{staticStyle:{\"height\":\"100px\"}},[_c('b-colxx',{attrs:{\"lg\":\"12\",\"sm\":\"12\",\"md\":\"12\",\"xs\":\"12\"}},[_c('b-row',[_c('b-colxx',{attrs:{\"lg\":\"6\",\"sm\":\"6\",\"md\":\"6\",\"xs\":\"12\"}},[_c('b-form-group',{staticStyle:{\"margin-top\":\"-10px\"},attrs:{\"label\":\"ประเภท Plan\",\"disabled\":\"\"}},[_c('b-form-radio-group',{staticStyle:{\"margin-top\":\"-5px\"},model:{value:(_vm.dataH.type_doc),callback:function ($$v) {_vm.$set(_vm.dataH, \"type_doc\", $$v)},expression:\"dataH.type_doc\"}},[_c('b-form-radio',{attrs:{\"value\":\"4\"}},[_vm._v(\"Share Service\")])],1)],1)],1),_vm._v(\" \"),_c('b-colxx',{attrs:{\"lg\":\"2\",\"sm\":\"2\",\"md\":\"2\",\"xs\":\"12\"}},[_c('b',[_vm._v(\"Plan Date\")]),_vm._v(\"\\n : \"+_vm._s(_vm.DateCh(_vm.date_old.start))+\" - \"+_vm._s(_vm.DateCh(_vm.date_old.end))+\"\\n \")]),_vm._v(\" \"),_c('b-colxx',{staticStyle:{\"text-align\":\"right\"},attrs:{\"lg\":\"4\",\"sm\":\"4\",\"md\":\"4\",\"xs\":\"12\"}},[(_vm.dataH.dc_docno_ref != '')?_c('span',[_vm._v(\"\\n Labour No :\\n \"),_c('b',{staticStyle:{\"font-size\":\"16px\"}},[_vm._v(_vm._s(_vm.dataH.dc_docno_ref))]),_vm._v(\"       \\n \")]):_vm._e(),_vm._v(\" \"),(_vm.dataH.pr_ref != '')?_c('span',[_vm._v(\"\\n Ref. PR :\\n \"),_c('b',{staticStyle:{\"font-size\":\"16px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){return _vm.openprlist()}}},[_c('u',[_vm._v(_vm._s(_vm.dataH.pr_ref))])]),_vm._v(\"     \\n \")]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"user d-inline-block\"},[_c('b-dropdown',{staticClass:\"dropdown-menu-right scollbar\",attrs:{\"right\":\"\",\"variant\":\"empty\",\"toggle-class\":\"p-0\",\"menu-class\":\"mt-3\",\"no-caret\":\"\"}},[_c('template',{slot:\"button-content\"},[_c('span',{staticClass:\"name mr-1\",staticStyle:{\"font-size\":\"14px\",\"margin-top\":\"-10px\"}},[_vm._v(\"สถานะ\")])]),_vm._v(\" \"),_c('b-dropdown-item',{staticStyle:{\"font-size\":\"14px\"}},[_c('b-badge',{staticClass:\"mb-1 classYGREEN\",staticStyle:{\"border-radius\":\"4px\",\"padding\":\"5px\",\"width\":\"130px\"},attrs:{\"pill\":\"\"}},[_vm._v(\"Actual / Plan Visit\")])],1)],2)],1)])],1)],1),_vm._v(\" \"),_c('b-colxx',{attrs:{\"lg\":\"12\",\"sm\":\"4\",\"md\":\"6\",\"xs\":\"12\"}},[_c('b-row',[_c('b-colxx',{attrs:{\"lg\":\"2\",\"sm\":\"2\",\"md\":\"2\",\"xs\":\"12\"}},[_c('label',{staticClass:\"form-group has-float-label mb-4\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataH.dc_project_name),expression:\"dataH.dc_project_name\"}],staticClass:\"form-control\",attrs:{\"type\":\"input\",\"disabled\":\"\"},domProps:{\"value\":(_vm.dataH.dc_project_name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.dataH, \"dc_project_name\", $event.target.value)}}}),_vm._v(\" \"),_c('span',[_vm._v(\"Project\")])])]),_vm._v(\" \"),_c('b-colxx',{attrs:{\"lg\":\"1\",\"sm\":\"2\",\"md\":\"2\",\"xs\":\"12\"}},[_c('label',{staticClass:\"form-group has-float-label mb-4\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataH.dc_job_name),expression:\"dataH.dc_job_name\"}],staticClass:\"form-control\",attrs:{\"type\":\"input\",\"disabled\":\"\"},domProps:{\"value\":(_vm.dataH.dc_job_name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.dataH, \"dc_job_name\", $event.target.value)}}}),_vm._v(\" \"),_c('span',[_vm._v(\"Job Type\")])])]),_vm._v(\" \"),_c('b-colxx',{attrs:{\"lg\":\"3\",\"sm\":\"4\",\"md\":\"4\",\"xs\":\"12\"}},[_c('label',{staticClass:\"form-group has-float-label mb-4\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataH.dc_remark),expression:\"dataH.dc_remark\"}],staticClass:\"form-control\",attrs:{\"type\":\"input\"},domProps:{\"value\":(_vm.dataH.dc_remark)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.dataH, \"dc_remark\", $event.target.value)}}}),_vm._v(\" \"),_c('span',[_vm._v(\"Remark\")])])]),_vm._v(\" \"),_c('b-colxx',{attrs:{\"lg\":\"1\",\"sm\":\"1\",\"md\":\"1\",\"xs\":\"12\"}},[_c('b-input-group',[_c('div',{staticClass:\"form-group has-float-label\"},[_c('v-date-picker',{attrs:{\"mode\":\"single\",\"min-date\":_vm.minDate,\"max-date\":_vm.maxDate,\"input-props\":{ class:'form-control', placeholder: _vm.$t('form-components.date') }},on:{\"input\":function($event){return _vm.onloadLabourByDate(_vm.dataH.dc_docno_ref, _vm.dataH.dc_job_start_date, _vm.dataH.dc_job_end_date)}},model:{value:(_vm.dataH.dc_job_start_date),callback:function ($$v) {_vm.$set(_vm.dataH, \"dc_job_start_date\", $$v)},expression:\"dataH.dc_job_start_date\"}}),_vm._v(\" \"),_c('span',[_vm._v(\"Start Date\")])],1)])],1),_vm._v(\" \"),_c('b-colxx',{attrs:{\"lg\":\"1\",\"sm\":\"1\",\"md\":\"1\",\"xs\":\"12\"}},[_c('b-input-group',[_c('div',{staticClass:\"form-group has-float-label\"},[_c('v-date-picker',{attrs:{\"mode\":\"single\",\"min-date\":_vm.minDate,\"max-date\":_vm.maxDate,\"input-props\":{ class:'form-control', placeholder: _vm.$t('form-components.date') }},on:{\"input\":function($event){return _vm.onloadLabourByDate(_vm.dataH.dc_docno_ref, _vm.dataH.dc_job_start_date, _vm.dataH.dc_job_end_date)}},model:{value:(_vm.dataH.dc_job_end_date),callback:function ($$v) {_vm.$set(_vm.dataH, \"dc_job_end_date\", $$v)},expression:\"dataH.dc_job_end_date\"}}),_vm._v(\" \"),_c('span',[_vm._v(\"End Date\")])],1)])],1)],1)],1)],1),_vm._v(\" \"),_c('b-row',[_c('b-colxx',{attrs:{\"xxs\":\"12\"}},[_c('b-tabs',{attrs:{\"content-class\":\"mt-1\"},model:{value:(_vm.tabIndex),callback:function ($$v) {_vm.tabIndex=$$v},expression:\"tabIndex\"}},[_c('b-tab',{attrs:{\"title\":\"Setsup Labour\",\"active\":\"\"},on:{\"click\":function($event){return _vm.hideExport(_vm.tabIndex)}}},[_c('template',{slot:\"title\"},[_c('i',{staticClass:\"simple-icon-people\"}),_vm._v(\" Labour To Pay Share Service\\n \")]),_vm._v(\" \"),_c('b-card',{style:('height:'+(_vm.height-343)+'px;')},[(_vm.columnsH.day)?_c('div',{staticClass:\"zui-wrapper\"},[_c('div',{staticClass:\"zui-scroller\"},[(_vm.loading)?_c('div',{staticClass:\"loading\"}):_vm._e(),_vm._v(\" \"),_c('table',{staticClass:\"zui-table\",attrs:{\"id\":\"payexcel\"}},[_c('thead',{staticStyle:{\"display\":\"block\",\"width\":\"100%\",\"table-layout\":\"fixed\"}},[_c('tr',[_c('th',{attrs:{\"colspan\":\"8\"}}),_vm._v(\" \"),_vm._l((_vm.columnsH.year),function(v){return _c('th',{key:v.id,attrs:{\"colspan\":v.col}},[_vm._v(\"\\n \"+_vm._s(v.title)+\"\\n \")])}),_vm._v(\" \"),_c('th',{staticClass:\"width-100\",attrs:{\"rowspan\":\"3\"}},[_vm._v(\"Actual Visit\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-100\",attrs:{\"rowspan\":\"3\"}},[_vm._v(\"Amount จ่ายจริง (Month)\")]),_vm._v(\" \"),_vm._l((_vm.expData),function(vv,ii){return _c('th',{key:vv.expens_code,staticClass:\"width-100\",staticStyle:{\"width\":\"100px\"},attrs:{\"rowspan\":\"3\"}},[(vv.taxper)?_c('span',{staticStyle:{\"color\":\"#b71c1c\",\"padding-top\":\"20px\"}},[_vm._v(\"หักภาษี \"+_vm._s(vv.taxper)+\"%\")]):_vm._e(),_c('br'),_vm._v(_vm._s(vv.expens_name))])}),_vm._v(\" \"),_c('th',{staticClass:\"width-100\",attrs:{\"rowspan\":\"3\"}},[_vm._v(\"รวมค่าจ้าง\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-100\",attrs:{\"rowspan\":\"3\"}},[_vm._v(\"หักภาษีค่าจ้าง\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-100\",attrs:{\"rowspan\":\"3\"}},[_vm._v(\"หักภาษีค่าใช้จ่าย\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-100\",attrs:{\"rowspan\":\"3\"}},[_vm._v(\"รวมหักภาษี\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-100\",attrs:{\"rowspan\":\"3\"}},[_vm._v(\"ค่าจ้างสุทธิ\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-150\",attrs:{\"rowspan\":\"3\"}},[_vm._v(\"เลขที่บัญชี\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-300\",attrs:{\"rowspan\":\"3\"}},[_vm._v(\"ชื่อธนาคาร\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-150\",attrs:{\"rowspan\":\"3\"}},[_vm._v(\"เลขที่บัตรประชาชน\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-450\",attrs:{\"rowspan\":\"3\"}},[_vm._v(\"ที่อยู่\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-30\",attrs:{\"rowspan\":\"3\"}},[_vm._v(\":\")])],2),_vm._v(\" \"),_c('tr',[_c('th',{staticClass:\"width-50\",attrs:{\"rowspan\":\"2\"}},[_vm._v(\"No\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-150\",attrs:{\"rowspan\":\"2\"}},[_vm._v(\"ภาค\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-150\",attrs:{\"rowspan\":\"2\"}},[_vm._v(\"จังหวัด\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-150\",attrs:{\"rowspan\":\"2\"}},[_vm._v(\"เขต\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-250\",attrs:{\"rowspan\":\"2\"}},[_vm._v(\"Supervisor\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-250\",attrs:{\"rowspan\":\"2\"}},[_vm._v(\"Outsource\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-200\",attrs:{\"rowspan\":\"2\"}},[_vm._v(\"Position\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-150\",attrs:{\"rowspan\":\"2\"}},[_vm._v(\"Amount/Visit (Month)\")]),_vm._v(\" \"),_vm._l((_vm.columnsH.month),function(v){return _c('th',{key:v.id,attrs:{\"colspan\":v.col}},[_vm._v(_vm._s(v.title))])})],2),_vm._v(\" \"),_c('tr',_vm._l((_vm.columnsH.day),function(v){return _c('th',{key:v.id,staticClass:\"width-100 widthClass\",class:{'classActiveH':(v.hld == 1),'classActivePaytrue':(v.pay == 1 && v.hld != 1),'classActivePay':(v.pay == 2 && v.hld != 1)},on:{\"click\":function($event){return _vm.checkAll(v)}}},[_vm._v(_vm._s(v.title))])}),0)]),_vm._v(\" \"),_c('tbody',{style:('display:block;height:'+(_vm.height-485)+'px; overflow:auto; overflow-x: hidden;')},_vm._l((_vm.detailList),function(v,i){return _c('tr',{key:i,class:{'selected': v.slectrow == 'selected', '': v.slectrow != 'selected'},on:{\"click\":function($event){return _vm.rowcolor(v)}}},[_c('td',{staticClass:\"width-50\",staticStyle:{\"text-align\":\"center\"}},[_c('b',[_vm._v(_vm._s(v.item_sort)+\".\")])]),_vm._v(\" \"),_c('td',{staticClass:\"width-150\"},[_vm._v(_vm._s(v.part_name))]),_vm._v(\" \"),_c('td',{staticClass:\"width-150\"},[_vm._v(_vm._s(v.province_name))]),_vm._v(\" \"),_c('td',{staticClass:\"width-150\"},[_vm._v(_vm._s(v.area_name))]),_vm._v(\" \"),_c('td',{staticClass:\"width-250\"},[_vm._v(_vm._s(v.dc_user_control_name))]),_vm._v(\" \"),_c('td',{staticClass:\"width-250\"},[_vm._v(_vm._s(v.dc_team_id_name))]),_vm._v(\" \"),_c('td',{staticClass:\"width-200\"},[_vm._v(_vm._s(v.dc_position_name))]),_vm._v(\" \"),_c('td',{staticClass:\"width-150\",staticStyle:{\"text-align\":\"right\"}},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"currency\")(v.dc_labour_amount))+\"  \\n \")]),_vm._v(\" \"),_vm._l((_vm.columnsH.day),function(vv,ii){return _c('td',{key:ii,staticClass:\"width-100 classdf\",class:{'classholiday':(vv.daywh == 'sat' || vv.daywh == 'sun'),'classYGREEN': v[v.dc_team_id + '_' + vv.key + '_visitBG'] == 'G'}},[_vm._v(\"\\n \"+_vm._s(v[v.dc_team_id + \"_\" + vv.key + \"_visit\"])+\"\\n \")])}),_vm._v(\" \"),_c('td',{staticClass:\"width-100\",staticStyle:{\"text-align\":\"center\"}},[_vm._v(_vm._s(v.status_green1))]),_vm._v(\" \"),_c('td',{staticClass:\"width-100\",staticStyle:{\"text-align\":\"right\"}},[_vm._v(_vm._s(v.dc_net_amount))]),_vm._v(\" \"),_vm._l((_vm.expData),function(vv,ii){return _c('td',{key:vv.expens_code,staticClass:\"width-100\"},[_c('number2',{staticStyle:{\"height\":\"25px\",\"text-align\":\"right\",\"width\":\"98px\"},attrs:{\"size\":\"xs\",\"placeholder\":\"0.00\",\"decimals\":\"2\"},on:{\"el-blur\":function($event){return _vm.onkeypressValue(v,vv)}},model:{value:(v[vv.expens_code]),callback:function ($$v) {_vm.$set(v, vv.expens_code, $$v)},expression:\"v[vv.expens_code]\"}})],1)}),_vm._v(\" \"),_c('td',{staticClass:\"width-100\",staticStyle:{\"text-align\":\"right\"}},[_vm._v(_vm._s(_vm._f(\"currency\")(v.total_wage)))]),_vm._v(\" \"),_c('td',{staticClass:\"width-100\",staticStyle:{\"text-align\":\"right\"}},[_vm._v(_vm._s(_vm._f(\"currency\")(v.total_wage_tax)))]),_vm._v(\" \"),_c('td',{staticClass:\"width-100\",staticStyle:{\"text-align\":\"right\"}},[_vm._v(_vm._s(_vm._f(\"currency\")(v.total_exp_tax)))]),_vm._v(\" \"),_c('td',{staticClass:\"width-100\",staticStyle:{\"text-align\":\"right\"}},[_vm._v(_vm._s(_vm._f(\"currency\")(v.total_amt_tax)))]),_vm._v(\" \"),_c('td',{staticClass:\"width-100\",staticStyle:{\"text-align\":\"right\"}},[_vm._v(_vm._s(_vm._f(\"currency\")(v.total_amt_net)))]),_vm._v(\" \"),_c('td',{staticClass:\"width-150\",staticStyle:{\"text-align\":\"center\"}},[_vm._v(\"  \"),_c('b',[_vm._v(_vm._s(v.account_number))])]),_vm._v(\" \"),_c('td',{staticClass:\"width-300\",staticStyle:{\"text-align\":\"left\"}},[_vm._v(\" \"+_vm._s(v.bank_name)+\" \")]),_vm._v(\" \"),_c('td',{staticClass:\"width-150\",staticStyle:{\"text-align\":\"center\"}},[_vm._v(\"   \"),_c('b',[_vm._v(_vm._s(v.dc_id_card))])]),_vm._v(\" \"),_c('td',{staticClass:\"width-450\",staticStyle:{\"text-align\":\"left\"}},[_vm._v(\" \"+_vm._s(v.regi_address)+\" \"+_vm._s(v.regi_zip_code)+\" \")]),_vm._v(\" \"),_c('td',{staticClass:\"width-30\"})],2)}),0),_vm._v(\" \"),_c('tfoot',{staticStyle:{\"display\":\"block\",\"width\":\"100%\",\"table-layout\":\"fixed\"}},[_c('tr',[_c('th',{staticClass:\"width-50\"}),_vm._v(\" \"),_c('th',{staticClass:\"width-150\"}),_vm._v(\" \"),_c('th',{staticClass:\"width-150\"}),_vm._v(\" \"),_c('th',{staticClass:\"width-150\"}),_vm._v(\" \"),_c('th',{staticClass:\"width-250\"}),_vm._v(\" \"),_c('th',{staticClass:\"width-250\"}),_vm._v(\" \"),_c('th',{staticClass:\"width-200\"}),_vm._v(\" \"),_c('th',{staticClass:\"width-150\",staticStyle:{\"text-align\":\"right\"}},[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.totalBT.dc_labour_amount)))]),_vm._v(\" \"),_vm._l((_vm.columnsH.day),function(vv,ii){return _c('th',{key:ii,staticClass:\"width-100\",staticStyle:{}})}),_vm._v(\" \"),_c('th',{staticClass:\"width-100\",staticStyle:{\"text-align\":\"center\"}},[_c('b',[_vm._v(_vm._s(_vm.totalBT.status_green1 || 0))])]),_vm._v(\" \"),_c('th',{staticClass:\"width-100\",staticStyle:{\"text-align\":\"center\"}},[_c('b',[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.totalBT.dc_net_amount)))])]),_vm._v(\" \"),_vm._l((_vm.expData),function(vv,ii){return _c('th',{key:vv.expens_code,staticClass:\"width-100\",staticStyle:{\"text-align\":\"right\"}},[_c('b',[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.totalBT[vv.expens_code])))]),_vm._v(\"  \\n \")])}),_vm._v(\" \"),_c('th',{staticClass:\"width-100\",staticStyle:{\"text-align\":\"right\"}},[_c('b',[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.totalBT.total_wage)))])]),_vm._v(\" \"),_c('th',{staticClass:\"width-100\",staticStyle:{\"text-align\":\"right\"}},[_c('b',[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.totalBT.total_wage_tax)))])]),_vm._v(\" \"),_c('th',{staticClass:\"width-100\",staticStyle:{\"text-align\":\"right\"}},[_c('b',[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.totalBT.total_exp_tax)))])]),_vm._v(\" \"),_c('th',{staticClass:\"width-100\",staticStyle:{\"text-align\":\"right\"}},[_c('b',[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.totalBT.total_amt_tax)))])]),_vm._v(\" \"),_c('th',{staticClass:\"width-100\",staticStyle:{\"text-align\":\"right\"}},[_c('b',[_vm._v(_vm._s(_vm._f(\"currency\")(_vm.totalBT.total_amt_net)))])]),_vm._v(\" \"),_c('th',{staticClass:\"width-150\"}),_vm._v(\" \"),_c('th',{staticClass:\"width-300\"}),_vm._v(\" \"),_c('th',{staticClass:\"width-150\"}),_vm._v(\" \"),_c('th',{staticClass:\"width-450\"}),_vm._v(\" \"),_c('th',{staticClass:\"width-30\"},[_vm._v(\":\")])],2)])])])]):_vm._e()])],2),_vm._v(\" \"),_c('b-tab',{attrs:{\"title\":\"Labour To Pay Share Service List\"},on:{\"click\":function($event){return _vm.hideExport(_vm.tabIndex)}}},[_c('template',{slot:\"title\"},[_c('i',{staticClass:\"iconsminds-dollar-sign-2\"}),_vm._v(\" Labour To Pay Share Service List\\n \")]),_vm._v(\" \"),_c('b-card',{style:('height:'+(_vm.height-343)+'px;')},[_c('div',{staticClass:\"zui-wrapper\"},[_c('div',{staticClass:\"zui-scroller\"},[_c('table',{staticClass:\"tableMain\",attrs:{\"id\":\"testTable\"}},[_c('thead',{staticStyle:{\"display\":\"block\",\"width\":\"100%\",\"table-layout\":\"fixed\"}},[_c('tr',[_c('th',{staticClass:\"width-150\"},[_vm._v(\"Del.\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-50\"},[_vm._v(\"No.\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-130\"},[_vm._v(\"Doc. No\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-130\"},[_vm._v(\"Project No.\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-300\"},[_vm._v(\"Project Name\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-300\"},[_vm._v(\"Job Name\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-300\"},[_vm._v(\"Remark\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-130\"},[_vm._v(\"Start Date\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-130\"},[_vm._v(\"End Date\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-130\"},[_vm._v(\"Amount\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-130\"},[_vm._v(\"Tax Amount\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-130\"},[_vm._v(\"Net Amount\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-130\"},[_vm._v(\"Status\")]),_vm._v(\" \"),_c('th',{staticClass:\"width-130\"},[_vm._v(\"OF No.\")])])]),_vm._v(\" \"),_c('tbody',{style:('display:block;height:'+(_vm.height-425)+'px; overflow:auto; overflow-x: hidden;')},_vm._l((_vm.datapayList),function(v,i){return _c('tr',{key:i},[_c('td',{staticClass:\"width-150\",staticStyle:{\"text-align\":\"center\"}},[_c('img',{class:{'disabled-menu': _vm.menuRight.isreadonly == 1 },staticStyle:{\"margin-top\":\"-12px\"},attrs:{\"src\":require(\"../../../assets/img2/garbage.svg\"),\"width\":\"20\",\"title\":\"Delete\"},on:{\"click\":function($event){return _vm.onDeletePay(v)}}}),_vm._v(\"  \\n \"),_c('i',{staticClass:\"simple-icon-list\",staticStyle:{\"font-size\":\"20px\"},on:{\"click\":function($event){return _vm.onListPay(v)}}}),_vm._v(\"  \\n \"),_c('img',{staticStyle:{\"margin-top\":\"-12px\"},attrs:{\"src\":require(\"../../../assets/img2/export.svg\"),\"width\":\"20\",\"title\":\"รายงานการทำงาน Outsource\"},on:{\"click\":function($event){return _vm.onExOutsource(v)}}}),_vm._v(\" \"),_c('i',{staticClass:\"simple-icon-pencil\",staticStyle:{\"font-size\":\"20px\"},on:{\"click\":function($event){return _vm.onListPayEdit(v)}}}),_vm._v(\"  \\n \")]),_vm._v(\" \"),_c('td',{staticClass:\"width-50\",staticStyle:{\"text-align\":\"center\"}},[_vm._v(_vm._s(i + 1))]),_vm._v(\" \"),_c('td',{staticClass:\"width-130\",staticStyle:{\"text-align\":\"center\"}},[_c('b',[_vm._v(_vm._s(v.dc_docno))])]),_vm._v(\" \"),_c('td',{staticClass:\"width-130\",staticStyle:{\"text-align\":\"center\"}},[_c('b',[_vm._v(_vm._s(v.dc_project_code))])]),_vm._v(\" \"),_c('td',{staticClass:\"width-300\",staticStyle:{\"text-align\":\"left\"}},[_vm._v(_vm._s(v.dc_project_name))]),_vm._v(\" \"),_c('td',{staticClass:\"width-300\",staticStyle:{\"text-align\":\"left\"}},[_vm._v(_vm._s(v.dc_job_name))]),_vm._v(\" \"),_c('td',{staticClass:\"width-300\",staticStyle:{\"text-align\":\"left\"}},[_c('b',[_vm._v(_vm._s(v.dc_remark))])]),_vm._v(\" \"),_c('td',{staticClass:\"width-130\",staticStyle:{\"text-align\":\"center\"}},[_c('span',{staticStyle:{\"color\":\"#FF5722\"}},[_c('b',[_vm._v(_vm._s(_vm.DateCh(v.dc_job_start_date)))])])]),_vm._v(\" \"),_c('td',{staticClass:\"width-130\",staticStyle:{\"text-align\":\"center\"}},[_c('span',{staticStyle:{\"color\":\"#FF5722\"}},[_c('b',[_vm._v(_vm._s(_vm.DateCh(v.dc_job_end_date)))])])]),_vm._v(\" \"),_c('td',{staticClass:\"width-130\",staticStyle:{\"text-align\":\"right\"}},[_vm._v(_vm._s(_vm._f(\"currency\")(v.amount)))]),_vm._v(\" \"),_c('td',{staticClass:\"width-130\",staticStyle:{\"text-align\":\"right\"}},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"currency\")(v.tax_amount))+\"\\n \")]),_vm._v(\" \"),_c('td',{staticClass:\"width-130\",staticStyle:{\"text-align\":\"right\"}},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"currency\")(v.net_amount))+\"\\n \")]),_vm._v(\" \"),_c('td',{staticClass:\"width-130\",staticStyle:{\"text-align\":\"center\"}},[_c('span',{class:{'inprogress':(!v.ref_of),'successfully':(v.ref_of)}},[_vm._v(_vm._s((v.ref_of)?'successfully':'Is in progress'))])]),_vm._v(\" \"),_c('td',{staticClass:\"width-130\",staticStyle:{\"text-align\":\"center\"}},[_vm._v(_vm._s(v.ref_of))])])}),0)])])])])],2)],1)],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"chat-input-container\",staticStyle:{\"height\":\"50px\"}},[_c('div',[(_vm.lastPage>1)?_c('b-row',[_c('b-colxx',{attrs:{\"xxs\":\"12\"}},[_c('b-pagination-nav',{attrs:{\"number-of-pages\":_vm.perPage,\"base-url\":\"#\",\"align\":\"center\"},on:{\"input\":function($event){return _vm.Getpage()}},scopedSlots:_vm._u([{key:\"next-text\",fn:function(){return [_c('i',{staticClass:\"simple-icon-arrow-right\"})]},proxy:true},{key:\"prev-text\",fn:function(){return [_c('i',{staticClass:\"simple-icon-arrow-left\"})]},proxy:true},{key:\"first-text\",fn:function(){return [_c('i',{staticClass:\"simple-icon-control-start\"})]},proxy:true},{key:\"last-text\",fn:function(){return [_c('i',{staticClass:\"simple-icon-control-end\"})]},proxy:true}],null,false,2104427419),model:{value:(_vm.page),callback:function ($$v) {_vm.page=$$v},expression:\"page\"}})],1)],1):_vm._e()],1)]),_vm._v(\" \"),_c('div',[_c('b-modal',{staticStyle:{\"width\":\"80%\"},attrs:{\"centered\":\"\",\"title\":\"Plan Y List\",\"size\":\"lg\",\"hide-footer\":true,\"no-close-on-backdrop\":true,\"no-close-on-esc\":true},model:{value:(_vm.openprshow),callback:function ($$v) {_vm.openprshow=$$v},expression:\"openprshow\"}},[_c('template',{slot:\"modal-title\"},[_c('span',[_vm._v(\"PR Detail     \")])]),_vm._v(\" \"),_c('b-row',{staticClass:\"icon-cards-row mb-3\"},[_c('b-colxx',{attrs:{\"xxs\":\"12\",\"sm\":\"12\",\"md\":\"12\",\"lg\":\"12\"}},[_c('vue-perfect-scrollbar',{staticClass:\"scroll dashboard-list-with-thumbs\",attrs:{\"settings\":{ suppressScrollX: true, wheelPropagation: false }}},[_c('table',{staticClass:\"tableMain\"},[_c('thead',[_c('tr',[_c('th',{staticStyle:{\"width\":\"50px\"}},[_vm._v(\"ID\")]),_vm._v(\" \"),_c('th',{staticStyle:{\"width\":\"150px\"}},[_vm._v(\"costcode\")]),_vm._v(\" \"),_c('th',{staticStyle:{\"width\":\"200px\"}},[_vm._v(\"Type code\")]),_vm._v(\" \"),_c('th',[_vm._v(\"Type Name\")]),_vm._v(\" \"),_c('th',{staticStyle:{\"width\":\"150px\"}},[_vm._v(\"Qty\")]),_vm._v(\" \"),_c('th',{staticStyle:{\"width\":\"150px\"}},[_vm._v(\"Amount\")]),_vm._v(\" \"),_c('th',{staticStyle:{\"width\":\"150px\"}},[_vm._v(\"Amount actual\")]),_vm._v(\" \"),_c('th',{staticStyle:{\"width\":\"150px\"}},[_vm._v(\"Amount Bal.\")])])]),_vm._v(\" \"),_c('tbody',_vm._l((_vm.objcontronlist),function(v,i){return _c('tr',{key:i},[_c('td',{staticStyle:{\"text-align\":\"center\"}},[_vm._v(_vm._s(i+1))]),_vm._v(\" \"),_c('td',{staticStyle:{\"text-align\":\"center\"}},[_c('b',[_vm._v(_vm._s(v.costcode))])]),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(v.type_code))]),_vm._v(\" \"),_c('td',{staticStyle:{\"text-align\":\"left\"}},[_vm._v(_vm._s(v.type_name)+\" \")]),_vm._v(\" \"),_c('td',{staticStyle:{\"text-align\":\"right\"}},[_vm._v(_vm._s(_vm._f(\"currency\")(v.qty_control))+\" \")]),_vm._v(\" \"),_c('td',{staticStyle:{\"text-align\":\"right\"}},[_vm._v(_vm._s(_vm._f(\"currency\")(v.amt_control))+\" \")]),_vm._v(\" \"),_c('td',{directives:[{name:\"show\",rawName:\"v-show\",value:(v.rowpan),expression:\"v.rowpan\"}],staticStyle:{\"text-align\":\"right\",\"color\":\"#ff6600\"},attrs:{\"rowspan\":v.rowpan}},[_vm._v(_vm._s(_vm._f(\"currency\")(v.amt_bal)))]),_vm._v(\" \"),_c('td',{directives:[{name:\"show\",rawName:\"v-show\",value:(v.rowpan),expression:\"v.rowpan\"}],staticStyle:{\"text-align\":\"right\",\"color\":\"#669900\"},attrs:{\"rowspan\":v.rowpan}},[_vm._v(_vm._s(_vm._f(\"currency\")((v.amt_total -v.amt_bal))))])])}),0)])])],1)],1)],2)],1),_vm._v(\" \"),_c('div',[_c('paydetail',{ref:\"Ctpaydetail\",on:{\"ct-data-click\":function($event){return _vm.onModalReturn($event)}}})],1),_vm._v(\" \"),_c('div',[_c('expenseother',{ref:\"Ctexpenseother\",on:{\"ct-data-click\":function($event){return _vm.onModalReturn($event)}}})],1),_vm._v(\" \"),_c('div',[_c('labour',{ref:\"Ctlabour\",on:{\"ct-data-click\":function($event){return _vm.onModalReturn($event)}}})],1),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"mybutton\"}},[_c('div',{staticClass:\"circle-ripple_in\",class:{'disabled-menu': _vm.menuRight.isreadonly == 1},on:{\"click\":function($event){return _vm.SavePlanY()}}},[_c('div',{attrs:{\"id\":\"wrapper_test\"}},[_c('span',{staticClass:\"textcheck\",class:{'disabled-menu': _vm.menuRight.isreadonly == 1}},[_vm._v(\" Save\")])])])]),_vm._v(\" \"),_c('loadingbox',{attrs:{\"active\":_vm.loadingx,\"spinner\":\"spinner\",\"color\":\"dimgray\",\"text\":_vm.export_progress,\"is-full-screen\":\"\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\r\n * decimal.js v10.3.1\r\n * An arbitrary-precision Decimal type for JavaScript.\r\n * https://github.com/MikeMcl/decimal.js\r\n * Copyright (c) 2021 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\nvar 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 inexact, 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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nP.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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nvar 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction trunc(x) {\r\n return finalise(x = new this(x), x.e + 1, 1);\r\n}\r\n\r\n\r\nP[Symbol.for('nodejs.util.inspect.custom')] = P.toString;\r\nP[Symbol.toStringTag] = 'Decimal';\r\n\r\n// Create and configure initial Decimal constructor.\r\nexport var Decimal = P.constructor = clone(DEFAULTS);\r\n\r\n// Create the internal constants from their string values.\r\nLN10 = new Decimal(LN10);\r\nPI = new Decimal(PI);\r\n\r\nexport default Decimal;\r\n","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??ref--12-1!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./trn_labour_pay_ro.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??ref--12-1!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./trn_labour_pay_ro.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./trn_labour_pay_ro.vue?vue&type=template&id=185bff26&scoped=true&\"\nimport script from \"./trn_labour_pay_ro.vue?vue&type=script&lang=js&\"\nexport * from \"./trn_labour_pay_ro.vue?vue&type=script&lang=js&\"\nimport style0 from \"./trn_labour_pay_ro.vue?vue&type=style&index=0&id=185bff26&scoped=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 \"185bff26\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}