+
    JK˜jjÇ  ã                  ó8  a € 0 t $ ^ RIHt ^ RIHt ^ RIHt ^ RIHtH	t	 ^ RI
HtHtHtHtHt ^ RIHtHtHt ^ RIHtHtHt ^ RIHt ^ R	IHt ^ R
IHtHtHtH t H!t!H"t" ^ RI#H$t$H%t%H&t& ^ RI'H(t( ^ RI)H*t*H+t+ ^ RI,H-t- ^ RI.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8H9t9H:t:H;t;H<t<H=t=H>t>H?t?H@t@HAtA ^ RIBHCtD ^ RIEHFtF ]! ]! ]4      .R7      tG]! ] ! ]+P�                  ]+P’                  ]+P”                  4      4      tK0 R™mtL0 RšmtMRRRRRRRRRRRR/tNR]4R]1R]5R]7R]8R]9/tO0 R›mtP ! R( R)]4      tQ/ R*]Q! ]0]DP¤                  ]DP¦                  ]DP¨                  . RœOR+7      bR,]Q! ]6]DPª                  ]DP¬                  ]DP®                  . R�OR+7      bR-]Q! ]>]DP°                  ]DP²                  ]DP´                  . RžOR.]0R/3/R07      bR1]Q! ]<]DP¶                  ]DP¸                  ]DPº                  . RŸOR3]>R43/R07      bR]Q! ]4]DP¼                  ]DP¾                  ]DPÀ                  . R OR6]<R73/R07      bR]Q! ]1]DPÂ                  ]DPÄ                  ]DPÆ                  . R¡OR6]<R73/R07      bR]Q! ]5]DPÈ                  ]DPÊ                  ]DPÌ                  . R¢OR6]<R73/R07      bR]Q! ]7]DPÎ                  ]DPÐ                  ]DPÒ                  . R£OR6]<R73/R07      bR]Q! ]8]DPÔ                  ]DPÖ                  ]DPØ                  . R¤OR6]<R73/R07      bR]Q! ]9]DPÚ                  ]DPÜ                  ]DPÞ                  . R¥OR6]<R73/R07      bR]Q! ]A]DPà                  ]DPâ                  ]DPä                  . R¦OR3]>R43R6]<R73/R07      bR ]Q! ]2]DPæ                  ]DPè                  ]DPê                  . R§OR9]AR:3R6]<R73/R07      bR!]Q! ]?]DPì                  ]DPî                  ]DPð                  . R¨OR9]AR:3R6]<R73/R07      bR"]Q! ]@]DPò                  ]DPô                  ]DPö                  . R©OR9]AR:3R6]<R73/R07      bR#]Q! ]3]DPø                  ]DPú                  ]DPü                  R8R;.R9]AR:3R6]<R73/R07      bR$]Q! ]=]DPþ                  ]DEP                   ]DEP                  . RªOR9]AR:3R6]<R73/R07      bR%]Q! ];]DEP                  ]DEP                  ]DEP                  . R«OR<]=R=3R6]<R73/R07      bR&]Q! ]/]DEP
                  ]DEP                  ]DEP                  R>R2.R<]=R=3R6]<R73/R07      R']Q! ]:]DEP                  ]DEP                  ]DEP                  R?R5.R<]=R=3R6]<R73/R07      /Ct‹R@]ŒRA&   R¬RB RC llt�RD RE ltŽRFRG/RH RI llt�RJ RK lt�RL RM lt‘RN RO lt’RP RQ lt“RR RS lt”RT RU lt•R­RW RX llt–R­RY RZ llt—R[ R\ lt˜R] R^ lt™R_ R` ltšRa Rb lt›Rc Rd ltœRe Rf lt�R­Rg Rh lltžRi Rj ltŸRk Rl lt Rm Rn lt¡R­Ro Rp llt¢Rq Rr lt£R­Rs Rt llt¤R­Ru Rv llt¥R­Rw Rx llt¦Ry Rz lt§R{ R| lt¨R} R~ lt©R R€ ltªR� R‚ lt«]GEPY                  Rƒ4      R„ R… l4       t­]GEPY                  R†]! ]! R-4      4      .R7      R‡ Rˆ l4       t®]GEPY                  R‰]F]! ]!4      .RŠ7      ]! ^^R‹7      ]! ^
^RŒR�7      RV3RŽ R� ll4       t¯]GEPY                  R�]! ]!4      .R7      R‘ R’ l4       t°]GEPc                  R‰]K]! ]!4      .R7      R“ R” l4       t²]GEPg                  R�]K]! ]!4      .R7      R• R– l4       t´]GEPk                  R�]! ] ! ]+EPl                  ]+P�                  4      4      ]! ]!4      .R7      R— R˜ l4       t·RV# )®é    )Úannotations)Údate)ÚDecimal)Ú	AnnotatedÚAny)Ú	APIRouterÚDependsÚHTTPExceptionÚQueryÚstatus)Ú	BaseModelÚFieldÚValidationError)ÚStringÚcastÚor_)ÚIntegrityError)ÚSession)Úget_current_userÚhas_functionality_accessÚrequire_accessÚrequire_rolesÚrequire_stage_accessÚstage_functionality)ÚLanguageÚget_languageÚ	translate)Úget_db)ÚProcurementStatusÚRole)ÚUser)ÚDeliveryAcceptanceÚDemandÚETenderCaseÚEMDÚFinancialEvaluationÚGeMProcurementCaseÚGlobalTenderCaseÚItemDatabaseÚLPCProcurementCaseÚOpenMarketCaseÚOtherProcurementCaseÚPaymentTrackingÚPerformanceSecurityÚProcurementCaseÚPurchaseOrderÚRequisitionÚSampleRegisterÚTechnicalEvaluationÚ	TenderBid)Úprocurement)ÚPage)ÚdependenciesÚGEMÚE_TENDERÚGLOBAL_TENDERÚLPCÚOPEN_MARKETÚOTHERz	gem-casesze-tender-caseszglobal-tender-casesz	lpc-caseszopen-market-caseszother-procurement-casesÚtendersÚemdsÚsamplesútechnical-evaluationsúfinancial-evaluationsúpurchase-ordersúperformance-securitiesúdelivery-acceptanceÚpaymentsc                  ón   € ] tR t^Rt$ R]R&   R]R&   R]R&   R]R&   R]R&   ]! ]R7      tR	]R
&   RR/tRt	R# )ÚStageConfigr   ÚmodelÚcreate_schemaÚupdate_schemaÚread_schemaz	list[str]Úsearch_fields)Údefault_factoryzdict[str, tuple[Any, str]]Úparent_refsÚarbitrary_types_allowedT© N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__r   ÚdictrO   Úmodel_configÚ__static_attributes__rQ   ó    Ú1/var/www/html/proc/backend/app/api/procurement.pyrH   rH   R   s9   ‡ ØƒJØÓØÓØÓØÓÙ.3ÀDÔ.I€KÐ+ÓIà-¨tÐ4„LrZ   rH   Údemands)rI   rJ   rK   rL   rM   úitem-databaseÚrequisitionsÚ	demand_idr#   )rI   rJ   rK   rL   rM   rO   úprocurement-casesÚremarksÚrequisition_idr1   Úpayment_statusÚprocurement_case_idzProcurement caseÚbidder_nameÚ	tender_idÚTenderÚresultÚpo_idzPurchase orderÚacceptance_statusÚ
invoice_nozdict[str, StageConfig]ÚSTAGESc               ó$   € V ^8„  d   QhRRRRRR/# )é   ÚstageÚstrÚlanguager   ÚreturnrH   rQ   )Úformats   "r[   Ú__annotate__rt   Š  s!   € ÷ ñ �Sð  Hð ¸ñ rZ   c                ón   € \         P                  V 4      pV'       g   \        R \        RV4      R7      hV# )é”  zprocurement.unknown_stage©Ústatus_codeÚdetail)rl   Úgetr
   r   )ro   rq   Úconfigs   && r[   Ú	get_stager|   Š  s.   € Ü�Z‰Z˜Ó€FßÜ¨´IÐ>YÐ[cÓ4dÔeÐeØ€MrZ   c               ó$   € V ^8„  d   QhRRRRRR/# )rn   Úschemar   Úpayloadúdict[str, Any]rr   rQ   )rs   s   "r[   rt   rt   ‘  s!   € ÷ ñ �cð  Nð °sñ rZ   c                ó    €  V P                  V4      #   \         d0   p\        \        P                  TP                  4       R 7      ThRp?ii ; i)rw   N)Úmodel_validater   r
   r   ÚHTTP_422_UNPROCESSABLE_ENTITYÚerrors)r~   r   Úexcs   && r[   Ú	_validater†   ‘  sL   € ðØ×$Ñ$ WÓ-Ð-øÜô ÜÜ×<Ñ<Ø—:‘:“<ô
ð ð	ûðús   ‚ “Až*AÁAÚexclude_unsetFc          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )rn   Údbr   r{   rH   Údatar   r‡   Úboolrr   ÚNonerQ   )rs   s   "r[   rt   rt   ›  s:   € ÷ ñ Øðàðð ðð
 ðð 
ñrZ   c               ó  € VP                  VR 7      pVP                  P                  4        FS  w  pw  rgVP                  V4      pVf   K  V P                  Wh4      e   K4  \	        \
        P                  V RV R2R7      h	  R# )©r‡   Nz ID z does not exist.rw   )Ú
model_dumprO   Úitemsrz   r
   r   ÚHTTP_400_BAD_REQUEST)	r‰   r{   rŠ   r‡   ÚvaluesÚ
field_nameÚparent_modelÚlabelÚ	parent_ids	   &&&$     r[   Ú_validate_parent_refsr—   ›  s   € ð �_‰_¨=ˆ_Ó9€FØ-3×-?Ñ-?×-EÑ-EÖ-GÑ)ˆ
Ñ)�\Ø—J‘J˜zÓ*ˆ	ØÔ  R§V¡V¨LÓ%DÔ%LÜÜ"×7Ñ7Ø˜  Y KÐ/?Ð@ôð ó .HrZ   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	rn   r‰   r   ro   rp   rŠ   r   rr   rŒ   rQ   )rs   s   "r[   rt   rt   ¬  s)   € ÷ 
ñ 
¨'ð 
¸#ð 
ÀYð 
ÐSWñ 
rZ   c                ó  € \         P                  V4      pV'       g   R # \        VRR 4      pVf   R # V P                  \        V4      pV'       d<   \	        VP
                  4      V8w  d    \        \        P                  RV R2R7      hR # R # )Nrd   z"Selected procurement case must be Ú.rw   )	ÚPROCUREMENT_TYPE_STAGE_MODESrz   Úgetattrr/   Ú_normalize_modeÚprocurement_moder
   r   r‘   )r‰   ro   rŠ   Úexpected_moderd   Úcases   &&&   r[   Ú!_validate_procurement_type_parentr¡   ¬  s�   € Ü0×4Ñ4°UÓ;€MßÙÜ! $Ð(=¸tÓDÐØÒ"ÙØ�6‰6”/Ð#6Ó7€Dß” × 5Ñ 5Ó6¸-ÔGÜÜ×3Ñ3Ø7¸°ÀaÐHô
ð 	
ñ H�trZ   c               ó$   € V ^8„  d   QhRRRRRR/# )rn   ro   rp   r’   r€   rr   rŒ   rQ   )rs   s   "r[   rt   rt   »  s"   € ÷ 
ñ 
°ð 
¸nð 
ÐQUñ 
rZ   c                óè   € V R 8X  d   VP                  R4      MVP                  R4      pVe   V R 0\        P                  4       m9  d   R# V\        9  d   \	        \
        P                  RR7      hR# )r`   Úcase_statusr   NzGStatus must be In Tendering Process, Closed, Re-Tendered, or Cancelled.rw   )rz   r›   ÚkeysÚPROCUREMENT_REGISTER_STATUSESr
   r   r‘   )ro   r’   Ústatus_values   && r[   Ú%_validate_procurement_register_statusr¨   »  sq   € Ø05Ð9LÔ0L�6—:‘:˜mÔ,ÐRX×R\ÑR\Ð]eÓRf€LØÒ˜uÐ-@Ð,gÔC_×CdÑCdÓCfÐ,gÔgÙØÔ8Ô8ÜÜ×3Ñ3Ø\ô
ð 	
ñ 9rZ   c               ó    € V ^8„  d   QhRRRR/# )rn   r’   r€   rr   z
int | NonerQ   )rs   s   "r[   rt   rt   Æ  s   € ÷ ñ  .ð °Zñ rZ   c                óÌ  € V P                  R 4      p\        V\        4      '       dl   . pV FP  p\        V\        4      '       d   VP                  R4      f   K.   VP	                  \        VR,          4      4       KR  	  V'       d   \        V4      # V P                  R4      pVf   R#  \        V4      #   \        \        3 d     Kž  i ; i  \        \        3 d     R# i ; i)Úrequisition_itemsÚquantityN)	rz   Ú
isinstanceÚlistrW   ÚappendÚintÚ	TypeErrorÚ
ValueErrorÚsum)r’   r�   Ú
quantitiesÚitemr¬   s   &    r[   Ú_requisition_quantityr¶   Æ  sÎ   € Ø�J‰JÐ*Ó+€EÜ�%œ×ÒØ "ˆ
ÛˆDÜ˜d¤D×)Ò)¨T¯X©X°jÓ-AÒ-IÙðØ×!Ñ!¤# d¨:Õ&6Ó"7Ö8ñ	 ÷ Ü�z“?Ð"à�z‰z˜*Ó%€HØÒÙðÜ�8‹}Ðøô œzÐ*ô Úðûô ”zÐ"ô Úðús$   Á!B6Â+
C Â6CÃ
CÃC#Ã"C#c               ó    € V ^8„  d   QhRRRR/# ©rn   r’   r€   rr   rŒ   rQ   )rs   s   "r[   rt   rt   Ý  s   € ÷ 
ñ 
°Nð 
Àtñ 
rZ   c                ó²   € V P                  R 4      pVR9   d   R# \        V 4      pVf   R# \        V4      V8”  d   \        \        P
                  RR7      hR# )Ú administrative_approval_quantityNzLAdministrative Approval Quantity cannot be higher than Requisition quantity.rw   ©NÚ )rz   r¶   r°   r
   r   r‘   )r’   Úapproval_quantityÚrequisition_quantitys   &  r[   Ú'_validate_requisition_approval_quantityr¿   Ý  s^   € ØŸ
™
Ð#EÓFÐØ˜JÔ&Ùä0°Ó8ÐØÒ#Ùä
ÐÓÐ 4Ô4ÜÜ×3Ñ3Øaô
ð 	
ñ 5rZ   c               ó    € V ^8„  d   QhRRRR/# r¸   rQ   )rs   s   "r[   rt   rt   í  s   € ÷ 
ñ 
°.ð 
ÀTñ 
rZ   c                ó¬   € V P                  R 4      pV\        P                  \        P                  RR09  d   \	        \
        P                  RR7      hR# )Úapproval_statusÚapprovedÚrejectedz4Approval Status must be either Approved or Rejected.rw   N)rz   r   rÃ   rÄ   r
   r   r‘   )r’   rÂ   s   & r[   Ú%_validate_requisition_approval_statusrÅ   í  sQ   € Ø—j‘jÐ!2Ó3€OØÔ0×9Ñ9Ô;L×;UÑ;UÐWaÐcmÐnÔnÜÜ×3Ñ3ØIô
ð 	
ñ orZ   c               ó    € V ^8„  d   QhRRRR/# )rn   Úvaluer   rr   rp   rQ   )rs   s   "r[   rt   rt   ö  s   € ÷ Pñ P˜3ð P 3ñ PrZ   c                ó¤   € \        T ;'       g    R 4      P                  4       P                  4       P                  RR4      P                  RR4      # )r¼   Ú-Ú_Ú )rp   ÚstripÚupperÚreplace©rÇ   s   &r[   r�   r�   ö  s?   € Üˆu�{ˆ{˜Ó×!Ñ!Ó#×)Ñ)Ó+×3Ñ3°C¸Ó=×EÑEÀcÈ3ÓOÐOrZ   Nc               ó$   € V ^8„  d   QhRRRRRR/# ©rn   r   r€   Úcurrent_modeú
str | Nonerr   rQ   )rs   s   "r[   rt   rt   ú  s"   € ÷ +ñ +¨>ð +Èð +Ð_mñ +rZ   c                óF  € / V Cp\        VP                  R 4      ;'       g    T4      pV'       g   V# V\        9  d   \        \        P
                  RR7      hR V9   dk   W2R &   VR8X  d[   \        VP                  R4      ;'       g    R4      P                  4       pV'       g   \        \        P
                  RR7      hWBR&   MRVR&   VR9   d   RVR	&   RVR
&   M•VR8X  d   VP                  R	R4       RVR
&   MvVR8X  d   RVR	&   VP                  R
R4       MWVR8X  d&   VP                  R	R4       VP                  R
R4       M+VR8X  d%   VP                  R	R4       VP                  R
R4       VP                  R	4      f   RVR	&   VP                  R
4      f   RVR
&   V# )rž   zYProcurement mode must be one of GEM, E_TENDER, GLOBAL_TENDER, LPC, OPEN_MARKET, or OTHER.rw   r=   Úprocurement_mode_otherr¼   ú!Enter the other procurement mode.NTÚemd_applicableÚpbg_applicabler8   Fr;   r<   >   r9   r:   )	r�   rz   ÚACTIVE_PROCUREMENT_MODESr
   r   r‘   rp   rÌ   Ú
setdefault©r   rÒ   Ú
normalizedÚmodeÚ
other_modes   &&   r[   Ú_apply_procurement_case_rulesrß   ú  s·  € Ø�G�€JÜ˜:Ÿ>™>Ð*<Ó=×MÐMÀÓN€DßØÐØÔ+Ô+ÜÜ×3Ñ3Ønô
ð 	
ð
 ˜ZÔ'Ø)-Ð%Ñ&Ø�7Œ?Ü˜ZŸ^™^Ð,DÓE×KÐKÈÓL×RÑRÓTˆJßÜ#Ü &× ;Ñ ;Ø>ôð ð 4>Ð/Ò0à37ˆJÐ/Ñ0àÐ,Ô,Ø'+ˆ
Ð#Ñ$Ø'+ˆ
Ð#Ò$Ø	�ŒØ×ÑÐ.°Ô6Ø'+ˆ
Ð#Ò$Ø	�ŒØ',ˆ
Ð#Ñ$Ø×ÑÐ.°Õ6Ø	�Ô	Ø×ÑÐ.°Ô6Ø×ÑÐ.°Õ6Ø	�ŒØ×ÑÐ.°Ô6Ø×ÑÐ.°Ô6Ø‡~�~Ð&Ó'Ò/Ø',ˆ
Ð#Ñ$Ø‡~�~Ð&Ó'Ò/Ø',ˆ
Ð#Ñ$ØÐrZ   c               ó$   € V ^8„  d   QhRRRRRR/# rÑ   rQ   )rs   s   "r[   rt   rt   (  s&   € ÷ ñ Øðàðð ñrZ   c                ó°  € / V CpR V9  d   V# \        VP                  R 4      ;'       g    T4      pV'       d'   V\        9  d   \        \        P
                  RR7      hT;'       g    RVR &   VR8X  d\   \        VP                  R4      ;'       g    R4      P                  4       pV'       g   \        \        P
                  RR7      hWBR&   V# RVR&   V# )rž   zRProcurement mode must be GEM, E_TENDER, GLOBAL_TENDER, LPC, OPEN_MARKET, or OTHER.rw   Nr=   rÕ   r¼   rÖ   )r�   rz   rÙ   r
   r   r‘   rp   rÌ   rÛ   s   &&   r[   Ú_apply_requisition_mode_rulesrâ   (  sÜ   € ð �G�€JØ Ô+ØÐÜ˜:Ÿ>™>Ð*<Ó=×MÐMÀÓN€Dß�Ô4Ô4ÜÜ×3Ñ3Øgô
ð 	
ð &*§\ \¨T€JÐ!Ñ"Øˆw„Ü˜Ÿ™Ð(@ÓA×GÐGÀRÓH×NÑNÓPˆ
ßÜÜ"×7Ñ7Ø:ôð ð 0:Ð+Ñ,ð Ðð 04ˆ
Ð+Ñ,ØÐrZ   c               ó    € V ^8„  d   QhRRRR/# )rn   rÇ   r   rr   r‹   rQ   )rs   s   "r[   rt   rt   C  s   € ÷ (ñ (�Sð (˜Tñ (rZ   c                ó$   € V R J ;'       g    V R8H  # r»   rQ   rÏ   s   &r[   Ú	_is_blankrå   C  s   € Ø�Dˆ=×'Ð'˜E R™KÐ'rZ   c               ó(   € V ^8„  d   QhRRRRRRRR/# )rn   ro   rp   r   r€   r‰   r   rr   rQ   )rs   s   "r[   rt   rt   G  s0   € ÷ 3ñ 3Øð3àð3ð 	ð3ð ñ	3rZ   c           	     óÜ  € / VCpVP                  R R4      pVf   V# \        V4      P                  4       pV'       g   \        \        P
                  RR7      h\        V4      ^ÿ8”  d   \        \        P
                  RR7      h\        P                  V 4      pVP                  \        4      P                  \        P                  V8H  4      P                  4       pV'       dB   V'       d:   \        VP                  4      V8w  d    \        \        P
                  RV R2R7      hVfµ   T;'       g%    \        VP                  R4      4      ;'       g    RpV\         9  d   Rp\        TTVR8X  d3   \        VP                  R	4      ;'       g    R
4      P                  4       MRR\"        P$                  ! 4       RR7      pVP'                  V4       \)        V4       VP*                  VR&   V# )Úprocurement_case_otherNz4Enter a manual procurement case number or reference.rw   zIManual procurement case number or reference cannot exceed 255 characters.zProcurement case z) belongs to a different procurement mode.rž   r=   rÕ   z!Manually Entered Procurement CaseúIn Tendering Processz*Manually created from an Others selection.)Úprocurement_case_norž   rÕ   r¤   Úmode_selection_datera   rd   )Úpoprp   rÌ   r
   r   r‘   Úlenr›   rz   Úqueryr/   Úfilterrê   Úfirstr�   rž   rÙ   r   ÚtodayÚaddÚ_flush_or_conflictÚid)ro   r   r‰   rÜ   Úmanual_referencerŸ   r    rÝ   s   &&&     r[   Ú _resolve_manual_procurement_caserö   G  s¼  € ð
 �G�€JØ!—~‘~Ð&>ÀÓEÐØÒØÐäÐ+Ó,×2Ñ2Ó4ÐßÜÜ×3Ñ3ØIô
ð 	
ô ÐÓ˜sÔ"ÜÜ×3Ñ3Ø^ô
ð 	
ô
 1×4Ñ4°UÓ;€MØ�8‰8”OÓ$×+Ñ+Ü×+Ñ+Ð/?Ñ?óç�eƒgð 	÷ —¤/°$×2GÑ2GÓ"HÈMÔ"YÜÜ×3Ñ3Ø&Ð'7Ð&8Ð8aÐbô
ð 	
ð ‚|Ø×^Ð^¤°
·±Ð?QÓ0RÓ S×^Ð^ÐW^ˆØÔ/Ô/ØˆDÜØ 0Ø!ð ˜7”?ô �J—N‘NÐ#;Ó<×cÐcÐ@cÓd×jÑjÔlàà.Ü $§
¢
£Ø@ô
ˆð 	�‰ˆtŒÜ˜2Ôà(,¯©€JÐ$Ñ%ØÐrZ   c               ó$   € V ^8„  d   QhRRRRRR/# )rn   ro   rp   rŠ   r   rr   rŒ   rQ   )rs   s   "r[   rt   rt   }  s!   € ÷ 
ñ 
°ð 
¸9ð 
Èñ 
rZ   c                ó    € V 0 \         P                  4       m\        m9  d   R # \        VRR 4      f   \	        \
        P                  RR7      hR # )Nrd   z>Select a procurement case or use Others to enter one manually.rw   )r›   r¥   ÚPROCESS_STAGESrœ   r
   r   r‘   )ro   rŠ   s   &&r[   Ú$_validate_procurement_case_referencerú   }  sP   € ØÐKÔ2×7Ñ7Ó9ÐK¼NÐKÔKÙÜˆtÐ*¨DÓ1Ò9ÜÜ×3Ñ3ØSô
ð 	
ñ :rZ   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	rn   r   r€   Úkeyrp   rÇ   r   rr   rŒ   rQ   )rs   s   "r[   rt   rt   ‡  s(   € ÷ ñ ˜ð ¨cð ¸#ð À$ñ rZ   c                ó^   € W9  g!   \        V P                  V4      4      '       d   W V&   R # R # ©N)rå   rz   )r   rü   rÇ   s   &&&r[   Ú_fill_blankrÿ   ‡  s'   € Ø
ÔœY w§{¡{°3Ó'7×8Ò8Ø�‹ñ 9rZ   c               ó    € V ^8„  d   QhRRRR/# )rn   ÚrequisitionúRequisition | Nonerr   úlist[dict[str, Any]]rQ   )rs   s   "r[   rt   rt   Œ  s   € ÷ ñ Ð0Bð ÐG[ñ rZ   c                óv  € V '       g   . # \        V P                  \        4      '       dà   V P                  '       dÎ   . p\        V P                  4       F¨  w  r#\        V\        4      '       g   K  TP                  R VP                  R 4      ;'       g
    V^,           RVP                  R4      ;'       g    V P                  RVP                  R4      RVP                  R4      RVP                  R4      /4       Kª  	  V'       d   V# V P                  '       d   R ^RV P                  RV P                  /.# . # )Ú	serial_noÚdescriptionÚ	item_typer¬   Úunit)	r­   r«   r®   Ú	enumeraterW   r¯   rz   Úitem_descriptionr¬   )r  r�   Úindexrµ   s   &   r[   Ú_requisition_items_for_processr  Œ  s  € ßØˆ	Ü�+×/Ñ/´×6Ò6¸;×;X×;XÐ;XØ&(ˆÜ$ [×%BÑ%BÖC‰KˆEÜ˜d¤D×)Ò)ÙØ�L‰Là §¡¨+Ó!6×!CÐ!C¸%À!½)Ø! 4§8¡8¨MÓ#:×#ZÐ#Z¸k×>ZÑ>ZØ §¡¨+Ó!6Ø §¡¨Ó 4Ø˜DŸH™H VÓ,ðöñ D÷ ØˆLØ×#×#Ð#ð ˜QØ˜{×;Ñ;Ø˜K×0Ñ0ðð
ð 	
ð €IrZ   c               ó$   € V ^8„  d   QhRRRRRR/# )rn   ÚtenderzTenderBid | Noner  r  rr   r  rQ   )rs   s   "r[   rt   rt   ª  s$   € ÷ ñ Ð&6ð ÐEWð Ð\pñ rZ   c                óÖ  € V '       d-   \        V P                  \        4      '       d   V P                  M
\        V4      p\	        V4       UUu. uF�  w  r4\        V\
        4      '       g   K  VP                  R 4      '       g   K6  RVP                  R4      ;'       g
    V^,           R VP                  R 4      RVP                  R4      RVP                  R4      /NK�  	  upp# u uppi )r  r  r¬   r  )r­   Útender_itemsr®   r  r	  rW   rz   )r  r  Úsourcer  rµ   s   &&   r[   Ú_sample_items_from_tenderr  ª  sÊ   € ß$*¬z¸&×:MÑ:MÌt×/TÒ/TˆV× Ò ÔZxð  zEó  [F€Fô % VÔ,ô	ñ -‰KˆEÜ�dœD×!ô	
ð '+§h¡h¨}×&=ô	
Ø˜Ÿ™ +Ó.×;Ð;°%¸!µ)Ø˜4Ÿ8™8 MÓ2Ø˜Ÿ™ Ó,Ø�D—H‘H˜VÓ$ó		
ñ -ò	ð 	ùó 	s   ÁC%Á-C%ÂC%ÂAC%c               ó$   € V ^8„  d   QhRRRRRR/# )rn   r�   r  Úfallbackr   rr   rQ   )rs   s   "r[   rt   rt   ¸  s"   € ÷ ñ Ð0ð ¸Cð È3ñ rZ   c                óZ   € V '       d#   V ^ ,          P                  R4      ;'       g    T# V# )r   r  )rz   )r�   r  s   &&r[   Ú_first_item_namer  ¸  s%   € ßØ�Q�x�|‰|˜MÓ*×6Ð6¨hÐ6Ø€OrZ   c               ó    € V ^8„  d   QhRRRR/# )rn   rÝ   rÓ   rr   rp   rQ   )rs   s   "r[   rt   rt   ¾  s   € ÷ 0ñ 0˜ð 0¨ñ 0rZ   c                óP   € R RRRRRRRRR	R
R/P                  \        V 4      R4      # )r8   zGeM Procurementr9   zOdisha e-Procurementr:   zGlobal Tenderr;   zLocal Purchase Committeer<   zOpen Marketr=   zOther ProcurementzOpen Tender)rz   r�   ©rÝ   s   &r[   Ú_case_bid_typer  ¾  sA   € àÐ ØÐ*Ø˜ØÐ)Ø�}ØÐ$ð÷ 
�cŒ/˜$Ó
 Ó/ð0rZ   c               ó(   € V ^8„  d   QhRRRRRRRR/# )rn   r‰   r   r  r1   rÝ   rp   rr   rQ   )rs   s   "r[   rt   rt   É  s)   € ÷ ñ  'ð ¸ð È3ð ÐSVñ rZ   c                ó
  € VP                   ;'       g    R VP                   2P                  RR4      pVP                  4       P	                  R 4      '       d
   VR,          pRV RV 2pVR,          p^pV P                  \        4      P                  \        P                  V8H  \        P                  VP                  8g  4      P                  4       '       d*   RV 2pVR^P\        V4      ,
            V 2pV^,          pKŽ  V# )úREQ-Ú/rÉ   :é   NNúPC-:NéP   NN)Úrequisition_norô   rÎ   rÍ   Ú
startswithrî   r/   rï   rê   rb   rð   rí   )r‰   r  rÝ   Úrequisition_partÚbaseÚcase_noÚsequenceÚsuffixs   &&&     r[   Ú_auto_procurement_case_nor)  É  sø   € Ø#×2Ñ2×MÐM¸¸[¿^¹^Ð<LÐ6M×VÑVÐWZÐ\_Ó`ÐØ×ÑÓ×*Ñ*¨6×2Ò2Ø+¨BÕ/ÐØ���aÐ(Ð)Ð*€DØ�3�i€GØ€HØ
�(‰(”?Ó
#×
*Ñ
*Ü×+Ñ+¨wÑ6Ü×&Ñ&¨+¯.©.Ñ8ó÷ �eƒgöð �X�J�ˆØÐ+˜2¤ F£Õ+Ð,Ð-¨f¨XÐ6ˆØ�A�ŠØ€NrZ   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	rn   rÝ   rp   r    r/   r  r  rr   r€   rQ   )rs   s   "r[   rt   rt   Ú  s*   € ÷ ñ  ð ¨?ð ÐI[ð Ð`nñ rZ   c           
     ó^  € VP                   P                  R 4      pV R8X  d   RR/# V R8X  d   RRV 2R,          RVP                  /# V R	8X  d   R
RV 2R,          RVP                  /# V R8X  d   R\        VRR4      /# V R8X  d(   RVP                  RVP                   R\        VRR4      /# / # )r   r8   Úgem_procurement_typezProduct / Normal Category Bidr9   Útender_ref_nozET-:Néx   NÚestimated_costr:   Úglobal_tender_ref_nozGT-Úbid_value_inrr<   Úprocurement_justificationra   Nr=   Úother_procurement_typeÚprocurement_reference_noÚprocurement_description)rê   ÚremoveprefixÚapproved_estimated_costrœ   rÕ   )rÝ   r    r  r(  s   &&& r[   Ú_mode_detail_defaultsr8  Ú  sá   € Ø×%Ñ%×2Ñ2°5Ó9€FØˆu„}Ø&Ð(GÐHÐHØˆzÔà˜s 6 (˜^¨DÕ1Ø˜d×:Ñ:ð
ð 	
ð ˆÔà" c¨&¨ N°4Õ$8Ø˜T×9Ñ9ð
ð 	
ð ˆ}ÔØ+¬W°[À)ÈTÓ-RÐSÐSØˆw„à$ d×&AÑ&AØ&¨×(@Ñ(@Ø%¤w¨{¸IÀtÓ'Lð
ð 	
ð
 €IrZ   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	rn   r‰   r   r    r/   r  r  rr   rŒ   rQ   )rs   s   "r[   rt   rt   ó  s0   € ÷ (ñ (Øð(à
ð(ð $ð(ð 
ñ	(rZ   c                ó
  € \        VP                  4      p\        P                  V4      pV'       g   R # V P	                  V4      P                  VP                  VP                  8H  4      P                  4       p\        W1V4      pVf&   V P                  V! RRVP                  /VB 4       R # VP                  4        F@  w  rx\        WW4      '       g   K  \        \        WW4      4      '       g   K4  \        WWV4       KB  	  R # )Nrd   rQ   )r�   rž   ÚPROCUREMENT_MODE_DETAIL_MODELSrz   rî   rï   rd   rô   rð   r8  rò   r�   Úhasattrrå   rœ   Úsetattr)	r‰   r    r  rÝ   Údetail_modelry   Údefaultsrü   rÇ   s	   &&&      r[   Ú_ensure_procurement_mode_detailr@  ó  sÃ   € ô
 ˜4×0Ñ0Ó1€DÜ1×5Ñ5°dÓ;€LßÙØ�X‰X�lÓ#×*Ñ*¨<×+KÑ+KÈtÏwÉwÑ+VÓW×]Ñ]Ó_€FÜ$ T°Ó=€HØ‚~Ø
�‰‰|ÑD°·±ÐD¸8ÑDÔEÙØ—n‘nÖ&‰
ˆÜ�6×Ô¤I¬g°fÓ.B×$CÔ$CÜ�F Ö'ó 'rZ   c               ó$   € V ^8„  d   QhRRRRRR/# )rn   r‰   r   r  r1   rr   rŒ   rQ   )rs   s   "r[   rt   rt     s"   € ÷ /;ñ /;°Gð /;È+ð /;ÐZ^ñ /;rZ   c                óZ  € VP                   \        P                  8w  d   R # \        VP                  4      pV\
        9  d   R # W!n        V P                  \        4      P                  \        P                  VP                  8H  4      P                  \        P                  P                  4       4      P                  4       pVf?   \        \        WV4      VP                  VVP                  R7      pV P!                  V4       VP                  Vn	        VP"                  ;'       g    VP$                  Vn        VP(                  Vn        W#n        VR8X  d   VP                  MR Vn        \-        VP.                  4      '       d   RVn        \-        VP0                  4      '       d/   VP2                  ;'       g    \4        P6                  ! 4       Vn        \-        VP8                  4      '       d   VP2                  Vn        \-        VP:                  4      '       d   RVP<                   R2Vn        \?        RVP                  RVP@                  RVPB                  /4      p\E        VR,          4      Vn         \E        VR,          4      Vn!        V PG                  4        \I        WV4       R # )	N)rê   rb   rž   rÕ   r=   ré   z'Auto-created from approved requisition rš   rž   r×   rØ   )%rÂ   r   rÃ   r�   rž   rÙ   rî   r/   rï   rb   rô   Úorder_byÚascrð   r)  rÕ   rò   rº   r¬   Úapproved_quantityr/  r7  rå   r¤   rë   Úadministrative_approval_dater   rñ   Úsanction_datera   r"  rß   r×   rØ   r‹   Úflushr@  )r‰   r  rÝ   r    r?  s   &&   r[   Ú+_sync_approved_requisition_procurement_caserI    s  € Ø×"Ñ"Ô&7×&@Ñ&@Ô@ÙÜ˜;×7Ñ7Ó8€DØÔ+Ô+Ùà#'Ô à
�‰”Ó!ß	‰”×.Ñ.°+·.±.Ñ@Ó	Aß	‰”/×$Ñ$×(Ñ(Ó*Ó	+ß	‰‹ð	 	ð ‚|ÜÜ 9¸"È4Ó PØ&Ÿ>™>Ø!Ø#.×#EÑ#Eô	
ˆð 	�‰ˆtŒà%Ÿ.™.€DÔØ(×IÑI×aÐaÈ[×MaÑMa€DÔØ#.×#=Ñ#=€DÔ Ø ÔØHLÐPWÌ +×"DÒ"DÐ]a€DÔÜ�×!Ñ!×"Ò"Ø1ˆÔÜ�×)Ñ)×*Ò*Ø#.×#KÑ#K×#[Ð#[ÌtÏzÊzË|ˆÔ Ü�×#Ñ#×$Ò$Ø(×EÑEˆÔÜ�—‘×ÒØ@À×A[ÑA[Ð@\Ð\]Ð^ˆŒä,à × 5Ñ 5Ø˜d×1Ñ1Ø˜d×1Ñ1ð	
ó€Hô ˜xÐ(8Õ9Ó:€DÔÜ˜xÐ(8Õ9Ó:€DÔØ‡H�H„JÜ# B¨kÖ:rZ   c               ó(   € V ^8„  d   QhRRRRRRRR/# )rn   r   r€   r‰   r   ÚcurrentzProcurementCase | Nonerr   rQ   )rs   s   "r[   rt   rt   8  s0   € ÷ ñ Øðàðð $ðð ñ	rZ   c                óF  € / V CpVe
   RV9  d   V# VP                  R4      p\        V4      '       d   V'       d   VP                  p\        V4      '       d   V# VP                  \        \	        V4      4      pV'       g   V# \        TRVP                  ;'       g    VP                  4       \        VRVP                  4       \        VRVP                  4       \        VRVP                  4       \        VRR4       \        VR\        P                  ! 4       4       V# )	Nrb   rE  r7  rž   rÕ   r¤   ré   rë   )rz   rå   rb   r1   r°   rÿ   rº   r¬   r/  rž   rÕ   r   rñ   )r   r‰   rK  rÜ   rb   r  s   &&&   r[   Ú&_apply_requisition_to_procurement_caserM  8  sý   € ð
 �G�€JØÒÐ/°zÔAØÐØ—^‘^Ð$4Ó5€NÜ�× Ò §WØ ×/Ñ/ˆÜ�× Ò ØÐà—&‘&œ¤c¨.Ó&9Ó:€KßØÐäØØØ×4Ñ4×LÐL¸×8LÑ8Lôô
 �
Ð5°{×7QÑ7QÔRÜ�
Ð.°×0LÑ0LÔMÜ�
Ð4°k×6XÑ6XÔYÜ�
˜MÐ+AÔBÜ�
Ð1´4·:²:³<Ô@ØÐrZ   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	rn   r   r€   r‰   r   rK  r   rr   zYtuple[ProcurementCase | None, Requisition | None, TenderBid | None, PurchaseOrder | None]rQ   )rs   s   "r[   rt   rt   W  s1   € ÷ $)ñ $)Øð$)àð$)ð ð$)ð _ñ	$)rZ   c                óH  € V P                  R 4      pRpRp\        V4      '       d]   \        V P                  R4      4      '       g=   VP                  \        \        V R,          4      4      pV'       d   VP                  MRp\        V4      '       d¾   \        V P                  R4      4      '       gž   VP                  \
        \        V R,          4      4      pV'       d   VP                  MRp\        V4      '       dQ   V'       dI   VP                  '       d7   VP                  \        VP                  4      pV'       d   VP                  MRp\        V4      '       dÆ   VeÂ   \        VR R4      p\        V4      '       dJ   \        VRR4      '       d7   VP                  \        VP                  4      pV'       d   VP                  MRp\        V4      '       dJ   \        VRR4      '       d7   VP                  \
        VP                  4      pV'       d   VP                  MRp\        V4      '       d   RRWE3# VP                  \        \        V4      4      pV'       d3   VP                  '       d!   VP                  \        VP                  4      MRpVf�   V'       dy   VP                  \        4      P                  \        P                  VP                  8H  4      P                  \        P                  P!                  4       4      P#                  4       pVf�   V'       dy   VP                  \
        4      P                  \
        P                  VP                  8H  4      P                  \
        P                  P!                  4       4      P#                  4       pWgWE3# )rd   Nrf   ri   )rz   rå   r4   r°   rd   r0   rf   rœ   ri   r/   rb   r1   rî   rï   rô   rC  Údescrð   )r   r‰   rK  rd   r  Úpor    r  s   &&&     r[   Ú_procurement_contextrR  W  s›  € ð
 "Ÿ+™+Ð&;Ó<ÐØ#€FØ#€BäÐ$×%Ò%¬i¸¿¹ÀKÓ8P×.QÒ.QØ—‘œ	¤3 w¨{Õ';Ó#<Ó=ˆß<B˜f×8Ò8ÈÐÜÐ$×%Ò%¬i¸¿¹ÀGÓ8L×.MÒ.MØ�V‰V”M¤3 w¨wÕ'7Ó#8Ó9ˆß8:˜b×4Ò4ÀÐÜÐ(×)Ò)¯b°R·\·\°\Ø—V‘VœI r§|¡|Ó4ˆFß@F &×"<Ò"<ÈDÐÜÐ$×%Ò%¨'Ò*=Ü% gÐ/DÀdÓKÐÜÐ(×)Ò)¬g°g¸{ÈD×.QÒ.QØ—V‘VœI w×'8Ñ'8Ó9ˆFß@F &×"<Ò"<ÈDÐÜÐ(×)Ò)¬g°g¸wÈ×.MÒ.MØ—‘œ w§}¡}Ó5ˆBß<> "×"8Ò"8ÀDÐäÐ$×%Ò%Ø�T˜6Ð%Ð%à�6‰6”/¤3Ð':Ó#;Ó<€Dß>BÀt×GZ×GZÐGZ�"—&‘&œ d×&9Ñ&9Ô:Ð`d€KØ‚~Ÿ$Ø—‘œ)Ó$×+Ñ+¬I×,IÑ,IÈTÏWÉWÑ,TÓU×^Ñ^Ô_h×_kÑ_k×_pÑ_pÓ_rÓs×yÑyÓ{ˆØ	‚z—dØ�X‰X”mÓ$×+Ñ+¬M×,MÑ,MÐQU×QXÑQXÑ,XÓY×bÑbÔcp×csÑcs×cxÑcxÓczÓ{÷  Bñ  Bó  DˆØ˜fÐ(Ð(rZ   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R/# )
rn   ro   rp   r   r€   r‰   r   rK  r   rr   rQ   )rs   s   "r[   rt   rt   ~  sA   € ÷ `ñ `Øð`àð`ð 	ð`ð ð	`ð
 ñ`rZ   c           	     ó:  € / VCpVe   0 R3mP                  V4      '       g   V# \        WBV4      w  rVrxV'       g   V# \        VRVP                  4       \	        V4      p	\        T	\        VRR 4      ;'       g    \        VRR 4      4      p
VP                  ;'       g#    \        VRR 4      ;'       g    \        VRR 4      pVP                  ;'       g    \        VRR 4      p\        VR	R 4      pV R
8X  dÂ   \        VRVP                  4       \        TRV
'       d   VP                   RV
 2MVP                  4       \        VRV	4       \        VRV
4       \        VRV4       \        VRV4       \        VR	V4       \        VRVP                  4       \        VR\        VP                  4      4       V# V'       dF   \        VRVP                  4       \        VRVP                  4       \        VRVP                  4       V R8X  dŸ   \        VR\         P"                  ! 4       4       \        TR\        VRR 4      ;'       g    T
4       VP$                  '       dI   \        TR\'        T;'       g    ^ 4      \'        R4      ,          P)                  \'        R4      4      4       V# V R8X  dT   \+        Wv4      p\        VRV4       \        VR\        Wê4      4       \        VR\        Wê4      4       \        VRV4       V# V R49   d   V R8X  d   \        VRV4       V# V R8X  dù   \        VR\        VRR 4      4       \        VRVP                  4       \        VRVP,                  4       \        TR \        VR!R 4      ;'       g    VP                  4       \        TR"\        VRR 4      ;'       g    VP                  4       \        VRV4       \        VR#VP                  4       \        VR	V4       \        VRV
4       \        VRV4       \        VR$V4       V# V'       d   \        VRVP                  4       V R%8X  Ed`   \        VR\         P"                  ! 4       4       \        TR&\        VR'R 4      ;'       g    VP                  4       \        TR(\        VR)R 4      ;'       g    VP.                  4       \        TR\        VRR 4      ;'       g    T
4       \        TR\        VRR 4      ;'       g    T4       \        VR*\        VR*R 4      4       \        VR+\        VR*R 4      4       VP0                  '       d`   \        VR$R 4      ;'       g    T;'       g    ^ p\        VR\'        V4      \'        R,4      ,          P)                  \'        R4      4      4       V# V R-8X  d/   \        TR.\        VRR 4      ;'       g    T;'       g    ^ 4       V# V R/8X  d;   \        TR0\        VR$R 4      ;'       g    T4       \        VR1\'        R24      4       V# V# )5Nrd   rf   ri   Ú	item_namer
  rº   r¬   r/  Úbudget_headr>   rb   Útitlez - r  Útender_dateÚbid_typeÚtender_numberr?   Ú
entry_dateÚamountz0.02z0.01r@   Úsample_itemsÚsample_descriptionrB   Úquoted_amountrC   rô   rž   rÕ   Útender_reference_noÚ	tender_noÚtender_reference_dateÚprocess_initiate_dateÚpo_valuerD   Úcontract_numberÚpo_noÚcontract_dateÚpo_dateÚvendor_namere   z0.10rE   Úaccepted_quantityrF   Úinvoice_amountÚpaid_amountz0.00>   ri   rf   rd   >   rB   rA   )ÚintersectionrR  rÿ   rô   r  r  rœ   rE  r7  rb   rê   rë   r  rž   ra  rX  r   rñ   r×   r   Úquantizer  rÕ   rG  rØ   )ro   r   r‰   rK  rÜ   r    r  r  rQ  r  rU  r¬   r/  rV  r]  Ú
base_values   &&&&            r[   Ú*_apply_procurement_case_to_process_payloadrp  ~  sŽ  € ð �G�€JØÒÒ#P×#]Ñ#]Ð^h×#iÒ#iØÐÜ$8¸ÈÓ$QÑ!€D�vßØÐä�
Ð1°4·7±7Ô;Ü1°+Ó>€LÜ  ¬w°v¸{ÈDÓ/Q÷  0Dð  0DÔU\Ð]hÐj|ð  Có  VDó  E€IØ×%Ñ%÷  Rð  R¬°Ð>`ÐbfÓ)g÷  Rð  RÔkrÐs~ð  AKð  MQó  lR€HØ×1Ñ1×aÐa´W¸[ÐJZÐ\`Ó5a€NÜ˜+ }°dÓ;€Kà�	ÔÜ�JÐ 0°$×2EÑ2EÔFÜ�J ×Xa¨D×,DÑ,DÐ+EÀSÈÈÑ)TÐgk×gÑgô  	AÜ�J °Ô=Ü�J ¨YÔ7Ü�J 
¨HÔ5Ü�JÐ 0°.ÔAÜ�J ¨{Ô;Ü�J ¨t×/GÑ/GÔHÜ�J 
¬N¸4×;PÑ;PÓ,QÔRØÐçÜ�J ¨V¯Y©YÔ7Ü�J °×1AÑ1AÔBÜ�J ¨v×/AÑ/AÔBà�„Ü�J ¬d¯jªj«lÔ;Ü�J ¬W°V¸[È$Ó-O×-\Ð-\ÐS\Ô]Ø××ÐÜ˜
 H¬w°~×7JÐ7JÈÓ/KÌgÐV\ËoÕ/]×.gÑ.gÔhoÐpvÓhwÓ.xÔyØÐà�	ÔÜ0°ÓEˆÜ�J °Ô=Ü�J Ô-=¸lÓ-VÔWÜ�JÐ 4Ô6FÀ|Ó6_Ô`Ü�J 
¨HÔ5ØÐàÐBÔBØÐ+Ô+Ü˜
 O°^ÔDØÐàÐ!Ô!Ü�J ¬W°V¸TÀ4Ó-HÔIÜ�JÐ 2°D×4IÑ4IÔJÜ�JÐ 8¸$×:UÑ:UÔVÜ�JÐ 5´w¸vÀ{ÐTXÓ7Y×7uÐ7uÐ]a×]uÑ]uÔvÜ�JÐ 7¼ÀÈÐX\Ó9]×9yÐ9yÐae×ayÑayÔzÜ�JÐ 0°.ÔAÜ�JÐ 7¸×9QÑ9QÔRÜ�J ¨{Ô;Ü�JÐ 2°IÔ>Ü�J 
¨HÔ5Ü�J 
¨NÔ;ØÐç	Ü�J ¨¯©Ô/àÐ(Õ(Ü�J ¬d¯jªj«lÔ;Ü�JÐ 1´7¸2¸wÈÓ3M×3iÐ3iÐQU×QiÑQiÔjÜ�J ´¸¸YÈÓ1M×1cÐ1cÐQU×QcÑQcÔdÜ�J ¬W°RÐ9KÈTÓ-R×-_Ð-_ÐV_Ô`Ü�J 
¬G°B¸
ÀDÓ,I×,UÐ,UÈXÔVÜ�J ¬w°r¸=È$Ó/OÔPÜ�J ¬w°r¸=È$Ó/OÔPØ××ÐÜ   Z°Ó6×MÐM¸.×MÐMÈAˆJÜ˜
 H¬w°zÓ/BÄWÈVÃ_Õ/T×.^Ñ.^Ô_fÐgmÓ_nÓ.oÔpØÐàÐ%Ô%Ü�JÐ 3´W¸RÀÈTÓ5R×5cÐ5cÐV^×5cÐ5cÐbcÔdØÐà�
ÔÜ�JÐ 0´'¸"¸jÈ$Ó2O×2aÐ2aÐSaÔbÜ�J ¬w°v«Ô?ØÐàÐrZ   c               ó    € V ^8„  d   QhRRRR/# ©rn   r   r€   rr   rQ   )rs   s   "r[   rt   rt   á  s   € ÷ -ñ -°ð -À>ñ -rZ   c                ó4  € V P                  R 4      p\        V\        4      '       g   V # . p\        V4       EF  w  r4\        V\        4      '       g   K  VP                  4        UUu/ uF  w  rVVf   K  VR8w  g   K  WVbK  	  ppp\        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       g   KŒ  VP                  R4      pV'       gE   RP                  R VP                  R4      VP                  R	4      3 4       4      pV'       d   W‡R&   VP                  R
V^,           4       VP                  V4       EK  	  / V CR V/Cp	V'       g   V	# V^ ,          p
V	P                  RV
P                  R4      4       V	P                  RV
P                  R4      4       V	P                  RV
P                  R4      4       V	P                  R	V
P                  R	4      4       V	P                  RV
P                  R4      4       . pV F7  p TP                  \        VP                  R4      ;'       g    ^ 4      4       K9  	  \        V4      pV^ 8”  d   V	P                  R4      R9   d   WÉR&   V	# u uppi   \        \        3 d     Kƒ  i ; i)r]  r¼   c              3  ó*   "  € T F	  qR 8g  x € K  	  R# 5i©r  NrQ   ©Ú.0rü   s   & r[   Ú	<genexpr>Ú5_normalize_sample_register_payload.<locals>.<genexpr>ï  ó   é € Ð9±¨#˜+Ö%³ùó   ‚TFÚ
make_modelrË   c              3  óf   "  € T F'  q'       g   K  \        V4      P                  4       x € K)  	  R # 5irþ   )rp   rÌ   )rw  rÇ   s   & r[   rx  ry  ó  s(   é € Ð!wÑBm¸ÓqvÔ"4¤# e£*×"2Ñ"2×"4Ð"4ÓBmùs   ‚	1�!1ÚmakerI   r  rU  r  r^  r¬   r»   )rz   r­   r®   r	  rW   r�   ÚanyÚjoinrÚ   r¯   r°   r±   r²   r³   )r   r�   Úcleaned_itemsr  rµ   rü   rÇ   Úcleanedr|  rÜ   Ú
first_itemr´   Útotal_quantitys   &            r[   Ú"_normalize_sample_register_payloadr…  á  sD  € Ø�K‰K˜Ó'€EÜ�eœT×"Ò"Øˆà*,€MÜ  ×'‰ˆÜ˜$¤×%Ò%Ùð #Ÿj™jœlô
á*‘
�Øô à%*¨b¡[ô ˆCŠJÙ*ð 	ñ 
÷
 ‹sÑ9±Ó9�s�sŠsÑ9±Ó9×9Ò9ÙØ—[‘[ Ó.ˆ
ßØŸ™Ñ!wÀ7Ç;Á;ÈvÓCVÐX_×XcÑXcÐdkÓXlÑBmÓ!wÓwˆJßØ(2˜Ñ%Ø×Ñ˜;¨°­	Ô2Ø×Ñ˜W×%ñ! (ð$ <�GÐ;˜^¨]Ñ;€JßØÐà˜qÕ!€JØ×Ñ˜+ z§~¡~°mÓ'DÔEØ×ÑÐ.°
·±¸}Ó0MÔNØ×Ñ˜& *§.¡.°Ó"8Ô9Ø×Ñ˜' :§>¡>°'Ó#:Ô;Ø×Ñ˜,¨
¯©°|Ó(DÔEà€JÛˆð	Ø×Ñœc $§(¡(¨:Ó"6×";Ð";¸!Ó<Ö=ñ ô
 ˜“_€NØ˜Ô˜jŸn™n¨ZÓ8¸JÔFØ!/�:ÑàÐùóI
øô< œ:Ð&ô 	Úð	ús*   Á(I<Á5I<Á>I<È'JÈ?JÊJÊJc               ó    € V ^8„  d   QhRRRR/# rr  rQ   )rs   s   "r[   rt   rt     s   € ÷ $ñ $ ~ð $¸.ñ $rZ   c                ón  € V P                  R 4      p\        V\        4      '       g   V # . p\        V4       Fµ  w  r4\        V\        4      '       g   K  VP                  4        UUu/ uF  w  rVVf   K  VR8w  g   K  WVbK  	  ppp\        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       g   K‹  VP                  RV^,           4       VP                  V4       K·  	  / V CR V/CpV'       g   V# V^ ,          p	VP                  RV	P                  R4      4       . p
V F7  p T
P                  \        VP                  R4      ;'       g    ^ 4      4       K9  	  \        V
4      pV^ 8”  d   VP                  R4      R	9   d   W¸R&   V# u uppi   \        \        3 d     Kƒ  i ; i)
r  r¼   c              3  ó*   "  € T F	  qR 8g  x € K  	  R# 5iru  rQ   rv  s   & r[   rx  Ú,_normalize_tender_payload.<locals>.<genexpr>  rz  r{  TFr  rU  r  r¬   r»   )rz   r­   r®   r	  rW   r�   r  rÚ   r¯   r°   r±   r²   r³   )r   r�   r�  r  rµ   rü   rÇ   r‚  rÜ   rƒ  r´   r„  s   &           r[   Ú_normalize_tender_payloadrŠ    s“  € Ø�K‰K˜Ó'€EÜ�eœT×"Ò"Øˆà*,€MÜ  Ö'‰ˆÜ˜$¤×%Ò%Ùð #Ÿj™jœlô
á*‘
�Øô à%*¨b¡[ô ˆCŠJÙ*ð 	ñ 
÷
 ‹sÑ9±Ó9�s�sŠsÑ9±Ó9×9Ò9ÙØ×Ñ˜;¨°­	Ô2Ø×Ñ˜WÖ%ñ (ð <�GÐ;˜^¨]Ñ;€JßØÐà˜qÕ!€JØ×Ñ˜+ z§~¡~°mÓ'DÔEà€JÛˆð	Ø×Ñœc $§(¡(¨:Ó"6×";Ð";¸!Ó<Ö=ñ ô
 ˜“_€NØ˜Ô˜jŸn™n¨ZÓ8¸JÔFØ!/�:ÑàÐùó7
øô* œ:Ð&ô 	Úð	ús*   Á'FÁ4FÁ=FÄ4'FÅFÆF4Æ3F4c               ó    € V ^8„  d   QhRRRR/# )rn   r‰   r   rr   rp   rQ   )rs   s   "r[   rt   rt   8  s   € ÷ *ñ *˜Wð *¨ñ *rZ   c                ól  € \         P                  ! 4       P                  pR V R2pV P                  \        P
                  4      P                  \        P
                  P                  V R24      4      P                  4       p^ pV Fv  w  pV'       d   VP                  V4      '       g   K&  VP                  V4      p\        V4      ^8X  g   KI  VP                  4       '       g   Ka  \        V\        V4      4      pKx  	  V^,           pVR8”  d    \        \         P"                  RV R2R7      hV VR 2# )r  rÉ   Ú%i'  z Requisition number sequence for z has reached 9999.rw   Ú04d)r   rñ   Úyearrî   r1   r"  rï   ÚlikeÚallr#  r6  rí   ÚisdigitÚmaxr°   r
   r   r‘   )r‰   r�  ÚprefixÚexistingÚmax_sequencer"  r'  Únext_sequences   &       r[   Ú_next_requisition_nor˜  8  s  € Ü�:Š:‹<×Ñ€DØ�D�6˜ˆ^€FØ�x‰xœ×2Ñ2Ó3×:Ñ:Ü×"Ñ"×'Ñ'¨6¨(°!¨Ó5óç	�cƒeð ð €LÛ%Ñˆß ^×%>Ñ%>¸v×%FÒ%FÙØ!×.Ñ.¨vÓ6ˆÜˆx‹=˜AÖ (×"2Ñ"2×"4Ô"4Ü˜|¬S°«]Ó;ŠLñ &ð ! 1Õ$€MØ�tÔÜÜ×3Ñ3Ø5°d°VÐ;MÐNô
ð 	
ð ˆX�m CÐ(Ð)Ð)rZ   c               ó    € V ^8„  d   QhRRRR/# ©rn   r‰   r   rr   rŒ   rQ   )rs   s   "r[   rt   rt   O  s   € ÷ ñ ˜Gð ¨ñ rZ   c                ó¦   €  V P                  4        R#   \         d2   pT P                  4        \        \        P
                  R R7      ThRp?ii ; i©zBRecord could not be saved because it conflicts with existing data.rw   N)Úcommitr   Úrollbackr
   r   ÚHTTP_409_CONFLICT©r‰   r…   s   & r[   Ú_commit_or_conflictr¡  O  sG   € ðØ
�	‰	ŽøÜô Ø
�‰ŒÜÜ×0Ñ0ØWô
ð ð	ûðúó   ‚ ”AŸ,AÁAc               ó    € V ^8„  d   QhRRRR/# rš  rQ   )rs   s   "r[   rt   rt   Z  s   € ÷ ñ ˜7ð  tñ rZ   c                ó¦   €  V P                  4        R#   \         d2   pT P                  4        \        \        P
                  R R7      ThRp?ii ; irœ  )rH  r   rž  r
   r   rŸ  r   s   & r[   ró   ró   Z  sG   € ðØ
�‰Ž
øÜô Ø
�‰ŒÜÜ×0Ñ0ØWô
ð ð	ûðúr¢  z/stagesc               ó   € V ^8„  d   QhRR/# )rn   Úcurrent_userz*Annotated[User, Depends(get_current_user)]rQ   )rs   s   "r[   rt   rt   f  s   € ÷ ñ ÐHñ rZ   c           
     óÎ   € R R0p\          Uu. uFL  pW!9  g   K  \        V \        V4      4      '       g   K(  RVRVP                  RR4      P	                  4       /NKN  	  up# u upi )r\   r]   rü   r•   rÉ   rË   )rl   r   r   rÎ   rW  )r¦  Úhidden_stagesÚks   &  r[   Úlist_stagesrª  e  sn   € à Ð0€Mõ óáˆAØÑ!ô 	9ä&>¸|ÔM`ÐabÓMc×&dô 	9ˆ��7˜AŸI™I c¨3Ó/×5Ñ5Ó7Ó8Ùñð ùò s   �A"šA"·(A"z/requisitions/next-numberc               ó   € V ^8„  d   QhRR/# )rn   r‰   ú#Annotated[Session, Depends(get_db)]rQ   )rs   s   "r[   rt   rt   p  s   € ÷ 8ñ 8Ð Cñ 8rZ   c                ó   € R \        V 4      /# )r"  )r˜  )r‰   s   &r[   Únext_requisition_numberr®  o  s   € àÔ2°2Ó6Ð7Ð7rZ   z/{stage})Úresponse_modelr7   )Úgeiè  )r°  Úlec               ó0   € V ^8„  d   QhRRRRRRRRR	RR
R/# )rn   ro   rp   r‰   r¬  rq   ú*Annotated[Language, Depends(get_language)]Úpager°   ÚsizeÚsearchrÓ   rQ   )rs   s   "r[   rt   rt   u  sL   € ÷ @ñ @Øð@à+ð@ð 9ð@ð ð	@ð
 ð@ð ñ@rZ   c           	     ó*  € \        W4      pVP                  VP                  4      pV R 8X  d3   VP                  \        P
                  P                  \        4      4      p\        P                  V 4      pV'       d\   VP                  \        VP                  P                  \        P                  8H  4      P                  \        P
                  V8H  4      pV'       di   VP                   U	u. uF:  p	\        \        VP                  V	4      \         4      P#                  RV R24      NK<  	  p
p	VP                  \%        V
!  4      pVP'                  4       pVP)                  VP                  P                  P+                  4       4      P-                  V^,
          V,          4      P/                  V4      P1                  4       pV Uu. uF-  qÖP2                  P5                  V4      P7                  RR7      NK/  	  pp\9        W³WNR7      # u up	i u upi )r`   r�  Újsonr  )Útotalr´  rµ  r�   )r|   rî   rI   rï   r/   rž   Úin_rÙ   r›   rz   r€  rd   rô   rM   r   rœ   r   r�  r   ÚcountrC  rP  ÚoffsetÚlimitr‘  rL   r‚   r�   r6   )ro   r‰   rq   r´  rµ  r¶  r{   rî   rŸ   ÚfÚ
conditionsr¹  ÚrowsÚrr�   s   &&&&&&         r[   Úlist_recordsrÂ  t  s¤  € ô �uÓ'€FØ�H‰H�V—\‘\Ó"€EØÐ#Ô#Ø—‘œ_×=Ñ=×AÑAÔBZÓ[Ó\ˆÜ0×4Ñ4°UÓ;€MßØ—
‘
ÜØ�L‰L×,Ñ,´×0BÑ0BÑBó
÷ ‰&”×1Ñ1°]ÑBÓ
Cð 	÷ ð ×)Ò)ó
á)�ô ”˜Ÿ™ qÓ)¬6Ó2×7Ñ7¸!¸F¸8À1¸ÖFÙ)ð 	ð 
ð —‘œS *Ñ-Ó.ˆØ�K‰K‹M€EØ�>‰>˜&Ÿ,™,Ÿ/™/×.Ñ.Ó0Ó1×8Ñ8¸$À½(ÀdÕ9JÓK×QÑQÐRVÓW×[Ñ[Ó]€DÙSWÓXÑSWÈa×Ñ×.Ñ.¨qÓ1×<Ñ<À&Ð<ÖIÑSW€EÐXÜ�e¨TÔ?Ð?ùò
ùò Ys   Ã.A HÇ	3Hz/{stage}/{record_id}c               ó(   € V ^8„  d   QhRRRRRRRR/# ©	rn   ro   rp   Ú	record_idr°   r‰   r¬  rq   r³  rQ   )rs   s   "r[   rt   rt   ”  s0   € ÷ 2ñ 2Øð2àð2ð 	,ð2ð 9ñ	2rZ   c                ó  € \        W4      pVP                  VP                  V4      pV'       g   \        R \	        RV4      R7      hV R8X  d-   VP
                  \        9  d   \        R \	        RV4      R7      h\        P                  V 4      pV'       dQ   VP                  \        VP                  4      pV'       d   VP
                  V8w  d   \        R \	        RV4      R7      hVP                  P                  V4      # )rv   úprocurement.not_foundrw   r`   )r|   rz   rI   r
   r   rž   rÙ   r›   r/   rd   rL   r‚   )ro   rÅ  r‰   rq   r{   ÚrowrŸ   r    s   &&&&    r[   Ú
get_recordrÉ  “  sÎ   € ô �uÓ'€FØ
�&‰&�—‘˜yÓ
)€CßÜ¨´IÐ>UÐW_Ó4`ÔaÐaØÐ#Ô#¨×(<Ñ(<ÔD\Ô(\Ü¨´IÐ>UÐW_Ó4`ÔaÐaÜ0×4Ñ4°UÓ;€MßØ�v‰v”o s×'>Ñ'>Ó?ˆß�t×,Ñ,°Ô=Ü¨C¼	ÐBYÐ[cÓ8dÔeÐeØ×Ñ×,Ñ,¨SÓ1Ð1rZ   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	rn   ro   rp   r   r€   r‰   r¬  rq   r³  rQ   )rs   s   "r[   rt   rt   ©  s0   € ÷ *2ñ *2Øð*2àð*2ð 	,ð*2ð 9ñ	*2rZ   c                ó–  € \        W4      pV R 8X  dV   / VCp\        VP                  R4      ;'       g    R4      P                  4       '       g   \	        V4      VR&   \        V4      pV 0 \        P                  4       m\        m9   d   \        WV4      pV R8X  d   \        W4      p\        V4      pV \        9   d   \        WV4      pV R8X  d   \        V4      pV R8X  d   \        V4      p\        VP                   V4      p\#        W4       \%        W$V4       \'        W V4       \)        WP+                  4       4       V R 8X  d3   \-        VP+                  4       4       \/        VP+                  4       4       VP0                  ! R/ VP+                  4       B pVP3                  V4       V R9   de   \5        V4       V R 8X  d   \7        W&4       V R8X  dA   VP8                  '       d!   VP                  \:        VP8                  4      MRp\=        W&V4       \?        V4       VPA                  V4       VPB                  PE                  V4      # )	r^   r"  r¼   r`   r@   r>   NrQ   >   r^   r`   )#r|   rp   rz   rÌ   r˜  râ   r›   r¥   rù   rö   rM  rß   rp  r…  rŠ  r†   rJ   rú   r—   r¡   r¨   r�   r¿   rÅ   rI   rò   ró   rI  rb   r1   r@  r¡  ÚrefreshrL   r‚   )ro   r   r‰   rq   r{   rŠ   rÈ  r  s   &&&&    r[   Úcreate_recordrÍ  ¨  så  € ô �uÓ'€FØ�ÔØ�W�+ˆÜ�7—;‘;Ð/Ó0×6Ð6°BÓ7×=Ñ=×?Ò?Ü(<¸RÓ(@ˆGÐ$Ñ%Ü/°Ó8ˆØÐGÔ.×3Ñ3Ó5ÐG¼ÐGÔGÜ2°5À2ÓFˆØÐ#Ô#Ü8¸ÓEˆÜ/°Ó8ˆØ”ÔÜ<¸UÈRÓPˆØ�	ÔÜ4°WÓ=ˆØ�	ÔÜ+¨GÓ4ˆÜ�V×)Ñ)¨7Ó3€DÜ(¨Ô5Ü˜" dÔ+Ü% b°Ô6Ü)¨%·±Ó1BÔCØ�ÔÜ/°·±Ó0AÔBÜ-¨d¯o©oÓ.?Ô@Ø
�,Š,Ñ
+˜Ÿ™Ó*Ñ
+€CØ‡F�Fˆ3„KØÐ5Ô5Ü˜2ÔØ�NÔ"Ü7¸Ô@ØÐ'Ô'ØEH×EW×EWÐEW˜"Ÿ&™&¤¨c×.@Ñ.@ÔAÐ]aˆKÜ+¨B°[ÔAÜ˜ÔØ‡J�Jˆs„OØ×Ñ×,Ñ,¨SÓ1Ð1rZ   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )rn   ro   rp   rÅ  r°   r   r€   r‰   r¬  rq   r³  rQ   )rs   s   "r[   rt   rt   ×  s:   € ÷ 72ñ 72Øð72àð72ð ð72ð 	,ð	72ð
 9ñ72rZ   c                óÌ  € \        W4      pVP                  VP                  V4      pV'       g   \        R \	        RV4      R7      hV R8X  d-   VP
                  \        9  d   \        R \	        RV4      R7      hV R8X  d$   \        W#V4      p\        V\        VRR4      4      pV R8X  d   \        V\        VRR4      4      pV 0 \        P                  4       m\        m9   d   \        WV4      pV \        9   d   \        WW64      pV R8X  d   \!        V4      pV R8X  d   \#        V4      p\%        VP&                  V4      pV 0 \        P                  4       m\        m9   d=   VP)                  R	R
7      P                  R\        VRR4      4      pVf   \+        W4       \-        W5VR	R
7       \/        W0V4       V R0\        P                  4       m9   dV   VP0                  P3                  V4      P)                  4       p	V	P5                  VP)                  R	R
7      4       \7        W	4       V R8X  da   VP0                  P3                  V4      P)                  4       p	V	P5                  VP)                  R	R
7      4       \9        V	4       \;        V	4       VP)                  R	R
7      P=                  4        F  w  r«\?        WjV4       K  	  V R9   de   \A        V4       V R8X  d   \C        W64       V R8X  dA   VPD                  '       d!   VP                  \F        VPD                  4      MRp\I        W6V4       \K        V4       VPM                  V4       VP0                  P3                  V4      # )rv   rÇ  rw   r`   rž   Nr^   r@   r>   TrŽ   rd   >   r^   r`   )'r|   rz   rI   r
   r   rž   rÙ   rM  rß   rœ   râ   r›   r¥   rù   rö   rp  r…  rŠ  r†   rK   r�   rú   r—   r¡   rL   r‚   Úupdater¨   r¿   rÅ   r�   r=  ró   rI  rb   r1   r@  r¡  rÌ  )ro   rÅ  r   r‰   rq   r{   rÈ  rŠ   Úeffective_case_idrK  rü   rÇ   r  s   &&&&&        r[   Úupdate_recordrÒ  Ö  sè  € ô �uÓ'€FØ
�&‰&�—‘˜yÓ
)€CßÜ¨´IÐ>UÐW_Ó4`ÔaÐaØÐ#Ô#¨×(<Ñ(<ÔD\Ô(\Ü¨´IÐ>UÐW_Ó4`ÔaÐaØÐ#Ô#Ü8¸ÀcÓJˆÜ/°¼ÀÐFXÐZ^Ó9_Ó`ˆØ�ÔÜ/°¼ÀÐFXÐZ^Ó9_Ó`ˆØÐGÔ.×3Ñ3Ó5ÐG¼ÐGÔGÜ2°5À2ÓFˆØ”ÔÜ<¸UÈRÓUˆØ�	ÔÜ4°WÓ=ˆØ�	ÔÜ+¨GÓ4ˆÜ�V×)Ñ)¨7Ó3€DØÐGÔ.×3Ñ3Ó5ÐG¼ÐGÔGØ ŸO™O¸$˜OÓ?×CÑCØ!¤7¨3Ð0EÀtÓ#Ló
Ðð Ò$Ü0°Ô=Ü˜" d¸$Õ?Ü% b°Ô6ØÐ$ÐKÔ'C×'HÑ'HÓ'JÐKÔKØ×$Ñ$×3Ñ3°CÓ8×CÑCÓEˆØ�‰�t—‘°T�Ó:Ô;Ü-¨eÔ=Ø�ÔØ×$Ñ$×3Ñ3°CÓ8×CÑCÓEˆØ�‰�t—‘°T�Ó:Ô;Ü/°Ô8Ü-¨gÔ6Ø—o‘o°D�oÓ9×?Ñ?ÖA‰
ˆÜ�˜%Ö ñ BàÐ5Ô5Ü˜2ÔØ�NÔ"Ü7¸Ô@ØÐ'Ô'ØEH×EW×EWÐEW˜"Ÿ&™&¤¨c×.@Ñ.@ÔAÐ]aˆKÜ+¨B°[ÔAÜ˜ÔØ‡J�Jˆs„OØ×Ñ×,Ñ,¨SÓ1Ð1rZ   c               ó(   € V ^8„  d   QhRRRRRRRR/# rÄ  rQ   )rs   s   "r[   rt   rt     s6   € ÷ Cñ CØðCàðCð 	,ðCð 9ñ	CrZ   c                óH  € \        W4      pVP                  VP                  V4      pV'       g   \        R \	        RV4      R7      hV R8X  d-   VP
                  \        9  d   \        R \	        RV4      R7      hVP                  V4       \        V4       R\	        RV4      /# )rv   rÇ  rw   r`   Úmessagezprocurement.deleted)	r|   rz   rI   r
   r   rž   rÙ   Údeleter¡  )ro   rÅ  r‰   rq   r{   rÈ  s   &&&&  r[   Údelete_recordr×    sŽ   € ô �uÓ'€FØ
�&‰&�—‘˜yÓ
)€CßÜ¨´IÐ>UÐW_Ó4`ÔaÐaØÐ#Ô#¨×(<Ñ(<ÔD\Ô(\Ü¨´IÐ>UÐW_Ó4`ÔaÐaØ‡I�Iˆc„NÜ˜ÔØ”yÐ!6¸ÓAÐBÐBrZ   >   r8   r;   r=   r9   r<   r:   >   ÚClosedÚ	CancelledúRe-Tenderedré   >	   r?   r@   r>   rF   rC   rE   rB   rA   rD   )Ú	demand_noÚ
departmentr
  r   )Úsr_noÚnamer  )r"  Úreceived_fromÚreceived_from_districtÚreceived_from_rangeÚsender_nameÚsender_designationr
  rž   rÕ   rV  Úrequested_byrÂ   )	rê   rž   rÕ   r¤   Úmode_selected_byÚfile_noÚsanction_noÚapproving_authorityra   )r,  Ú
gem_bid_noÚgem_contract_noÚdelivery_statusÚdelivery_delay_reasonÚdelivery_delay_document_pathrc   r   )r-  Útechnical_evaluation_statusÚfinancial_evaluation_statusÚloa_noÚcontract_nor   )r0  Úcountry_of_vendorÚforeign_vendor_nameÚforeign_currencyrî  Úcommercial_evaluation_statusrñ  r   )Úlpc_meeting_noÚcommittee_membersÚcomparative_statement_pathr   )r2  rø  r   )r3  r4  r5  r   )
r  ra  rU  rV  Úl1_bidder_namere  ra   rW  rY  r   )r  Úemd_unique_idrZ  rU  re   Úemd_formÚemd_noÚissuing_branchÚreturn_detailsra   Úinstrument_noÚrefund_status)r  rZ  rU  re   r~  rI   r|  Úrecipient_namera   r^  Úevaluation_status)re   Ú	evaluatorrh   )rf  rž   r`  rV  ri  r
  r  r   )re  rU  ri  re   Úsecurity_formÚsecurity_numberrý  Úwarranty_periodrþ  ra   rÿ  Úrelease_status)Úenrþ   )¸Ú__conditional_annotations__Ú
__future__r   Údatetimer   Údecimalr   Útypingr   r   Úfastapir   r	   r
   r   r   Úpydanticr   r   r   Ú
sqlalchemyr   r   r   Úsqlalchemy.excr   Úsqlalchemy.ormr   Úapp.api.depsr   r   r   r   r   r   Úapp.core.i18nr   r   r   Úapp.db.sessionr   Úapp.models.enumsr   r    Úapp.models.userr!   Úapp.models.procurementr"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   Úapp.schemasr5   ÚschemasÚapp.schemas.commonr6   ÚrouterÚprocurement_officerr  ÚfinanceÚWRITERrÙ   r¦   r›   r;  rù   rH   ÚDemandCreateÚDemandUpdateÚ
DemandReadÚItemDatabaseCreateÚItemDatabaseUpdateÚItemDatabaseReadÚRequisitionCreateÚRequisitionUpdateÚRequisitionReadÚProcurementCaseCreateÚProcurementCaseUpdateÚProcurementCaseReadÚGeMProcurementCaseCreateÚGeMProcurementCaseUpdateÚGeMProcurementCaseReadÚETenderCaseCreateÚETenderCaseUpdateÚETenderCaseReadÚGlobalTenderCaseCreateÚGlobalTenderCaseUpdateÚGlobalTenderCaseReadÚLPCProcurementCaseCreateÚLPCProcurementCaseUpdateÚLPCProcurementCaseReadÚOpenMarketCaseCreateÚOpenMarketCaseUpdateÚOpenMarketCaseReadÚOtherProcurementCaseCreateÚOtherProcurementCaseUpdateÚOtherProcurementCaseReadÚTenderBidCreateÚTenderBidUpdateÚTenderBidReadÚ	EMDCreateÚ	EMDUpdateÚEMDReadÚSampleRegisterCreateÚSampleRegisterUpdateÚSampleRegisterReadÚTechnicalEvaluationCreateÚTechnicalEvaluationUpdateÚTechnicalEvaluationReadÚFinancialEvaluationCreateÚFinancialEvaluationUpdateÚFinancialEvaluationReadÚPurchaseOrderCreateÚPurchaseOrderUpdateÚPurchaseOrderReadÚPerformanceSecurityCreateÚPerformanceSecurityUpdateÚPerformanceSecurityReadÚDeliveryAcceptanceCreateÚDeliveryAcceptanceUpdateÚDeliveryAcceptanceReadÚPaymentTrackingCreateÚPaymentTrackingUpdateÚPaymentTrackingReadrl   rV   r|   r†   r—   r¡   r¨   r¶   r¿   rÅ   r�   rß   râ   rå   rö   rú   rÿ   r  r  r  r  r)  r8  r@  rI  rM  rR  rp  r…  rŠ  r˜  r¡  ró   rz   rª  r®  rÂ  rÉ  ÚpostrÍ  ÚputrÒ  rÖ  Úadminr×  )r	  s   @r[   Ú<module>r\     sº  øðß "Ð "Ý Ý ß !ç DÕ Dß 6Ñ 6ß (Ñ (Ý )Ý "÷÷ ÷ <Ñ ;Ý !ß 4Ý  ÷÷ ÷ ÷ ÷ ñ õ* /Ý #á	¡Ð)9Ó!:Ð ;Ô	<€á	‘˜t×7Ñ7¸¿¹ÈÏÉÓVÓ	W€Ú^Ð Ú ^Ð à�Ø�jØ˜?Ø�Ø˜Ø˜wð Ð ð 
ÐØ�ØÐ%Ø	ÐØ�>ØÐ!ð"Ð ò
€ô5�)ô 5ðj"Ø‰{ØØ×*Ñ*Ø×*Ñ*Ø×&Ñ&ÚOôðj"ð ‘[ØØ×0Ñ0Ø×0Ñ0Ø×,Ñ,Ú4ôðj"ð ‘KØØ×/Ñ/Ø×/Ñ/Ø×+Ñ+ò
ð ! 6¨8Ð"4Ð5ô'ðj"ðH ™ØØ×3Ñ3Ø×3Ñ3Ø×/Ñ/ò

ð &¨°]Ð'CÐDô!ðIj"ðl ‘Ø Ø×6Ñ6Ø×6Ñ6Ø×2Ñ2ò	
ð +¨_Ð>PÐ,QÐRôðmj"ðN ‘kØØ×/Ñ/Ø×/Ñ/Ø×+Ñ+ò
ð +¨_Ð>PÐ,QÐRôðOj"ðl ™;ØØ×4Ñ4Ø×4Ñ4Ø×0Ñ0ò	
ð +¨_Ð>PÐ,QÐRôðmj"ðN ‘Ø Ø×6Ñ6Ø×6Ñ6Ø×2Ñ2ò
ð +¨_Ð>PÐ,QÐRôðOj"ðh ™ØØ×2Ñ2Ø×2Ñ2Ø×.Ñ.ò
ð
 +¨_Ð>PÐ,QÐRôðij"ð@ ™{Ø"Ø×8Ñ8Ø×8Ñ8Ø×4Ñ4ò
ð +¨_Ð>PÐ,QÐRô ðAj"ðZ ‰{ØØ×-Ñ-Ø×-Ñ-Ø×)Ñ)ò
ð ˜{¨MÐ:Ø! OÐ5GÐ#Hð
ô#ð[j"ðF ‰KØØ×'Ñ'Ø×'Ñ'Ø—O‘Oò
ð ˜) XÐ.Ø! OÐ5GÐ#Hð
ô'ðGj"ðv ‰{ØØ×2Ñ2Ø×2Ñ2Ø×.Ñ.ò
ð ˜) XÐ.Ø! OÐ5GÐ#Hð
ô%ðwj"ðd ™[Ø!Ø×7Ñ7Ø×7Ñ7Ø×3Ñ3Ú<à˜) XÐ.Ø! OÐ5GÐ#Hð
ô
ðej"ðz ™[Ø!Ø×7Ñ7Ø×7Ñ7Ø×3Ñ3Ø$ hÐ/à˜) XÐ.Ø! OÐ5GÐ#Hð
ô
ð{j"ðP ‘{ØØ×1Ñ1Ø×1Ò1Ø×-Ò-ò	
ð ˜) XÐ.Ø! OÐ5GÐ#Hð
ôðQj"ðx ™kØ!Ø×7Ò7Ø×7Ò7Ø×3Ò3ò
ð �mÐ%5Ð6Ø! OÐ5GÐ#Hð
ô'ðyj"ðh ™;Ø Ø×6Ò6Ø×6Ò6Ø×2Ò2Ø*¨IÐ6à�mÐ%5Ð6Ø! OÐ5GÐ#Hð
ô
ð ‘ØØ×3Ò3Ø×3Ò3Ø×/Ò/Ø#Ð%5Ð6à�mÐ%5Ð6Ø! OÐ5GÐ#Hð
ô
ñj"€Ðó j÷Z	õðð
  ÷õ"
õ
õõ.
õ 
õP÷+÷\õ6(õ3õl
õõ
õ<÷õ0õõ"÷2(õ&/;÷d÷>$)÷N`õF-õ`$õN*õ.õð ‡‚ˆIÓôó ðð ‡‚Ð'±w¹~ÈnÓ?]Ó7^Ð6_€Ó`ô8ó að8ð ‡‚ˆJ t¹7ÐCWÓ;XÐ:Y€ÓZñ
 �a˜A”Ù�b˜Q 4Ô(Øö@ó [ð@ð< ‡‚Ð"±'Ð:NÓ2OÐ1P€ÓQô2ó Rð2ð( ‡‚ˆZ v©wÐ7KÓ/LÐ&M€ÓNô*2ó Oð*2ðZ ‡‚Ð"°&¹'ÐBVÓ:WÐ1X€ÓYô72ó Zð72ðt ‡‚ØÙ™-¨¯
ª
°D×4LÑ4LÓMÓNÑPWÐXlÓPmÐnð ó ôCó	òCrZ   