
    qi                     4    d Z ddlmZmZ dee   dee   fdZy)u   识别结果合并工具。

职责概览：
- 合并 time_stamps 中相邻且同 speaker(`rl`) 的片段。
- 在保留时序的同时减少碎片化结果，提升前端展示与后处理稳定性。
    )DictListtime_stampsreturnc           	      T   | sg S g }| D ]  }t        |      }|s|j                  |       #|d   }|j                  d      |j                  d      k(  r	 t        |j                  dd      xs d      }t        |j                  d|      xs |      }	 t        |j                  dd      xs d      }t        |j                  d|      xs |      }t        t        ||      d      |d<   t        t        ||      d      |d<   |j                  dd      xs d|j                  dd      xs dz   |d<   |j                  d	      }	|j                  d	      }
|	|
d
|d	<   n<|	|
|d	<   n4|
|	|d	<   n,	 t        t        t        |	      t        |
            d      |d	<   t        |j                  d            xs t        |j                  d            |d<   |j                  |        |S # t        $ r d}d}Y jw xY w# t        $ r d}d}Y ?w xY w# t        $ r |	|d	<   Y w xY w)z;Merge adjacent segments when speaker id (`rl`) is the same.rlstartg        end   text simNsentence_end)	dictappendgetfloat	Exceptionroundminmaxbool)r   mergeditemcurrentprev
prev_startprev_end	cur_startcur_endabs              "/app/gzzm/services/result_merge.pymerge_adjacent_same_speakerr%      s(    	Ft*MM'"bz88D>W[[.."488GS#9#@SA
 %!<!J
K!'++gs";"BsC	E9 = JK
 "#j)"<a@DMHg 6:DK HHVR06B7;;vr;R;XVXYDLAE"AyQY"UUU$"'E!HeAh(?"CDK $((@#A#fT'++VdJeEfD MM'"U X MA   
  	& ! $"#DK$s6   >G.>H2+H.G?>G?HHH'&H'N)__doc__typingr   r   r%        r$   <module>r*      s*    3T$Z 3DJ 3r)   