Ë
    ªÀþiÇ  ã                   óš  — d Z ddlZddlmZ ddlmZ ddlmZ defd„Zdedefd	„Z	d"ded
e
defd„Z	 	 	 	 	 d#dedededededee   dededededz  dedz  defd„Z	 	 	 	 	 	 	 	 	 d$dededee   dee   dz  dedz  dedz  dedz  dee   dz  dee   dz  dee   dz  defd „Z	 	 	 	 	 	 d%dedededee   dedz  dedz  dedz  defd!„Zy)&uA   BA PDF generator â€” Berita Acara Penjualan and Stock Adjustment.é    N)Údatetime)ÚDecimal)ÚAnyÚreturnc                  ób   — ddl m}  t        j                   | d«      «      j	                  d«      S )Nr   ©ÚZoneInfozAsia/Jakartaz%d %B %Y %H:%M WIB)Úzoneinfor	   r   ÚnowÚstrftimer   s    ú2/var/www/html/spbu.com/backend/app/utils/ba_pdf.pyÚ_jakarta_nowr   	   s%   € Ý!Ü�<‰<™ Ó0Ó1×:Ñ:Ð;OÓPÐPó    Úvaluec                 óž   — 	 t        t        t        | «      «      «      }d|d›�j                  dd«      S # t        $ r t        | «      cY S w xY w)NúRp Ú,Ú.©Úintr   ÚstrÚreplaceÚ	Exception)r   Úvs     r   Ú_fmt_rupiahr      sN   € ðÜ”œ˜E›
Ó#Ó$ˆØ�Q�q�Eˆ{×"Ñ" 3¨Ó,Ð,øÜò Ü�5‹zÒðús   ‚25 µAÁAÚdecimalsc                 ót   — 	 t        t        | «      «      }|d|› d�›d�S # t        $ r t        | «      cY S w xY w)Nr   Úfz L©r   r   r   )r   r   r   s      r   Ú_fmt_volr       sF   € ðÜ”C˜“JÓˆØ�A�h�Z˜q�=Ð! Ð$Ð$øÜò Ü�5‹zÒðús   ‚   7¶7Ú	spbu_nameÚ	spbu_codeÚtanggalÚ
shift_namaÚapprover_nameÚnozzlesÚtotal_volumeÚtotal_nilaiÚkasÚsubmitted_by_nameÚfor_approval_by_namec                 óô  ‡N‡O‡P— ddl m} ddlm} ddlm}m} ddlm} ddl	m
ŠNm}m}m}m} t        j                   «       } |||d|z  d|z  d|z  d|z  ¬	«      } |«       } |d
|d   ddd¬«      } |d|d   ddd¬«      } |d|d   dd¬«      } |d|d   ddd¬«      } |d|d   dd¬«      } |d|d   dd¬«      ŠP|j#                  ddd «      }|j#                  d!d"d#«      } |j#                  d$d$d$«      }!g }"|"j%                   ‰Nd%|«      «       |"j%                   ‰N| |«      «       |"j%                   |dd&|z  «      «       d't&        fd(„ŠO ‰Nd)|«       ‰N||«      g ‰Nd*|«       ‰N||«      g ‰Nd+|«       ‰Nt)        «       |«      gg}# ||#d,|z  d|z  g¬-«      }$|$j+                   |d.d/d0d&|j,                  fd1d/d2|!fd3d4d5g«      «       |"j%                  |$«       |"j%                   |dd6|z  «      «       |"j%                   ‰Nd7|«      «       |"j%                   |dd|z  «      «        ‰Nd8|«       ‰Nd9|«       ‰Nd:|«       ‰Nd;|«       ‰Nd<|«       ‰Nd=|«       ‰Nd>|«       ‰Nd?|«      g}%|%g}&t/        |«      D �]–  \  }'}(|(j1                  d@dA«      })|(j1                  dB|)› �|(j1                  dCd«      «      }*|(j1                  dD|)› �|(j1                  dEd«      «      }+|'dz  dk(  r| n|j2                  }, ‰Nt'        |(j1                  dFdG«      «      |«       ‰Nt'        |(j1                  dHdG«      «      |«       ‰Nt'        |(j1                  dIdG«      «      |«       ‰Nt5        t'        |*«      «      dJ›|«       ‰Nt5        t'        |+«      «      dJ›|«       ‰Nt5        t'        |(j1                  dKd«      «      «      dJ›|«       ‰Nt7        |(j1                  dLd«      «      |«       ‰Nt7        |(j1                  dMd«      «      |«      g}-|&j%                  |-|,f«       �Œ™ |&d   g|&ddN D �.cg c]  }.|.d   ‘Œ	 c}.z   }/dO|z  dP|z  dO|z  dQ|z  dQ|z  dP|z  dO|z  dR|z  g}0 ||/|0d¬S«      }1d1d/dT|fd.d/d0d&|j,                  fd3d4d5dUg}2t/        |&ddN d¬V«      D ]!  \  }'\  }3},|2j%                  d1d|'fdW|'f|,f«       Œ# |1j+                   ||2«      «       |"j%                  |1«       |"j%                   |dd&|z  «      «        ‰NdX|«       ‰Nt9        |«      |«      g ‰NdY|«       ‰Nt7        |«      |«      gg}4 ||4d,|z  d|z  gdZ¬[«      }5|5j+                   |d.d/d0d&|j,                  fd1d/d2|!fd\d4d5g«      «       |"j%                  |5«       |"j%                   |dd6|z  «      «       |"j%                   ‰Nd]|«      «       |"j%                   |dd|z  «      «       g d^¢}6|6D �7�8�9cg c]$  \  }7}8}9|7t;        |j1                  |8d«      «      |9f‘Œ& }:}8}7}9d_|j1                  d`d«      fda|j1                  dbd«      fdc|j1                  ddd«      fg};t=        de„ |:D «       «      }<t=        df„ |;D «       «      }= ‰Ndg|«       ‰Ndh|«       ‰Ndi|«       ‰Ndj|«       ‰Ndi|«      gg}>t?        tA        |:«      tA        |;«      «      }?tC        |?«      D ]œ  }'|'tA        |:«      k  r|:|'   ndk\  }@}A}B|'tA        |;«      k  r|;|'   ndl\  }C}DABz  }E|>j%                   ‰N@|«       ‰N|@rArt'        A«      ndG|«       ‰N@rArt7        E«      ndG|«       ‰NC|«       ‰N|Crt7        D«      ndG|«      g«       Œž |>j%                   ‰Ndm|«       ‰NdG|«       ‰Nt7        |<«      |«       ‰Ndn|«       ‰Nt7        |=«      |«      g«       |>j%                   ‰Ndo|«       ‰NdG|«       ‰NdG|«       ‰NdG|«       ‰Nt7        |<|=z   «      |«      g«        ||>dp|z  d|z  dq|z  dq|z  dq|z  g¬-«      }Fd1d/dT|fd.d/d0d&|j,                  fd3d4d5drdsdtd1dud0|!fg	}GtC        d|?dz   «      D ]4  }'|'dz
  dz  dk(  r| n|j2                  },Gj%                  d1d|'fdW|'f|,f«       Œ6 Fj+                   |G«      «       |"j%                  |F«       |"j%                   |dd|z  «      «       dv|z  dwz  }H ‰Ndx‰P«       ‰Ndy‰P«       ‰Ndz‰P«      g}I ‰Nd{‰P«       ‰Nd{‰P«       ‰Nd{‰P«      g}Jd|t&        dNz  d'‰NfˆNˆOˆPfd}„}K |K|	|
«       |K||«       |K||«      g}L ||I|J|Lg|H|H|Hg¬-«      }M|Mj+                   |g d~¢«      «       |"j%                  |M«       |jE                  |"«       |jG                  «       S c c}.w c c}9}8}7w )aâ  
    Generate a Berita Acara Penjualan PDF with full approval chain.

    nozzles: list of dicts with keys:
        nozzle_nama, island_nama, produk_nama,
        teller_awal_manual, teller_akhir_manual,
        teller_awal_digital, teller_akhir_digital,
        primary_teller, tera, volume, harga_jual, nilai

    kas: dict with keys:
        kas_100k, kas_50k, kas_20k, kas_10k, kas_5k, kas_2k, kas_1k, kas_logam,
        pembayaran_kartu, pembayaran_qr, pembayaran_instansi
    r   ©Úcolors©ÚA4©ÚParagraphStyleÚgetSampleStyleSheet©Úcm©Ú	ParagraphÚSimpleDocTemplateÚSpacerÚTableÚ
TableStyleç      ø?é   ©ÚpagesizeÚ
leftMarginÚrightMarginÚ	topMarginÚbottomMarginÚba_titleÚHeading1é   é   ©ÚparentÚfontSizeÚ	alignmentÚ
spaceAfterÚba_subtitleÚNormalé   é   Úba_smallé   é   ©rI   rJ   ÚleadingÚba_small_boldúHelvetica-Bold©rI   rJ   rU   ÚfontNameÚ	ba_normalé	   Úba_sig©rI   rJ   rK   çš™™™™™É?ç®Gáz®×?ç�Âõ(\�â?çffffffî?ç
×£p=
ï?ç      ð?çÃõ(\�Âí?zBERITA ACARA PENJUALANç333333Ó?r   c                 ó¨   — | €yddl m }m}m} t        | d«      r/ | |d¬«      «      }| j	                  |«      j                  d«      S t        | «      S )NÚ-r   )r   ÚtimezoneÚ	timedeltaÚ
astimezoneé   ©Úhoursú%d/%m/%Y %H:%M©r   rh   ri   Úhasattrrj   r   r   )Údtr   rh   ri   Újkts        r   Ú_fmt_dtz&generate_ba_penjualan.<locals>._fmt_dtn   sM   € Øˆ:Øß:Ñ:Ü�2�|Ô$Ù™9¨1Ô-Ó.ˆCØ—=‘= Ó%×.Ñ.Ð/?Ó@Ð@Ü�2‹wˆr   ú<b>Tanggal Laporan</b>ú<b>Shift</b>ú<b>Dicetak</b>é   ©Ú	colWidthsÚGRID©r   r   ©éÿÿÿÿr}   Ú
BACKGROUND©r   r}   ©ÚVALIGNr{   r|   ÚMIDDLE©Ú
TOPPADDINGr{   r|   é   ©ÚBOTTOMPADDINGr{   r|   r…   ç      à?z <b>Data Penjualan per Nozzle</b>z(<font color='white'><b>Nozzle</b></font>z(<font color='white'><b>Island</b></font>ú(<font color='white'><b>Produk</b></font>z-<font color='white'><b>Teller Awal</b></font>z.<font color='white'><b>Teller Akhir</b></font>ú,<font color='white'><b>Volume (L)</b></font>z)<font color='white'><b>Harga/L</b></font>z,<font color='white'><b>Nilai (Rp)</b></font>Úprimary_tellerÚmanualÚteller_awal_Úteller_awal_manualÚteller_akhir_Úteller_akhir_manualÚnozzle_namaÚ Úisland_namaÚproduk_namaú.3fÚvolumeÚ
harga_jualÚnilaiNç      @çš™™™™™@g333333@gffffff
@©ry   Ú
repeatRows©r}   r   )ÚALIGN)r…   rG   r|   ÚRIGHT©Ústartr}   z<b>Total Volume</b>z<b>Total Nilai</b>rŸ   )ry   ÚhAlign)rž   )rG   r   ©rG   r}   rŸ   z#<b>Rincian Kas &amp; Pembayaran</b>))z
Rp 100.000Úkas_100ki † )z	Rp 50.000Úkas_50kiPÃ  )z	Rp 20.000Úkas_20ki N  )z	Rp 10.000Úkas_10ki'  )zRp 5.000Úkas_5kiˆ  )zRp 2.000Úkas_2kiÐ  )zRp 1.000Úkas_1kiè  )ÚLogamÚ	kas_logamrG   zKartu/DebitÚpembayaran_kartuzQR CodeÚpembayaran_qrÚInstansiÚpembayaran_instansic              3   óR   K  — | ]  \  }}}t        t        ||z  «      «      –— Œ! y ­w©N©r   r   )Ú.0Ú_ÚlembarÚdenoms       r   Ú	<genexpr>z(generate_ba_penjualan.<locals>.<genexpr>å   s&   è ø€ ÐUÉÑ5E°Q¸À”GœC ¨¡Ó/×0Éùs   ‚%'c              3   óJ   K  — | ]  \  }}t        t        |«      «      –— Œ y ­wr²   r³   )r´   rµ   r   s      r   r¸   z(generate_ba_penjualan.<locals>.<genexpr>æ   s   è ø€ ÐD±O©D¨A¨qœ¤ A£Ÿ±Oùs   ‚!#z)<font color='white'><b>Pecahan</b></font>z(<font color='white'><b>Lembar</b></font>z-<font color='white'><b>Jumlah (Rp)</b></font>z)<font color='white'><b>Non-Kas</b></font>)r’   r   rG   )r’   r’   z<b>Total Kas</b>z<b>Total Non-Kas</b>z<b>Grand Total</b>ç      @ç      @©rž   )rG   rG   r£   rŸ   ©rž   ©r=   rG   )r=   r}   rŸ   ©rž   )rw   rG   )rw   r}   rŸ   )r   éþÿÿÿé   r…   ú<b>Disubmit oleh</b>ú<b>For Approval oleh</b>ú<b>Approved oleh</b>ú<br/><br/><br/>Únamec                 óF   •— | xs d}|� ‰|«      nd} ‰|› d|› d�‰«      S ©NÚ_______________rg   z<br/><font size='8'>z</font>© ©rÆ   rq   Ú	name_lineÚdt_liner7   rs   Ú	sig_styles       €€€r   Ú_identity_cellz-generate_ba_penjualan.<locals>._identity_cell/  sC   ø€ ØÒ-Ð-ˆ	Ø!# ‘'˜"”+°SˆÙØˆkð Ø%˜Y gð/àó
ð 	
r   ©)rž   r{   r|   ÚCENTER)r�   r{   r|   ÚTOP)r„   r{   r|   r   )r‡   r{   r|   r   )$Úreportlab.libr.   Úreportlab.lib.pagesizesr0   Úreportlab.lib.stylesr2   r3   Úreportlab.lib.unitsr5   Úreportlab.platypusr7   r8   r9   r:   r;   ÚioÚBytesIOÚColorÚappendr   r   ÚsetStyleÚgreyÚ	enumerateÚgetÚwhiter   r   r    r   ÚsumÚmaxÚlenÚrangeÚbuildÚgetvalue)Qr!   r"   r#   r$   r%   r&   r'   r(   r)   r*   Úsubmitted_atr+   Úfor_approval_atÚapprover_atr.   r0   r2   r3   r5   r8   r9   r:   r;   ÚbufÚdocÚstylesÚtitle_styleÚsubtitle_styleÚsmallÚ
small_boldÚnormalÚ	HEADER_BGÚROW_ALTÚGREY_BGÚstoryÚ	meta_dataÚ
meta_tableÚnozzle_headerÚnozzle_rowsÚiÚnÚprimaryÚteller_awalÚteller_akhirÚbgÚrowÚrÚ
plain_rowsÚ
col_widthsÚnozzle_tableÚnozzle_stylerµ   Útotals_dataÚtotals_tableÚ
KAS_DENOMSÚlabelÚkeyr·   Úkas_entriesÚnon_kas_entriesÚ	total_kasÚtotal_non_kasÚkas_rowsÚmax_rowsÚk_labelÚk_lembarÚk_denomÚn_labelÚn_valÚk_rupiahÚ	kas_tableÚ	kas_styleÚcol_wÚsig_label_rowÚsig_space_rowrÏ   Úsig_identity_rowÚ	sig_tabler7   rs   rÎ   sQ                                                                                 @@@r   Úgenerate_ba_penjualanr     s×
  ú€ õ< %Ý*ßHÝ&ßZÕZä
�*‰*‹,€CÙ
Ø�bØ˜‘8¨¨r©Ø�b‘& q¨2¡vô€Cñ
 !Ó"€Fá Ø˜6 *Ñ-Ø˜q¨Qô€Kñ $Ø˜f XÑ.Ø˜q¨Qô€Nñ Ø˜6 (Ñ+Ø˜Bô€Eñ  Ø  xÑ 0Ø˜BÐ)9ô€Jñ Ø˜F 8Ñ,Ø˜Bô€Fñ Ø˜ Ñ)Ø˜aô€Ið
 —‘˜T 4¨Ó.€IØ—‘˜T 4¨Ó-€GØ—‘˜T 4¨Ó.€Gà€Eð 
‡L�L‘Ð3°[ÓAÔBØ	‡L�L‘˜9 nÓ5Ô6Ø	‡L�L‘˜˜3 ™8Ó$Ô%ð”só ñ 
Ð+¨UÓ	3±Y¸wÈÓ5NÐOÙ	�> 5Ó	)±iÀ
ÈEÓ6RÐSÙ	Ð# UÓ	+±iÄÃÐPUÓ6VÐWð€Iñ
 �y¨Q°©V°R¸"±WÐ,=Ô>€JØ×Ñ™
Ø	�v˜x¨¨f¯k©kÐ:Ø	�v˜w¨Ð0Ø2Ø.Ø.ð$ó ô ð 
‡L�L�ÔØ	‡L�L‘˜˜3 ™8Ó$Ô%ð 
‡L�L‘Ð=¸vÓFÔGØ	‡L�L‘˜˜3 ™8Ó$Ô%ñ 	Ð<¸jÓIÙÐ<¸jÓIÙÐ<¸jÓIÙÐAÀ:ÓNÙÐBÀJÓOÙÐ@À*ÓMÙÐ=¸zÓJÙÐ@À*ÓMð	€Mð !�/€Kä˜'×"‰ˆˆ1Ø—%‘%Ð(¨(Ó3ˆØ—e‘e˜l¨7¨)Ð4°a·e±eÐ<PÐRSÓ6TÓUˆØ—u‘u˜}¨W¨IÐ6¸¿¹Ð>SÐUVÓ8WÓXˆØ˜A™ š
‰W¨¯©ˆá”c˜!Ÿ%™% ¨rÓ2Ó3°UÓ;Ù”c˜!Ÿ%™% ¨rÓ2Ó3°UÓ;Ù”c˜!Ÿ%™% ¨rÓ2Ó3°UÓ;Ùœ¤ [Ó!1Ó2°3Ð7¸%Ó@Ùœ¤ \Ó!2Ó3°CÐ8¸5ÓAÙœ¤ Q§U¡U¨8°QÓ%7Ó!8Ó9¸#Ð>ÀÓGÙ”k !§%¡%¨°aÓ"8Ó9¸5ÓAÙ”k !§%¡%¨°Ó"3Ó4°eÓ<ð	
ˆð 	×Ñ˜C ˜9Ö%ð #ð$ ˜a‘.Ð!°;¸q¸r±?Ó$C±?¨a Q q£T°?Ñ$CÑC€JØ�b‘&˜#˜b™& # b¡&¨#¨b©&°#°b±&¸#¸b¹&À#ÀbÁ&È#ÈbÉ&ÐQ€JÙ˜¨zÀaÔH€Lð 
�v˜w¨	Ð2Ø	�v˜x¨¨f¯k©kÐ:Ø2Ø.Ø.Ø1ð€Lô   ¨A¨B °q×9‰
ˆ‰7ˆAˆrØ×Ñ˜\¨A¨q¨6°B¸°7¸BÐ?Õ@ð :à×Ñ™* \Ó2Ô3Ø	‡L�L�Ôð 
‡L�L‘˜˜3 ™8Ó$Ô%á	Ð(¨%Ó	0±)¼HÀ\Ó<RÐTYÓ2ZÐ[Ù	Ð'¨Ó	/±)¼KÈÓ<TÐV[Ó2\Ð]ð€Kñ ˜°°R±¸¸R¹Ð0@ÈÔQ€LØ×Ñ™*Ø	�v˜x¨¨f¯k©kÐ:Ø	�v˜w¨Ð0Ø0Ø.Ø.ð&ó ô ð 
‡L�L�Ôð 
‡L�L‘˜˜3 ™8Ó$Ô%Ø	‡L�L‘Ð@À&ÓIÔJØ	‡L�L‘˜˜3 ™8Ó$Ô%ò	€Jñ ",õá!+ÑˆE�3˜ð 
”�C—G‘G˜C “OÓ$ eÒ,Ø!+ð ò ð
 
˜Ÿ™Ð!3°QÓ7Ð8Ø	˜Ÿ™ °!Ó4Ð5Ø	˜Ÿ™Ð!6¸Ó:Ð;ð€Oô ÑUÉÓUÓU€IÜÑD±OÓDÓD€Mñ 	Ð=¸zÓJÙÐ<¸jÓIÙÐAÀ:ÓNÙÐ=¸zÓJÙÐAÀ:ÓNðð €Hô ”3�{Ó#¤S¨Ó%9Ó:€HÜ�8Ž_ˆØ78¼3¸{Ó;KÒ7K [°¢^ÐQ[Ñ"ˆ�˜7Ø/0´3°Ó3GÒ/G˜¨Ò+ÈX‰ˆ�Ø˜gÑ%ˆØ�‰Ù�g˜uÓ%Ù¡w±8”c˜(”mÀÀUÓKÙ©w¹8”k (Ô+ÈÈUÓSÙ�g˜uÓ%Ù©G”k %Ô(¸¸UÓCð
õ 	ð	 ð ‡O�OÙÐ$ jÓ1Ù�"�eÓÙ”+˜iÓ(¨*Ó5ÙÐ(¨*Ó5Ù”+˜mÓ,¨jÓ9ðô ð ‡O�OÙÐ&¨
Ó3Ù�"�eÓÙ�"�eÓÙ�"�eÓÙ”+˜i¨-Ñ7Ó8¸*ÓEðô ñ �h¨3¨r©6°3°r±6¸3¸r¹6À3ÀrÁ6È3ÈrÉ6Ð*RÔS€Ià	�v˜w¨	Ð2Ø	�v˜x¨¨f¯k©kÐ:Ø2Ø.Ø.Ø0Ø0Ø0à	�w ¨'Ð2ð€Iô �1�h ‘lÖ#ˆØ˜Q™ !™ qÒ(‰W¨f¯l©lˆØ×Ñ˜,¨¨A¨°°Q°¸Ð<Õ=ð $ð ×Ñ‘z )Ó,Ô-Ø	‡L�L�Ôð 
‡L�L‘˜˜3 ™8Ó$Ô%à�‰G�a‰K€Eñ 	Ð(¨9Ó5ÙÐ,¨yÓ9ÙÐ(¨9Ó5ð€Mñ 	Ð# YÓ/ÙÐ# YÓ/ÙÐ# YÓ/ð€Mð
œS 4™Zð 
°	÷ 
ñ 	Ð(¨,Ó7ÙÐ+¨_Ó=Ù�} kÓ2ðÐñ Ø	˜Ð'7Ð8Ø˜% Ð'ô€Ið ×Ñ‘zò #ó ô ð 
‡L�L�Ôà‡I�IˆeÔØ�<‰<‹>ÐùòE %Dùôds   Ð!e.×)e3ÚitemsÚshift_breakdownÚharga_per_tangkiÚrun_by_nameÚapproved_by_nameÚpenyetoran_listÚpenebusan_listÚexpenses_listc                 óì5  ‡Ž‡�‡�‡‘‡’‡“— ddl m} ddlm}m} ddlm}m} ddlm	} ddl
mŠŽm}m}m}m} dt         fd„Š�dÃd	t"        dt         fd
„Š�dt         fd„}t%        j&                  «       } || ||«      d|z  d|z  d|z  d|z  ¬«      } |«       } |d|d   ddd¬«      } |d|d   ddd¬«      } |d|d   dd¬«      } |d|d   ddd¬«      } |d|d   ddd¬ «      } |d!|d   d"d¬#«      Š’ |d$|d   d"d¬«      } |d%|d   d&d"|j)                  d'd'd'«      ¬(«      } |j)                  d)d*d+«      }!|j)                  d,d-d.«      }"|j)                  d/d/d/«      }#|j)                  d0d1d-«      }$g }%|%j+                   ‰Žd2|«      «       |%j+                   ‰Ž| |«      «       |%j+                   |dd3|z  «      «        ‰Žd4|«       ‰Ž||«      g ‰Žd5|«       ‰Žt-        «       |«      gg}& ||&d6|z  d7|z  g¬8«      }'|'j/                   |d9d:d;d3|j0                  fd<d:d=|#fd>d?d@g«      «       |%j+                  |'«       |%j+                   |ddA|z  «      «       |%j+                   ‰ŽdB|«      «       |%j+                   |dd)|z  «      «        ‰ŽdC|«       ‰ŽdD|«       ‰ŽdE|«       ‰ŽdF|«       ‰ŽdG|«       ‰ŽdH|«       ‰ŽdI|«       ‰ŽdJ|«       ‰ŽdK|«      g	}(dL|z  dM|z  dL|z  dL|z  dL|z  dL|z  dL|z  dL|z  dN|z  g	})|(g}*d<d:dO|!fg}+ˆ�fdP„},ˆ�fdQ„}-t3        dR«      }.t3        dR«      }/t3        dR«      }0t3        dR«      }1t5        |«      D �](  \  }2Š‘|2dz  dk(  r|"n|j6                  }3t9        |*«      }4‰‘j;                  dS«      }5‰‘j;                  dT«      }6|6�t3        t!        |6«      «      dV›ndW}7|5�|.t3        t!        |5«      «      z  }.‰‘j;                  dX«      }8|8�|/t3        t!        |8«      «      z  }/‰‘j;                  dY«      }9|9�|0t3        t!        |9«      «      z  }0‰‘j;                  dZ«      }:|:�|1t3        t!        |:«      «      z  }1|*j+                   ‰Ž‰‘j;                  d[d\«      |«       ‰Ž‰‘j;                  d]d\«      xs d\|«       ‰Ž ‰�‰‘j;                  d^«      «      |«       ‰Ž ‰�‰‘j;                  d_«      «      |«       ‰Ž ‰�‰‘j;                  d`«      «      |«       ‰Ž ‰�‰‘j;                  da«      «      |«       ‰Ž ‰�‰‘j;                  db«      «      |«       ‰Ž |,|5«      |«       ‰Ž|7|«      g	«       |+j+                  d<d|4fdc|4f|3f«       t9        |*«      };t?        ˆ‘fdd„deD «       «      }<‰‘j;                  df«      }=|*j+                   ‰Ždg| «       ‰Žd\| «       ‰Ž|<r ‰�‰‘j;                  dh«      «      ndW| «       ‰Ž|<r ‰�‰‘j;                  di«      «      ndW| «       ‰Ž|<r ‰�‰‘j;                  dj«      «      ndW| «       ‰Ž|<r ‰�‰‘j;                  dk«      «      ndW| «       ‰Ž|<r ‰�‰‘j;                  dl«      «      ndW| «       ‰Ž|<r |,|=«      ndW| «       ‰Žd\| «      g	«       |+j+                  d<d|;fdc|;f|$f«       �Œ+ t9        |*«      }>|*j+                   ‰Ždm|«       ‰Žd\|«       ‰Žd\|«       ‰Žd\|«       ‰Žd\|«       ‰Žd\|«       ‰Žd\|«       ‰Ždn |-|.«      › do�|«       ‰Žd\|«      g	«       |+j+                  d<d|>fdc|>f|#f«        ||*|)d¬p«      }?|?j/                   |d9d:d;d3|j0                  fd>dqdrdsg|+z   «      «       |%j+                  |?«       |�rÀ|xs i }@|@sO|D ]J  Š‘‰‘j;                  dt«      }A‰‘j;                  du«      }B|A€Œ(B€Œ+t3        t!        B«      «      @t#        A«      <   ŒL dL|z  dv|z  dL|z  dL|z  dL|z  dw|z  dx|z  dy|z  dw|z  g	}C ‰ŽdC|«       ‰ŽdD|«       ‰ŽdG|«       ‰ŽdF|«       ‰ŽdJ|«       ‰ŽdK|«       ‰Ždz|«       ‰Žd{|«       ‰ŽdK|«      g	}Ddd|l
m }E |%j+                   |ddA|z  «      «       |%j+                   |Ed}dA|jC                  d~«      ¬«      «       |%j+                   |dd3|z  «      «       |%j+                   ‰Žd€|«      «       d�„ }F|D �]s  }G|%j+                   |dd'|z  «      «       |Gj;                  d‚dW«      › dƒ|Gj;                  d„d\«      › �}H|%j+                   ‰Ždn|H› do�|«      «       |%j+                   |dd…|z  «      «       Dg}Id<d:dO|!fg}Jt5        |Gj;                  d†«      xs g «      D �]�  \  }KŠ“|Kdz  dk(  r|"n|j6                  }Lt9        I«      }M‰“j;                  dt«      }N|N�@j;                  t#        N«      «      ndU}O‰“j;                  dS«      }P‰“j;                  d‡«      }Q‰“j;                  dT«      }R‰“j;                  dˆ«      }S F|P|O«      }TIj+                   ‰Ž‰“j;                  d[d\«      |«       ‰Ž‰“j;                  d]d\«      xs d\|«       ‰Ž ‰�‰“j;                  d`«      «      |«       ‰Ž ‰�‰“j;                  d_«      «      |«       ‰Ž |,P«      |«       ‰ŽR�t3        t!        R«      «      dV›ndW|«       ‰Ž |T«      |«       ‰Ž |,Q«      |«       ‰ŽS�t3        t!        S«      «      dV›ndW|«      g	«       Jj+                  d<dMfdc|MfLf«       t9        I«      }Ut?        ˆ“fd‰„dŠD «       «      }V|Ij+                   ‰Ždg| «       ‰Žd\| «       ‰Ž|Vr ‰�‰“j;                  dj«      «      ndW| «       ‰ŽVr ‰�‰“j;                  di«      «      ndW| «       ‰ŽVr |,‰“j;                  df«      «      ndW| «       ‰Žd\| «       ‰Žd\| «       ‰Žd\| «       ‰Žd\| «      g	«       Jj+                  d<dUfdc|Uf|$f«       �Œ„  |ICd¬p«      }W|Wj/                   |d9d:d;d3|j0                  fd>dqdrdsgJz   «      «       |%j+                  |W«       �Œv |D �2cg c]  }2|2j;                  du«      €Œ|2‘Œ }X}2|X�r†dd|l
m }E |%j+                   |ddA|z  «      «       |%j+                   |Ed}dA|jC                  d~«      ¬«      «       |%j+                   |dd3|z  «      «       |%j+                   ‰Žd‹|«      «       |%j+                   |dd)|z  «      «        ‰ŽdC|«       ‰ŽdD|«       ‰ŽdŒ|«       ‰ŽdJ|«       ‰Ždz|«      g}Ydx|z  dy|z  d�|z  d�|z  dŽ|z  g}Z|Yg}[d<d:dO|!fg}\t5        X«      D ]Û  \  }2Š‘|2dz  dk(  r|"n|j6                  }Lt9        [«      }M|[j+                   ‰Ž‰‘j;                  d[d\«      |«       ‰Ž‰‘j;                  d]d\«      xs d\|«       ‰Ž |‰‘j;                  du«      «      |«       ‰Ž |,‰‘j;                  dS«      «      |«       ‰Ž |‰‘j;                  dX«      «      |«      g«       \j+                  d<dMfdc|MfLf«       ŒÝ t9        [«      }>|[j+                   ‰Žd�|«       ‰Žd\|«       ‰Žd\|«       ‰Ždn |-|.«      › do�|«       ‰Ždn ||/«      › do�|«      g«       \j+                  d<d|>fdc|>f|#f«        ||[Zd¬p«      }]|]j/                   |d9d:d;d3|j0                  fd>dqdrdsg|\z   «      «       |%j+                  |]«       |D �2cg c]F  }2tE        |2j;                  dY«      xs d«      dk7  s!tE        |2j;                  d�«      xs d«      dkD  r|2‘ŒH }^}2|^�r²dd|l
m }E |%j+                   |ddA|z  «      «       |%j+                   |Ed}dA|jC                  d~«      ¬«      «       |%j+                   |dd3|z  «      «       |%j+                   ‰Žd‘|«      «       |%j+                   |dd)|z  «      «       ˆ�fd’„}_d“„ }`t3        d”«      }a ‰ŽdC|«       ‰ŽdD|«       ‰Žd•|«       ‰Žd–|«       ‰Žd—|«       ‰ŽdK|«       ‰Žd˜|«       ‰Žd™|«      g}bdy|z  dL|z  dš|z  dš|z  dx|z  dN|z  d›|z  dy|z  g}c|bg}dd<d:dO|!fg}et5        |«      D �]Á  \  }2Š‘‰‘j;                  dY«      }9‰‘j;                  d�«      }f|9�tE        |9«      dk(  rf�tE        f«      dk(  rŒJ|2dz  dk(  r|"n|j6                  }Lt9        d«      }M‰‘j;                  d_«      }g‰‘j;                  dˆ«      }h	 |9�t3        t!        |9«      «      n
t3        dR«      }ih�t3        t!        h«      «      n
t3        dR«      }jidkD  xr tG        j«      akD  }k|krdœ}ln
idk  rd�}lnd}ldj+                   ‰Ž‰‘j;                  d[d\«      |«       ‰Ž‰‘j;                  d]d\«      xs d\|«       ‰Ž ‰�f«      |«       ‰Ž ‰�g«      |«       ‰Ž _|9«      |«       ‰Ž `h|9«      |«       ‰ŽdŸ|«       ‰Žl|«      g«       ej+                  d<dMfdc|MfLf«       ks�ŒŸej+                  d d&Mfd&|Mf|jH                  f«       �ŒÄ t9        d«      }>|dj+                   ‰Žd�|«       ‰Žd\|«       ‰Žd\|«       ‰Žd\|«       ‰Ždn _|0«      › do�|«       ‰Žd\|«       ‰Žd\|«       ‰Žd\|«      g«       ej+                  d<d|>fdc|>f|#f«        ||dcd¬p«      }m|mj/                   |d9d:d;d3|j0                  fd>dqdrdsg|ez   «      «       |%j+                  |m«       |	�rdd|l
m }E |%j+                   |ddA|z  «      «       |%j+                   |Ed}dA|jC                  d~«      ¬«      «       |%j+                   |dd3|z  «      «       |%j+                   ‰Žd¡|«      «       |%j+                   |dd)|z  «      «        ‰Žd¢|«       ‰Žd£|«       ‰Žd¤|«       ‰Žd™|«      g}nd�|z  dx|z  dŽ|z  d�|z  g}o|ng}pd<d:dO|!fg}qt5        |	«      D ]ç  \  }2}r|2dz  dk(  r|"n|j6                  }Lt9        p«      }Mrj;                  d„«      xs dW}spj+                   ‰Žrj;                  d‚«      xs d\|«       ‰Žs|«       ‰Ž |rj;                  d¥«      «      |«       ‰Žt!        |rj;                  d¦«      xs d\«      jK                  d§d¨«      jM                  «       |«      g«       qj+                  d<dMfdc|MfLf«       Œé  |pod¬p«      }t|tj/                   |d9d:d;d3|j0                  fd>dqdrd©gqz   «      «       |%j+                  |t«       |
�rÂ|%j+                   |ddA|z  «      «       |%j+                   Ed}dA|jC                  d~«      ¬«      «       |%j+                   |dd3|z  «      «       |%j+                   ‰Ždª|«      «       |%j+                   |dd)|z  «      «        ‰Žd£|«       ‰Žd«|«       ‰Žd¬|«       ‰ŽdD|«       ‰Žd­|«      g}udy|z  d�|z  dx|z  d�|z  dx|z  g}v|ug}wd<d:dO|!fg}x|
D �]–  }y|yj;                  d„«      xs dW}syj;                  d®«      xs dW}zyj;                  d¯«      xs dW}{yj;                  d°«      xs g }|||swt9        w«      }M|Mdz
  dz  dk(  r|"n|j6                  }Lwj+                   ‰Žs|«       ‰Žz|«       ‰Ž{|«       ‰ŽdW|«       ‰ŽdW|«      g«       xj+                  d<dMfdc|Mf|Lf«       ŒÑt5        |«      D ]¸  \  }}}~t9        w«      }M|Mdz
  dz  dk(  r|"n|j6                  }Lwj+                   ‰Ž}dk(  rsnd\|«       ‰Ž}dk(  rznd\|«       ‰Ž}dk(  r{nd\|«       ‰Ž~j;                  d]«      xs d\|«       ‰Ž ‰�~j;                  d±«      «      |«      g«       xj+                  d<dMfdc|MfLf«       Œº �Œ™  |wvd¬p«      }|j/                   |d9d:d;d3|j0                  fd>dqdrd²gxz   «      «       |%j+                  |«       |�rD|%j+                   |ddA|z  «      «       |%j+                   Ed}dA|jC                  d~«      ¬«      «       |%j+                   |dd3|z  «      «       |%j+                   ‰Žd³|«      «       |%j+                   |dd)|z  «      «       dd´l'm(}€  |€t2        «      }�|D ]G  }‚�|‚j;                  dµ«      xs d¶xx   t3        t!        ‚j;                  d·«      xs d«      «      z  cc<   ŒI  ‰Žd¸|«       ‰Žd¹|«      g}ƒdº|z  d»|z  g}„|ƒg}…d<d:dO|!fg}†t3        d«      }‡t5        �jS                  «       «      D ]n  \  }2\  }ˆ}‰|2dz  dk(  r|"n|j6                  }Lt9        …«      }M|…j+                   ‰Žˆ|«       ‰Ž |‰«      |«      g«       †j+                  d<d|Mfdc|Mf|Lf«       ‡|‰z  }‡Œp t9        …«      }>|…j+                   ‰Žd�|«       ‰Ždn |‡«      › do�|«      g«       †j+                  d<d|>fdc|>f|#f«        ||…„d¬p«      }Š|Šj/                   |d9d:d;d3|j0                  fd>dqdrd¼g|†z   «      «       |%j+                  |Š«       |%j+                   |dd|z  «      «       d½|z  dz  }‹ˆŽˆ�ˆ’fd¾„}Œ | ‰Žd¿‰’«       ‰ŽdÀ‰’«      g ‰ŽdÁ‰’«       ‰ŽdÁ‰’«      g |Œ||«       |Œ||«      gg|‹|‹g¬8«      }�|�j/                   |g dÂ¢«      «       |%j+                  |�«       |jU                  |%«       |jW                  «       S # t<        $ r Y �Œ×w xY w# t<        $ r Y �Œ½w xY w# t<        $ r Y �Œ£w xY w# t<        $ r Y �Œ‰w xY w# t<        $ r Y �ŒŠw xY wc c}2w c c}2w # t<        $ r	 dž\  }k}lY �	ŒÝw xY w)Äaç  
    Generate Berita Acara Rekonsiliasi Harian PDF.

    items: list of dicts (summary per tangki):
        tangki_id, tangki_nama, produk_nama,
        stok_awal, penerimaan, penjualan, stok_teoritis, stok_aktual,
        losses, losses_pct, nilai_losses, penerimaan_losses_liter,
        penerimaan_losses_pct, nilai_penerimaan_losses,
        stok_awal_digital, penerimaan_digital, penjualan_digital,
        stok_teoritis_digital, stok_aktual_digital, losses_digital

    shift_breakdown: list of ShiftBreakdown dicts (per shift detail):
        shift_nama, tanggal, total_penjualan, total_penerimaan,
        total_losses, total_penerimaan_losses, penyetoran_total,
        tangki: [{tangki_id, tangki_nama, produk_nama, penjualan, penerimaan,
                  losses, losses_pct, penerimaan_losses, penerimaan_losses_pct,
                  penjualan_digital, penerimaan_digital, losses_digital, ...}]

    harga_per_tangki: {tangki_id: harga_per_liter} for nilai computation in per-shift
    r   r-   )r0   Ú	landscaper1   r4   r6   r   c                 ó¤   — | €yddl m}m} t        | d«      r/ | |d¬«      «      }| j	                  |«      j                  d«      S t        | «      S ©Nrg   r   )rh   ri   rj   rk   rl   rn   ro   ©rq   rh   ri   rr   s       r   rs   z)generate_ba_rekonsiliasi.<locals>._fmt_dtv  óJ   € Øˆ:Øß0Ü�2�|Ô$Ù™9¨1Ô-Ó.ˆCØ—=‘= Ó%×.Ñ.Ð/?Ó@Ð@Ü�2‹wˆr   Údecc                 ór   — | €y	 t        t        | «      «      d|› d�›S # t        $ r t        | «      cY S w xY w)Nrg   r   r   r   )r   r-  s     r   Ú_fvz%generate_ba_rekonsiliasi.<locals>._fv  sB   € Øˆ9Øð	Üœc !›f“o a¨ u¨A XÐ.Ð/øÜò 	Ü�q“6ŠMð	ús   … Ÿ6µ6c                 ó¤   — | €y	 t        t        t        | «      «      «      }d|d›�j                  dd«      S # t        $ r t        | «      cY S w xY w)Nrg   r   r   r   r   )r   Úivs     r   Ú_frz%generate_ba_rekonsiliasi.<locals>._fr‡  sT   € Øˆ9Øð	Ü”WœS ›V“_Ó%ˆBØ˜˜A˜�<×'Ñ'¨¨SÓ1Ð1øÜò 	Ü�q“6ŠMð	ús   …28 ¸AÁAr<   r=   r>   Ú	bar_titlerE   rF   rG   rH   Úbar_subtitlerN   rO   rP   Ú	bar_smallg      @é
   rT   Úbar_small_boldrW   rX   Úbar_small_r)rI   rJ   rU   rK   Úbar_sigr[   r]   Ú
bar_normalÚbar_greyrk   gš™™™™™Ù?)rI   rJ   rU   Ú	textColorr^   r_   r`   ra   rb   rc   rd   g)\�Âõ(ì?gq=
×£pí?z BERITA ACARA REKONSILIASI HARIANre   rt   rv   rw   é   rx   rz   r{   r|   r~   r   r€   rƒ   r†   rˆ   z%<b>Detail Rekonsiliasi per Tangki</b>ú(<font color='white'><b>Tangki</b></font>r‰   z/<font color='white'><b>Stok Awal (L)</b></font>z0<font color='white'><b>Penerimaan (L)</b></font>z/<font color='white'><b>Penjualan (L)</b></font>z3<font color='white'><b>Stok Teoritis (L)</b></font>z1<font color='white'><b>Stok Aktual (L)</b></font>z1<font color='white'><b>Losses/Gain (L)</b></font>z#<font color='white'><b>%</b></font>çffffff@r™   gÍÌÌÌÌÌü?r�   c                 ó˜   •— | €y	 t        t        | «      «      }|dkD  rd ‰|«      › �S  ‰|«      S # t        $ r t        | «      cY S w xY w©Nrg   r   Ú+r   ©r   Údr/  s     €r   Ú_lv_strz)generate_ba_rekonsiliasi.<locals>._lv_strÏ  sN   ø€ Øˆ9˜Sð	(Üœ˜A›“ˆAØ#$ q¢5�Q‘s˜1“v�h�<Ð4©c°!«fÐ4øÜÒ'¤ Q£š-Ð'ús   †#2 ª2 ²A	ÁA	c                 ó’   •— 	 t        t        | «      «      }|dkD  rd ‰|«      › �S  ‰|«      S # t        $ r t        | «      cY S w xY w)Nr   rB  r   rC  s     €r   Ú_tot_strz*generate_ba_rekonsiliasi.<locals>._tot_strÖ  sG   ø€ ð	(Üœ˜A›“ˆAØ#$ q¢5�Q‘s˜1“v�h�<Ð4©c°!«fÐ4øÜÒ'¤ Q£š-Ð'ús   ƒ#/ §/ ¯AÁAÚ0ÚlossesÚ
losses_pctNr•   rg   Únilai_lossesÚpenerimaan_losses_literÚnilai_penerimaan_lossesÚtangki_namar’   r”   Ú	stok_awalÚ
penerimaanÚ	penjualanÚstok_teoritisÚstok_aktualr}   c              3   óD   •K  — | ]  }‰j                  |«      d u–— Œ y ­wr²   ©rß   )r´   ÚkÚitems     €r   r¸   z+generate_ba_rekonsiliasi.<locals>.<genexpr>  s'   øè ø€ ð ñ <
°a˜$Ÿ(™( 1›+¨TÔ1ñ <
ùó   ƒ )Ústok_awal_digitalÚpenerimaan_digitalÚpenjualan_digitalÚstok_teoritis_digitalÚstok_aktual_digitalÚlosses_digitalz<i>Digital</i>rY  rZ  r[  r\  r]  z<b>Total Losses/Gain</b>z<b>z</b>r›   )r„   r{   r|   r=   )r‡   r{   r|   r=   ©rž   r¾   r|   rŸ   Ú	tangki_idÚharga_per_litergffffff@gš™™™™™ù?r»   rº   z3<font color='white'><b>Nilai Losses/Gain</b></font>z7<font color='white'><b>Losses Pengiriman (L)</b></font>)Ú
HRFlowablez100%z#dee2e6)ÚwidthÚ	thicknessÚcolorz<b>Rincian per Shift</b>c                 ó|   — | �|€y t        t        | «      «      t        t        |«      «      z  S # t        $ r Y y w xY wr²   r   )ÚvalÚhs     r   Ú_nlvz&generate_ba_rekonsiliasi.<locals>._nlvQ  s6   € Øˆ{˜a˜i°Ü¤ C£Ó)¬G´C¸³F«OÑ;Ð;øÜÒ)¡TÐ)ús   †(/ ¯	;º;r$   u     Â·  r#   g333333Ã?ÚtangkiÚpenerimaan_lossesÚpenerimaan_losses_pctc              3   óD   •K  — | ]  }‰j                  |«      d u–— Œ y ­wr²   rU  )r´   rV  Úts     €r   r¸   z+generate_ba_rekonsiliasi.<locals>.<genexpr>y  s!   øè ø€ ÐxÑ:w°Q˜AŸE™E !›H¨DÔ0Ñ:wùrX  )r[  rZ  r^  z<b>Nilai Rupiah</b>z+<font color='white'><b>Harga / L</b></font>g      @g      @z<b>Total</b>Úpenerimaan_expected_literz(<b>Detail Losses/Gain Pengiriman BBM</b>c                 óÊ   •— | €y	 t        t        | «      «      }|dkD  rd ‰|«      › �S |dk  rd ‰t        |«      «      › �S  ‰|«      S # t        $ r t        | «      cY S w xY wrA  ©r   r   Úabsr   rC  s     €r   Ú_pen_lv_strz-generate_ba_rekonsiliasi.<locals>._pen_lv_strÒ  si   ø€ Øˆy ð,ÜœC ›F“O�Ø�q’5 1¡S¨£V H Ð-Ø�q’5 1¡S¬¨Q«£[ MÐ!2Ð2Ù˜1“v�øÜÒ+¤S¨£VšmÐ+ús   †#A ªA ÁA ÁA"Á!A"c                 ó¾   — | �|€y	 t        t        | «      «      }t        t        |«      «      }|dkD  rdn|dk  rdnd}|› t        |«      d›d�S # t        $ r Y yw xY w)Nrg   r   rB  r’   r•   Ú%rq  )r   Úlosses_vrD  ÚlvÚsigns        r   Ú_pen_pct_strz.generate_ba_rekonsiliasi.<locals>._pen_pct_strÛ  sg   € Øˆy˜HÐ,°Sð)ÜœC ›F“O�ÜœS ›]Ó+�Ø  1šf‘s°"°q²&©3¸b�Ø˜¤ A£ s˜|¨1Ð-Ð-øÜÒ(¡SÐ(ús   ‡AA Á	AÁAz0.15z/<font color='white'><b>Volume DO (L)</b></font>z5<font color='white'><b>Volume Diterima (L)</b></font>z3<font color='white'><b>Losses / Gain (L)</b></font>z+<font color='white'><b>Threshold</b></font>z(<font color='white'><b>Status</b></font>gš™™™™™	@rš   zMelebihi thresholdÚGain)FrN   z0,15%Ú	TEXTCOLORz <b>Penyetoran (Cash Deposit)</b>z'<font color='white'><b>Shift</b></font>z)<font color='white'><b>Tanggal</b></font>z1<font color='white'><b>Total Penjualan</b></font>Útotal_penjualanÚstatusrµ   Ú r½   z$<b>Penebusan BBM (Fuel Purchase)</b>z.<font color='white'><b>Booking Code</b></font>z(<font color='white'><b>No. SO</b></font>rŠ   Úbooking_codeÚno_sor  Úvolume_pesanr¿   z<b>Expenses</b>)ÚdefaultdictÚkategori_namaÚLainnyaÚjumlahz*<font color='white'><b>Kategori</b></font>z'<font color='white'><b>Total</b></font>g      $@g      @r¼   é   c                 óF   •— | xs d}|� ‰|«      nd} ‰|› d|› d�‰«      S rÈ   rÊ   rË   s       €€€r   Ú_identity_cell_rekonz6generate_ba_rekonsiliasi.<locals>._identity_cell_rekonÈ  ó8   ø€ ØÒ-Ð-ˆ	Ø!# ‘'˜"”+°SˆÙ˜I˜;Ð&:¸7¸)À7ÐKÈYÓWÐWr   z<b>Dijalankan oleh</b>z<b>Diapprove oleh</b>rÅ   rÐ   ©r…   ),rÓ   r.   rÔ   r0   r(  rÕ   r2   r3   rÖ   r5   r×   r7   r8   r9   r:   r;   r   r   rØ   rÙ   rÚ   rÛ   r   rÜ   rÝ   r   rÞ   rà   rã   rß   r   Úanyrb  ÚHexColorÚfloatrr  Úredr   ÚtitleÚcollectionsr‚  r  rå   ræ   )”r!   r#   r  r   r!  r"  Úrun_atr#  Úapproved_atr$  r%  r&  r.   r0   r(  r2   r3   r5   r8   r9   r:   r;   r2  rê   rë   rì   rí   rî   rï   rð   Úsmall_rightrñ   Ú	grey_textrò   ró   rô   Ú
DIGITAL_BGrõ   rö   r÷   Ú	s1_headerÚs1_col_wÚs1_rowsÚ	s1_stylesrE  rG  Útotal_losses_lÚtotal_nilai_lossesÚtotal_pen_lÚtotal_nilai_penrú   Úbase_bgÚrow_idxrI  rJ  Úpct_strÚnlÚpen_vÚnp_Ú	d_row_idxÚhas_digitalÚlosses_dÚtot_riÚs1_tableÚ	harga_mapÚtidrh  Úsh_col_wÚ	sh_headerrb  ri  ÚsbÚshift_labelÚsb_rowsÚ	sb_stylesÚtirÿ   ÚriÚt_idÚhargaÚlosses_tÚpen_losses_tÚlosses_pct_tÚ	pen_pct_tÚnl_tÚd_riÚhas_dÚsb_tableÚitems_with_hargaÚ	rp_headerÚrp_col_wÚrp_rowsÚ	rp_stylesÚrp_tableÚitems_with_penrs  ry  ÚPENERIMAAN_THRESHOLD_PCTÚ
pen_headerÚ	pen_col_wÚpen_rowsÚ
pen_stylesÚexp_vrP  Úpen_pctÚpv_dÚpp_dÚexceedÚ
status_txtÚ	pen_tableÚ
pyn_headerÚ	pyn_col_wÚpyn_rowsÚ
pyn_stylesÚpÚtgl_strÚ	pyn_tableÚ
pnb_headerÚ	pnb_col_wÚpnb_rowsÚ
pnb_stylesÚpnbÚbookingr€  Ú	pnb_itemsÚjÚitÚ	pnb_tabler‚  Úexp_groupedÚeÚ
exp_headerÚ	exp_col_wÚexp_rowsÚ
exp_stylesÚgrand_totalÚkatÚtotalÚ	exp_tabler  rˆ  Úsig_table_rekonr7   rs   r/  rW  rÎ   rn  s”                                                                                                                                                 @@@@@@r   Úgenerate_ba_rekonsiliasirì  N  s.  ý€ õD %ß5ßHÝ&ßZÕZð”só ñ”Cð ¤ó ð”#ó ô �*‰*‹,€CÙ
Ø‘i “mØ˜‘8¨¨r©Ø�b‘& q¨2¡vô€Cñ
 !Ó"€Fá  °V¸JÑ5GÐRTÐ`aÐnoÔp€KÙ# N¸6À(Ñ;KÐVXÐdeÐrsÔt€NÙ˜;¨v°hÑ/?È#ÐWYÔZ€EÙÐ 0¸ÀÑ9IÐTWÐacÐn~Ô€JÙ  °v¸hÑ7GÐRUÐ_aÐmnÔo€KÙ˜y°¸Ñ1AÈAÐYZÔ[€IÙ˜L°¸Ñ1AÈAÐWYÔZ€FÙ˜z°&¸Ñ2BÈQÐXYÐek×eqÑeqÐruÐwzÐ|ó  fAô  B€Ià—‘˜T 4¨Ó.€IØ�l‰l˜4  sÓ+€GØ�l‰l˜4  tÓ,€GØ—‘˜d D¨$Ó/€Jà€Eà	‡L�L‘Ð=¸{ÓKÔLØ	‡L�L‘˜9 nÓ5Ô6Ø	‡L�L‘˜˜3 ™8Ó$Ô%ñ 
Ð+¨UÓ	3±Y¸wÈÓ5NÐOÙ	Ð# UÓ	+©Y´|³~ÀuÓ-MÐNð€Iñ �y¨Q°©V°R¸"±WÐ,=Ô>€JØ×Ñ™
Ø	�˜ 3¨¯©Ð4Ø	�v˜w¨Ð0Ø.Ø+Ø.ð$ó ô ð 
‡L�L�ÔØ	‡L�L‘˜˜3 ™8Ó$Ô%ð 
‡L�L‘ÐBÀFÓKÔLØ	‡L�L‘˜˜3 ™8Ó$Ô%ñ 	Ð<¸jÓIÙÐ<¸jÓIÙÐCÀZÓPÙÐDÀjÓQÙÐCÀZÓPÙÐGÈÓTÙÐEÀzÓRÙÐEÀzÓRÙÐ7¸ÓDð
€Ið �B‘˜˜B™  B¡¨¨B©°°B±¸¸B¹ÀÀBÁÈÈBÉÐPSÐTVÑPVÐW€HØˆk€GØ+¨V°W¸iÐHÐI€Iô(ô(ô ˜S“\€NÜ  ›ÐÜ˜#“,€KÜ˜c“l€Oä˜U×#‰ˆˆ4Ø ™U ašZ‘'¨V¯\©\ˆÜ�g“,ˆØ—‘˜(Ó#ˆØ—X‘X˜lÓ+ˆ
Ø7AÐ7M”WœS ›_Ó-¨cÑ2ÐSVˆØÐØ¤7¬3¨v«;Ó#7Ñ7�à�X‰X�nÓ%ˆØˆ>Ø#¤w¬s°2«wÓ'7Ñ7Ð#à—‘Ð2Ó3ˆØÐØ¤¬¨E«
Ó 3Ñ3�à�h‰hÐ0Ó1ˆØˆ?Ø ¤G¬C°«HÓ$5Ñ5�ð 	�‰Ù�d—h‘h˜}¨bÓ1°5Ó9Ù�d—h‘h˜}¨bÓ1Ò7°R¸Ó?Ù‘c˜$Ÿ(™( ;Ó/Ó0°+Ó>Ù‘c˜$Ÿ(™( <Ó0Ó1°;Ó?Ù‘c˜$Ÿ(™( ;Ó/Ó0°+Ó>Ù‘c˜$Ÿ(™( ?Ó3Ó4°kÓBÙ‘c˜$Ÿ(™( =Ó1Ó2°KÓ@Ù‘g˜f“o {Ó3Ù�g˜{Ó+ð

ô 
	ð 	×Ñ˜,¨¨G¨°r¸7°mÀWÐMÔNô ˜“Lˆ	Üó ñ <
ó ó ˆð —8‘8Ð,Ó-ˆØ�‰ÙÐ&¨	Ó2Ù�b˜)Ó$Ù¹K‘c˜$Ÿ(™(Ð#6Ó7Ô8ÈSÐR[Ó\Ù¹[‘c˜$Ÿ(™(Ð#7Ó8Ô9ÈcÐS\Ó]Ù¹K‘c˜$Ÿ(™(Ð#6Ó7Ô8ÈSÐR[Ó\ÙÁ‘c˜$Ÿ(™(Ð#:Ó;Ô<ÐQTÐV_Ó`Ù¹k‘c˜$Ÿ(™(Ð#8Ó9Ô:ÈsÐT]Ó^Ù©;‘g˜hÔ'¸CÀÓKÙ�b˜)Ó$ð

ô 
	ð 	×Ñ˜,¨¨I¨¸¸Y¸ÈÐTÖUðk $ôp �‹\€FØ‡N�NÙÐ,¨jÓ9Ù�"�eÓÙ�"�eÓÙ�"�eÓÙ�"�eÓÙ�"�eÓÙ�"�eÓÙ�C™ Ó0Ð1°Ð6¸ÓDÙ�"�eÓð
ô 
ð ×Ñ�l Q¨ K°"°f°¸wÐGÔHá�W¨¸QÔ?€HØ×Ñ‘jØ	�˜ 3¨¯©Ð4Ø.Ø+Ø.Ø,ð"ð 	ñ"ó ô ð 
‡L�L�Ôò Ø*Ò0¨bˆ	ÙÛ�Ø—h‘h˜{Ó+�Ø—H‘HÐ.Ó/�Ø‘? q¡}Ü/6´s¸1³v«˜¤3 s£8Ò,ð	 ð ˜‘F˜C ™F C¨¡F¨C°©F°C¸±F¸CÀ¹FÀCÈÁFÈCÐPRÉFÐTWÐXZÑTZÐ[ˆáÐ@À*ÓMÙÐ@À*ÓMÙÐGÈÓTÙÐHÈ*ÓUÙÐIÈ:ÓVÙÐ;¸ZÓHÙÐKÈZÓXÙÐOÐQ[Ó\ÙÐ;¸ZÓHð

ˆ	õ 	2Ø�‰‘V˜A˜s R™xÓ(Ô)Ø�‰‘Z f¸À6Ç?Á?ÐS\ÓC]Ô^Ô_Ø�‰‘V˜A˜s R™xÓ(Ô)Ø�‰‘YÐ9¸6ÓBÔCò	*ô
 "ˆBØ�L‰L™  3¨¡8Ó,Ô-ØŸV™V L°#Ó6Ð7°v¸b¿f¹fÀYÐPRÓ>SÐ=TÐUˆKØ�L‰L™ S¨¨°TÐ#:¸JÓGÔHØ�L‰L™  4¨"¡9Ó-Ô.à �kˆGØ'3°V¸WÀiÐ&PÐ%QˆIä" 2§6¡6¨(Ó#3Ò#9°r×:‘��AØ " Q¡¨!¢‘W°·±�Ü˜“\�Ø—u‘u˜[Ó)�Ø48Ð4D˜	Ÿ™¤c¨$£iÔ0È$�ØŸ5™5 ›?�Ø Ÿu™uÐ%8Ó9�Ø Ÿu™u \Ó2�ØŸE™EÐ"9Ó:�	Ù˜H eÓ,�à—‘Ù˜aŸe™e M°2Ó6¸Ó>Ù˜aŸe™e M°2Ó6Ò<¸"¸eÓDÙ™c !§%¡%¨Ó"4Ó5°{ÓCÙ™c !§%¡%¨Ó"5Ó6¸ÓDÙ™g hÓ/°Ó=ÙÀ\ÐE]¤¬¨\Ó):Ó!;¸CÑ @ÐcfÐhsÓtÙ™c $›i¨Ó5Ù™g lÓ3°[ÓAÙÀ)ÐBW¤¬¨Y«Ó!8¸Ñ =Ð]`ÐbmÓnð
 ô 
ð × Ñ  ,°°B°¸"¸b¸À2Ð!FÔGô ˜7“|�ÜÓxÑ:wÓxÓx�Ø—‘ÙÐ.°	Ó:Ù˜b )Ó,ÙÁ™c !§%¡%Ð(;Ó"<Ô=ÈCÐQZÓ[ÙÁ%™c !§%¡%Ð(<Ó"=Ô>ÈSÐR[Ó\ÙÁ%™g a§e¡eÐ,<Ó&=Ô>ÈSÐR[Ó\Ù˜b )Ó,Ù˜b )Ó,Ù˜b )Ó,Ù˜b )Ó,ð
 ô 
ð × Ñ  ,°°D°	¸BÀ¸:ÀzÐ!RÖSðM ;ñP ˜W°ÀQÔGˆHØ×Ñ™jØ˜ ¨3°·±Ð<Ø6Ø3Ø6Ø4ð*ð ñ*ó ô ð �L‰L˜Ö"ðs "ñx $)ÓQ¡5˜a¨A¯E©EÐ2CÓ,DÑ,Pš 5ÐÐQÚÝ1Ø�‰‘V˜A˜s R™xÓ(Ô)Ø�‰‘Z f¸À6Ç?Á?ÐS\ÓC]Ô^Ô_Ø�‰‘V˜A˜s R™xÓ(Ô)Ø�‰‘YÐ4°fÓ=Ô>Ø�‰‘V˜A˜s R™xÓ(Ô)ñ Ð@À*ÓMÙÐ@À*ÓMÙÐCÀZÓPÙÐIÈ:ÓVÙÐKÈZÓXð
ˆ	ð ˜‘F˜C ™F C¨¡F¨C°©F°C¸±FÐ;ˆØ�+ˆØ#/°¸À)Ð"LÐ!Mˆ	ä Ð!1Ö2‰GˆAˆtØ ™E QšJ‘¨F¯L©LˆBÜ�W“ˆBØ�N‰NÙ˜$Ÿ(™( =°"Ó5°uÓ=Ù˜$Ÿ(™( =°"Ó5Ò;¸¸UÓCÙ™#˜dŸh™hÐ'8Ó9Ó:¸KÓHÙ™' $§(¡(¨8Ó"4Ó5°{ÓCÙ™#˜dŸh™h ~Ó6Ó7¸ÓEðô ð ×Ñ˜l¨Q°¨G°b¸"°X¸rÐBÕCð 3ô �W“ˆØ�‰Ù�n jÓ1Ù�b˜%Ó Ù�b˜%Ó Ù˜™H ^Ó4Ð5°TÐ:¸KÓHÙ˜™CÐ 2Ó3Ð4°DÐ9¸;ÓGð
ô 	ð 	×Ñ˜,¨¨F¨°b¸&°\À7ÐKÔLá˜¨HÀÔCˆØ×Ñ™*Ø�V˜X s¨F¯K©KÐ8Ø2Ø/Ø2Ø0ð&
ð ñ&ó ô 	ð 	�‰�XÔñ "'ó M¡˜A¬%°·±Ð6OÓ0PÒ0UÐTUÓ*VÐZ[Ò*[Ü˜qŸu™uÐ%@ÓAÒFÀQÓGÈ!ÒKò  €Nð MâÝ1Ø�‰‘V˜A˜s R™xÓ(Ô)Ø�‰‘Z f¸À6Ç?Á?ÐS\ÓC]Ô^Ô_Ø�‰‘V˜A˜s R™xÓ(Ô)Ø�‰‘YÐIÈ6ÓRÔSØ�‰‘V˜A˜s R™xÓ(Ô)ô	,ò	)ô $+¨6£?Ð ñ Ð@À*ÓMÙÐ@À*ÓMÙÐGÈÓTÙÐMÈzÓZÙÐKÈZÓXÙÐ;¸ZÓHÙÐCÀZÓPÙÐ@À*ÓMð	
ˆ
ð ˜‘V˜S ™V S¨¡V¨S°©V°S¸±V¸SÀ¹VÀSÈÁVÈSÐQSÉVÐTˆ	Ø�<ˆØ$0°&¸'À9Ð#MÐ"Nˆ
ä  ×'‰GˆAˆtØ—H‘HÐ6Ó7ˆEØ—H‘HÐ8Ó9ˆEØ�¤ u£°Ò!2¸¸Ì%ÐPUË,ÐZ[ÒJ[ØØ ™E QšJ‘¨F¯L©LˆBÜ�X“ˆBØŸ™ ,Ó/ˆJØ—h‘hÐ6Ó7ˆGð5Ø.3Ð.?”wœs 5›zÔ*ÄWÈSÃ\�Ø07Ð0C”wœs 7›|Ô,ÌÐQTË�Ø ™ÒJ¤c¨$£iÐ2JÑ&J�ÙØ!5‘JØ˜A’XØ!'‘Jà!)�Jð �O‰OÙ˜$Ÿ(™( =°"Ó5°uÓ=Ù˜$Ÿ(™( =°"Ó5Ò;¸¸UÓCÙ™#˜e›* kÓ2Ù™#˜j›/¨;Ó7Ù™+ eÓ,¨kÓ:Ù™, w°Ó6¸ÓDÙ˜' ;Ó/Ù˜* eÓ,ð	ô 	ð ×Ñ˜|¨a°¨W°r¸2°hÀÐCÔDÛØ×!Ñ! ;°°B°¸!¸R¸À&Ç*Á*Ð"MÖNðC (ôH �X“ˆØ�‰Ù�n jÓ1Ù�b˜%Ó Ù�b˜%Ó Ù�b˜%Ó Ù˜™K¨Ó4Ð5°TÐ:¸KÓHÙ�b˜%Ó Ù�b˜%Ó Ù�b˜%Ó ð	
ô 		ð 	×Ñ˜<¨!¨V¨°r¸6°lÀGÐLÔMá˜(¨iÀAÔFˆ	Ø×Ñ™:Ø�V˜X s¨F¯K©KÐ8Ø2Ø/Ø2Ø0ð'
ð ñ'ó ô 	ð 	�‰�YÔò Ý1Ø�‰‘V˜A˜s R™xÓ(Ô)Ø�‰‘Z f¸À6Ç?Á?ÐS\ÓC]Ô^Ô_Ø�‰‘V˜A˜s R™xÓ(Ô)Ø�‰‘YÐAÀ6ÓJÔKØ�‰‘V˜A˜s R™xÓ(Ô)ñ Ð?ÀÓLÙÐAÀ:ÓNÙÐIÈ:ÓVÙÐ@À*ÓMð	
ˆ
ð ˜‘V˜S ™V S¨¡V¨S°©VÐ4ˆ	Ø�<ˆØ$0°&¸'À9Ð#MÐ"Nˆ
ä˜oÖ.‰DˆAˆqØ ™E QšJ‘¨F¯L©LˆBÜ�X“ˆBØ—e‘e˜IÓ&Ò-¨#ˆGØ�O‰OÙ˜!Ÿ%™% Ó-Ò3°°UÓ;Ù˜' 5Ó)Ù™#˜aŸe™eÐ$5Ó6Ó7¸ÓEÙœ#˜aŸe™e H›oÒ3°Ó4×<Ñ<¸SÀ#ÓF×LÑLÓNÐPUÓVð	ô ð ×Ñ˜|¨a°¨W°r¸2°hÀÐCÕDð /ñ ˜(¨iÀAÔFˆ	Ø×Ñ™:Ø�V˜X s¨F¯K©KÐ8Ø2Ø/Ø2Ø/ð'
ð ñ'ó ô 	ð 	�‰�YÔò Ø�‰‘V˜A˜s R™xÓ(Ô)Ø�‰‘Z f¸À6Ç?Á?ÐS\ÓC]Ô^Ô_Ø�‰‘V˜A˜s R™xÓ(Ô)Ø�‰‘YÐEÀvÓNÔOØ�‰‘V˜A˜s R™xÓ(Ô)ñ ÐAÀ:ÓNÙÐFÈ
ÓSÙÐ@À*ÓMÙÐ@À*ÓMÙÐDÀjÓQð
ˆ
ð ˜‘V˜S ™V S¨¡V¨S°©V°S¸±VÐ<ˆ	Ø�<ˆØ$0°&¸'À9Ð#MÐ"Nˆ
ä!ˆCØ—g‘g˜iÓ(Ò/¨CˆGØ—g‘g˜nÓ-Ò4°ˆGØ—G‘G˜GÓ$Ò+¨ˆEØŸ™ Ó(Ò.¨BˆIÙÜ˜“]�Ø!# a¡¨1¡°Ò 1‘W°v·|±|�Ø—‘Ù˜g uÓ-Ù˜g uÓ-Ù˜e UÓ+Ù˜c 5Ó)Ù˜c ;Ó/ð!ô ð ×!Ñ! <°!°R°¸2¸r¸(ÀBÐ"GÕHä& yÖ1‘E�A�rÜ˜X›�BØ%'¨!¡V¨q¡L°AÒ$5™¸6¿<¹<�BØ—O‘OÙ!¨Q°!ªV¡'¸¸UÓCÙ!¨Q°!ªV¡'¸¸UÓCÙ!¨1°ª6¡%°r¸5ÓAÙ! "§&¡&¨Ó"7Ò"=¸2¸uÓEÙ!¡# b§f¡f¨^Ó&<Ó"=¸{ÓKð%ô ð ×%Ñ% |°a¸°W¸rÀ2¸hÈÐ&KÕLò 2ð# "ñ: ˜(¨iÀAÔFˆ	Ø×Ñ™:Ø�V˜X s¨F¯K©KÐ8Ø2Ø/Ø2Ø/ð'
ð ñ'ó ô 	ð 	�‰�YÔò Ø�‰‘V˜A˜s R™xÓ(Ô)Ø�‰‘Z f¸À6Ç?Á?ÐS\ÓC]Ô^Ô_Ø�‰‘V˜A˜s R™xÓ(Ô)Ø�‰‘YÐ0°&Ó9Ô:Ø�‰‘V˜A˜s R™xÓ(Ô)õ 	,Ù*5´gÓ*>ˆÛˆAØ˜Ÿ™˜oÓ.Ò;°)Ó<ÄÌÈAÏEÉEÐRZËOÒL`Ð_`ÓHaÓ@bÑbÔ<ð ñ ÐBÀJÓOÙÐ?ÀÓLð
ˆ
ð ˜"‘W˜c "™fÐ%ˆ	Ø�<ˆØ$0°&¸'À9Ð#MÐ"Nˆ
ä˜a“jˆÜ(¨×):Ñ):Ó)<Ö=‰OˆA‰|��UØ ™E QšJ‘¨F¯L©LˆBÜ�X“ˆBØ�O‰OÙ˜#˜uÓ%Ù™#˜e›* kÓ2ðô ð ×Ñ˜|¨a°¨W°r¸2°hÀÐCÔDØ˜5Ñ ‰Kð  >ô �X“ˆØ�‰Ù�n jÓ1Ù˜™C Ó,Ð-¨TÐ2°KÓ@ð
ô 	ð 	×Ñ˜<¨!¨V¨°r¸6°lÀGÐLÔMá˜(¨iÀAÔFˆ	Ø×Ñ™:Ø�V˜X s¨F¯K©KÐ8Ø2Ø/Ø2Ø/ð'
ð ñ'ó ô 	ð 	�‰�YÔð 
‡L�L‘˜˜3 ™8Ó$Ô%Ø�‰G�a‰K€EöXñ
 áÐ/°Ó;¹YÐG^Ð`iÓ=jÐkÙÐ(¨)Ó4±iÐ@QÐS\Ó6]Ð^Ù! +¨vÓ6Ñ8LÐM]Ð_jÓ8kÐlð	
ð
 ˜%�.ô€Oð ×Ñ™Zò )ó ô ð 
‡L�L�Ô!à‡I�IˆeÔØ�<‰<‹>Ðøôk Ò"šdÐ"ûô Ò"šdÐ"ûô Ò"šdÐ"ûô Ò"šdÐ"ûôJ %Ò*¢dÐ*üòp RùòjMøô@ ò 5Ø%4Ñ"�›
ð5ús¢   Î%AjÏAjÏ9Aj'Ð#Aj7Ý4 AkðAkðAkú-AAkÁB/A&Ak!Áj	AjÁjAjÁj	Aj$Áj#Aj$Áj'	Aj4Áj3Aj4Áj7	AkÁkAkÁk	AkÁkAkÁk!Ak3Ák2Ak3c
                 óê	  ‡0‡1‡2— ddl m}
 ddlm} ddlm}m} ddlm} ddl	m
Š0m}m}m}m} dt        fd„Š1dt        fd	„}dt        fd
„}t!        j"                  «       } |||d|z  d|z  d|z  d|z  ¬«      } |«       } |d|d   ddd¬«      } |d|d   ddd¬«      } |d|d   dd¬«      } |d|d   ddd¬«      } |d|d   dd¬«      } |d|d   dd¬ «      Š2|
j%                  d!d"d#«      }|
j%                  d$d%d&«      }|
j%                  d'd'd'«      }g } | j'                   ‰0d(|«      «       | j'                   ‰0| |«      «       | j'                   |dd)|z  «      «        ‰0d*|«       ‰0||«      g ‰0d+|«       ‰0||«      g ‰0d,|«       ‰0t)        «       |«      gg}! ||!d-|z  d|z  g¬.«      }"|"j+                   |d/d0d1d)|
j,                  fd2d0d3|fd4d5d6g«      «       | j'                  |"«       | j'                   |dd7|z  «      «       | j'                   ‰0d8|«      «       | j'                   |dd!|z  «      «        ‰0d9|«       ‰0d:|«       ‰0d;|«       ‰0d<|«       ‰0d=|«       ‰0d>|«       ‰0d?|«      g}#d@|z  dA|z  dA|z  dA|z  dA|z  dA|z  dB|z  g}$|#g}%g }&t/        |«      D �]  \  }'}(|'dz  dk(  r|n|
j0                  }) ‰0|(j3                  dCdD«      |«       ‰0|(j3                  dEdD«      |«       ‰0 ||(j3                  dF«      «      |«       ‰0 ||(j3                  dG«      «      |«       ‰0 ||(j3                  dH«      «      |«       ‰0 ||(j3                  dI«      «      |«       ‰0 ||(j3                  dJ«      «      |«      g}*|%j'                  |*«       |&j'                  |)«       �Œ  ||%|$d¬K«      }+d2d0dL|fd/d0d1d)|
j,                  fd4d5d6dMg},t/        |&d¬N«      D ]  \  }'})|,j'                  d2d|'fdO|'f|)f«       Œ  |+j+                   ||,«      «       | j'                  |+«       | j'                   |dd|z  «      «       dP|z  dQz  }-ˆ0ˆ1ˆ2fdR„}. | ‰0dS‰2«       ‰0dT‰2«       ‰0dU‰2«      g ‰0dV‰2«       ‰0dV‰2«       ‰0dV‰2«      g |.||«       |.||«       |.||	«      gg|-|-|-g¬.«      }/|/j+                   |g dW¢«      «       | j'                  |/«       |j5                  | «       |j7                  «       S )Xah  
    Generate Berita Acara Sounding PDF with tank detail table and images.

    items: list of dicts with keys:
        tangki_nama, produk_nama, kapasitas_liter,
        dipstick_manual_mm, volume_manual_liter,
        dipstick_digital_mm, volume_digital_liter, volume_final_liter,
        fotos: list[{"tipe": "manual"|"digital", "url": "/uploads/..."}]
    r   r-   r/   r1   r4   r6   r   c                 ó¤   — | €yddl m}m} t        | d«      r/ | |d¬«      «      }| j	                  |«      j                  d«      S t        | «      S r*  ro   r+  s       r   rs   z"generate_ba_stock.<locals>._fmt_dtü  r,  r   c                 ó4   — | €yt        t        | «      «      d›S )Nrg   z.1fr³   ©r   s    r   Ú_fmt_mmz"generate_ba_stock.<locals>._fmt_mm  ó   € Øˆ9ØÜœ#˜a›&“/ #Ð&Ð'r   c                 ó4   — | €yt        t        | «      «      d›S )Nrg   r•   r³   rð  s    r   Ú_fmt_lz!generate_ba_stock.<locals>._fmt_l
  rò  r   r<   r=   r>   Ú
ba_s_titlerE   rF   rG   rH   Úba_s_subtitlerN   rO   rP   Ú
ba_s_smallrR   rT   Úba_s_small_boldrW   rX   Úba_s_normalr[   Úba_s_sigr]   r^   r_   r`   ra   rb   rc   rd   zBERITA ACARA SOUNDINGre   rt   ru   rv   rw   rx   rz   r{   r|   r~   r   r€   rƒ   r†   rˆ   z!<b>Detail Sounding per Tangki</b>r>  r‰   z6<font color='white'><b>Dipstick Manual (mm)</b></font>z3<font color='white'><b>Volume Manual (L)</b></font>z7<font color='white'><b>Dipstick Digital (mm)</b></font>z4<font color='white'><b>Volume Digital (L)</b></font>z2<font color='white'><b>Volume Final (L)</b></font>r?  r™   gš™™™™™@rN  r’   r”   Údipstick_manual_mmÚvolume_manual_literÚdipstick_digital_mmÚvolume_digital_literÚvolume_final_literr›   r�   r_  r    r}   rÁ   r…   c                 óF   •— | xs d}|� ‰|«      nd} ‰|› d|› d�‰«      S rÈ   rÊ   rË   s       €€€r   rÏ   z)generate_ba_stock.<locals>._identity_cellj  r‰  r   rÂ   rÃ   rÄ   rÅ   rÐ   )rÓ   r.   rÔ   r0   rÕ   r2   r3   rÖ   r5   r×   r7   r8   r9   r:   r;   r   rØ   rÙ   rÚ   rÛ   r   rÜ   rÝ   rÞ   rà   rß   rå   ræ   )3r!   r#   r$   r  r*   rç   r+   rè   r%   ré   r.   r0   r2   r3   r5   r8   r9   r:   r;   rñ  rô  rê   rë   rì   rí   rî   rï   rð   rñ   rò   ró   rô   rõ   rö   r÷   Ú
header_rowr  Úall_rowsÚrow_bgsrú   rW  rÿ   r   Ú
tank_tableÚ
tank_styler  rÏ   r  r7   rs   rÎ   s3                                                   @@@r   Úgenerate_ba_stockr  á  sÅ  ú€ õ* %Ý*ßHÝ&ßZÕZð”só ð(”có (ð
(”Só (ô
 �*‰*‹,€CÙ
Ø�bØ˜‘8¨¨r©Ø�b‘& q¨2¡vô€Cñ
 !Ó"€Fá  °f¸ZÑ6HÐSUÐabÐopÔq€KÙ# O¸FÀ8Ñ<LÐWYÐefÐstÔu€NÙ˜<°°xÑ0@È1ÐVXÔY€EÙÐ 1¸&ÀÑ:JÐUVÐ`bÐm}Ô~€JÙ˜M°&¸Ñ2BÈQÐXZÔ[€FÙ˜z°&¸Ñ2BÈQÐZ[Ô\€Ià—‘˜T 4¨Ó.€IØ�l‰l˜4  sÓ+€GØ�l‰l˜4  tÓ,€Gà€Eð 
‡L�L‘Ð2°KÓ@ÔAØ	‡L�L‘˜9 nÓ5Ô6Ø	‡L�L‘˜˜3 ™8Ó$Ô%ñ 
Ð+¨UÓ	3±Y¸wÈÓ5NÐOÙ	�> 5Ó	)©9°ZÀÓ+GÐHÙ	Ð# UÓ	+©Y´|³~ÀuÓ-MÐNð€Iñ
 �y¨Q°©V°R¸"±WÐ,=Ô>€JØ×Ñ™
Ø	�˜ 3¨¯©Ð4Ø	�v˜w¨Ð0Ø.Ø+Ø.ð$ó ô ð 
‡L�L�ÔØ	‡L�L‘˜˜3 ™8Ó$Ô%ð 
‡L�L‘Ð>ÀÓGÔHØ	‡L�L‘˜˜3 ™8Ó$Ô%ñ 	Ð<¸jÓIÙÐ<¸jÓIÙÐJÈJÓWÙÐGÈÓTÙÐKÈZÓXÙÐHÈ*ÓUÙÐFÈ
ÓSð€Jð �b‘&˜#˜b™& # b¡&¨#¨b©&°#°b±&¸#¸b¹&À#ÀbÁ&ÐI€JØˆ|€HØ€Gä˜U×#‰ˆˆ4Ø˜A™ š
‰W¨¯©ˆá�d—h‘h˜}¨bÓ1°5Ó9Ù�d—h‘h˜}¨bÓ1°5Ó9Ù‘g˜dŸh™hÐ';Ó<Ó=¸uÓEÙ‘f˜TŸX™XÐ&;Ó<Ó=¸uÓEÙ‘g˜dŸh™hÐ'<Ó=Ó>ÀÓFÙ‘f˜TŸX™XÐ&<Ó=Ó>ÀÓFÙ‘f˜TŸX™XÐ&:Ó;Ó<¸eÓDð
ˆð 	�‰˜ÔØ�‰�rÖð $ñ �x¨:À!ÔD€Jà	�v˜w¨	Ð2Ø	�˜ 3¨¯©Ð4Ø.Ø+Ø.Ø,ð€Jô ˜7¨!×,‰ˆˆ2Ø×Ñ˜<¨!¨Q¨°"°a°¸"Ð=Õ>ð -à×Ñ™
 :Ó.Ô/Ø	‡L�L�Ôð 
‡L�L‘˜˜3 ™8Ó$Ô%Ø�‰G�a‰K€EöXñ
 áÐ-¨yÓ9¹9ÐE_ÐajÓ;kÑmvð  xNð  PYó  nZð  [ÙÐ(¨)Ó4±iÐ@QÐS\Ó6]Ñ_hÐizð  }Fó  `Gð  HÙÐ-¨|Ó<¹nÐMaÐcrÓ>sñ  vDð  ERð  T_ó  v`ð  að	
ð
 ˜% Ð'ô€Ið ×Ñ‘zò #ó ô ð 
‡L�L�Ôà‡I�IˆeÔØ�<‰<‹>Ðr   rŠ  )NNNNN)	NNNNNNNNN)NNNNNN)Ú__doc__rØ   r   Údecimalr   Útypingr   r   r   r   r   r    ÚlistÚdictÚbytesr  rì  r  rÊ   r   r   Ú<module>r     s>  ðÙ Gã 	Ý Ý Ý ðQ�có Qð
�sð ˜só ñ�Cð  3ð ¨só ð& %)ØØ'+ØØñmØðmàðmð ðmð ð	mð
 ðmð �$‰Zðmð ðmð ðmð 
ðmð ˜T‘zðmð  ™*ðmð  ó!mðh	 *.Ø$(Ø"ØØ#'ØØ)-Ø(,Ø'+ñP
ØðP
àðP
ð �‰:ðP
ð ˜$‘Z $Ñ&ð	P
ð
 ˜T‘kðP
ð �t‘ðP
ð ˜D‘jðP
ð ˜$‘Z $Ñ&ðP
ð ˜‘J Ñ%ðP
ð ˜‘: Ñ$ðP
ð óP
ðp %)ØØ'+ØØ $Øñ_Øð_àð_ð ð_ð �‰:ð	_ð
 ˜T‘zð_ð  ™*ð_ð ˜‘:ð_ð ô_r   