<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd"><report name="NovelTrans 测试覆盖率报告"><sessioninfo id="yubing-X15-AT-23H1-9c696cb" start="1778345841861" dump="1778346152277"/><sessioninfo id="yubing-X15-AT-23H1-95cd0531" start="1778346393015" dump="1778346397614"/><sessioninfo id="yubing-X15-AT-23H1-a83cf945" start="1778346469440" dump="1778346473987"/><sessioninfo id="yubing-X15-AT-23H1-9efdfaa2" start="1778346505088" dump="1778346509713"/><sessioninfo id="yubing-X15-AT-23H1-ab1d92ce" start="1778346592047" dump="1778346596926"/><sessioninfo id="yubing-X15-AT-23H1-cf042628" start="1778346626419" dump="1778346930678"/><sessioninfo id="yubing-X15-AT-23H1-1fd44311" start="1778346997608" dump="1778347003112"/><sessioninfo id="yubing-X15-AT-23H1-11aa8a26" start="1778347019970" dump="1778347325766"/><sessioninfo id="yubing-X15-AT-23H1-b13ea828" start="1778347514061" dump="1778347517397"/><sessioninfo id="yubing-X15-AT-23H1-c1df4e33" start="1778347535432" dump="1778347844917"/><sessioninfo id="yubing-X15-AT-23H1-f934acbd" start="1778348134518" dump="1778348442434"/><package name="com/yumu/noveltranslator/adapter/in/rest/web"><class name="com/yumu/noveltranslator/adapter/in/rest/web/WebVerificationController" sourcefilename="WebVerificationController.java"><method name="&lt;init&gt;" desc="()V" line="7"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="verificationPage" desc="()Ljava/lang/String;" line="11"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="registerPage" desc="()Ljava/lang/String;" line="16"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/adapter/in/rest/web/SubscriptionController" sourcefilename="SubscriptionController.java"><method name="verify" desc="(Ljava/lang/String;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="30"><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="checkout" desc="(Lcom/yumu/noveltranslator/port/dto/subscription/CheckoutSessionRequest;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="39"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="status" desc="()Lcom/yumu/noveltranslator/port/dto/common/Result;" line="48"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="cancel" desc="()Lcom/yumu/noveltranslator/port/dto/common/Result;" line="57"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="portal" desc="()Lcom/yumu/noveltranslator/port/dto/common/Result;" line="66"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/in/SubscriptionPort;)V" line="20"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="9" covered="39"/><counter type="LINE" missed="2" covered="9"/><counter type="COMPLEXITY" missed="1" covered="5"/><counter type="METHOD" missed="1" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/adapter/in/rest/web/WebPlatformController" sourcefilename="WebPlatformController.java"><method name="getPlatformStats" desc="()Lcom/yumu/noveltranslator/port/dto/common/Result;" line="20"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/in/UserPort;)V" line="13"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/adapter/in/rest/web/WebApiKeyController" sourcefilename="WebApiKeyController.java"><method name="createApiKey" desc="(Lcom/yumu/noveltranslator/port/dto/entity/CreateApiKeyRequest;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="36"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getApiKeys" desc="(Ljava/lang/Integer;Ljava/lang/Integer;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="56"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="deleteApiKey" desc="(Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="78"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="resetApiKey" desc="(Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="92"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="revealApiKey" desc="(Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="106"><counter type="INSTRUCTION" missed="23" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/in/ApiKeyPort;)V" line="25"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$getApiKeys$0" desc="(Lcom/yumu/noveltranslator/domain/model/ApiKey;)Lcom/yumu/noveltranslator/port/dto/entity/ApiKeyResponse;" line="59"><counter type="INSTRUCTION" missed="0" covered="35"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="23" covered="136"/><counter type="BRANCH" missed="2" covered="4"/><counter type="LINE" missed="5" covered="33"/><counter type="COMPLEXITY" missed="2" covered="8"/><counter type="METHOD" missed="1" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/adapter/in/rest/web/WebHomeController" sourcefilename="WebHomeController.java"><method name="&lt;init&gt;" desc="()V" line="7"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="home" desc="()Ljava/lang/String;" line="11"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="homePage" desc="()Ljava/lang/String;" line="16"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="WebApiKeyController.java"><line nr="25" mi="0" ci="6" mb="0" cb="0"/><line nr="36" mi="0" ci="2" mb="0" cb="0"/><line nr="37" mi="0" ci="7" mb="0" cb="0"/><line nr="39" mi="0" ci="5" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="0"/><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="44" mi="0" ci="1" mb="0" cb="0"/><line nr="56" mi="0" ci="2" mb="0" cb="0"/><line nr="57" mi="0" ci="9" mb="0" cb="0"/><line nr="58" mi="0" ci="5" mb="0" cb="0"/><line nr="59" mi="0" ci="4" mb="0" cb="0"/><line nr="60" mi="0" ci="4" mb="0" cb="0"/><line nr="61" mi="0" ci="4" mb="0" cb="0"/><line nr="62" mi="0" ci="5" mb="0" cb="0"/><line nr="63" mi="0" ci="4" mb="0" cb="0"/><line nr="64" mi="0" ci="4" mb="0" cb="0"/><line nr="65" mi="0" ci="4" mb="0" cb="0"/><line nr="66" mi="0" ci="4" mb="0" cb="0"/><line nr="67" mi="0" ci="2" mb="0" cb="0"/><line nr="68" mi="0" ci="4" mb="0" cb="0"/><line nr="69" mi="0" ci="8" mb="0" cb="0"/><line nr="78" mi="0" ci="2" mb="0" cb="0"/><line nr="79" mi="0" ci="6" mb="0" cb="0"/><line nr="80" mi="0" ci="2" mb="0" cb="2"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="83" mi="0" ci="3" mb="0" cb="0"/><line nr="92" mi="0" ci="2" mb="0" cb="0"/><line nr="93" mi="0" ci="6" mb="0" cb="0"/><line nr="94" mi="0" ci="2" mb="0" cb="2"/><line nr="95" mi="0" ci="4" mb="0" cb="0"/><line nr="97" mi="0" ci="9" mb="0" cb="0"/><line nr="106" mi="2" ci="0" mb="0" cb="0"/><line nr="107" mi="6" ci="0" mb="0" cb="0"/><line nr="108" mi="2" ci="0" mb="2" cb="0"/><line nr="109" mi="4" ci="0" mb="0" cb="0"/><line nr="111" mi="9" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="23" covered="136"/><counter type="BRANCH" missed="2" covered="4"/><counter type="LINE" missed="5" covered="33"/><counter type="COMPLEXITY" missed="2" covered="8"/><counter type="METHOD" missed="1" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="WebVerificationController.java"><line nr="7" mi="0" ci="3" mb="0" cb="0"/><line nr="11" mi="0" ci="2" mb="0" cb="0"/><line nr="16" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="WebPlatformController.java"><line nr="13" mi="0" ci="6" mb="0" cb="0"/><line nr="20" mi="0" ci="4" mb="0" cb="0"/><line nr="21" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SubscriptionController.java"><line nr="20" mi="0" ci="6" mb="0" cb="0"/><line nr="30" mi="2" ci="0" mb="0" cb="0"/><line nr="31" mi="7" ci="0" mb="0" cb="0"/><line nr="39" mi="0" ci="2" mb="0" cb="0"/><line nr="40" mi="0" ci="7" mb="0" cb="0"/><line nr="48" mi="0" ci="2" mb="0" cb="0"/><line nr="49" mi="0" ci="6" mb="0" cb="0"/><line nr="57" mi="0" ci="2" mb="0" cb="0"/><line nr="58" mi="0" ci="6" mb="0" cb="0"/><line nr="66" mi="0" ci="2" mb="0" cb="0"/><line nr="67" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="9" covered="39"/><counter type="LINE" missed="2" covered="9"/><counter type="COMPLEXITY" missed="1" covered="5"/><counter type="METHOD" missed="1" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="WebHomeController.java"><line nr="7" mi="0" ci="3" mb="0" cb="0"/><line nr="11" mi="0" ci="2" mb="0" cb="0"/><line nr="16" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="32" covered="202"/><counter type="BRANCH" missed="2" covered="4"/><counter type="LINE" missed="7" covered="51"/><counter type="COMPLEXITY" missed="3" covered="21"/><counter type="METHOD" missed="2" covered="19"/><counter type="CLASS" missed="0" covered="5"/></package><package name="com/yumu/noveltranslator/adapter/in/rest/shared"><class name="com/yumu/noveltranslator/adapter/in/rest/shared/SharedTranslateController" sourcefilename="SharedTranslateController.java"><method name="getTaskStatus" desc="(Ljava/lang/String;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="48"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="cancelTask" desc="(Ljava/lang/String;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="63"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="deleteHistory" desc="(Ljava/lang/String;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="79"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTranslationResult" desc="(Ljava/lang/String;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="94"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="downloadTranslation" desc="(Ljava/lang/String;)Lorg/springframework/http/ResponseEntity;" line="109"><counter type="INSTRUCTION" missed="30" covered="13"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="7" covered="4"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="streamDocumentTranslate" desc="(Lorg/springframework/web/multipart/MultipartFile;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;" line="140"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="streamDocumentTranslateById" desc="(Ljava/lang/Long;Ljava/lang/String;Ljava/lang/String;)Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;" line="152"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="queryRag" desc="(Lcom/yumu/noveltranslator/port/dto/translation/RagTranslationRequest;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="161"><counter type="INSTRUCTION" missed="1" covered="24"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/in/TranslationTaskPort;Lcom/yumu/noveltranslator/port/in/RagTranslationPort;)V" line="36"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="31" covered="122"/><counter type="BRANCH" missed="2" covered="10"/><counter type="LINE" missed="7" covered="28"/><counter type="COMPLEXITY" missed="2" covered="13"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="SharedTranslateController.java"><line nr="36" mi="0" ci="9" mb="0" cb="0"/><line nr="48" mi="0" ci="5" mb="0" cb="0"/><line nr="49" mi="0" ci="2" mb="0" cb="2"/><line nr="50" mi="0" ci="4" mb="0" cb="0"/><line nr="53" mi="0" ci="6" mb="0" cb="0"/><line nr="63" mi="0" ci="2" mb="0" cb="0"/><line nr="65" mi="0" ci="6" mb="0" cb="2"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><line nr="68" mi="0" ci="4" mb="0" cb="0"/><line nr="79" mi="0" ci="2" mb="0" cb="0"/><line nr="81" mi="0" ci="6" mb="0" cb="2"/><line nr="82" mi="0" ci="3" mb="0" cb="0"/><line nr="84" mi="0" ci="4" mb="0" cb="0"/><line nr="94" mi="0" ci="5" mb="0" cb="0"/><line nr="95" mi="0" ci="2" mb="0" cb="2"/><line nr="96" mi="0" ci="4" mb="0" cb="0"/><line nr="99" mi="0" ci="3" mb="0" cb="0"/><line nr="109" mi="0" ci="2" mb="0" cb="0"/><line nr="111" mi="0" ci="6" mb="0" cb="0"/><line nr="112" mi="0" ci="2" mb="1" cb="1"/><line nr="113" mi="0" ci="3" mb="0" cb="0"/><line nr="117" mi="6" ci="0" mb="0" cb="0"/><line nr="119" mi="4" ci="0" mb="0" cb="0"/><line nr="120" mi="3" ci="0" mb="0" cb="0"/><line nr="121" mi="5" ci="0" mb="0" cb="0"/><line nr="123" mi="7" ci="0" mb="0" cb="0"/><line nr="125" mi="1" ci="0" mb="0" cb="0"/><line nr="126" mi="4" ci="0" mb="0" cb="0"/><line nr="140" mi="0" ci="8" mb="0" cb="0"/><line nr="152" mi="0" ci="7" mb="0" cb="0"/><line nr="161" mi="0" ci="5" mb="0" cb="0"/><line nr="162" mi="0" ci="6" mb="0" cb="0"/><line nr="163" mi="0" ci="3" mb="0" cb="0"/><line nr="164" mi="1" ci="7" mb="1" cb="1"/><line nr="165" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="31" covered="122"/><counter type="BRANCH" missed="2" covered="10"/><counter type="LINE" missed="7" covered="28"/><counter type="COMPLEXITY" missed="2" covered="13"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="31" covered="122"/><counter type="BRANCH" missed="2" covered="10"/><counter type="LINE" missed="7" covered="28"/><counter type="COMPLEXITY" missed="2" covered="13"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="1"/></package><package name="com/yumu/noveltranslator/port/in"><class name="com/yumu/noveltranslator/port/in/RagTranslationPort" sourcefilename="RagTranslationPort.java"/><class name="com/yumu/noveltranslator/port/in/GlossaryPort" sourcefilename="GlossaryPort.java"/><class name="com/yumu/noveltranslator/port/in/ApiKeyPort" sourcefilename="ApiKeyPort.java"/><class name="com/yumu/noveltranslator/port/in/CollabPort$TeamProjectCreateResult" sourcefilename="CollabPort.java"><method name="&lt;init&gt;" desc="(Ljava/lang/Long;Ljava/lang/String;I)V" line="29"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/port/in/TranslatePort" sourcefilename="TranslatePort.java"/><class name="com/yumu/noveltranslator/port/in/SubscriptionPort" sourcefilename="SubscriptionPort.java"/><class name="com/yumu/noveltranslator/port/in/AuthPort" sourcefilename="AuthPort.java"/><class name="com/yumu/noveltranslator/port/in/TranslationTaskPort" sourcefilename="TranslationTaskPort.java"/><class name="com/yumu/noveltranslator/port/in/CollabPort$InviteCodeResult" sourcefilename="CollabPort.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/time/LocalDateTime;)V" line="30"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/port/in/ChapterTaskPort" sourcefilename="ChapterTaskPort.java"/><class name="com/yumu/noveltranslator/port/in/WebhookPort" sourcefilename="WebhookPort.java"/><class name="com/yumu/noveltranslator/port/in/UserPort" sourcefilename="UserPort.java"/><class name="com/yumu/noveltranslator/port/in/CollabPort" sourcefilename="CollabPort.java"/><class name="com/yumu/noveltranslator/port/in/CollabCommentPort" sourcefilename="CollabCommentPort.java"/><class name="com/yumu/noveltranslator/port/in/DocumentPort" sourcefilename="DocumentPort.java"/><class name="com/yumu/noveltranslator/port/in/CacheAdminPort" sourcefilename="CacheAdminPort.java"/><class name="com/yumu/noveltranslator/port/in/DeviceTokenPort" sourcefilename="DeviceTokenPort.java"/><sourcefile name="UserPort.java"/><sourcefile name="CollabPort.java"><line nr="29" mi="0" ci="12" mb="0" cb="0"/><line nr="30" mi="0" ci="9" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="AuthPort.java"/><sourcefile name="RagTranslationPort.java"/><sourcefile name="TranslatePort.java"/><sourcefile name="SubscriptionPort.java"/><sourcefile name="GlossaryPort.java"/><sourcefile name="DeviceTokenPort.java"/><sourcefile name="TranslationTaskPort.java"/><sourcefile name="CacheAdminPort.java"/><sourcefile name="CollabCommentPort.java"/><sourcefile name="WebhookPort.java"/><sourcefile name="ApiKeyPort.java"/><sourcefile name="DocumentPort.java"/><sourcefile name="ChapterTaskPort.java"/><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="2"/></package><package name="com/yumu/noveltranslator/port/out"><class name="com/yumu/noveltranslator/port/out/UserDetailsFactoryPort" sourcefilename="UserDetailsFactoryPort.java"/><class name="com/yumu/noveltranslator/port/out/ApiKeyCachePort" sourcefilename="ApiKeyCachePort.java"/><class name="com/yumu/noveltranslator/port/out/VectorSearchResult" sourcefilename="VectorSearchResult.java"><method name="&lt;init&gt;" desc="(Ljava/lang/Long;Ljava/lang/String;Ljava/lang/String;D)V" line="6"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/port/out/CachePort" sourcefilename="CachePort.java"/><class name="com/yumu/noveltranslator/port/out/TranslationEnginePort" sourcefilename="TranslationEnginePort.java"/><class name="com/yumu/noveltranslator/port/out/EmailPort" sourcefilename="EmailPort.java"/><class name="com/yumu/noveltranslator/port/out/BillingRepositoryPort" sourcefilename="BillingRepositoryPort.java"/><class name="com/yumu/noveltranslator/port/out/DocumentRepositoryPort" sourcefilename="DocumentRepositoryPort.java"/><class name="com/yumu/noveltranslator/port/out/TranslationClientPort" sourcefilename="TranslationClientPort.java"/><class name="com/yumu/noveltranslator/port/out/CollaborationRepositoryPort" sourcefilename="CollaborationRepositoryPort.java"/><class name="com/yumu/noveltranslator/port/out/TokenRevocationPort" sourcefilename="TokenRevocationPort.java"/><class name="com/yumu/noveltranslator/port/out/VectorDocument" sourcefilename="VectorDocument.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;[FLjava/lang/String;)V" line="3"><counter type="INSTRUCTION" missed="24" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="24" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="com/yumu/noveltranslator/port/out/VectorStorePort" sourcefilename="VectorStorePort.java"/><class name="com/yumu/noveltranslator/port/out/TeamTranslationPort" sourcefilename="TeamTranslationPort.java"/><class name="com/yumu/noveltranslator/port/out/TranslationCachePort" sourcefilename="TranslationCachePort.java"/><class name="com/yumu/noveltranslator/port/out/DeviceTokenRegistrationPort" sourcefilename="DeviceTokenRegistrationPort.java"/><class name="com/yumu/noveltranslator/port/out/EmbeddingPort" sourcefilename="EmbeddingPort.java"/><class name="com/yumu/noveltranslator/port/out/UserRepositoryPort" sourcefilename="UserRepositoryPort.java"/><class name="com/yumu/noveltranslator/port/out/PaymentPort" sourcefilename="PaymentPort.java"/><class name="com/yumu/noveltranslator/port/out/QuotaPort" sourcefilename="QuotaPort.java"/><class name="com/yumu/noveltranslator/port/out/TranslationRepositoryPort" sourcefilename="TranslationRepositoryPort.java"/><class name="com/yumu/noveltranslator/port/out/TranslationCacheAdminPort" sourcefilename="TranslationCacheAdminPort.java"/><class name="com/yumu/noveltranslator/port/out/CacheVersionPort" sourcefilename="CacheVersionPort.java"/><class name="com/yumu/noveltranslator/port/out/GlossaryRepositoryPort" sourcefilename="GlossaryRepositoryPort.java"/><class name="com/yumu/noveltranslator/port/out/EntityCachePort" sourcefilename="EntityCachePort.java"/><sourcefile name="PaymentPort.java"/><sourcefile name="EmbeddingPort.java"/><sourcefile name="CacheVersionPort.java"/><sourcefile name="DeviceTokenRegistrationPort.java"/><sourcefile name="VectorDocument.java"><line nr="3" mi="24" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="24" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="BillingRepositoryPort.java"/><sourcefile name="ApiKeyCachePort.java"/><sourcefile name="GlossaryRepositoryPort.java"/><sourcefile name="EntityCachePort.java"/><sourcefile name="TranslationCachePort.java"/><sourcefile name="UserRepositoryPort.java"/><sourcefile name="QuotaPort.java"/><sourcefile name="UserDetailsFactoryPort.java"/><sourcefile name="CachePort.java"/><sourcefile name="CollaborationRepositoryPort.java"/><sourcefile name="DocumentRepositoryPort.java"/><sourcefile name="TranslationCacheAdminPort.java"/><sourcefile name="TranslationRepositoryPort.java"/><sourcefile name="TranslationEnginePort.java"/><sourcefile name="VectorSearchResult.java"><line nr="6" mi="0" ci="15" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="TokenRevocationPort.java"/><sourcefile name="TeamTranslationPort.java"/><sourcefile name="VectorStorePort.java"/><sourcefile name="TranslationClientPort.java"/><sourcefile name="EmailPort.java"/><counter type="INSTRUCTION" missed="24" covered="15"/><counter type="LINE" missed="1" covered="1"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="1" covered="1"/><counter type="CLASS" missed="1" covered="1"/></package><package name="com/yumu/noveltranslator/domain/util"><class name="com/yumu/noveltranslator/domain/util/EngineAliasRegistry" sourcefilename="EngineAliasRegistry.java"><method name="normalizeToMode" desc="(Ljava/lang/String;)Lcom/yumu/noveltranslator/enums/TranslationMode;" line="36"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="14"><counter type="INSTRUCTION" missed="0" covered="85"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="100"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="EngineAliasRegistry.java"><line nr="14" mi="0" ci="8" mb="0" cb="0"/><line nr="15" mi="0" ci="6" mb="0" cb="0"/><line nr="16" mi="0" ci="6" mb="0" cb="0"/><line nr="17" mi="0" ci="6" mb="0" cb="0"/><line nr="18" mi="0" ci="6" mb="0" cb="0"/><line nr="19" mi="0" ci="6" mb="0" cb="0"/><line nr="20" mi="0" ci="6" mb="0" cb="0"/><line nr="21" mi="0" ci="6" mb="0" cb="0"/><line nr="22" mi="0" ci="6" mb="0" cb="0"/><line nr="23" mi="0" ci="6" mb="0" cb="0"/><line nr="24" mi="0" ci="6" mb="0" cb="0"/><line nr="25" mi="0" ci="6" mb="0" cb="0"/><line nr="26" mi="0" ci="6" mb="0" cb="0"/><line nr="27" mi="0" ci="2" mb="0" cb="0"/><line nr="30" mi="0" ci="3" mb="0" cb="0"/><line nr="36" mi="0" ci="5" mb="1" cb="3"/><line nr="37" mi="0" ci="2" mb="0" cb="0"/><line nr="39" mi="0" ci="8" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="100"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="100"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></package><package name="com/yumu/noveltranslator/adapter/in/rest/admin"><class name="com/yumu/noveltranslator/adapter/in/rest/admin/CacheAdminController" sourcefilename="CacheAdminController.java"><method name="clearAllCache" desc="()Lcom/yumu/noveltranslator/port/dto/common/Result;" line="25"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/in/CacheAdminPort;)V" line="14"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="15"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="CacheAdminController.java"><line nr="14" mi="0" ci="6" mb="0" cb="0"/><line nr="15" mi="0" ci="4" mb="0" cb="0"/><line nr="25" mi="0" ci="3" mb="0" cb="0"/><line nr="26" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></package><package name="com/yumu/noveltranslator/adapter/out/security"><class name="com/yumu/noveltranslator/adapter/out/security/UserDetailsFactoryAdapter" sourcefilename="UserDetailsFactoryAdapter.java"><method name="&lt;init&gt;" desc="()V" line="9"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createUserDetails" desc="(Lcom/yumu/noveltranslator/domain/model/User;)Lorg/springframework/security/core/userdetails/UserDetails;" line="13"><counter type="INSTRUCTION" missed="5" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="5" covered="3"/><counter type="LINE" missed="1" covered="1"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="1" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/adapter/out/security/CustomUserDetails" sourcefilename="CustomUserDetails.java"><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/domain/model/User;)V" line="22"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/Long;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;)V" line="33"><counter type="INSTRUCTION" missed="15" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/Long;Ljava/lang/String;Ljava/lang/Long;)V" line="44"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAuthorities" desc="()Ljava/util/Collection;" line="50"><counter type="INSTRUCTION" missed="1" covered="28"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getPassword" desc="()Ljava/lang/String;" line="57"><counter type="INSTRUCTION" missed="1" covered="8"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getUsername" desc="()Ljava/lang/String;" line="62"><counter type="INSTRUCTION" missed="10" covered="7"/><counter type="BRANCH" missed="3" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isAccountNonExpired" desc="()Z" line="67"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isAccountNonLocked" desc="()Z" line="72"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isCredentialsNonExpired" desc="()Z" line="77"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isEnabled" desc="()Z" line="82"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getUser" desc="()Lcom/yumu/noveltranslator/domain/model/User;" line="87"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getId" desc="()Ljava/lang/Long;" line="91"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getEmail" desc="()Ljava/lang/String;" line="95"><counter type="INSTRUCTION" missed="8" covered="7"/><counter type="BRANCH" missed="3" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getUserLevel" desc="()Ljava/lang/String;" line="99"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTenantId" desc="()Ljava/lang/Long;" line="103"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="45" covered="89"/><counter type="BRANCH" missed="8" covered="8"/><counter type="LINE" missed="9" covered="20"/><counter type="COMPLEXITY" missed="9" covered="14"/><counter type="METHOD" missed="3" covered="12"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="CustomUserDetails.java"><line nr="22" mi="0" ci="2" mb="0" cb="0"/><line nr="23" mi="0" ci="3" mb="0" cb="0"/><line nr="24" mi="0" ci="4" mb="0" cb="0"/><line nr="25" mi="0" ci="4" mb="0" cb="0"/><line nr="26" mi="0" ci="4" mb="0" cb="0"/><line nr="27" mi="0" ci="4" mb="0" cb="0"/><line nr="28" mi="0" ci="1" mb="0" cb="0"/><line nr="33" mi="2" ci="0" mb="0" cb="0"/><line nr="34" mi="3" ci="0" mb="0" cb="0"/><line nr="35" mi="3" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="3" ci="0" mb="0" cb="0"/><line nr="38" mi="1" ci="0" mb="0" cb="0"/><line nr="44" mi="6" ci="0" mb="0" cb="0"/><line nr="45" mi="1" ci="0" mb="0" cb="0"/><line nr="50" mi="1" ci="14" mb="1" cb="3"/><line nr="51" mi="0" ci="8" mb="0" cb="2"/><line nr="52" mi="0" ci="6" mb="0" cb="0"/><line nr="57" mi="1" ci="8" mb="1" cb="1"/><line nr="62" mi="10" ci="7" mb="3" cb="1"/><line nr="67" mi="0" ci="2" mb="0" cb="0"/><line nr="72" mi="0" ci="2" mb="0" cb="0"/><line nr="77" mi="0" ci="2" mb="0" cb="0"/><line nr="82" mi="0" ci="2" mb="0" cb="0"/><line nr="87" mi="0" ci="3" mb="0" cb="0"/><line nr="91" mi="0" ci="3" mb="0" cb="0"/><line nr="95" mi="8" ci="7" mb="3" cb="1"/><line nr="99" mi="0" ci="3" mb="0" cb="0"/><line nr="103" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="45" covered="89"/><counter type="BRANCH" missed="8" covered="8"/><counter type="LINE" missed="9" covered="20"/><counter type="COMPLEXITY" missed="9" covered="14"/><counter type="METHOD" missed="3" covered="12"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="UserDetailsFactoryAdapter.java"><line nr="9" mi="0" ci="3" mb="0" cb="0"/><line nr="13" mi="5" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="5" covered="3"/><counter type="LINE" missed="1" covered="1"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="1" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="50" covered="92"/><counter type="BRANCH" missed="8" covered="8"/><counter type="LINE" missed="10" covered="21"/><counter type="COMPLEXITY" missed="10" covered="15"/><counter type="METHOD" missed="4" covered="13"/><counter type="CLASS" missed="0" covered="2"/></package><package name="com/yumu/noveltranslator/adapter/in/webhook"><class name="com/yumu/noveltranslator/adapter/in/webhook/StripeWebhookController" sourcefilename="StripeWebhookController.java"><method name="handleStripeWebhook" desc="(Ljakarta/servlet/http/HttpServletRequest;Ljava/lang/String;)Ljava/lang/String;" line="31"><counter type="INSTRUCTION" missed="12" covered="15"/><counter type="LINE" missed="3" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="processEvent" desc="(Lcom/stripe/model/Event;)Ljava/lang/String;" line="49"><counter type="INSTRUCTION" missed="0" covered="32"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="dispatchEvent" desc="(Lcom/stripe/model/Event;)V" line="74"><counter type="INSTRUCTION" missed="0" covered="49"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="1"/></method><method name="extractUserId" desc="(Lcom/stripe/model/Event;)Ljava/lang/Long;" line="109"><counter type="INSTRUCTION" missed="0" covered="88"/><counter type="BRANCH" missed="4" covered="16"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="4" covered="7"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/in/SubscriptionPort;Lcom/yumu/noveltranslator/properties/StripeProperties;Lcom/yumu/noveltranslator/port/out/UserRepositoryPort;)V" line="22"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="19"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="12" covered="200"/><counter type="BRANCH" missed="4" covered="28"/><counter type="LINE" missed="3" covered="43"/><counter type="COMPLEXITY" missed="4" covered="21"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="StripeWebhookController.java"><line nr="19" mi="0" ci="4" mb="0" cb="0"/><line nr="22" mi="0" ci="12" mb="0" cb="0"/><line nr="31" mi="0" ci="4" mb="0" cb="0"/><line nr="36" mi="7" ci="0" mb="0" cb="0"/><line nr="37" mi="0" ci="1" mb="0" cb="0"/><line nr="38" mi="0" ci="4" mb="0" cb="0"/><line nr="39" mi="0" ci="6" mb="0" cb="0"/><line nr="40" mi="1" ci="0" mb="0" cb="0"/><line nr="42" mi="4" ci="0" mb="0" cb="0"/><line nr="49" mi="0" ci="5" mb="0" cb="0"/><line nr="52" mi="0" ci="4" mb="0" cb="0"/><line nr="53" mi="0" ci="2" mb="0" cb="2"/><line nr="54" mi="0" ci="8" mb="0" cb="0"/><line nr="55" mi="0" ci="2" mb="0" cb="2"/><line nr="56" mi="0" ci="3" mb="0" cb="0"/><line nr="62" mi="0" ci="3" mb="0" cb="0"/><line nr="63" mi="0" ci="4" mb="0" cb="0"/><line nr="65" mi="0" ci="1" mb="0" cb="0"/><line nr="74" mi="0" ci="9" mb="0" cb="8"/><line nr="76" mi="0" ci="5" mb="0" cb="0"/><line nr="80" mi="0" ci="3" mb="0" cb="0"/><line nr="81" mi="0" ci="1" mb="0" cb="0"/><line nr="84" mi="0" ci="5" mb="0" cb="0"/><line nr="87" mi="0" ci="5" mb="0" cb="0"/><line nr="90" mi="0" ci="5" mb="0" cb="0"/><line nr="93" mi="0" ci="5" mb="0" cb="0"/><line nr="96" mi="0" ci="5" mb="0" cb="0"/><line nr="99" mi="0" ci="5" mb="0" cb="0"/><line nr="101" mi="0" ci="1" mb="0" cb="0"/><line nr="109" mi="0" ci="3" mb="0" cb="0"/><line nr="110" mi="0" ci="6" mb="0" cb="0"/><line nr="111" mi="0" ci="2" mb="0" cb="2"/><line nr="112" mi="0" ci="3" mb="0" cb="0"/><line nr="114" mi="0" ci="6" mb="0" cb="2"/><line nr="115" mi="0" ci="8" mb="1" cb="3"/><line nr="116" mi="0" ci="8" mb="0" cb="0"/><line nr="118" mi="0" ci="6" mb="0" cb="2"/><line nr="119" mi="0" ci="8" mb="1" cb="3"/><line nr="120" mi="0" ci="8" mb="0" cb="0"/><line nr="122" mi="0" ci="6" mb="0" cb="2"/><line nr="123" mi="0" ci="8" mb="2" cb="2"/><line nr="124" mi="0" ci="8" mb="0" cb="0"/><line nr="127" mi="0" ci="1" mb="0" cb="0"/><line nr="128" mi="0" ci="4" mb="0" cb="0"/><line nr="129" mi="0" ci="1" mb="0" cb="0"/><line nr="131" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="12" covered="200"/><counter type="BRANCH" missed="4" covered="28"/><counter type="LINE" missed="3" covered="43"/><counter type="COMPLEXITY" missed="4" covered="21"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="12" covered="200"/><counter type="BRANCH" missed="4" covered="28"/><counter type="LINE" missed="3" covered="43"/><counter type="COMPLEXITY" missed="4" covered="21"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></package><package name="com/yumu/noveltranslator/adapter/out/redis"><class name="com/yumu/noveltranslator/adapter/out/redis/TranslationCacheService" sourcefilename="TranslationCacheService.java"><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/adapter/out/persistence/mapper/TranslationCacheMapper;Lorg/springframework/data/redis/core/StringRedisTemplate;Lcom/yumu/noveltranslator/adapter/out/redis/CacheVersionService;)V" line="55"><counter type="INSTRUCTION" missed="0" covered="51"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCache" desc="(Ljava/lang/String;)Ljava/lang/String;" line="140"><counter type="INSTRUCTION" missed="0" covered="64"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCacheByMode" desc="(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" line="172"><counter type="INSTRUCTION" missed="56" covered="79"/><counter type="BRANCH" missed="11" covered="11"/><counter type="LINE" missed="11" covered="18"/><counter type="COMPLEXITY" missed="7" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="queryDatabaseCache" desc="(Ljava/lang/String;)Lcom/yumu/noveltranslator/adapter/out/persistence/entity/TranslationCache;" line="222"><counter type="INSTRUCTION" missed="8" covered="26"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="3" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="putCache" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="250"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="putCache" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="268"><counter type="INSTRUCTION" missed="0" covered="81"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="putNullCache" desc="(Ljava/lang/String;)V" line="298"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="putToMemoryCache" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="313"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="buildReverseIndex" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="324"><counter type="INSTRUCTION" missed="0" covered="68"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="invalidateKeysForTerm" desc="(Ljava/lang/String;)V" line="352"><counter type="INSTRUCTION" missed="7" covered="120"/><counter type="BRANCH" missed="2" covered="12"/><counter type="LINE" missed="2" covered="30"/><counter type="COMPLEXITY" missed="2" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="saveToDatabaseAsync" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="412"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="delayedDoubleDelete" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="467"><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="deleteRedisByOldVersion" desc="(Ljava/lang/String;)V" line="497"><counter type="INSTRUCTION" missed="26" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="deleteDbCacheByOldVersion" desc="(I)V" line="509"><counter type="INSTRUCTION" missed="20" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="clearLocalCache" desc="()V" line="522"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="jitter" desc="(J)J" line="534"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="hasCache" desc="(Ljava/lang/String;)Z" line="541"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCacheStats" desc="()Ljava/util/Map;" line="548"><counter type="INSTRUCTION" missed="0" covered="72"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="clearAllCache" desc="()V" line="566"><counter type="INSTRUCTION" missed="26" covered="44"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="8" covered="13"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="cleanupExpiredCache" desc="()V" line="605"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="warmupCache" desc="(Ljava/lang/Iterable;)V" line="619"><counter type="INSTRUCTION" missed="0" covered="50"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="shutdown" desc="()V" line="643"><counter type="INSTRUCTION" missed="34" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$delayedDoubleDelete$5" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="477"><counter type="INSTRUCTION" missed="38" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$saveToDatabaseAsync$4" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="413"><counter type="INSTRUCTION" missed="0" covered="94"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="24"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$invalidateKeysForTerm$3" desc="(I)[Ljava/lang/String;" line="377"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$invalidateKeysForTerm$2" desc="(Ljava/lang/String;)Ljava/lang/String;" line="376"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$putCache$1" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="284"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$new$0" desc="(Ljava/lang/Runnable;)Ljava/lang/Thread;" line="57"><counter type="INSTRUCTION" missed="11" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="47"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="275" covered="879"/><counter type="BRANCH" missed="21" covered="61"/><counter type="LINE" missed="65" covered="203"/><counter type="COMPLEXITY" missed="20" covered="50"/><counter type="METHOD" missed="6" covered="23"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="TranslationCacheService.java"><line nr="47" mi="0" ci="3" mb="0" cb="0"/><line nr="55" mi="0" ci="5" mb="0" cb="0"/><line nr="57" mi="6" ci="0" mb="0" cb="0"/><line nr="58" mi="3" ci="0" mb="0" cb="0"/><line nr="59" mi="2" ci="0" mb="0" cb="0"/><line nr="65" mi="0" ci="2" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><line nr="67" mi="0" ci="3" mb="0" cb="0"/><line nr="68" mi="0" ci="3" mb="0" cb="0"/><line nr="69" mi="0" ci="1" mb="0" cb="0"/><line nr="76" mi="0" ci="3" mb="0" cb="0"/><line nr="77" mi="0" ci="2" mb="0" cb="0"/><line nr="78" mi="0" ci="2" mb="0" cb="0"/><line nr="79" mi="0" ci="1" mb="0" cb="0"/><line nr="80" mi="0" ci="2" mb="0" cb="0"/><line nr="97" mi="0" ci="3" mb="0" cb="0"/><line nr="113" mi="0" ci="7" mb="0" cb="0"/><line nr="114" mi="0" ci="4" mb="0" cb="0"/><line nr="115" mi="0" ci="3" mb="0" cb="0"/><line nr="116" mi="0" ci="1" mb="0" cb="0"/><line nr="128" mi="0" ci="6" mb="0" cb="0"/><line nr="129" mi="0" ci="6" mb="0" cb="0"/><line nr="130" mi="0" ci="6" mb="0" cb="0"/><line nr="131" mi="0" ci="6" mb="0" cb="0"/><line nr="140" mi="0" ci="6" mb="0" cb="0"/><line nr="141" mi="0" ci="2" mb="0" cb="2"/><line nr="142" mi="0" ci="4" mb="0" cb="2"/><line nr="143" mi="0" ci="4" mb="0" cb="0"/><line nr="144" mi="0" ci="2" mb="0" cb="0"/><line nr="146" mi="0" ci="4" mb="0" cb="0"/><line nr="147" mi="0" ci="2" mb="0" cb="0"/><line nr="151" mi="0" ci="3" mb="0" cb="0"/><line nr="152" mi="0" ci="7" mb="0" cb="0"/><line nr="153" mi="0" ci="2" mb="0" cb="2"/><line nr="154" mi="0" ci="4" mb="0" cb="2"/><line nr="155" mi="0" ci="5" mb="0" cb="0"/><line nr="156" mi="0" ci="2" mb="0" cb="0"/><line nr="158" mi="0" ci="5" mb="0" cb="0"/><line nr="159" mi="0" ci="4" mb="0" cb="0"/><line nr="160" mi="0" ci="2" mb="0" cb="0"/><line nr="163" mi="0" ci="4" mb="0" cb="0"/><line nr="164" mi="0" ci="2" mb="0" cb="0"/><line nr="172" mi="0" ci="4" mb="0" cb="0"/><line nr="173" mi="0" ci="7" mb="0" cb="2"/><line nr="176" mi="0" ci="6" mb="0" cb="0"/><line nr="177" mi="0" ci="10" mb="0" cb="2"/><line nr="178" mi="0" ci="4" mb="0" cb="0"/><line nr="180" mi="0" ci="6" mb="0" cb="0"/><line nr="181" mi="0" ci="2" mb="0" cb="2"/><line nr="182" mi="2" ci="4" mb="1" cb="1"/><line nr="183" mi="0" ci="4" mb="0" cb="0"/><line nr="184" mi="0" ci="4" mb="0" cb="0"/><line nr="185" mi="0" ci="2" mb="0" cb="0"/><line nr="187" mi="0" ci="5" mb="0" cb="0"/><line nr="188" mi="0" ci="1" mb="0" cb="0"/><line nr="191" mi="0" ci="3" mb="1" cb="1"/><line nr="192" mi="0" ci="6" mb="0" cb="0"/><line nr="193" mi="0" ci="5" mb="1" cb="3"/><line nr="194" mi="12" ci="0" mb="4" cb="0"/><line nr="195" mi="7" ci="0" mb="0" cb="0"/><line nr="196" mi="5" ci="0" mb="0" cb="0"/><line nr="197" mi="2" ci="0" mb="2" cb="0"/><line nr="198" mi="4" ci="0" mb="2" cb="0"/><line nr="199" mi="5" ci="0" mb="0" cb="0"/><line nr="200" mi="2" ci="0" mb="0" cb="0"/><line nr="202" mi="5" ci="0" mb="0" cb="0"/><line nr="203" mi="4" ci="0" mb="0" cb="0"/><line nr="204" mi="6" ci="0" mb="0" cb="0"/><line nr="205" mi="2" ci="0" mb="0" cb="0"/><line nr="211" mi="0" ci="4" mb="0" cb="0"/><line nr="212" mi="0" ci="2" mb="0" cb="0"/><line nr="222" mi="0" ci="6" mb="0" cb="0"/><line nr="223" mi="0" ci="2" mb="0" cb="2"/><line nr="224" mi="0" ci="10" mb="0" cb="0"/><line nr="226" mi="0" ci="3" mb="0" cb="0"/><line nr="227" mi="0" ci="3" mb="0" cb="0"/><line nr="230" mi="0" ci="2" mb="0" cb="0"/><line nr="231" mi="1" ci="0" mb="0" cb="0"/><line nr="232" mi="5" ci="0" mb="0" cb="0"/><line nr="233" mi="2" ci="0" mb="0" cb="0"/><line nr="250" mi="0" ci="9" mb="0" cb="0"/><line nr="251" mi="0" ci="1" mb="0" cb="0"/><line nr="268" mi="0" ci="6" mb="0" cb="0"/><line nr="270" mi="0" ci="5" mb="0" cb="0"/><line nr="271" mi="0" ci="4" mb="0" cb="0"/><line nr="272" mi="0" ci="11" mb="0" cb="4"/><line nr="274" mi="0" ci="3" mb="0" cb="0"/><line nr="277" mi="0" ci="5" mb="0" cb="0"/><line nr="280" mi="0" ci="6" mb="0" cb="0"/><line nr="281" mi="0" ci="8" mb="0" cb="0"/><line nr="284" mi="0" ci="11" mb="0" cb="0"/><line nr="287" mi="0" ci="9" mb="0" cb="0"/><line nr="289" mi="0" ci="17" mb="0" cb="0"/><line nr="290" mi="0" ci="1" mb="0" cb="0"/><line nr="298" mi="0" ci="3" mb="0" cb="0"/><line nr="301" mi="0" ci="5" mb="0" cb="0"/><line nr="304" mi="0" ci="8" mb="0" cb="0"/><line nr="306" mi="0" ci="4" mb="0" cb="0"/><line nr="307" mi="0" ci="1" mb="0" cb="0"/><line nr="313" mi="0" ci="5" mb="0" cb="0"/><line nr="314" mi="0" ci="1" mb="0" cb="0"/><line nr="324" mi="0" ci="5" mb="0" cb="4"/><line nr="325" mi="0" ci="1" mb="0" cb="0"/><line nr="328" mi="0" ci="4" mb="0" cb="0"/><line nr="329" mi="0" ci="4" mb="0" cb="0"/><line nr="330" mi="0" ci="3" mb="0" cb="2"/><line nr="331" mi="0" ci="7" mb="0" cb="0"/><line nr="334" mi="0" ci="10" mb="0" cb="2"/><line nr="335" mi="0" ci="3" mb="0" cb="0"/><line nr="336" mi="0" ci="12" mb="0" cb="0"/><line nr="337" mi="0" ci="7" mb="0" cb="0"/><line nr="338" mi="0" ci="1" mb="0" cb="0"/><line nr="340" mi="0" ci="3" mb="0" cb="2"/><line nr="341" mi="0" ci="7" mb="0" cb="0"/><line nr="343" mi="0" ci="1" mb="0" cb="0"/><line nr="352" mi="0" ci="5" mb="0" cb="4"/><line nr="353" mi="0" ci="1" mb="0" cb="0"/><line nr="356" mi="0" ci="3" mb="0" cb="0"/><line nr="357" mi="0" ci="3" mb="0" cb="0"/><line nr="360" mi="0" ci="6" mb="0" cb="0"/><line nr="361" mi="0" ci="5" mb="1" cb="3"/><line nr="362" mi="0" ci="4" mb="0" cb="0"/><line nr="363" mi="0" ci="1" mb="0" cb="0"/><line nr="366" mi="0" ci="7" mb="0" cb="0"/><line nr="369" mi="0" ci="10" mb="0" cb="2"/><line nr="370" mi="0" ci="4" mb="0" cb="0"/><line nr="371" mi="0" ci="1" mb="0" cb="0"/><line nr="375" mi="0" ci="3" mb="0" cb="0"/><line nr="376" mi="0" ci="5" mb="0" cb="0"/><line nr="377" mi="0" ci="6" mb="0" cb="0"/><line nr="378" mi="0" ci="3" mb="1" cb="1"/><line nr="379" mi="0" ci="7" mb="0" cb="0"/><line nr="380" mi="0" ci="5" mb="0" cb="0"/><line nr="382" mi="0" ci="1" mb="0" cb="0"/><line nr="383" mi="0" ci="6" mb="0" cb="0"/><line nr="384" mi="0" ci="1" mb="0" cb="0"/><line nr="388" mi="0" ci="10" mb="0" cb="2"/><line nr="389" mi="0" ci="9" mb="0" cb="0"/><line nr="391" mi="0" ci="2" mb="0" cb="0"/><line nr="393" mi="0" ci="1" mb="0" cb="0"/><line nr="394" mi="0" ci="6" mb="0" cb="0"/><line nr="395" mi="1" ci="0" mb="0" cb="0"/><line nr="396" mi="6" ci="0" mb="0" cb="0"/><line nr="397" mi="0" ci="1" mb="0" cb="0"/><line nr="400" mi="0" ci="5" mb="0" cb="0"/><line nr="402" mi="0" ci="4" mb="0" cb="0"/><line nr="403" mi="0" ci="1" mb="0" cb="0"/><line nr="412" mi="0" ci="11" mb="0" cb="0"/><line nr="413" mi="0" ci="2" mb="0" cb="0"/><line nr="414" mi="0" ci="7" mb="0" cb="2"/><line nr="416" mi="0" ci="4" mb="0" cb="0"/><line nr="417" mi="0" ci="3" mb="0" cb="0"/><line nr="418" mi="0" ci="3" mb="0" cb="0"/><line nr="419" mi="0" ci="3" mb="0" cb="0"/><line nr="420" mi="0" ci="3" mb="0" cb="0"/><line nr="421" mi="0" ci="3" mb="0" cb="0"/><line nr="422" mi="0" ci="3" mb="0" cb="0"/><line nr="423" mi="0" ci="5" mb="0" cb="0"/><line nr="425" mi="0" ci="4" mb="0" cb="0"/><line nr="426" mi="0" ci="7" mb="0" cb="0"/><line nr="428" mi="0" ci="5" mb="0" cb="0"/><line nr="429" mi="0" ci="4" mb="0" cb="0"/><line nr="430" mi="0" ci="1" mb="0" cb="0"/><line nr="431" mi="0" ci="1" mb="0" cb="0"/><line nr="432" mi="0" ci="3" mb="0" cb="2"/><line nr="433" mi="0" ci="20" mb="0" cb="0"/><line nr="436" mi="0" ci="7" mb="0" cb="0"/><line nr="437" mi="0" ci="1" mb="0" cb="0"/><line nr="438" mi="0" ci="2" mb="0" cb="0"/><line nr="439" mi="0" ci="1" mb="0" cb="0"/><line nr="440" mi="0" ci="1" mb="0" cb="0"/><line nr="444" mi="0" ci="1" mb="0" cb="0"/><line nr="445" mi="0" ci="1" mb="0" cb="0"/><line nr="467" mi="5" ci="0" mb="0" cb="0"/><line nr="468" mi="2" ci="0" mb="0" cb="0"/><line nr="471" mi="6" ci="0" mb="0" cb="0"/><line nr="474" mi="11" ci="0" mb="0" cb="0"/><line nr="477" mi="6" ci="0" mb="0" cb="0"/><line nr="478" mi="3" ci="0" mb="0" cb="0"/><line nr="481" mi="4" ci="0" mb="0" cb="0"/><line nr="483" mi="17" ci="0" mb="0" cb="0"/><line nr="484" mi="1" ci="0" mb="0" cb="0"/><line nr="485" mi="5" ci="0" mb="0" cb="0"/><line nr="486" mi="1" ci="0" mb="0" cb="0"/><line nr="487" mi="1" ci="0" mb="0" cb="0"/><line nr="488" mi="1" ci="0" mb="0" cb="0"/><line nr="489" mi="22" ci="0" mb="0" cb="0"/><line nr="490" mi="1" ci="0" mb="0" cb="0"/><line nr="491" mi="1" ci="0" mb="0" cb="0"/><line nr="497" mi="3" ci="0" mb="0" cb="0"/><line nr="498" mi="5" ci="0" mb="0" cb="0"/><line nr="499" mi="5" ci="0" mb="4" cb="0"/><line nr="500" mi="6" ci="0" mb="0" cb="0"/><line nr="501" mi="6" ci="0" mb="0" cb="0"/><line nr="503" mi="1" ci="0" mb="0" cb="0"/><line nr="509" mi="9" ci="0" mb="0" cb="0"/><line nr="511" mi="3" ci="0" mb="0" cb="0"/><line nr="513" mi="7" ci="0" mb="0" cb="0"/><line nr="514" mi="1" ci="0" mb="0" cb="0"/><line nr="522" mi="0" ci="4" mb="0" cb="0"/><line nr="523" mi="0" ci="3" mb="0" cb="0"/><line nr="524" mi="0" ci="5" mb="0" cb="0"/><line nr="525" mi="0" ci="1" mb="0" cb="0"/><line nr="534" mi="0" ci="4" mb="0" cb="0"/><line nr="541" mi="0" ci="8" mb="0" cb="2"/><line nr="548" mi="0" ci="12" mb="0" cb="0"/><line nr="549" mi="0" ci="20" mb="0" cb="2"/><line nr="551" mi="0" ci="5" mb="0" cb="0"/><line nr="552" mi="0" ci="5" mb="0" cb="0"/><line nr="553" mi="0" ci="5" mb="0" cb="0"/><line nr="554" mi="0" ci="5" mb="0" cb="0"/><line nr="555" mi="0" ci="9" mb="0" cb="0"/><line nr="556" mi="0" ci="5" mb="0" cb="0"/><line nr="557" mi="0" ci="4" mb="0" cb="0"/><line nr="558" mi="0" ci="2" mb="0" cb="0"/><line nr="566" mi="0" ci="3" mb="0" cb="0"/><line nr="567" mi="0" ci="3" mb="0" cb="0"/><line nr="570" mi="0" ci="7" mb="0" cb="0"/><line nr="571" mi="0" ci="1" mb="0" cb="0"/><line nr="573" mi="0" ci="4" mb="0" cb="0"/><line nr="574" mi="1" ci="0" mb="0" cb="0"/><line nr="575" mi="5" ci="0" mb="0" cb="0"/><line nr="576" mi="0" ci="1" mb="0" cb="0"/><line nr="579" mi="0" ci="7" mb="0" cb="0"/><line nr="582" mi="0" ci="5" mb="0" cb="0"/><line nr="583" mi="1" ci="0" mb="0" cb="0"/><line nr="584" mi="5" ci="0" mb="0" cb="0"/><line nr="585" mi="0" ci="1" mb="0" cb="0"/><line nr="589" mi="0" ci="5" mb="0" cb="0"/><line nr="590" mi="0" ci="5" mb="2" cb="2"/><line nr="591" mi="5" ci="0" mb="0" cb="0"/><line nr="592" mi="3" ci="0" mb="0" cb="0"/><line nr="594" mi="1" ci="0" mb="0" cb="0"/><line nr="595" mi="5" ci="0" mb="0" cb="0"/><line nr="596" mi="0" ci="1" mb="0" cb="0"/><line nr="597" mi="0" ci="1" mb="0" cb="0"/><line nr="605" mi="0" ci="8" mb="0" cb="0"/><line nr="607" mi="0" ci="3" mb="0" cb="0"/><line nr="609" mi="0" ci="5" mb="0" cb="0"/><line nr="610" mi="0" ci="1" mb="0" cb="0"/><line nr="611" mi="0" ci="5" mb="0" cb="0"/><line nr="612" mi="0" ci="1" mb="0" cb="0"/><line nr="613" mi="0" ci="1" mb="0" cb="0"/><line nr="619" mi="0" ci="2" mb="0" cb="0"/><line nr="620" mi="0" ci="10" mb="0" cb="2"/><line nr="621" mi="0" ci="4" mb="0" cb="0"/><line nr="622" mi="0" ci="2" mb="0" cb="2"/><line nr="623" mi="0" ci="3" mb="0" cb="0"/><line nr="624" mi="0" ci="5" mb="0" cb="0"/><line nr="626" mi="0" ci="3" mb="0" cb="0"/><line nr="627" mi="0" ci="10" mb="0" cb="0"/><line nr="630" mi="0" ci="3" mb="0" cb="0"/><line nr="632" mi="0" ci="1" mb="0" cb="0"/><line nr="634" mi="0" ci="1" mb="0" cb="0"/><line nr="635" mi="0" ci="5" mb="0" cb="0"/><line nr="636" mi="0" ci="1" mb="0" cb="0"/><line nr="643" mi="3" ci="0" mb="0" cb="0"/><line nr="644" mi="3" ci="0" mb="0" cb="0"/><line nr="645" mi="3" ci="0" mb="0" cb="0"/><line nr="646" mi="3" ci="0" mb="0" cb="0"/><line nr="648" mi="6" ci="0" mb="2" cb="0"/><line nr="649" mi="4" ci="0" mb="0" cb="0"/><line nr="651" mi="1" ci="0" mb="0" cb="0"/><line nr="652" mi="4" ci="0" mb="0" cb="0"/><line nr="653" mi="2" ci="0" mb="0" cb="0"/><line nr="654" mi="1" ci="0" mb="0" cb="0"/><line nr="655" mi="3" ci="0" mb="0" cb="0"/><line nr="656" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="275" covered="879"/><counter type="BRANCH" missed="21" covered="61"/><counter type="LINE" missed="65" covered="203"/><counter type="COMPLEXITY" missed="20" covered="50"/><counter type="METHOD" missed="6" covered="23"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="275" covered="879"/><counter type="BRANCH" missed="21" covered="61"/><counter type="LINE" missed="65" covered="203"/><counter type="COMPLEXITY" missed="20" covered="50"/><counter type="METHOD" missed="6" covered="23"/><counter type="CLASS" missed="0" covered="1"/></package><package name="com/yumu/noveltranslator/adapter/out/translate"><class name="com/yumu/noveltranslator/adapter/out/translate/TokenAwareRateLimiter" sourcefilename="TokenAwareRateLimiter.java"><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/properties/TranslationLimitProperties;)V" line="22"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="estimateTokens" desc="(Ljava/lang/String;)I" line="33"><counter type="INSTRUCTION" missed="0" covered="42"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isCJK" desc="(C)Z" line="44"><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="BRANCH" missed="2" covered="18"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="2" covered="9"/><counter type="METHOD" missed="0" covered="1"/></method><method name="tryConsume" desc="(Ljava/lang/String;Ljava/lang/String;I)Z" line="52"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="refund" desc="(Ljava/lang/String;I)V" line="58"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTpmLimit" desc="(Ljava/lang/String;)I" line="65"><counter type="INSTRUCTION" missed="4" covered="27"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="1" covered="5"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="cleanupIdleCounters" desc="()V" line="76"><counter type="INSTRUCTION" missed="0" covered="37"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$tryConsume$0" desc="(Ljava/lang/String;)Lcom/yumu/noveltranslator/adapter/out/translate/TokenAwareRateLimiter$SlidingWindowCounter;" line="53"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="16"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="4" covered="187"/><counter type="BRANCH" missed="3" covered="39"/><counter type="LINE" missed="1" covered="36"/><counter type="COMPLEXITY" missed="3" covered="28"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/adapter/out/translate/ExternalTranslationService" sourcefilename="ExternalTranslationService.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;Z)V" line="32"><counter type="INSTRUCTION" missed="14" covered="49"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="2" covered="10"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="translate" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Lcom/alibaba/fastjson2/JSONObject;" line="61"><counter type="INSTRUCTION" missed="2" covered="184"/><counter type="BRANCH" missed="6" covered="14"/><counter type="LINE" missed="0" covered="28"/><counter type="COMPLEXITY" missed="6" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="mtranServerFallback" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/Throwable;)Lcom/alibaba/fastjson2/JSONObject;" line="106"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="buildMockResponse" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Lcom/alibaba/fastjson2/JSONObject;" line="114"><counter type="INSTRUCTION" missed="8" covered="77"/><counter type="BRANCH" missed="4" covered="13"/><counter type="LINE" missed="4" covered="17"/><counter type="COMPLEXITY" missed="4" covered="9"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$new$0" desc="(Lorg/springframework/http/codec/ClientCodecConfigurer;)V" line="37"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="22"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="37" covered="319"/><counter type="BRANCH" missed="11" covered="32"/><counter type="LINE" missed="8" covered="56"/><counter type="COMPLEXITY" missed="12" covered="19"/><counter type="METHOD" missed="1" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/adapter/out/translate/TeamTranslationService" sourcefilename="TeamTranslationService.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/lang/String;)V" line="34"><counter type="INSTRUCTION" missed="0" covered="48"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="translateChapter" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;" line="59"><counter type="INSTRUCTION" missed="4" covered="221"/><counter type="BRANCH" missed="8" covered="16"/><counter type="LINE" missed="0" covered="33"/><counter type="COMPLEXITY" missed="8" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="translateChapterWithPlaceholders" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/Map;)Ljava/lang/String;" line="122"><counter type="INSTRUCTION" missed="20" covered="245"/><counter type="BRANCH" missed="10" covered="24"/><counter type="LINE" missed="2" covered="39"/><counter type="COMPLEXITY" missed="10" covered="8"/><counter type="METHOD" missed="0" covered="1"/></method><method name="restorePlaceholdersInText" desc="(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;" line="195"><counter type="INSTRUCTION" missed="2" covered="95"/><counter type="BRANCH" missed="4" covered="8"/><counter type="LINE" missed="1" covered="20"/><counter type="COMPLEXITY" missed="4" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="buildRequest" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Lcom/yumu/noveltranslator/port/dto/translation/TeamTranslateRequest;" line="235"><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="parseResponse" desc="(Ljava/lang/String;)Lcom/yumu/noveltranslator/port/dto/translation/TeamTranslateResponse;" line="259"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="teamTranslationFallback" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/Throwable;)Ljava/lang/String;" line="271"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="teamTranslationFallback" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/Map;Ljava/lang/Throwable;)Ljava/lang/String;" line="278"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$buildRequest$1" desc="(Lcom/yumu/noveltranslator/domain/model/Glossary;)Lcom/yumu/noveltranslator/port/dto/translation/TeamTranslateRequest$GlossaryTerm;" line="243"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$new$0" desc="(Lorg/springframework/http/codec/ClientCodecConfigurer;)V" line="38"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="26"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="52" covered="685"/><counter type="BRANCH" missed="23" covered="55"/><counter type="LINE" missed="7" covered="123"/><counter type="COMPLEXITY" missed="25" covered="25"/><counter type="METHOD" missed="2" covered="9"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/adapter/out/translate/UserLevelThrottledTranslationClient" sourcefilename="UserLevelThrottledTranslationClient.java"><method name="getUserSemaphore" desc="()Ljava/util/concurrent/Semaphore;" line="118"><counter type="INSTRUCTION" missed="11" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getUserSemaphore" desc="(Ljava/lang/String;Ljava/lang/String;)Ljava/util/concurrent/Semaphore;" line="127"><counter type="INSTRUCTION" missed="10" covered="36"/><counter type="BRANCH" missed="4" covered="4"/><counter type="LINE" missed="2" covered="8"/><counter type="COMPLEXITY" missed="3" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCurrentUserId" desc="()Ljava/lang/String;" line="160"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCurrentUserLevel" desc="()Ljava/lang/String;" line="167"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="cleanupIdleSemaphores" desc="()V" line="175"><counter type="INSTRUCTION" missed="38" covered="19"/><counter type="BRANCH" missed="4" covered="2"/><counter type="LINE" missed="8" covered="6"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="translate" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;" line="206"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="translateWithPython" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" line="218"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="translateWithPython" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" line="224"><counter type="INSTRUCTION" missed="23" covered="106"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="5" covered="21"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="translate" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)Ljava/lang/String;" line="276"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="translate" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLjava/util/List;)Ljava/lang/String;" line="291"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="translate" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLjava/util/List;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" line="300"><counter type="INSTRUCTION" missed="76" covered="100"/><counter type="BRANCH" missed="2" covered="8"/><counter type="LINE" missed="18" covered="20"/><counter type="COMPLEXITY" missed="2" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="translateWithRoundRobin" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/util/List;)Ljava/lang/String;" line="374"><counter type="INSTRUCTION" missed="40" covered="116"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="7" covered="15"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="translateWithFallback" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" line="432"><counter type="INSTRUCTION" missed="38" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="shouldUsePythonService" desc="(Z)Z" line="453"><counter type="INSTRUCTION" missed="85" covered="81"/><counter type="BRANCH" missed="9" covered="15"/><counter type="LINE" missed="9" covered="18"/><counter type="COMPLEXITY" missed="7" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="resetStatsIfNeeded" desc="()V" line="508"><counter type="INSTRUCTION" missed="0" covered="59"/><counter type="BRANCH" missed="2" covered="6"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="2" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="recordStats" desc="(ZZJ)V" line="536"><counter type="INSTRUCTION" missed="9" covered="23"/><counter type="BRANCH" missed="4" covered="6"/><counter type="LINE" missed="1" covered="7"/><counter type="COMPLEXITY" missed="3" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="doTranslateRequest" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;" line="553"><counter type="INSTRUCTION" missed="18" covered="50"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="5" covered="13"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="doPythonServiceRequest" desc="(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" line="584"><counter type="INSTRUCTION" missed="42" covered="40"/><counter type="BRANCH" missed="5" covered="1"/><counter type="LINE" missed="6" covered="12"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="doExternalTranslationRequest" desc="(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" line="618"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="doExternalTranslationRequest" desc="(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;" line="631"><counter type="INSTRUCTION" missed="21" covered="136"/><counter type="BRANCH" missed="2" covered="4"/><counter type="LINE" missed="1" covered="24"/><counter type="COMPLEXITY" missed="2" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="decodeHtmlEntities" desc="(Ljava/lang/String;)Ljava/lang/String;" line="679"><counter type="INSTRUCTION" missed="2" covered="55"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="19"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getRoundRobinStats" desc="()Ljava/util/Map;" line="705"><counter type="INSTRUCTION" missed="36" covered="74"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="2" covered="14"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="shutdown" desc="()V" line="730"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/adapter/out/translate/ExternalTranslationService;Lcom/yumu/noveltranslator/properties/TranslationLimitProperties;Lcom/yumu/noveltranslator/adapter/out/translate/TokenAwareRateLimiter;)V" line="47"><counter type="INSTRUCTION" missed="0" covered="69"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$doTranslateRequest$1" desc="(Lcom/yumu/noveltranslator/domain/model/Glossary;)Ljava/util/Map;" line="565"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$getUserSemaphore$0" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/concurrent/Semaphore;" line="142"><counter type="INSTRUCTION" missed="0" covered="58"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="48"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="470" covered="1088"/><counter type="BRANCH" missed="37" covered="67"/><counter type="LINE" missed="80" covered="228"/><counter type="COMPLEXITY" missed="34" covered="45"/><counter type="METHOD" missed="4" covered="23"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/adapter/out/translate/UserLevelThrottledTranslationClient$1" sourcefilename="UserLevelThrottledTranslationClient.java"><method name="&lt;init&gt;" desc="()V" line="97"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="select" desc="(Ljava/net/URI;)Ljava/util/List;" line="100"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="connectFailed" desc="(Ljava/net/URI;Ljava/net/SocketAddress;Ljava/io/IOException;)V" line="105"><counter type="INSTRUCTION" missed="1" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="1" covered="6"/><counter type="LINE" missed="1" covered="2"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="1" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/adapter/out/translate/TokenAwareRateLimiter$SlidingWindowCounter" sourcefilename="TokenAwareRateLimiter.java"><method name="&lt;init&gt;" desc="()V" line="95"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="tryConsume" desc="(II)Z" line="105"><counter type="INSTRUCTION" missed="0" covered="48"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="refund" desc="(I)V" line="120"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="evictExpired" desc="(J)V" line="124"><counter type="INSTRUCTION" missed="0" covered="45"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLastAccessTime" desc="()J" line="138"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$refund$0" desc="(II)I" line="120"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="129"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="29"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/adapter/out/translate/ThrottledTranslationEngineAdapter" sourcefilename="ThrottledTranslationEngineAdapter.java"><method name="translate" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" line="22"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="isHealthy" desc="(Ljava/lang/String;)Z" line="27"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/adapter/out/translate/UserLevelThrottledTranslationClient;)V" line="14"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="15"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="15" covered="10"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="2" covered="2"/><counter type="COMPLEXITY" missed="3" covered="2"/><counter type="METHOD" missed="2" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="TokenAwareRateLimiter.java"><line nr="16" mi="0" ci="4" mb="0" cb="0"/><line nr="22" mi="0" ci="5" mb="0" cb="0"/><line nr="24" mi="0" ci="2" mb="0" cb="0"/><line nr="25" mi="0" ci="3" mb="0" cb="0"/><line nr="26" mi="0" ci="1" mb="0" cb="0"/><line nr="33" mi="0" ci="7" mb="0" cb="4"/><line nr="34" mi="0" ci="2" mb="0" cb="0"/><line nr="35" mi="0" ci="8" mb="0" cb="2"/><line nr="36" mi="0" ci="4" mb="0" cb="0"/><line nr="37" mi="0" ci="4" mb="0" cb="2"/><line nr="39" mi="0" ci="5" mb="0" cb="0"/><line nr="40" mi="0" ci="12" mb="0" cb="0"/><line nr="44" mi="0" ci="34" mb="2" cb="18"/><line nr="52" mi="0" ci="4" mb="0" cb="0"/><line nr="53" mi="0" ci="11" mb="0" cb="0"/><line nr="54" mi="0" ci="5" mb="0" cb="0"/><line nr="58" mi="0" ci="6" mb="0" cb="0"/><line nr="59" mi="0" ci="2" mb="0" cb="2"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><line nr="62" mi="0" ci="1" mb="0" cb="0"/><line nr="65" mi="0" ci="6" mb="0" cb="2"/><line nr="66" mi="0" ci="10" mb="1" cb="3"/><line nr="67" mi="0" ci="4" mb="0" cb="0"/><line nr="68" mi="0" ci="4" mb="0" cb="0"/><line nr="69" mi="4" ci="0" mb="0" cb="0"/><line nr="70" mi="0" ci="3" mb="0" cb="0"/><line nr="76" mi="0" ci="2" mb="0" cb="0"/><line nr="77" mi="0" ci="2" mb="0" cb="0"/><line nr="78" mi="0" ci="8" mb="0" cb="2"/><line nr="79" mi="0" ci="4" mb="0" cb="0"/><line nr="80" mi="0" ci="9" mb="0" cb="2"/><line nr="81" mi="0" ci="2" mb="0" cb="0"/><line nr="82" mi="0" ci="1" mb="0" cb="0"/><line nr="84" mi="0" ci="1" mb="0" cb="0"/><line nr="85" mi="0" ci="2" mb="0" cb="2"/><line nr="86" mi="0" ci="5" mb="0" cb="0"/><line nr="88" mi="0" ci="1" mb="0" cb="0"/><line nr="95" mi="0" ci="4" mb="0" cb="0"/><line nr="96" mi="0" ci="4" mb="0" cb="0"/><line nr="97" mi="0" ci="6" mb="0" cb="0"/><line nr="100" mi="0" ci="2" mb="0" cb="0"/><line nr="101" mi="0" ci="3" mb="0" cb="0"/><line nr="102" mi="0" ci="1" mb="0" cb="0"/><line nr="105" mi="0" ci="2" mb="0" cb="0"/><line nr="106" mi="0" ci="3" mb="0" cb="0"/><line nr="107" mi="0" ci="3" mb="0" cb="0"/><line nr="108" mi="0" ci="4" mb="0" cb="0"/><line nr="109" mi="0" ci="5" mb="0" cb="2"/><line nr="110" mi="0" ci="2" mb="0" cb="0"/><line nr="112" mi="0" ci="7" mb="0" cb="0"/><line nr="113" mi="0" ci="8" mb="0" cb="0"/><line nr="114" mi="0" ci="7" mb="0" cb="0"/><line nr="115" mi="0" ci="5" mb="0" cb="0"/><line nr="116" mi="0" ci="2" mb="0" cb="0"/><line nr="120" mi="0" ci="12" mb="0" cb="0"/><line nr="121" mi="0" ci="1" mb="0" cb="0"/><line nr="124" mi="0" ci="4" mb="0" cb="0"/><line nr="125" mi="0" ci="2" mb="0" cb="0"/><line nr="126" mi="0" ci="7" mb="0" cb="2"/><line nr="127" mi="0" ci="9" mb="0" cb="2"/><line nr="128" mi="0" ci="8" mb="0" cb="0"/><line nr="130" mi="0" ci="5" mb="0" cb="0"/><line nr="131" mi="0" ci="5" mb="0" cb="0"/><line nr="134" mi="0" ci="4" mb="0" cb="0"/><line nr="135" mi="0" ci="1" mb="0" cb="0"/><line nr="138" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="316"/><counter type="BRANCH" missed="3" covered="45"/><counter type="LINE" missed="1" covered="65"/><counter type="COMPLEXITY" missed="3" covered="37"/><counter type="METHOD" missed="0" covered="15"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="TeamTranslationService.java"><line nr="26" mi="0" ci="4" mb="0" cb="0"/><line nr="34" mi="0" ci="2" mb="0" cb="0"/><line nr="35" mi="0" ci="11" mb="0" cb="0"/><line nr="36" mi="0" ci="11" mb="0" cb="0"/><line nr="37" mi="0" ci="2" mb="0" cb="0"/><line nr="38" mi="0" ci="7" mb="0" cb="0"/><line nr="39" mi="0" ci="5" mb="1" cb="3"/><line nr="40" mi="0" ci="10" mb="0" cb="0"/><line nr="42" mi="0" ci="4" mb="0" cb="0"/><line nr="43" mi="0" ci="1" mb="0" cb="0"/><line nr="59" mi="0" ci="8" mb="0" cb="0"/><line nr="61" mi="0" ci="19" mb="0" cb="0"/><line nr="62" mi="1" ci="9" mb="1" cb="1"/><line nr="63" mi="0" ci="8" mb="0" cb="2"/><line nr="66" mi="0" ci="6" mb="0" cb="0"/><line nr="67" mi="0" ci="3" mb="0" cb="0"/><line nr="68" mi="0" ci="1" mb="0" cb="0"/><line nr="69" mi="0" ci="2" mb="0" cb="0"/><line nr="70" mi="0" ci="2" mb="0" cb="0"/><line nr="71" mi="0" ci="4" mb="0" cb="0"/><line nr="73" mi="0" ci="4" mb="0" cb="0"/><line nr="75" mi="0" ci="4" mb="0" cb="2"/><line nr="76" mi="0" ci="6" mb="0" cb="0"/><line nr="77" mi="0" ci="7" mb="0" cb="0"/><line nr="80" mi="0" ci="4" mb="0" cb="0"/><line nr="81" mi="0" ci="5" mb="0" cb="0"/><line nr="83" mi="0" ci="3" mb="0" cb="0"/><line nr="85" mi="0" ci="1" mb="0" cb="0"/><line nr="86" mi="0" ci="19" mb="0" cb="0"/><line nr="87" mi="0" ci="11" mb="0" cb="0"/><line nr="88" mi="0" ci="1" mb="0" cb="0"/><line nr="89" mi="1" ci="7" mb="1" cb="1"/><line nr="90" mi="0" ci="12" mb="2" cb="4"/><line nr="91" mi="1" ci="10" mb="1" cb="1"/><line nr="92" mi="0" ci="8" mb="0" cb="0"/><line nr="94" mi="0" ci="6" mb="1" cb="1"/><line nr="95" mi="0" ci="4" mb="0" cb="2"/><line nr="96" mi="0" ci="2" mb="1" cb="1"/><line nr="97" mi="0" ci="8" mb="0" cb="0"/><line nr="98" mi="0" ci="11" mb="0" cb="0"/><line nr="99" mi="0" ci="8" mb="0" cb="0"/><line nr="101" mi="1" ci="10" mb="1" cb="1"/><line nr="102" mi="0" ci="8" mb="0" cb="0"/><line nr="122" mi="0" ci="8" mb="0" cb="0"/><line nr="125" mi="0" ci="5" mb="0" cb="4"/><line nr="126" mi="0" ci="3" mb="0" cb="0"/><line nr="127" mi="0" ci="7" mb="0" cb="0"/><line nr="129" mi="0" ci="3" mb="0" cb="0"/><line nr="132" mi="0" ci="19" mb="0" cb="0"/><line nr="133" mi="1" ci="9" mb="1" cb="1"/><line nr="134" mi="3" ci="7" mb="1" cb="1"/><line nr="135" mi="0" ci="8" mb="0" cb="2"/><line nr="138" mi="0" ci="6" mb="0" cb="0"/><line nr="139" mi="0" ci="3" mb="0" cb="0"/><line nr="140" mi="0" ci="1" mb="0" cb="0"/><line nr="141" mi="0" ci="2" mb="0" cb="0"/><line nr="142" mi="0" ci="2" mb="0" cb="0"/><line nr="143" mi="0" ci="4" mb="0" cb="0"/><line nr="145" mi="0" ci="4" mb="0" cb="0"/><line nr="147" mi="0" ci="4" mb="1" cb="1"/><line nr="148" mi="6" ci="0" mb="0" cb="0"/><line nr="149" mi="7" ci="0" mb="0" cb="0"/><line nr="152" mi="0" ci="4" mb="0" cb="0"/><line nr="153" mi="0" ci="5" mb="0" cb="0"/><line nr="155" mi="0" ci="3" mb="0" cb="0"/><line nr="158" mi="0" ci="5" mb="0" cb="4"/><line nr="159" mi="0" ci="5" mb="0" cb="0"/><line nr="162" mi="0" ci="2" mb="0" cb="0"/><line nr="164" mi="0" ci="1" mb="0" cb="0"/><line nr="165" mi="0" ci="19" mb="0" cb="0"/><line nr="166" mi="0" ci="11" mb="0" cb="0"/><line nr="167" mi="0" ci="1" mb="0" cb="0"/><line nr="168" mi="1" ci="7" mb="1" cb="1"/><line nr="169" mi="0" ci="12" mb="2" cb="4"/><line nr="170" mi="1" ci="10" mb="1" cb="1"/><line nr="171" mi="0" ci="8" mb="0" cb="0"/><line nr="173" mi="0" ci="6" mb="1" cb="1"/><line nr="174" mi="0" ci="4" mb="0" cb="2"/><line nr="175" mi="0" ci="2" mb="1" cb="1"/><line nr="176" mi="0" ci="8" mb="0" cb="0"/><line nr="177" mi="0" ci="11" mb="0" cb="0"/><line nr="178" mi="0" ci="8" mb="0" cb="0"/><line nr="180" mi="1" ci="10" mb="1" cb="1"/><line nr="181" mi="0" ci="8" mb="0" cb="0"/><line nr="195" mi="0" ci="10" mb="4" cb="4"/><line nr="196" mi="2" ci="0" mb="0" cb="0"/><line nr="199" mi="0" ci="2" mb="0" cb="0"/><line nr="202" mi="0" ci="7" mb="0" cb="0"/><line nr="203" mi="0" ci="4" mb="0" cb="0"/><line nr="204" mi="0" ci="4" mb="0" cb="0"/><line nr="206" mi="0" ci="2" mb="0" cb="0"/><line nr="207" mi="0" ci="2" mb="0" cb="0"/><line nr="209" mi="0" ci="10" mb="0" cb="2"/><line nr="210" mi="0" ci="4" mb="0" cb="0"/><line nr="211" mi="0" ci="4" mb="0" cb="0"/><line nr="213" mi="0" ci="4" mb="0" cb="2"/><line nr="214" mi="0" ci="5" mb="0" cb="0"/><line nr="215" mi="0" ci="1" mb="0" cb="0"/><line nr="216" mi="0" ci="6" mb="0" cb="0"/><line nr="218" mi="0" ci="1" mb="0" cb="0"/><line nr="219" mi="0" ci="5" mb="0" cb="0"/><line nr="222" mi="0" ci="1" mb="0" cb="0"/><line nr="224" mi="0" ci="8" mb="0" cb="0"/><line nr="225" mi="0" ci="13" mb="0" cb="0"/><line nr="227" mi="0" ci="2" mb="0" cb="0"/><line nr="235" mi="0" ci="4" mb="0" cb="0"/><line nr="236" mi="0" ci="3" mb="0" cb="0"/><line nr="237" mi="0" ci="3" mb="0" cb="0"/><line nr="238" mi="0" ci="3" mb="0" cb="0"/><line nr="239" mi="0" ci="3" mb="0" cb="0"/><line nr="241" mi="0" ci="5" mb="0" cb="4"/><line nr="242" mi="0" ci="3" mb="0" cb="0"/><line nr="243" mi="0" ci="5" mb="0" cb="0"/><line nr="244" mi="0" ci="2" mb="0" cb="0"/><line nr="245" mi="0" ci="2" mb="0" cb="0"/><line nr="246" mi="0" ci="2" mb="0" cb="0"/><line nr="247" mi="0" ci="4" mb="0" cb="0"/><line nr="248" mi="0" ci="3" mb="0" cb="0"/><line nr="251" mi="0" ci="2" mb="0" cb="0"/><line nr="259" mi="0" ci="5" mb="0" cb="0"/><line nr="260" mi="0" ci="1" mb="0" cb="0"/><line nr="261" mi="0" ci="5" mb="0" cb="0"/><line nr="262" mi="0" ci="4" mb="0" cb="0"/><line nr="263" mi="0" ci="3" mb="0" cb="0"/><line nr="264" mi="0" ci="3" mb="0" cb="0"/><line nr="265" mi="0" ci="2" mb="0" cb="0"/><line nr="271" mi="5" ci="0" mb="0" cb="0"/><line nr="272" mi="8" ci="0" mb="0" cb="0"/><line nr="278" mi="5" ci="0" mb="0" cb="0"/><line nr="279" mi="8" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="52" covered="685"/><counter type="BRANCH" missed="23" covered="55"/><counter type="LINE" missed="7" covered="123"/><counter type="COMPLEXITY" missed="25" covered="25"/><counter type="METHOD" missed="2" covered="9"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="UserLevelThrottledTranslationClient.java"><line nr="47" mi="0" ci="12" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="6" mb="0" cb="0"/><line nr="79" mi="0" ci="6" mb="0" cb="0"/><line nr="80" mi="0" ci="6" mb="0" cb="0"/><line nr="83" mi="0" ci="6" mb="0" cb="0"/><line nr="84" mi="0" ci="6" mb="0" cb="0"/><line nr="85" mi="0" ci="6" mb="0" cb="0"/><line nr="91" mi="0" ci="5" mb="0" cb="0"/><line nr="92" mi="0" ci="5" mb="0" cb="0"/><line nr="97" mi="0" ci="8" mb="0" cb="0"/><line nr="100" mi="0" ci="3" mb="0" cb="0"/><line nr="105" mi="1" ci="0" mb="0" cb="0"/><line nr="108" mi="0" ci="3" mb="0" cb="0"/><line nr="109" mi="0" ci="2" mb="0" cb="0"/><line nr="110" mi="0" ci="3" mb="0" cb="0"/><line nr="111" mi="0" ci="1" mb="0" cb="0"/><line nr="112" mi="0" ci="2" mb="0" cb="0"/><line nr="118" mi="3" ci="0" mb="0" cb="0"/><line nr="119" mi="3" ci="0" mb="0" cb="0"/><line nr="120" mi="5" ci="0" mb="0" cb="0"/><line nr="127" mi="0" ci="6" mb="1" cb="3"/><line nr="128" mi="0" ci="2" mb="0" cb="0"/><line nr="129" mi="0" ci="3" mb="0" cb="0"/><line nr="130" mi="4" ci="4" mb="3" cb="1"/><line nr="131" mi="3" ci="0" mb="0" cb="0"/><line nr="132" mi="3" ci="0" mb="0" cb="0"/><line nr="134" mi="0" ci="2" mb="0" cb="0"/><line nr="135" mi="0" ci="2" mb="0" cb="0"/><line nr="138" mi="0" ci="7" mb="0" cb="0"/><line nr="140" mi="0" ci="10" mb="0" cb="0"/><line nr="142" mi="0" ci="4" mb="0" cb="2"/><line nr="143" mi="0" ci="5" mb="0" cb="0"/><line nr="144" mi="0" ci="8" mb="0" cb="4"/><line nr="145" mi="0" ci="5" mb="0" cb="0"/><line nr="146" mi="0" ci="4" mb="0" cb="2"/><line nr="147" mi="0" ci="5" mb="0" cb="0"/><line nr="149" mi="0" ci="4" mb="0" cb="0"/><line nr="151" mi="0" ci="18" mb="0" cb="0"/><line nr="152" mi="0" ci="5" mb="0" cb="0"/><line nr="160" mi="0" ci="2" mb="0" cb="0"/><line nr="167" mi="0" ci="2" mb="0" cb="0"/><line nr="175" mi="0" ci="2" mb="0" cb="0"/><line nr="176" mi="0" ci="4" mb="0" cb="0"/><line nr="177" mi="0" ci="2" mb="0" cb="0"/><line nr="179" mi="4" ci="8" mb="1" cb="1"/><line nr="180" mi="9" ci="0" mb="2" cb="0"/><line nr="181" mi="4" ci="0" mb="0" cb="0"/><line nr="182" mi="5" ci="0" mb="0" cb="0"/><line nr="183" mi="5" ci="0" mb="0" cb="0"/><line nr="184" mi="1" ci="0" mb="0" cb="0"/><line nr="185" mi="4" ci="0" mb="0" cb="0"/><line nr="187" mi="1" ci="0" mb="0" cb="0"/><line nr="189" mi="0" ci="2" mb="1" cb="1"/><line nr="190" mi="5" ci="0" mb="0" cb="0"/><line nr="192" mi="0" ci="1" mb="0" cb="0"/><line nr="206" mi="0" ci="8" mb="0" cb="0"/><line nr="218" mi="0" ci="3" mb="0" cb="0"/><line nr="219" mi="0" ci="3" mb="0" cb="0"/><line nr="220" mi="0" ci="8" mb="0" cb="0"/><line nr="224" mi="0" ci="5" mb="0" cb="0"/><line nr="225" mi="0" ci="3" mb="0" cb="0"/><line nr="227" mi="0" ci="7" mb="0" cb="2"/><line nr="228" mi="0" ci="18" mb="0" cb="0"/><line nr="229" mi="0" ci="5" mb="0" cb="0"/><line nr="233" mi="0" ci="5" mb="0" cb="2"/><line nr="235" mi="9" ci="0" mb="0" cb="0"/><line nr="236" mi="0" ci="1" mb="0" cb="0"/><line nr="238" mi="0" ci="5" mb="0" cb="0"/><line nr="240" mi="0" ci="8" mb="0" cb="0"/><line nr="241" mi="0" ci="1" mb="0" cb="0"/><line nr="242" mi="0" ci="5" mb="0" cb="0"/><line nr="243" mi="0" ci="10" mb="0" cb="0"/><line nr="246" mi="0" ci="2" mb="0" cb="0"/><line nr="249" mi="0" ci="2" mb="0" cb="0"/><line nr="250" mi="0" ci="4" mb="0" cb="0"/><line nr="251" mi="0" ci="5" mb="0" cb="0"/><line nr="253" mi="1" ci="0" mb="0" cb="0"/><line nr="254" mi="2" ci="0" mb="0" cb="0"/><line nr="255" mi="5" ci="0" mb="0" cb="0"/><line nr="256" mi="6" ci="0" mb="0" cb="0"/><line nr="257" mi="0" ci="1" mb="0" cb="0"/><line nr="258" mi="0" ci="5" mb="0" cb="0"/><line nr="259" mi="0" ci="4" mb="0" cb="0"/><line nr="260" mi="0" ci="4" mb="0" cb="0"/><line nr="261" mi="0" ci="6" mb="0" cb="0"/><line nr="276" mi="0" ci="9" mb="0" cb="0"/><line nr="291" mi="0" ci="3" mb="0" cb="0"/><line nr="292" mi="0" ci="3" mb="0" cb="0"/><line nr="293" mi="0" ci="11" mb="0" cb="0"/><line nr="300" mi="0" ci="5" mb="0" cb="0"/><line nr="301" mi="0" ci="3" mb="0" cb="0"/><line nr="303" mi="0" ci="7" mb="0" cb="2"/><line nr="304" mi="0" ci="18" mb="0" cb="0"/><line nr="305" mi="0" ci="5" mb="0" cb="0"/><line nr="310" mi="0" ci="5" mb="1" cb="1"/><line nr="313" mi="0" ci="2" mb="0" cb="2"/><line nr="314" mi="0" ci="8" mb="0" cb="0"/><line nr="317" mi="0" ci="5" mb="1" cb="3"/><line nr="318" mi="0" ci="6" mb="0" cb="0"/><line nr="320" mi="9" ci="0" mb="0" cb="0"/><line nr="321" mi="0" ci="1" mb="0" cb="0"/><line nr="323" mi="0" ci="5" mb="0" cb="0"/><line nr="325" mi="0" ci="7" mb="0" cb="0"/><line nr="326" mi="1" ci="0" mb="0" cb="0"/><line nr="327" mi="5" ci="0" mb="0" cb="0"/><line nr="328" mi="10" ci="0" mb="0" cb="0"/><line nr="333" mi="0" ci="10" mb="0" cb="0"/><line nr="334" mi="0" ci="1" mb="0" cb="0"/><line nr="335" mi="0" ci="5" mb="0" cb="0"/><line nr="336" mi="0" ci="2" mb="0" cb="0"/><line nr="338" mi="0" ci="2" mb="0" cb="0"/><line nr="341" mi="2" ci="0" mb="0" cb="0"/><line nr="342" mi="4" ci="0" mb="0" cb="0"/><line nr="343" mi="5" ci="0" mb="0" cb="0"/><line nr="345" mi="1" ci="0" mb="0" cb="0"/><line nr="346" mi="2" ci="0" mb="0" cb="0"/><line nr="347" mi="5" ci="0" mb="0" cb="0"/><line nr="348" mi="2" ci="0" mb="0" cb="0"/><line nr="349" mi="4" ci="0" mb="0" cb="0"/><line nr="350" mi="6" ci="0" mb="0" cb="0"/><line nr="351" mi="0" ci="1" mb="0" cb="0"/><line nr="352" mi="0" ci="2" mb="0" cb="0"/><line nr="353" mi="1" ci="0" mb="0" cb="0"/><line nr="354" mi="5" ci="0" mb="0" cb="0"/><line nr="355" mi="4" ci="0" mb="0" cb="0"/><line nr="356" mi="4" ci="0" mb="0" cb="0"/><line nr="357" mi="6" ci="0" mb="0" cb="0"/><line nr="374" mi="0" ci="2" mb="0" cb="0"/><line nr="377" mi="0" ci="4" mb="0" cb="0"/><line nr="379" mi="0" ci="2" mb="0" cb="2"/><line nr="381" mi="0" ci="8" mb="0" cb="0"/><line nr="382" mi="0" ci="22" mb="0" cb="0"/><line nr="384" mi="7" ci="0" mb="0" cb="0"/><line nr="385" mi="0" ci="1" mb="0" cb="0"/><line nr="387" mi="0" ci="5" mb="0" cb="0"/><line nr="389" mi="0" ci="5" mb="0" cb="0"/><line nr="390" mi="0" ci="1" mb="0" cb="0"/><line nr="392" mi="0" ci="12" mb="0" cb="0"/><line nr="393" mi="4" ci="9" mb="1" cb="1"/><line nr="394" mi="0" ci="10" mb="0" cb="0"/><line nr="399" mi="0" ci="8" mb="0" cb="0"/><line nr="400" mi="0" ci="22" mb="0" cb="0"/><line nr="402" mi="0" ci="5" mb="0" cb="0"/><line nr="403" mi="1" ci="0" mb="0" cb="0"/><line nr="405" mi="5" ci="0" mb="0" cb="0"/><line nr="407" mi="7" ci="0" mb="0" cb="0"/><line nr="408" mi="1" ci="0" mb="0" cb="0"/><line nr="410" mi="5" ci="0" mb="0" cb="0"/><line nr="411" mi="10" ci="0" mb="0" cb="0"/><line nr="432" mi="4" ci="0" mb="0" cb="0"/><line nr="433" mi="7" ci="0" mb="0" cb="0"/><line nr="434" mi="1" ci="0" mb="0" cb="0"/><line nr="436" mi="5" ci="0" mb="0" cb="0"/><line nr="438" mi="5" ci="0" mb="0" cb="0"/><line nr="439" mi="1" ci="0" mb="0" cb="0"/><line nr="441" mi="5" ci="0" mb="0" cb="0"/><line nr="442" mi="10" ci="0" mb="0" cb="0"/><line nr="453" mi="0" ci="4" mb="0" cb="0"/><line nr="454" mi="0" ci="4" mb="0" cb="0"/><line nr="457" mi="0" ci="6" mb="0" cb="4"/><line nr="458" mi="0" ci="2" mb="0" cb="2"/><line nr="460" mi="8" ci="7" mb="3" cb="1"/><line nr="463" mi="1" ci="9" mb="1" cb="1"/><line nr="465" mi="0" ci="3" mb="0" cb="2"/><line nr="466" mi="0" ci="2" mb="0" cb="0"/><line nr="468" mi="0" ci="3" mb="0" cb="2"/><line nr="469" mi="0" ci="2" mb="0" cb="0"/><line nr="473" mi="0" ci="4" mb="0" cb="0"/><line nr="474" mi="0" ci="4" mb="0" cb="0"/><line nr="477" mi="0" ci="6" mb="0" cb="0"/><line nr="478" mi="0" ci="6" mb="0" cb="0"/><line nr="481" mi="2" ci="4" mb="1" cb="1"/><line nr="484" mi="0" ci="4" mb="0" cb="0"/><line nr="485" mi="0" ci="4" mb="1" cb="1"/><line nr="487" mi="1" ci="7" mb="1" cb="1"/><line nr="490" mi="4" ci="0" mb="0" cb="0"/><line nr="492" mi="4" ci="0" mb="0" cb="0"/><line nr="493" mi="2" ci="0" mb="0" cb="0"/><line nr="495" mi="8" ci="0" mb="0" cb="0"/><line nr="496" mi="5" ci="0" mb="0" cb="0"/><line nr="497" mi="15" ci="0" mb="0" cb="0"/><line nr="498" mi="15" ci="0" mb="0" cb="0"/><line nr="499" mi="12" ci="0" mb="0" cb="0"/><line nr="501" mi="8" ci="0" mb="2" cb="0"/><line nr="508" mi="0" ci="2" mb="0" cb="0"/><line nr="509" mi="0" ci="2" mb="0" cb="0"/><line nr="512" mi="0" ci="4" mb="0" cb="0"/><line nr="513" mi="0" ci="10" mb="0" cb="2"/><line nr="514" mi="0" ci="2" mb="1" cb="1"/><line nr="515" mi="0" ci="4" mb="0" cb="0"/><line nr="516" mi="0" ci="4" mb="0" cb="0"/><line nr="517" mi="0" ci="3" mb="0" cb="0"/><line nr="520" mi="0" ci="4" mb="0" cb="0"/><line nr="521" mi="0" ci="10" mb="0" cb="2"/><line nr="522" mi="0" ci="2" mb="1" cb="1"/><line nr="523" mi="0" ci="4" mb="0" cb="0"/><line nr="524" mi="0" ci="4" mb="0" cb="0"/><line nr="525" mi="0" ci="3" mb="0" cb="0"/><line nr="527" mi="0" ci="1" mb="0" cb="0"/><line nr="536" mi="0" ci="2" mb="0" cb="2"/><line nr="537" mi="0" ci="4" mb="0" cb="0"/><line nr="538" mi="4" ci="2" mb="3" cb="1"/><line nr="539" mi="5" ci="0" mb="0" cb="0"/><line nr="542" mi="0" ci="4" mb="0" cb="0"/><line nr="543" mi="0" ci="6" mb="1" cb="3"/><line nr="544" mi="0" ci="4" mb="0" cb="0"/><line nr="547" mi="0" ci="1" mb="0" cb="0"/><line nr="553" mi="0" ci="2" mb="0" cb="0"/><line nr="554" mi="0" ci="2" mb="0" cb="0"/><line nr="556" mi="0" ci="4" mb="0" cb="0"/><line nr="557" mi="0" ci="5" mb="0" cb="0"/><line nr="558" mi="0" ci="5" mb="0" cb="0"/><line nr="559" mi="0" ci="5" mb="0" cb="0"/><line nr="560" mi="0" ci="6" mb="0" cb="0"/><line nr="563" mi="0" ci="5" mb="1" cb="3"/><line nr="564" mi="0" ci="3" mb="0" cb="0"/><line nr="565" mi="8" ci="1" mb="0" cb="0"/><line nr="566" mi="2" ci="0" mb="0" cb="0"/><line nr="567" mi="5" ci="0" mb="0" cb="0"/><line nr="570" mi="0" ci="3" mb="0" cb="0"/><line nr="571" mi="5" ci="0" mb="0" cb="0"/><line nr="572" mi="2" ci="0" mb="0" cb="0"/><line nr="573" mi="4" ci="0" mb="0" cb="0"/><line nr="575" mi="0" ci="4" mb="0" cb="0"/><line nr="576" mi="0" ci="5" mb="0" cb="0"/><line nr="584" mi="0" ci="8" mb="0" cb="0"/><line nr="585" mi="0" ci="3" mb="0" cb="0"/><line nr="586" mi="0" ci="3" mb="0" cb="0"/><line nr="587" mi="0" ci="3" mb="0" cb="0"/><line nr="588" mi="0" ci="3" mb="0" cb="0"/><line nr="589" mi="0" ci="2" mb="0" cb="0"/><line nr="590" mi="0" ci="3" mb="0" cb="0"/><line nr="593" mi="4" ci="3" mb="3" cb="1"/><line nr="594" mi="6" ci="0" mb="0" cb="0"/><line nr="597" mi="0" ci="3" mb="0" cb="0"/><line nr="598" mi="0" ci="2" mb="0" cb="0"/><line nr="599" mi="0" ci="2" mb="0" cb="0"/><line nr="600" mi="0" ci="5" mb="0" cb="0"/><line nr="601" mi="6" ci="0" mb="0" cb="0"/><line nr="602" mi="11" ci="0" mb="0" cb="0"/><line nr="603" mi="4" ci="0" mb="2" cb="0"/><line nr="604" mi="7" ci="0" mb="0" cb="0"/><line nr="606" mi="4" ci="0" mb="0" cb="0"/><line nr="618" mi="0" ci="6" mb="0" cb="0"/><line nr="631" mi="0" ci="2" mb="0" cb="0"/><line nr="632" mi="0" ci="2" mb="0" cb="0"/><line nr="635" mi="0" ci="20" mb="0" cb="0"/><line nr="636" mi="0" ci="8" mb="0" cb="0"/><line nr="637" mi="0" ci="4" mb="0" cb="0"/><line nr="640" mi="0" ci="4" mb="0" cb="0"/><line nr="641" mi="0" ci="5" mb="1" cb="3"/><line nr="643" mi="0" ci="4" mb="0" cb="0"/><line nr="644" mi="0" ci="7" mb="0" cb="0"/><line nr="648" mi="0" ci="4" mb="0" cb="0"/><line nr="650" mi="0" ci="8" mb="0" cb="0"/><line nr="653" mi="0" ci="4" mb="0" cb="0"/><line nr="654" mi="0" ci="6" mb="0" cb="0"/><line nr="655" mi="0" ci="5" mb="0" cb="0"/><line nr="656" mi="0" ci="5" mb="0" cb="0"/><line nr="658" mi="0" ci="2" mb="0" cb="0"/><line nr="659" mi="0" ci="7" mb="0" cb="0"/><line nr="660" mi="0" ci="1" mb="0" cb="0"/><line nr="661" mi="0" ci="4" mb="0" cb="0"/><line nr="662" mi="0" ci="19" mb="0" cb="0"/><line nr="663" mi="0" ci="2" mb="0" cb="0"/><line nr="665" mi="0" ci="4" mb="0" cb="0"/><line nr="666" mi="0" ci="5" mb="0" cb="0"/><line nr="669" mi="0" ci="4" mb="1" cb="1"/><line nr="670" mi="21" ci="0" mb="0" cb="0"/><line nr="679" mi="2" ci="2" mb="1" cb="1"/><line nr="680" mi="0" ci="4" mb="0" cb="0"/><line nr="681" mi="0" ci="3" mb="0" cb="0"/><line nr="682" mi="0" ci="3" mb="0" cb="0"/><line nr="683" mi="0" ci="3" mb="0" cb="0"/><line nr="684" mi="0" ci="3" mb="0" cb="0"/><line nr="685" mi="0" ci="3" mb="0" cb="0"/><line nr="686" mi="0" ci="3" mb="0" cb="0"/><line nr="687" mi="0" ci="3" mb="0" cb="0"/><line nr="688" mi="0" ci="3" mb="0" cb="0"/><line nr="689" mi="0" ci="3" mb="0" cb="0"/><line nr="690" mi="0" ci="3" mb="0" cb="0"/><line nr="691" mi="0" ci="3" mb="0" cb="0"/><line nr="692" mi="0" ci="3" mb="0" cb="0"/><line nr="693" mi="0" ci="3" mb="0" cb="0"/><line nr="694" mi="0" ci="3" mb="0" cb="0"/><line nr="695" mi="0" ci="3" mb="0" cb="0"/><line nr="696" mi="0" ci="3" mb="0" cb="0"/><line nr="697" mi="0" ci="1" mb="0" cb="0"/><line nr="705" mi="0" ci="4" mb="0" cb="0"/><line nr="707" mi="0" ci="4" mb="0" cb="0"/><line nr="708" mi="0" ci="4" mb="0" cb="0"/><line nr="710" mi="0" ci="6" mb="0" cb="0"/><line nr="711" mi="0" ci="8" mb="0" cb="0"/><line nr="712" mi="0" ci="6" mb="1" cb="1"/><line nr="713" mi="18" ci="0" mb="0" cb="0"/><line nr="714" mi="0" ci="1" mb="0" cb="0"/><line nr="716" mi="0" ci="6" mb="0" cb="0"/><line nr="717" mi="0" ci="8" mb="0" cb="0"/><line nr="718" mi="0" ci="6" mb="1" cb="1"/><line nr="719" mi="18" ci="0" mb="0" cb="0"/><line nr="720" mi="0" ci="1" mb="0" cb="0"/><line nr="722" mi="0" ci="6" mb="0" cb="0"/><line nr="723" mi="0" ci="12" mb="0" cb="0"/><line nr="725" mi="0" ci="2" mb="0" cb="0"/><line nr="730" mi="3" ci="0" mb="0" cb="0"/><line nr="731" mi="3" ci="0" mb="0" cb="0"/><line nr="732" mi="3" ci="0" mb="0" cb="0"/><line nr="733" mi="3" ci="0" mb="0" cb="0"/><line nr="734" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="471" covered="1094"/><counter type="BRANCH" missed="37" covered="67"/><counter type="LINE" missed="81" covered="229"/><counter type="COMPLEXITY" missed="35" covered="47"/><counter type="METHOD" missed="5" covered="25"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="ThrottledTranslationEngineAdapter.java"><line nr="14" mi="0" ci="6" mb="0" cb="0"/><line nr="15" mi="0" ci="4" mb="0" cb="0"/><line nr="22" mi="8" ci="0" mb="0" cb="0"/><line nr="27" mi="7" ci="0" mb="2" cb="0"/><counter type="INSTRUCTION" missed="15" covered="10"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="2" covered="2"/><counter type="COMPLEXITY" missed="3" covered="2"/><counter type="METHOD" missed="2" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ExternalTranslationService.java"><line nr="22" mi="0" ci="4" mb="0" cb="0"/><line nr="32" mi="0" ci="2" mb="0" cb="0"/><line nr="33" mi="0" ci="3" mb="0" cb="0"/><line nr="34" mi="0" ci="11" mb="0" cb="0"/><line nr="35" mi="0" ci="11" mb="0" cb="0"/><line nr="36" mi="0" ci="2" mb="0" cb="0"/><line nr="37" mi="0" ci="7" mb="0" cb="0"/><line nr="40" mi="0" ci="5" mb="1" cb="3"/><line nr="41" mi="11" ci="0" mb="0" cb="0"/><line nr="42" mi="3" ci="0" mb="0" cb="0"/><line nr="45" mi="0" ci="4" mb="0" cb="0"/><line nr="46" mi="0" ci="8" mb="0" cb="2"/><line nr="47" mi="0" ci="1" mb="0" cb="0"/><line nr="61" mi="0" ci="3" mb="0" cb="2"/><line nr="62" mi="0" ci="7" mb="0" cb="0"/><line nr="65" mi="0" ci="4" mb="0" cb="0"/><line nr="66" mi="0" ci="5" mb="0" cb="0"/><line nr="67" mi="0" ci="5" mb="0" cb="0"/><line nr="68" mi="0" ci="5" mb="0" cb="0"/><line nr="69" mi="0" ci="6" mb="0" cb="0"/><line nr="73" mi="0" ci="6" mb="0" cb="0"/><line nr="74" mi="0" ci="3" mb="0" cb="0"/><line nr="75" mi="0" ci="1" mb="0" cb="0"/><line nr="76" mi="0" ci="2" mb="0" cb="0"/><line nr="77" mi="0" ci="2" mb="0" cb="0"/><line nr="78" mi="0" ci="4" mb="0" cb="0"/><line nr="80" mi="0" ci="3" mb="0" cb="0"/><line nr="81" mi="0" ci="1" mb="0" cb="0"/><line nr="82" mi="0" ci="19" mb="0" cb="0"/><line nr="83" mi="0" ci="11" mb="0" cb="0"/><line nr="84" mi="0" ci="1" mb="0" cb="0"/><line nr="85" mi="0" ci="8" mb="0" cb="2"/><line nr="87" mi="0" ci="12" mb="2" cb="4"/><line nr="88" mi="1" ci="10" mb="1" cb="1"/><line nr="89" mi="0" ci="8" mb="0" cb="0"/><line nr="92" mi="0" ci="12" mb="2" cb="4"/><line nr="93" mi="0" ci="9" mb="0" cb="0"/><line nr="94" mi="0" ci="11" mb="0" cb="0"/><line nr="95" mi="0" ci="8" mb="0" cb="0"/><line nr="97" mi="1" ci="10" mb="1" cb="1"/><line nr="98" mi="0" ci="8" mb="0" cb="0"/><line nr="106" mi="5" ci="0" mb="0" cb="0"/><line nr="107" mi="8" ci="0" mb="0" cb="0"/><line nr="114" mi="0" ci="9" mb="4" cb="5"/><line nr="115" mi="0" ci="2" mb="0" cb="0"/><line nr="116" mi="0" ci="2" mb="0" cb="0"/><line nr="117" mi="0" ci="2" mb="0" cb="0"/><line nr="118" mi="2" ci="0" mb="0" cb="0"/><line nr="119" mi="0" ci="2" mb="0" cb="0"/><line nr="120" mi="2" ci="0" mb="0" cb="0"/><line nr="121" mi="2" ci="0" mb="0" cb="0"/><line nr="122" mi="2" ci="0" mb="0" cb="0"/><line nr="123" mi="0" ci="2" mb="0" cb="0"/><line nr="127" mi="0" ci="2" mb="0" cb="2"/><line nr="128" mi="0" ci="5" mb="0" cb="0"/><line nr="130" mi="0" ci="4" mb="0" cb="0"/><line nr="131" mi="0" ci="4" mb="0" cb="0"/><line nr="132" mi="0" ci="8" mb="0" cb="2"/><line nr="133" mi="0" ci="6" mb="0" cb="2"/><line nr="134" mi="0" ci="15" mb="0" cb="2"/><line nr="136" mi="0" ci="3" mb="0" cb="0"/><line nr="139" mi="0" ci="4" mb="0" cb="0"/><line nr="140" mi="0" ci="5" mb="0" cb="0"/><line nr="141" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="37" covered="319"/><counter type="BRANCH" missed="11" covered="32"/><counter type="LINE" missed="8" covered="56"/><counter type="COMPLEXITY" missed="12" covered="19"/><counter type="METHOD" missed="1" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="579" covered="2424"/><counter type="BRANCH" missed="76" covered="199"/><counter type="LINE" missed="99" covered="475"/><counter type="COMPLEXITY" missed="78" covered="130"/><counter type="METHOD" missed="10" covered="56"/><counter type="CLASS" missed="0" covered="7"/></package><package name="com/yumu/noveltranslator/adapter/in/rest/collab"><class name="com/yumu/noveltranslator/adapter/in/rest/collab/CollabCommentController" sourcefilename="CollabCommentController.java"><method name="createComment" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/port/dto/collab/CreateCommentRequest;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="26"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="listComments" desc="(Ljava/lang/Long;II)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="36"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="resolveComment" desc="(Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="46"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="deleteComment" desc="(Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="53"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/in/CollabCommentPort;)V" line="17"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="18"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="70"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/adapter/in/rest/collab/CollabMemberController" sourcefilename="CollabMemberController.java"><method name="inviteMember" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/port/dto/collab/InviteMemberRequest;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="33"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="joinByCode" desc="(Ljava/lang/String;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="40"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="listMembers" desc="(Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="51"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="removeMember" desc="(Ljava/lang/Long;Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="58"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/in/CollabPort;)V" line="23"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="24"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="56"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/adapter/in/rest/collab/ChapterTaskController" sourcefilename="ChapterTaskController.java"><method name="assignChapter" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/port/dto/collab/AssignChapterRequest;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="35"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="submitChapter" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/port/dto/collab/SubmitChapterRequest;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="43"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="reviewChapter" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/port/dto/collab/ReviewChapterRequest;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="50"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getChapter" desc="(Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="57"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="listMyChapters" desc="(Ljava/lang/Integer;Ljava/lang/Integer;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="66"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/in/ChapterTaskPort;)V" line="26"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="27"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="73"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="CollabCommentController.java"><line nr="17" mi="0" ci="6" mb="0" cb="0"/><line nr="18" mi="0" ci="4" mb="0" cb="0"/><line nr="26" mi="0" ci="2" mb="0" cb="0"/><line nr="27" mi="0" ci="7" mb="0" cb="0"/><line nr="28" mi="0" ci="3" mb="0" cb="0"/><line nr="36" mi="0" ci="2" mb="0" cb="0"/><line nr="37" mi="0" ci="6" mb="0" cb="0"/><line nr="38" mi="0" ci="2" mb="0" cb="0"/><line nr="39" mi="0" ci="3" mb="0" cb="0"/><line nr="40" mi="0" ci="12" mb="0" cb="0"/><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="46" mi="0" ci="2" mb="0" cb="0"/><line nr="47" mi="0" ci="5" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="53" mi="0" ci="2" mb="0" cb="0"/><line nr="54" mi="0" ci="5" mb="0" cb="0"/><line nr="55" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="70"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ChapterTaskController.java"><line nr="26" mi="0" ci="6" mb="0" cb="0"/><line nr="27" mi="0" ci="4" mb="0" cb="0"/><line nr="35" mi="0" ci="2" mb="0" cb="0"/><line nr="36" mi="0" ci="8" mb="0" cb="0"/><line nr="37" mi="0" ci="3" mb="0" cb="0"/><line nr="43" mi="0" ci="7" mb="0" cb="0"/><line nr="44" mi="0" ci="3" mb="0" cb="0"/><line nr="50" mi="0" ci="2" mb="0" cb="0"/><line nr="51" mi="0" ci="10" mb="0" cb="0"/><line nr="52" mi="0" ci="3" mb="0" cb="0"/><line nr="57" mi="0" ci="2" mb="0" cb="0"/><line nr="58" mi="0" ci="6" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="2" mb="0" cb="0"/><line nr="67" mi="0" ci="9" mb="0" cb="0"/><line nr="68" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="73"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="CollabMemberController.java"><line nr="23" mi="0" ci="6" mb="0" cb="0"/><line nr="24" mi="0" ci="4" mb="0" cb="0"/><line nr="33" mi="0" ci="2" mb="0" cb="0"/><line nr="34" mi="0" ci="7" mb="0" cb="0"/><line nr="35" mi="0" ci="3" mb="0" cb="0"/><line nr="40" mi="0" ci="2" mb="0" cb="0"/><line nr="41" mi="0" ci="6" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="0"/><line nr="51" mi="0" ci="9" mb="0" cb="0"/><line nr="52" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="2" mb="0" cb="0"/><line nr="59" mi="0" ci="6" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="56"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="199"/><counter type="LINE" missed="0" covered="46"/><counter type="COMPLEXITY" missed="0" covered="19"/><counter type="METHOD" missed="0" covered="19"/><counter type="CLASS" missed="0" covered="3"/></package><package name="com/yumu/noveltranslator/adapter/in/rest/plugin"><class name="com/yumu/noveltranslator/adapter/in/rest/plugin/PluginAuthController" sourcefilename="PluginAuthController.java"><method name="registerDevice" desc="(Ljava/util/Map;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="32"><counter type="INSTRUCTION" missed="4" covered="42"/><counter type="BRANCH" missed="2" covered="4"/><counter type="LINE" missed="1" covered="8"/><counter type="COMPLEXITY" missed="2" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getToken" desc="(Ljava/lang/String;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="55"><counter type="INSTRUCTION" missed="4" covered="21"/><counter type="BRANCH" missed="2" covered="4"/><counter type="LINE" missed="1" covered="5"/><counter type="COMPLEXITY" missed="2" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/in/AuthPort;Lcom/yumu/noveltranslator/port/in/DeviceTokenPort;)V" line="20"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="8" covered="72"/><counter type="BRANCH" missed="4" covered="8"/><counter type="LINE" missed="2" covered="14"/><counter type="COMPLEXITY" missed="4" covered="5"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="PluginAuthController.java"><line nr="20" mi="0" ci="9" mb="0" cb="0"/><line nr="32" mi="0" ci="5" mb="0" cb="0"/><line nr="34" mi="0" ci="6" mb="1" cb="3"/><line nr="35" mi="0" ci="4" mb="0" cb="0"/><line nr="38" mi="0" ci="2" mb="0" cb="0"/><line nr="39" mi="0" ci="8" mb="0" cb="0"/><line nr="40" mi="0" ci="2" mb="1" cb="1"/><line nr="41" mi="4" ci="0" mb="0" cb="0"/><line nr="44" mi="0" ci="11" mb="0" cb="0"/><line nr="46" mi="0" ci="4" mb="0" cb="0"/><line nr="55" mi="0" ci="6" mb="2" cb="2"/><line nr="56" mi="4" ci="0" mb="0" cb="0"/><line nr="59" mi="0" ci="5" mb="0" cb="0"/><line nr="61" mi="0" ci="2" mb="0" cb="2"/><line nr="62" mi="0" ci="4" mb="0" cb="0"/><line nr="65" mi="0" ci="4" mb="0" cb="0"/><counter type="INSTRUCTION" missed="8" covered="72"/><counter type="BRANCH" missed="4" covered="8"/><counter type="LINE" missed="2" covered="14"/><counter type="COMPLEXITY" missed="4" covered="5"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="8" covered="72"/><counter type="BRANCH" missed="4" covered="8"/><counter type="LINE" missed="2" covered="14"/><counter type="COMPLEXITY" missed="4" covered="5"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></package><package name="com/yumu/noveltranslator/port/out/payment"><class name="com/yumu/noveltranslator/port/out/payment/PaymentSessionInfo" sourcefilename="PaymentSessionInfo.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V" line="5"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/port/out/payment/SubscriptionInfo" sourcefilename="SubscriptionInfo.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;)V" line="3"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/port/out/payment/SubscriptionUpdateRequest" sourcefilename="SubscriptionUpdateRequest.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Boolean;)V" line="3"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/port/out/payment/CustomerInfo" sourcefilename="CustomerInfo.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="3"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="SubscriptionUpdateRequest.java"><line nr="3" mi="0" ci="12" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="CustomerInfo.java"><line nr="3" mi="0" ci="9" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SubscriptionInfo.java"><line nr="3" mi="0" ci="27" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="PaymentSessionInfo.java"><line nr="5" mi="0" ci="15" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="63"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="4"/></package><package name="com/yumu/noveltranslator/domain/service"><class name="com/yumu/noveltranslator/domain/service/CollabEventPublisher" sourcefilename="CollabEventPublisher.java"><method name="publishChapterUpdate" desc="(Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/String;Ljava/lang/String;)V" line="36"><counter type="INSTRUCTION" missed="19" covered="35"/><counter type="LINE" missed="3" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="publishCommentAdded" desc="(Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/String;)V" line="61"><counter type="INSTRUCTION" missed="19" covered="34"/><counter type="LINE" missed="3" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/util/SseEmitterUtil;Lcom/fasterxml/jackson/databind/ObjectMapper;)V" line="20"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="21"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="38" covered="82"/><counter type="LINE" missed="6" covered="18"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/domain/service/TranslationStateMachine" sourcefilename="TranslationStateMachine.java"><method name="&lt;init&gt;" desc="()V" line="17"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="validateTransition" desc="(Lcom/yumu/noveltranslator/enums/TranslationStatus;Lcom/yumu/noveltranslator/enums/TranslationStatus;)V" line="26"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="19"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/domain/service/EntityConsistencyService$1" sourcefilename="EntityConsistencyService.java"><method name="&lt;init&gt;" desc="()V" line="48"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="select" desc="(Ljava/net/URI;)Ljava/util/List;" line="51"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="connectFailed" desc="(Ljava/net/URI;Ljava/net/SocketAddress;Ljava/io/IOException;)V" line="54"><counter type="INSTRUCTION" missed="1" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="1" covered="6"/><counter type="LINE" missed="1" covered="2"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="1" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/domain/service/VerificationCodeService" sourcefilename="VerificationCodeService.java"><method name="&lt;init&gt;" desc="()V" line="20"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="init" desc="()V" line="35"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="generateAndStore" desc="(Ljava/lang/String;)Ljava/lang/String;" line="50"><counter type="INSTRUCTION" missed="22" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="verifyCode" desc="(Ljava/lang/String;Ljava/lang/String;)Z" line="62"><counter type="INSTRUCTION" missed="28" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="isRateLimited" desc="(Ljava/lang/String;)Z" line="77"><counter type="INSTRUCTION" missed="23" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getLastSendTime" desc="(Ljava/lang/String;)Ljava/lang/Long;" line="86"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="generateCode" desc="()Ljava/lang/String;" line="90"><counter type="INSTRUCTION" missed="21" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="19"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="100" covered="31"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="22" covered="12"/><counter type="COMPLEXITY" missed="9" covered="3"/><counter type="METHOD" missed="5" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/domain/service/EntityConsistencyService$EntityMappingContext" sourcefilename="EntityConsistencyService.java"><method name="&lt;init&gt;" desc="(Ljava/util/List;Ljava/util/Map;)V" line="589"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/domain/service/TranslationMemoryService" sourcefilename="TranslationMemoryService.java"><method name="storeTranslation" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Long;" line="29"><counter type="INSTRUCTION" missed="0" covered="72"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="incrementUsage" desc="(Ljava/lang/Long;)V" line="59"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="searchByUserAndLang" desc="(Ljava/lang/Long;Ljava/lang/String;Ljava/lang/String;I)Ljava/util/List;" line="66"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="searchByProject" desc="(Ljava/lang/Long;)Ljava/util/List;" line="73"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="deleteAllTranslationMemory" desc="()V" line="77"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toFloatList" desc="([F)Ljava/util/List;" line="81"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/out/GlossaryRepositoryPort;Lcom/yumu/noveltranslator/port/out/EmbeddingPort;)V" line="18"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="17"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="4" covered="132"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="2" covered="28"/><counter type="COMPLEXITY" missed="1" covered="13"/><counter type="METHOD" missed="1" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/domain/service/EntityConsistencyService" sourcefilename="EntityConsistencyService.java"><method name="shouldUseConsistency" desc="(Ljava/lang/String;)Z" line="76"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="translateWithConsistency" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/String;)Lcom/yumu/noveltranslator/port/dto/translation/ConsistencyTranslationResult;" line="86"><counter type="INSTRUCTION" missed="92" covered="97"/><counter type="BRANCH" missed="6" covered="6"/><counter type="LINE" missed="18" covered="24"/><counter type="COMPLEXITY" missed="4" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="splitTextForEntityExtraction" desc="(Ljava/lang/String;)Ljava/util/List;" line="184"><counter type="INSTRUCTION" missed="10" covered="109"/><counter type="BRANCH" missed="3" covered="17"/><counter type="LINE" missed="2" covered="20"/><counter type="COMPLEXITY" missed="3" covered="8"/><counter type="METHOD" missed="0" covered="1"/></method><method name="splitAtSentenceBoundary" desc="(Ljava/lang/String;)Ljava/util/List;" line="231"><counter type="INSTRUCTION" missed="3" covered="64"/><counter type="BRANCH" missed="2" covered="8"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="2" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="extractEntitiesSegmented" desc="(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;" line="264"><counter type="INSTRUCTION" missed="32" covered="95"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="5" covered="12"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="extractEntities" desc="(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;" line="298"><counter type="INSTRUCTION" missed="62" covered="60"/><counter type="BRANCH" missed="11" covered="1"/><counter type="LINE" missed="12" covered="17"/><counter type="COMPLEXITY" missed="6" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="translateEntities" desc="(Ljava/util/List;Ljava/lang/String;)Ljava/util/Map;" line="343"><counter type="INSTRUCTION" missed="60" covered="52"/><counter type="BRANCH" missed="11" covered="1"/><counter type="LINE" missed="10" covered="14"/><counter type="COMPLEXITY" missed="6" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="translateWithPlaceholders" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" line="381"><counter type="INSTRUCTION" missed="58" covered="68"/><counter type="BRANCH" missed="9" covered="1"/><counter type="LINE" missed="10" covered="16"/><counter type="COMPLEXITY" missed="5" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="deduplicateEntities" desc="(Ljava/util/Map;Ljava/lang/String;)Ljava/util/Map;" line="422"><counter type="INSTRUCTION" missed="0" covered="69"/><counter type="BRANCH" missed="1" covered="11"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="1" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="buildMapping" desc="(Ljava/util/Map;)Lcom/yumu/noveltranslator/domain/service/EntityConsistencyService$EntityMappingContext;" line="449"><counter type="INSTRUCTION" missed="0" covered="65"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="generatePlaceholder" desc="(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;" line="475"><counter type="INSTRUCTION" missed="4" covered="41"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="2" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="replaceEntitiesWithPlaceholders" desc="(Ljava/lang/String;Lcom/yumu/noveltranslator/domain/service/EntityConsistencyService$EntityMappingContext;)Ljava/lang/String;" line="493"><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="loadGlossaryTerms" desc="(Ljava/lang/Long;Ljava/lang/String;)Ljava/util/Map;" line="513"><counter type="INSTRUCTION" missed="0" covered="73"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="1" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="restorePlaceholders" desc="(Ljava/lang/String;Lcom/yumu/noveltranslator/domain/service/EntityConsistencyService$EntityMappingContext;)Ljava/lang/String;" line="549"><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sendWithRetry" desc="(Ljava/net/http/HttpRequest;I)Ljava/net/http/HttpResponse;" line="565"><counter type="INSTRUCTION" missed="39" covered="52"/><counter type="BRANCH" missed="3" covered="5"/><counter type="LINE" missed="6" covered="8"/><counter type="COMPLEXITY" missed="2" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/out/EntityCachePort;Lcom/yumu/noveltranslator/port/out/GlossaryRepositoryPort;Lcom/yumu/noveltranslator/port/out/UserRepositoryPort;)V" line="35"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$replaceEntitiesWithPlaceholders$2" desc="(Ljava/lang/String;Ljava/lang/String;)I" line="496"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$deduplicateEntities$1" desc="(Ljava/util/Map$Entry;Ljava/util/Map$Entry;)I" line="423"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$translateWithConsistency$0" desc="(Ljava/util/Map;Ljava/util/Set;Ljava/lang/String;)Z" line="112"><counter type="INSTRUCTION" missed="12" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="36"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="372" covered="969"/><counter type="BRANCH" missed="51" covered="77"/><counter type="LINE" missed="65" covered="202"/><counter type="COMPLEXITY" missed="33" covered="51"/><counter type="METHOD" missed="1" covered="19"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/domain/service/QuotaService" sourcefilename="QuotaService.java"><method name="getMonthlyQuota" desc="(Ljava/lang/String;)J" line="32"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="BRANCH" missed="0" covered="5"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getModeMultiplier" desc="(Ljava/lang/String;)D" line="44"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="BRANCH" missed="0" covered="5"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getRemainingChars" desc="(Ljava/lang/Long;Ljava/lang/String;)J" line="56"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getUsedThisMonth" desc="(Ljava/lang/Long;)J" line="65"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="quotaKey" desc="(Ljava/lang/Long;)Ljava/lang/String;" line="73"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="tryConsumeChars" desc="(Ljava/lang/Long;Ljava/lang/String;JLjava/lang/String;)Z" line="84"><counter type="INSTRUCTION" missed="2" covered="60"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="11"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="fallbackConsumeChars" desc="(Ljava/lang/Long;Ljava/lang/String;J)Z" line="111"><counter type="INSTRUCTION" missed="8" covered="20"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="2" covered="4"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="refundChars" desc="(Ljava/lang/Long;JLjava/lang/String;)V" line="124"><counter type="INSTRUCTION" missed="33" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/out/BillingRepositoryPort;Lcom/yumu/noveltranslator/properties/TranslationLimitProperties;Lcom/yumu/noveltranslator/port/out/QuotaPort;)V" line="21"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="19"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="43" covered="179"/><counter type="BRANCH" missed="4" covered="14"/><counter type="LINE" missed="10" covered="33"/><counter type="COMPLEXITY" missed="4" covered="16"/><counter type="METHOD" missed="1" covered="9"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/domain/service/ChapterSplitAsyncListener" sourcefilename="ChapterSplitAsyncListener.java"><method name="onChapterSplitEvent" desc="(Lcom/yumu/noveltranslator/domain/event/ChapterSplitEvent;)V" line="41"><counter type="INSTRUCTION" missed="104" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="insertChapterBatch" desc="(Lcom/yumu/noveltranslator/domain/event/ChapterSplitEvent;Ljava/util/List;I)V" line="65"><counter type="INSTRUCTION" missed="0" covered="85"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="activateProject" desc="(Ljava/lang/Long;Ljava/lang/Long;)V" line="84"><counter type="INSTRUCTION" missed="0" covered="54"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/out/CollaborationRepositoryPort;Lcom/yumu/noveltranslator/port/out/DocumentRepositoryPort;Lcom/yumu/noveltranslator/domain/service/CollabStateMachine;)V" line="28"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="29"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="104" covered="155"/><counter type="BRANCH" missed="2" covered="6"/><counter type="LINE" missed="16" covered="31"/><counter type="COMPLEXITY" missed="2" covered="7"/><counter type="METHOD" missed="1" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/domain/service/TranslationPostProcessingService" sourcefilename="TranslationPostProcessingService.java"><method name="&lt;init&gt;" desc="()V" line="27"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="fixUntranslatedChinese" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" line="55"><counter type="INSTRUCTION" missed="49" covered="71"/><counter type="BRANCH" missed="7" covered="9"/><counter type="LINE" missed="10" covered="12"/><counter type="COMPLEXITY" missed="6" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="detectChineseSegments" desc="(Ljava/lang/String;)Ljava/util/List;" line="98"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isJapaneseTarget" desc="(Ljava/lang/String;)Z" line="110"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isKoreanTarget" desc="(Ljava/lang/String;)Z" line="114"><counter type="INSTRUCTION" missed="2" covered="12"/><counter type="BRANCH" missed="3" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isChineseTarget" desc="(Ljava/lang/String;)Z" line="118"><counter type="INSTRUCTION" missed="2" covered="20"/><counter type="BRANCH" missed="5" covered="5"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="5" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isJapaneseSegment" desc="(Ljava/lang/String;Ljava/lang/String;)Z" line="135"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="remediateSegments" desc="(Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" line="151"><counter type="INSTRUCTION" missed="69" covered="65"/><counter type="BRANCH" missed="18" covered="2"/><counter type="LINE" missed="12" covered="16"/><counter type="COMPLEXITY" missed="10" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="applyRemediation" desc="(Ljava/lang/String;Ljava/util/List;Ljava/lang/String;)Ljava/lang/String;" line="199"><counter type="INSTRUCTION" missed="0" covered="55"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="shutdown" desc="()V" line="218"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="26"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="129" covered="293"/><counter type="BRANCH" missed="34" covered="38"/><counter type="LINE" missed="25" covered="62"/><counter type="COMPLEXITY" missed="26" covered="21"/><counter type="METHOD" missed="1" covered="10"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/domain/service/CollabStateMachine" sourcefilename="CollabStateMachine.java"><method name="&lt;init&gt;" desc="()V" line="17"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="validateProjectTransition" desc="(Lcom/yumu/noveltranslator/enums/CollabProjectStatus;Lcom/yumu/noveltranslator/enums/CollabProjectStatus;)V" line="25"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="validateChapterTransition" desc="(Lcom/yumu/noveltranslator/enums/ChapterTaskStatus;Lcom/yumu/noveltranslator/enums/ChapterTaskStatus;)V" line="35"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="validateProjectTransition" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="45"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="validateChapterTransition" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="54"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="transitionProject" desc="(Lcom/yumu/noveltranslator/domain/model/CollabProject;Lcom/yumu/noveltranslator/enums/CollabProjectStatus;)V" line="69"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="transitionProject" desc="(Lcom/yumu/noveltranslator/domain/model/CollabProject;Ljava/lang/String;)V" line="78"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="transitionChapter" desc="(Lcom/yumu/noveltranslator/domain/model/CollabChapterTask;Lcom/yumu/noveltranslator/enums/ChapterTaskStatus;)V" line="91"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="transitionChapter" desc="(Lcom/yumu/noveltranslator/domain/model/CollabChapterTask;Ljava/lang/String;)V" line="100"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="103"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="31"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/domain/service/AiGlossaryService" sourcefilename="AiGlossaryService.java"><method name="getProjectGlossary" desc="(Ljava/lang/Long;)Ljava/util/List;" line="29"><counter type="INSTRUCTION" missed="8" covered="6"/><counter type="LINE" missed="3" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addTerm" desc="(Ljava/lang/Long;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;)V" line="43"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="batchAddTerms" desc="(Ljava/lang/Long;Ljava/util/List;)V" line="51"><counter type="INSTRUCTION" missed="0" covered="54"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="1" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="updateTermStatus" desc="(Ljava/lang/Long;Ljava/lang/String;)Z" line="72"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="deleteTerm" desc="(Ljava/lang/Long;)Z" line="86"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getPendingTerms" desc="(Ljava/lang/Long;)Ljava/util/List;" line="94"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/out/GlossaryRepositoryPort;)V" line="17"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$updateTermStatus$1" desc="(Ljava/lang/Long;)Ljava/lang/Boolean;" line="77"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$updateTermStatus$0" desc="(Ljava/lang/String;Lcom/yumu/noveltranslator/domain/model/AiGlossary;)Ljava/lang/Boolean;" line="73"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="18"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="8" covered="128"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="3" covered="29"/><counter type="COMPLEXITY" missed="1" covered="14"/><counter type="METHOD" missed="0" covered="10"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/domain/service/MultiAgentTranslationService" sourcefilename="MultiAgentTranslationService.java"><method name="init" desc="()V" line="96"><counter type="INSTRUCTION" missed="29" covered="16"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="5" covered="5"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="shutdown" desc="()V" line="113"><counter type="INSTRUCTION" missed="25" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="startMultiAgentTranslation" desc="(Ljava/lang/Long;)V" line="130"><counter type="INSTRUCTION" missed="0" covered="121"/><counter type="BRANCH" missed="2" covered="8"/><counter type="LINE" missed="0" covered="26"/><counter type="COMPLEXITY" missed="2" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="translateChapter" desc="(Lcom/yumu/noveltranslator/domain/model/CollabChapterTask;Lcom/yumu/noveltranslator/domain/model/CollabProject;)Z" line="215"><counter type="INSTRUCTION" missed="131" covered="206"/><counter type="BRANCH" missed="11" covered="15"/><counter type="LINE" missed="27" covered="45"/><counter type="COMPLEXITY" missed="8" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="recoverStuckChapters" desc="(Ljava/lang/Long;)V" line="341"><counter type="INSTRUCTION" missed="0" covered="73"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getRetryCount" desc="(Lcom/yumu/noveltranslator/domain/model/CollabChapterTask;)I" line="370"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="incrementRetryCount" desc="(Lcom/yumu/noveltranslator/domain/model/CollabChapterTask;)V" line="378"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="cleanupStuckChapters" desc="()V" line="387"><counter type="INSTRUCTION" missed="118" covered="15"/><counter type="BRANCH" missed="13" covered="1"/><counter type="LINE" missed="29" covered="5"/><counter type="COMPLEXITY" missed="7" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sleepWithBackoff" desc="(ILjava/lang/Exception;)V" line="439"><counter type="INSTRUCTION" missed="61" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="13" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="loadGlossaryTermsForProject" desc="(Ljava/lang/Long;Ljava/lang/String;)Ljava/util/List;" line="461"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="deriveNovelType" desc="(Lcom/yumu/noveltranslator/domain/model/CollabProject;)Ljava/lang/String;" line="482"><counter type="INSTRUCTION" missed="0" covered="95"/><counter type="BRANCH" missed="2" covered="36"/><counter type="LINE" missed="0" covered="19"/><counter type="COMPLEXITY" missed="2" covered="18"/><counter type="METHOD" missed="0" covered="1"/></method><method name="applyTranslationResult" desc="(Lcom/yumu/noveltranslator/domain/model/CollabChapterTask;Ljava/lang/String;Ljava/lang/String;Z)V" line="519"><counter type="INSTRUCTION" missed="0" covered="63"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="updateProjectProgress" desc="(Ljava/lang/Long;)V" line="546"><counter type="INSTRUCTION" missed="5" covered="54"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="2" covered="14"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="assembleCompleteDocument" desc="(Ljava/lang/Long;)V" line="574"><counter type="INSTRUCTION" missed="7" covered="201"/><counter type="BRANCH" missed="2" covered="18"/><counter type="LINE" missed="2" covered="45"/><counter type="COMPLEXITY" missed="2" covered="9"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/out/CollaborationRepositoryPort;Lcom/yumu/noveltranslator/port/out/DocumentRepositoryPort;Lcom/yumu/noveltranslator/port/out/TranslationRepositoryPort;Lcom/yumu/noveltranslator/port/out/TeamTranslationPort;Lcom/yumu/noveltranslator/port/out/TranslationCachePort;Lcom/yumu/noveltranslator/domain/service/EntityConsistencyService;Lcom/yumu/noveltranslator/port/out/GlossaryRepositoryPort;Lcom/yumu/noveltranslator/application/service/RagTranslationApplicationService;Lcom/yumu/noveltranslator/domain/service/AiGlossaryService;Lcom/yumu/noveltranslator/domain/service/TranslationPostProcessingService;Lcom/yumu/noveltranslator/domain/service/CollabStateMachine;)V" line="58"><counter type="INSTRUCTION" missed="0" covered="44"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$updateProjectProgress$6" desc="(Lcom/yumu/noveltranslator/domain/model/CollabChapterTask;)Z" line="550"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$loadGlossaryTermsForProject$5" desc="(Ljava/lang/String;Lcom/yumu/noveltranslator/domain/model/Glossary;)Z" line="470"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$incrementRetryCount$4" desc="(Ljava/lang/Long;)Ljava/util/concurrent/atomic/AtomicInteger;" line="378"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$translateChapter$3" desc="(Lcom/yumu/noveltranslator/domain/model/AiGlossary;)Lcom/yumu/noveltranslator/domain/model/Glossary;" line="250"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$translateChapter$2" desc="(Ljava/lang/String;Lcom/yumu/noveltranslator/domain/model/AiGlossary;)Z" line="248"><counter type="INSTRUCTION" missed="5" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$startMultiAgentTranslation$1" desc="(Ljava/util/concurrent/CountDownLatch;Ljava/lang/Long;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger;)V" line="195"><counter type="INSTRUCTION" missed="7" covered="31"/><counter type="LINE" missed="3" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$startMultiAgentTranslation$0" desc="(Ljava/util/concurrent/Semaphore;Lcom/yumu/noveltranslator/domain/model/CollabChapterTask;Lcom/yumu/noveltranslator/domain/model/CollabProject;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/List;Ljava/util/concurrent/CountDownLatch;)V" line="166"><counter type="INSTRUCTION" missed="21" covered="43"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="7" covered="10"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="59"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="423" covered="1037"/><counter type="BRANCH" missed="44" covered="104"/><counter type="LINE" missed="101" covered="227"/><counter type="COMPLEXITY" missed="33" covered="64"/><counter type="METHOD" missed="4" covered="19"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/domain/service/TranslationPipeline" sourcefilename="TranslationPipeline.java"><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/out/TranslationCachePort;Lcom/yumu/noveltranslator/application/service/RagTranslationApplicationService;Lcom/yumu/noveltranslator/domain/service/EntityConsistencyService;Lcom/yumu/noveltranslator/port/out/TranslationClientPort;Lcom/yumu/noveltranslator/domain/service/TranslationPostProcessingService;Ljava/lang/Long;Ljava/lang/String;)V" line="67"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/out/TranslationCachePort;Lcom/yumu/noveltranslator/application/service/RagTranslationApplicationService;Lcom/yumu/noveltranslator/domain/service/EntityConsistencyService;Lcom/yumu/noveltranslator/port/out/TranslationClientPort;Lcom/yumu/noveltranslator/domain/service/TranslationPostProcessingService;Lcom/yumu/noveltranslator/port/out/TeamTranslationPort;Ljava/lang/Long;Ljava/lang/String;)V" line="85"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/out/TranslationCachePort;Lcom/yumu/noveltranslator/application/service/RagTranslationApplicationService;Lcom/yumu/noveltranslator/domain/service/EntityConsistencyService;Lcom/yumu/noveltranslator/port/out/TranslationClientPort;Lcom/yumu/noveltranslator/domain/service/TranslationPostProcessingService;Lcom/yumu/noveltranslator/port/out/TeamTranslationPort;Ljava/lang/Long;Ljava/lang/String;Ljava/util/List;)V" line="102"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/out/TranslationCachePort;Lcom/yumu/noveltranslator/application/service/RagTranslationApplicationService;Lcom/yumu/noveltranslator/domain/service/EntityConsistencyService;Lcom/yumu/noveltranslator/port/out/TranslationClientPort;Lcom/yumu/noveltranslator/domain/service/TranslationPostProcessingService;Lcom/yumu/noveltranslator/port/out/TeamTranslationPort;Ljava/lang/Long;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V" line="119"><counter type="INSTRUCTION" missed="0" covered="37"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="(Ljava/lang/String;Ljava/lang/String;Lcom/yumu/noveltranslator/enums/TranslationMode;)Ljava/lang/String;" line="142"><counter type="INSTRUCTION" missed="0" covered="75"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="1" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="executeTeam" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/yumu/noveltranslator/enums/TranslationMode;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;" line="197"><counter type="INSTRUCTION" missed="6" covered="214"/><counter type="BRANCH" missed="0" covered="24"/><counter type="LINE" missed="2" covered="44"/><counter type="COMPLEXITY" missed="0" covered="13"/><counter type="METHOD" missed="0" covered="1"/></method><method name="executeSegment" desc="(Ljava/lang/String;Ljava/lang/String;Lcom/yumu/noveltranslator/enums/TranslationMode;)Ljava/lang/String;" line="280"><counter type="INSTRUCTION" missed="0" covered="224"/><counter type="BRANCH" missed="1" covered="23"/><counter type="LINE" missed="0" covered="35"/><counter type="COMPLEXITY" missed="1" covered="12"/><counter type="METHOD" missed="0" covered="1"/></method><method name="executeFast" desc="(Ljava/lang/String;Ljava/lang/String;Lcom/yumu/noveltranslator/enums/TranslationMode;)Ljava/lang/String;" line="349"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="executeFast" desc="(Ljava/lang/String;Ljava/lang/String;Lcom/yumu/noveltranslator/enums/TranslationMode;Z)Ljava/lang/String;" line="362"><counter type="INSTRUCTION" missed="0" covered="200"/><counter type="BRANCH" missed="0" covered="22"/><counter type="LINE" missed="0" covered="29"/><counter type="COMPLEXITY" missed="0" covered="12"/><counter type="METHOD" missed="0" covered="1"/></method><method name="splitTextForTranslation" desc="(Ljava/lang/String;)Ljava/util/List;" line="416"><counter type="INSTRUCTION" missed="7" covered="101"/><counter type="BRANCH" missed="4" covered="16"/><counter type="LINE" missed="2" covered="19"/><counter type="COMPLEXITY" missed="4" covered="7"/><counter type="METHOD" missed="0" covered="1"/></method><method name="splitAtSentenceBoundaryForTranslation" desc="(Ljava/lang/String;)Ljava/util/List;" line="458"><counter type="INSTRUCTION" missed="3" covered="64"/><counter type="BRANCH" missed="2" covered="8"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="2" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="shouldCache" desc="(Ljava/lang/String;Ljava/lang/String;)Z" line="482"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isValidTranslation" desc="(Ljava/lang/String;Ljava/lang/String;)Z" line="502"><counter type="INSTRUCTION" missed="0" covered="52"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="32"><counter type="INSTRUCTION" missed="0" covered="31"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="16" covered="1068"/><counter type="BRANCH" missed="8" covered="122"/><counter type="LINE" missed="4" covered="196"/><counter type="COMPLEXITY" missed="8" covered="71"/><counter type="METHOD" missed="0" covered="14"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="AiGlossaryService.java"><line nr="17" mi="0" ci="6" mb="0" cb="0"/><line nr="18" mi="0" ci="4" mb="0" cb="0"/><line nr="29" mi="0" ci="6" mb="0" cb="0"/><line nr="30" mi="1" ci="0" mb="0" cb="0"/><line nr="31" mi="5" ci="0" mb="0" cb="0"/><line nr="32" mi="2" ci="0" mb="0" cb="0"/><line nr="43" mi="0" ci="9" mb="0" cb="0"/><line nr="44" mi="0" ci="5" mb="0" cb="0"/><line nr="45" mi="0" ci="1" mb="0" cb="0"/><line nr="51" mi="0" ci="5" mb="0" cb="4"/><line nr="52" mi="0" ci="1" mb="0" cb="0"/><line nr="54" mi="0" ci="10" mb="0" cb="2"/><line nr="55" mi="0" ci="3" mb="0" cb="0"/><line nr="56" mi="0" ci="3" mb="1" cb="1"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="2"/><line nr="60" mi="0" ci="4" mb="0" cb="0"/><line nr="62" mi="0" ci="8" mb="0" cb="0"/><line nr="63" mi="0" ci="5" mb="0" cb="0"/><line nr="64" mi="0" ci="1" mb="0" cb="0"/><line nr="65" mi="0" ci="7" mb="0" cb="0"/><line nr="66" mi="0" ci="1" mb="0" cb="0"/><line nr="72" mi="0" ci="11" mb="0" cb="0"/><line nr="73" mi="0" ci="3" mb="0" cb="0"/><line nr="74" mi="0" ci="4" mb="0" cb="0"/><line nr="75" mi="0" ci="3" mb="0" cb="0"/><line nr="76" mi="0" ci="3" mb="0" cb="0"/><line nr="77" mi="0" ci="4" mb="0" cb="0"/><line nr="78" mi="0" ci="3" mb="0" cb="0"/><line nr="86" mi="0" ci="4" mb="0" cb="0"/><line nr="87" mi="0" ci="2" mb="0" cb="0"/><line nr="94" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="8" covered="128"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="3" covered="29"/><counter type="COMPLEXITY" missed="1" covered="14"/><counter type="METHOD" missed="0" covered="10"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="VerificationCodeService.java"><line nr="19" mi="0" ci="3" mb="0" cb="0"/><line nr="20" mi="0" ci="3" mb="0" cb="0"/><line nr="31" mi="0" ci="5" mb="0" cb="0"/><line nr="35" mi="0" ci="5" mb="0" cb="0"/><line nr="36" mi="0" ci="2" mb="0" cb="0"/><line nr="37" mi="0" ci="1" mb="0" cb="0"/><line nr="38" mi="0" ci="2" mb="0" cb="0"/><line nr="39" mi="0" ci="4" mb="0" cb="0"/><line nr="40" mi="0" ci="2" mb="0" cb="0"/><line nr="41" mi="0" ci="1" mb="0" cb="0"/><line nr="42" mi="0" ci="2" mb="0" cb="0"/><line nr="43" mi="0" ci="1" mb="0" cb="0"/><line nr="50" mi="3" ci="0" mb="0" cb="0"/><line nr="51" mi="7" ci="0" mb="0" cb="0"/><line nr="52" mi="6" ci="0" mb="0" cb="0"/><line nr="53" mi="4" ci="0" mb="0" cb="0"/><line nr="54" mi="2" ci="0" mb="0" cb="0"/><line nr="62" mi="8" ci="0" mb="0" cb="0"/><line nr="63" mi="2" ci="0" mb="2" cb="0"/><line nr="64" mi="4" ci="0" mb="0" cb="0"/><line nr="65" mi="2" ci="0" mb="0" cb="0"/><line nr="67" mi="6" ci="0" mb="0" cb="0"/><line nr="68" mi="4" ci="0" mb="0" cb="0"/><line nr="69" mi="2" ci="0" mb="0" cb="0"/><line nr="77" mi="6" ci="0" mb="0" cb="0"/><line nr="78" mi="2" ci="0" mb="2" cb="0"/><line nr="79" mi="5" ci="0" mb="0" cb="0"/><line nr="80" mi="8" ci="0" mb="2" cb="0"/><line nr="82" mi="2" ci="0" mb="0" cb="0"/><line nr="86" mi="6" ci="0" mb="0" cb="0"/><line nr="90" mi="4" ci="0" mb="0" cb="0"/><line nr="91" mi="8" ci="0" mb="2" cb="0"/><line nr="92" mi="6" ci="0" mb="0" cb="0"/><line nr="94" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="100" covered="31"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="22" covered="12"/><counter type="COMPLEXITY" missed="9" covered="3"/><counter type="METHOD" missed="5" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="TranslationPostProcessingService.java"><line nr="26" mi="0" ci="3" mb="0" cb="0"/><line nr="27" mi="0" ci="2" mb="0" cb="0"/><line nr="30" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="4" mb="0" cb="0"/><line nr="39" mi="0" ci="2" mb="0" cb="0"/><line nr="40" mi="0" ci="2" mb="0" cb="0"/><line nr="55" mi="0" ci="9" mb="2" cb="4"/><line nr="56" mi="0" ci="4" mb="0" cb="0"/><line nr="57" mi="0" ci="2" mb="0" cb="0"/><line nr="60" mi="0" ci="4" mb="0" cb="0"/><line nr="61" mi="0" ci="3" mb="0" cb="2"/><line nr="62" mi="0" ci="6" mb="0" cb="0"/><line nr="65" mi="0" ci="3" mb="1" cb="1"/><line nr="66" mi="7" ci="0" mb="0" cb="0"/><line nr="67" mi="2" ci="0" mb="0" cb="0"/><line nr="69" mi="0" ci="12" mb="2" cb="2"/><line nr="70" mi="6" ci="0" mb="0" cb="0"/><line nr="71" mi="8" ci="0" mb="0" cb="0"/><line nr="72" mi="2" ci="0" mb="0" cb="0"/><line nr="75" mi="0" ci="20" mb="0" cb="0"/><line nr="78" mi="6" ci="0" mb="0" cb="0"/><line nr="79" mi="2" ci="0" mb="2" cb="0"/><line nr="80" mi="6" ci="0" mb="0" cb="0"/><line nr="81" mi="9" ci="0" mb="0" cb="0"/><line nr="83" mi="0" ci="1" mb="0" cb="0"/><line nr="84" mi="0" ci="5" mb="0" cb="0"/><line nr="85" mi="1" ci="0" mb="0" cb="0"/><line nr="90" mi="0" ci="2" mb="0" cb="0"/><line nr="98" mi="0" ci="4" mb="0" cb="0"/><line nr="99" mi="0" ci="4" mb="0" cb="0"/><line nr="100" mi="0" ci="3" mb="0" cb="2"/><line nr="101" mi="0" ci="6" mb="0" cb="0"/><line nr="103" mi="0" ci="5" mb="0" cb="0"/><line nr="110" mi="0" ci="14" mb="1" cb="5"/><line nr="114" mi="2" ci="12" mb="3" cb="3"/><line nr="118" mi="0" ci="5" mb="1" cb="1"/><line nr="119" mi="0" ci="4" mb="1" cb="1"/><line nr="120" mi="0" ci="4" mb="1" cb="1"/><line nr="121" mi="0" ci="4" mb="1" cb="1"/><line nr="122" mi="2" ci="3" mb="1" cb="1"/><line nr="129" mi="0" ci="4" mb="0" cb="0"/><line nr="135" mi="0" ci="3" mb="0" cb="2"/><line nr="136" mi="0" ci="2" mb="0" cb="0"/><line nr="139" mi="0" ci="5" mb="0" cb="2"/><line nr="140" mi="0" ci="2" mb="0" cb="0"/><line nr="144" mi="0" ci="2" mb="0" cb="0"/><line nr="151" mi="0" ci="4" mb="0" cb="0"/><line nr="153" mi="0" ci="6" mb="0" cb="0"/><line nr="154" mi="0" ci="3" mb="0" cb="0"/><line nr="157" mi="0" ci="4" mb="0" cb="0"/><line nr="158" mi="0" ci="5" mb="0" cb="0"/><line nr="159" mi="0" ci="5" mb="0" cb="0"/><line nr="160" mi="1" ci="8" mb="1" cb="1"/><line nr="161" mi="0" ci="6" mb="0" cb="0"/><line nr="163" mi="0" ci="3" mb="0" cb="0"/><line nr="164" mi="0" ci="2" mb="0" cb="0"/><line nr="165" mi="0" ci="4" mb="0" cb="0"/><line nr="166" mi="0" ci="2" mb="0" cb="0"/><line nr="167" mi="0" ci="4" mb="0" cb="0"/><line nr="168" mi="0" ci="3" mb="0" cb="0"/><line nr="169" mi="4" ci="3" mb="3" cb="1"/><line nr="170" mi="6" ci="0" mb="0" cb="0"/><line nr="172" mi="0" ci="3" mb="0" cb="0"/><line nr="174" mi="6" ci="0" mb="0" cb="0"/><line nr="175" mi="4" ci="0" mb="0" cb="0"/><line nr="176" mi="5" ci="0" mb="4" cb="0"/><line nr="177" mi="7" ci="0" mb="0" cb="0"/><line nr="180" mi="3" ci="0" mb="0" cb="0"/><line nr="181" mi="4" ci="0" mb="0" cb="0"/><line nr="182" mi="5" ci="0" mb="4" cb="0"/><line nr="183" mi="5" ci="0" mb="0" cb="0"/><line nr="187" mi="12" ci="0" mb="6" cb="0"/><line nr="188" mi="5" ci="0" mb="0" cb="0"/><line nr="191" mi="2" ci="0" mb="0" cb="0"/><line nr="199" mi="0" ci="2" mb="0" cb="0"/><line nr="200" mi="0" ci="5" mb="0" cb="0"/><line nr="202" mi="0" ci="8" mb="0" cb="2"/><line nr="203" mi="0" ci="5" mb="0" cb="0"/><line nr="204" mi="0" ci="11" mb="0" cb="2"/><line nr="205" mi="0" ci="3" mb="0" cb="2"/><line nr="207" mi="0" ci="4" mb="0" cb="0"/><line nr="208" mi="0" ci="2" mb="0" cb="2"/><line nr="209" mi="0" ci="13" mb="0" cb="0"/><line nr="213" mi="0" ci="2" mb="0" cb="0"/><line nr="218" mi="3" ci="0" mb="0" cb="0"/><line nr="219" mi="3" ci="0" mb="0" cb="0"/><line nr="220" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="129" covered="293"/><counter type="BRANCH" missed="34" covered="38"/><counter type="LINE" missed="25" covered="62"/><counter type="COMPLEXITY" missed="26" covered="21"/><counter type="METHOD" missed="1" covered="10"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="EntityConsistencyService.java"><line nr="35" mi="0" ci="12" mb="0" cb="0"/><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="48" mi="0" ci="7" mb="0" cb="0"/><line nr="51" mi="0" ci="3" mb="0" cb="0"/><line nr="54" mi="1" ci="0" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="1" mb="0" cb="0"/><line nr="60" mi="0" ci="2" mb="0" cb="0"/><line nr="76" mi="0" ci="10" mb="0" cb="4"/><line nr="86" mi="0" ci="4" mb="0" cb="0"/><line nr="87" mi="0" ci="3" mb="0" cb="0"/><line nr="91" mi="0" ci="6" mb="0" cb="0"/><line nr="94" mi="0" ci="5" mb="0" cb="0"/><line nr="97" mi="0" ci="5" mb="0" cb="0"/><line nr="98" mi="0" ci="3" mb="0" cb="2"/><line nr="99" mi="0" ci="8" mb="0" cb="0"/><line nr="102" mi="0" ci="6" mb="1" cb="3"/><line nr="103" mi="0" ci="3" mb="0" cb="0"/><line nr="104" mi="0" ci="2" mb="0" cb="0"/><line nr="106" mi="0" ci="7" mb="0" cb="0"/><line nr="110" mi="0" ci="3" mb="0" cb="0"/><line nr="111" mi="0" ci="5" mb="0" cb="0"/><line nr="112" mi="12" ci="1" mb="4" cb="0"/><line nr="113" mi="0" ci="2" mb="0" cb="0"/><line nr="116" mi="0" ci="5" mb="0" cb="0"/><line nr="117" mi="0" ci="3" mb="0" cb="0"/><line nr="119" mi="0" ci="3" mb="1" cb="1"/><line nr="121" mi="5" ci="0" mb="0" cb="0"/><line nr="122" mi="3" ci="0" mb="0" cb="0"/><line nr="123" mi="6" ci="0" mb="0" cb="0"/><line nr="127" mi="0" ci="5" mb="0" cb="0"/><line nr="130" mi="0" ci="4" mb="0" cb="0"/><line nr="133" mi="0" ci="5" mb="0" cb="0"/><line nr="136" mi="6" ci="0" mb="0" cb="0"/><line nr="139" mi="5" ci="0" mb="4" cb="0"/><line nr="140" mi="3" ci="0" mb="0" cb="0"/><line nr="141" mi="2" ci="0" mb="0" cb="0"/><line nr="145" mi="5" ci="0" mb="0" cb="0"/><line nr="148" mi="5" ci="0" mb="0" cb="0"/><line nr="149" mi="7" ci="0" mb="0" cb="0"/><line nr="150" mi="6" ci="0" mb="0" cb="0"/><line nr="153" mi="3" ci="0" mb="0" cb="0"/><line nr="154" mi="4" ci="0" mb="0" cb="0"/><line nr="155" mi="3" ci="0" mb="0" cb="0"/><line nr="156" mi="3" ci="0" mb="0" cb="0"/><line nr="158" mi="9" ci="0" mb="0" cb="0"/><line nr="159" mi="15" ci="0" mb="0" cb="0"/><line nr="161" mi="2" ci="0" mb="0" cb="0"/><line nr="163" mi="0" ci="1" mb="0" cb="0"/><line nr="164" mi="0" ci="6" mb="0" cb="0"/><line nr="165" mi="0" ci="2" mb="0" cb="0"/><line nr="184" mi="0" ci="6" mb="0" cb="4"/><line nr="185" mi="0" ci="7" mb="0" cb="2"/><line nr="188" mi="0" ci="4" mb="0" cb="0"/><line nr="189" mi="0" ci="4" mb="0" cb="0"/><line nr="190" mi="0" ci="4" mb="0" cb="0"/><line nr="192" mi="0" ci="16" mb="0" cb="2"/><line nr="193" mi="0" ci="10" mb="0" cb="4"/><line nr="195" mi="0" ci="3" mb="0" cb="0"/><line nr="196" mi="0" ci="6" mb="1" cb="1"/><line nr="198" mi="7" ci="0" mb="0" cb="0"/><line nr="200" mi="0" ci="4" mb="0" cb="0"/><line nr="202" mi="0" ci="4" mb="0" cb="0"/><line nr="204" mi="0" ci="4" mb="0" cb="0"/><line nr="208" mi="0" ci="3" mb="1" cb="1"/><line nr="209" mi="0" ci="3" mb="0" cb="0"/><line nr="210" mi="0" ci="6" mb="0" cb="2"/><line nr="211" mi="0" ci="7" mb="0" cb="0"/><line nr="213" mi="0" ci="4" mb="0" cb="0"/><line nr="218" mi="0" ci="3" mb="1" cb="1"/><line nr="219" mi="3" ci="0" mb="0" cb="0"/><line nr="222" mi="0" ci="9" mb="0" cb="0"/><line nr="223" mi="0" ci="2" mb="0" cb="0"/><line nr="231" mi="0" ci="4" mb="0" cb="0"/><line nr="233" mi="0" ci="4" mb="0" cb="0"/><line nr="234" mi="0" ci="4" mb="0" cb="0"/><line nr="236" mi="0" ci="16" mb="0" cb="2"/><line nr="237" mi="0" ci="10" mb="0" cb="4"/><line nr="238" mi="0" ci="5" mb="0" cb="0"/><line nr="239" mi="0" ci="4" mb="0" cb="0"/><line nr="241" mi="0" ci="4" mb="0" cb="0"/><line nr="244" mi="0" ci="3" mb="1" cb="1"/><line nr="245" mi="0" ci="5" mb="0" cb="0"/><line nr="248" mi="3" ci="5" mb="1" cb="1"/><line nr="264" mi="0" ci="4" mb="0" cb="0"/><line nr="266" mi="0" ci="4" mb="0" cb="2"/><line nr="269" mi="0" ci="8" mb="0" cb="0"/><line nr="270" mi="1" ci="0" mb="0" cb="0"/><line nr="271" mi="5" ci="0" mb="0" cb="0"/><line nr="272" mi="2" ci="0" mb="0" cb="0"/><line nr="276" mi="0" ci="4" mb="0" cb="0"/><line nr="277" mi="0" ci="8" mb="0" cb="2"/><line nr="279" mi="0" ci="8" mb="0" cb="0"/><line nr="280" mi="0" ci="4" mb="0" cb="0"/><line nr="281" mi="0" ci="24" mb="0" cb="0"/><line nr="282" mi="1" ci="0" mb="0" cb="0"/><line nr="283" mi="23" ci="0" mb="0" cb="0"/><line nr="284" mi="0" ci="1" mb="0" cb="0"/><line nr="287" mi="0" ci="5" mb="0" cb="0"/><line nr="288" mi="0" ci="23" mb="0" cb="0"/><line nr="289" mi="0" ci="2" mb="0" cb="0"/><line nr="298" mi="0" ci="6" mb="0" cb="0"/><line nr="299" mi="0" ci="3" mb="0" cb="0"/><line nr="301" mi="0" ci="4" mb="0" cb="0"/><line nr="302" mi="0" ci="5" mb="0" cb="0"/><line nr="303" mi="0" ci="5" mb="0" cb="0"/><line nr="304" mi="0" ci="5" mb="0" cb="0"/><line nr="306" mi="0" ci="3" mb="0" cb="0"/><line nr="307" mi="0" ci="2" mb="0" cb="0"/><line nr="308" mi="0" ci="4" mb="0" cb="0"/><line nr="309" mi="0" ci="2" mb="0" cb="0"/><line nr="310" mi="0" ci="4" mb="0" cb="0"/><line nr="311" mi="0" ci="3" mb="0" cb="0"/><line nr="312" mi="4" ci="3" mb="3" cb="1"/><line nr="313" mi="6" ci="0" mb="0" cb="0"/><line nr="315" mi="0" ci="3" mb="0" cb="0"/><line nr="319" mi="5" ci="0" mb="0" cb="0"/><line nr="320" mi="0" ci="1" mb="0" cb="0"/><line nr="321" mi="0" ci="5" mb="0" cb="0"/><line nr="322" mi="0" ci="2" mb="0" cb="0"/><line nr="323" mi="1" ci="0" mb="0" cb="0"/><line nr="324" mi="4" ci="0" mb="0" cb="0"/><line nr="325" mi="5" ci="0" mb="4" cb="0"/><line nr="326" mi="6" ci="0" mb="0" cb="0"/><line nr="327" mi="2" ci="0" mb="0" cb="0"/><line nr="331" mi="5" ci="0" mb="0" cb="0"/><line nr="332" mi="8" ci="0" mb="2" cb="0"/><line nr="333" mi="1" ci="0" mb="0" cb="0"/><line nr="334" mi="13" ci="0" mb="2" cb="0"/><line nr="335" mi="2" ci="0" mb="0" cb="0"/><line nr="343" mi="0" ci="6" mb="0" cb="0"/><line nr="344" mi="0" ci="3" mb="0" cb="0"/><line nr="346" mi="0" ci="4" mb="0" cb="0"/><line nr="347" mi="0" ci="5" mb="0" cb="0"/><line nr="348" mi="0" ci="5" mb="0" cb="0"/><line nr="349" mi="0" ci="5" mb="0" cb="0"/><line nr="351" mi="0" ci="3" mb="0" cb="0"/><line nr="352" mi="0" ci="2" mb="0" cb="0"/><line nr="353" mi="0" ci="4" mb="0" cb="0"/><line nr="354" mi="0" ci="2" mb="0" cb="0"/><line nr="355" mi="0" ci="4" mb="0" cb="0"/><line nr="356" mi="0" ci="3" mb="0" cb="0"/><line nr="357" mi="4" ci="3" mb="3" cb="1"/><line nr="358" mi="6" ci="0" mb="0" cb="0"/><line nr="360" mi="0" ci="3" mb="0" cb="0"/><line nr="362" mi="5" ci="0" mb="0" cb="0"/><line nr="363" mi="4" ci="0" mb="0" cb="0"/><line nr="364" mi="5" ci="0" mb="4" cb="0"/><line nr="365" mi="7" ci="0" mb="0" cb="0"/><line nr="369" mi="5" ci="0" mb="0" cb="0"/><line nr="370" mi="8" ci="0" mb="2" cb="0"/><line nr="371" mi="1" ci="0" mb="0" cb="0"/><line nr="372" mi="13" ci="0" mb="2" cb="0"/><line nr="373" mi="2" ci="0" mb="0" cb="0"/><line nr="381" mi="0" ci="6" mb="0" cb="0"/><line nr="382" mi="0" ci="3" mb="0" cb="0"/><line nr="383" mi="0" ci="7" mb="0" cb="0"/><line nr="385" mi="0" ci="4" mb="0" cb="0"/><line nr="386" mi="0" ci="5" mb="0" cb="0"/><line nr="387" mi="0" ci="5" mb="0" cb="0"/><line nr="388" mi="1" ci="8" mb="1" cb="1"/><line nr="389" mi="0" ci="6" mb="0" cb="0"/><line nr="391" mi="0" ci="3" mb="0" cb="0"/><line nr="392" mi="0" ci="2" mb="0" cb="0"/><line nr="393" mi="0" ci="4" mb="0" cb="0"/><line nr="394" mi="0" ci="2" mb="0" cb="0"/><line nr="395" mi="0" ci="4" mb="0" cb="0"/><line nr="396" mi="0" ci="2" mb="0" cb="0"/><line nr="397" mi="0" ci="2" mb="0" cb="0"/><line nr="399" mi="0" ci="5" mb="0" cb="0"/><line nr="400" mi="5" ci="0" mb="0" cb="0"/><line nr="401" mi="4" ci="0" mb="0" cb="0"/><line nr="402" mi="13" ci="0" mb="2" cb="0"/><line nr="404" mi="5" ci="0" mb="4" cb="0"/><line nr="405" mi="7" ci="0" mb="0" cb="0"/><line nr="409" mi="3" ci="0" mb="0" cb="0"/><line nr="410" mi="4" ci="0" mb="0" cb="0"/><line nr="411" mi="1" ci="0" mb="0" cb="0"/><line nr="412" mi="13" ci="0" mb="2" cb="0"/><line nr="413" mi="2" ci="0" mb="0" cb="0"/><line nr="422" mi="0" ci="6" mb="0" cb="0"/><line nr="423" mi="0" ci="13" mb="0" cb="0"/><line nr="425" mi="0" ci="4" mb="0" cb="0"/><line nr="426" mi="0" ci="10" mb="0" cb="2"/><line nr="427" mi="0" ci="4" mb="0" cb="0"/><line nr="429" mi="0" ci="2" mb="0" cb="0"/><line nr="430" mi="0" ci="11" mb="0" cb="2"/><line nr="431" mi="0" ci="9" mb="1" cb="3"/><line nr="432" mi="0" ci="2" mb="0" cb="0"/><line nr="433" mi="0" ci="1" mb="0" cb="0"/><line nr="435" mi="0" ci="1" mb="0" cb="0"/><line nr="436" mi="0" ci="6" mb="0" cb="4"/><line nr="437" mi="0" ci="7" mb="0" cb="0"/><line nr="439" mi="0" ci="1" mb="0" cb="0"/><line nr="441" mi="0" ci="2" mb="0" cb="0"/><line nr="449" mi="0" ci="4" mb="0" cb="0"/><line nr="450" mi="0" ci="4" mb="0" cb="0"/><line nr="451" mi="0" ci="2" mb="0" cb="0"/><line nr="453" mi="0" ci="11" mb="0" cb="2"/><line nr="454" mi="0" ci="10" mb="0" cb="0"/><line nr="455" mi="0" ci="2" mb="0" cb="0"/><line nr="456" mi="0" ci="4" mb="0" cb="0"/><line nr="457" mi="0" ci="4" mb="0" cb="0"/><line nr="458" mi="0" ci="2" mb="0" cb="0"/><line nr="459" mi="0" ci="1" mb="0" cb="0"/><line nr="460" mi="0" ci="2" mb="0" cb="0"/><line nr="461" mi="0" ci="4" mb="0" cb="0"/><line nr="462" mi="0" ci="7" mb="0" cb="0"/><line nr="463" mi="0" ci="1" mb="0" cb="0"/><line nr="464" mi="0" ci="1" mb="0" cb="0"/><line nr="466" mi="0" ci="6" mb="0" cb="0"/><line nr="475" mi="0" ci="3" mb="0" cb="0"/><line nr="476" mi="0" ci="8" mb="0" cb="0"/><line nr="477" mi="0" ci="5" mb="0" cb="0"/><line nr="478" mi="0" ci="7" mb="0" cb="2"/><line nr="479" mi="0" ci="14" mb="0" cb="0"/><line nr="481" mi="0" ci="4" mb="0" cb="0"/><line nr="482" mi="1" ci="0" mb="0" cb="0"/><line nr="484" mi="3" ci="0" mb="0" cb="0"/><line nr="493" mi="0" ci="2" mb="0" cb="0"/><line nr="495" mi="0" ci="5" mb="0" cb="0"/><line nr="496" mi="0" ci="7" mb="0" cb="0"/><line nr="497" mi="0" ci="2" mb="0" cb="0"/><line nr="499" mi="0" ci="10" mb="0" cb="2"/><line nr="500" mi="0" ci="6" mb="0" cb="0"/><line nr="502" mi="0" ci="5" mb="0" cb="0"/><line nr="503" mi="0" ci="1" mb="0" cb="0"/><line nr="505" mi="0" ci="2" mb="0" cb="0"/><line nr="513" mi="0" ci="4" mb="0" cb="0"/><line nr="517" mi="0" ci="8" mb="0" cb="0"/><line nr="518" mi="0" ci="7" mb="0" cb="4"/><line nr="519" mi="0" ci="3" mb="0" cb="0"/><line nr="520" mi="0" ci="2" mb="0" cb="0"/><line nr="522" mi="0" ci="1" mb="0" cb="0"/><line nr="523" mi="0" ci="5" mb="0" cb="0"/><line nr="524" mi="0" ci="2" mb="0" cb="0"/><line nr="525" mi="0" ci="1" mb="0" cb="0"/><line nr="529" mi="0" ci="5" mb="0" cb="0"/><line nr="532" mi="0" ci="10" mb="0" cb="2"/><line nr="533" mi="0" ci="8" mb="1" cb="3"/><line nr="534" mi="0" ci="7" mb="0" cb="0"/><line nr="536" mi="0" ci="1" mb="0" cb="0"/><line nr="537" mi="0" ci="1" mb="0" cb="0"/><line nr="538" mi="0" ci="5" mb="0" cb="0"/><line nr="539" mi="0" ci="1" mb="0" cb="0"/><line nr="541" mi="0" ci="2" mb="0" cb="0"/><line nr="549" mi="0" ci="2" mb="0" cb="0"/><line nr="550" mi="0" ci="11" mb="0" cb="2"/><line nr="551" mi="0" ci="3" mb="0" cb="0"/><line nr="552" mi="0" ci="4" mb="0" cb="2"/><line nr="553" mi="0" ci="7" mb="0" cb="0"/><line nr="555" mi="0" ci="6" mb="0" cb="0"/><line nr="557" mi="0" ci="1" mb="0" cb="0"/><line nr="558" mi="0" ci="2" mb="0" cb="0"/><line nr="565" mi="0" ci="2" mb="0" cb="0"/><line nr="566" mi="0" ci="7" mb="0" cb="2"/><line nr="568" mi="5" ci="0" mb="0" cb="0"/><line nr="569" mi="4" ci="0" mb="2" cb="0"/><line nr="570" mi="2" ci="0" mb="0" cb="0"/><line nr="572" mi="25" ci="0" mb="0" cb="0"/><line nr="573" mi="0" ci="1" mb="0" cb="0"/><line nr="574" mi="0" ci="24" mb="0" cb="0"/><line nr="575" mi="1" ci="0" mb="0" cb="0"/><line nr="576" mi="0" ci="3" mb="0" cb="2"/><line nr="577" mi="0" ci="7" mb="0" cb="0"/><line nr="580" mi="0" ci="2" mb="1" cb="1"/><line nr="581" mi="2" ci="0" mb="0" cb="0"/><line nr="583" mi="0" ci="6" mb="0" cb="0"/><line nr="589" mi="0" ci="9" mb="0" cb="0"/><counter type="INSTRUCTION" missed="373" covered="984"/><counter type="BRANCH" missed="51" covered="77"/><counter type="LINE" missed="66" covered="204"/><counter type="COMPLEXITY" missed="34" covered="54"/><counter type="METHOD" missed="2" covered="22"/><counter type="CLASS" missed="0" covered="3"/></sourcefile><sourcefile name="TranslationStateMachine.java"><line nr="17" mi="0" ci="3" mb="0" cb="0"/><line nr="19" mi="0" ci="5" mb="0" cb="0"/><line nr="20" mi="0" ci="4" mb="0" cb="0"/><line nr="21" mi="0" ci="3" mb="0" cb="0"/><line nr="22" mi="0" ci="1" mb="0" cb="0"/><line nr="26" mi="0" ci="8" mb="0" cb="2"/><line nr="27" mi="0" ci="9" mb="0" cb="0"/><line nr="29" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="MultiAgentTranslationService.java"><line nr="58" mi="0" ci="36" mb="0" cb="0"/><line nr="59" mi="0" ci="4" mb="0" cb="0"/><line nr="70" mi="0" ci="3" mb="0" cb="0"/><line nr="76" mi="0" ci="5" mb="0" cb="0"/><line nr="96" mi="0" ci="5" mb="0" cb="0"/><line nr="97" mi="4" ci="6" mb="1" cb="1"/><line nr="98" mi="12" ci="0" mb="0" cb="0"/><line nr="99" mi="1" ci="0" mb="0" cb="0"/><line nr="100" mi="0" ci="3" mb="1" cb="1"/><line nr="101" mi="6" ci="0" mb="0" cb="0"/><line nr="103" mi="1" ci="0" mb="0" cb="0"/><line nr="104" mi="5" ci="0" mb="0" cb="0"/><line nr="105" mi="0" ci="1" mb="0" cb="0"/><line nr="106" mi="0" ci="1" mb="0" cb="0"/><line nr="113" mi="3" ci="0" mb="0" cb="0"/><line nr="115" mi="6" ci="0" mb="2" cb="0"/><line nr="116" mi="3" ci="0" mb="0" cb="0"/><line nr="117" mi="4" ci="0" mb="0" cb="0"/><line nr="119" mi="1" ci="0" mb="0" cb="0"/><line nr="120" mi="4" ci="0" mb="0" cb="0"/><line nr="121" mi="2" ci="0" mb="0" cb="0"/><line nr="122" mi="1" ci="0" mb="0" cb="0"/><line nr="123" mi="1" ci="0" mb="0" cb="0"/><line nr="130" mi="0" ci="3" mb="0" cb="0"/><line nr="132" mi="0" ci="6" mb="0" cb="0"/><line nr="133" mi="0" ci="1" mb="0" cb="0"/><line nr="135" mi="0" ci="3" mb="0" cb="2"/><line nr="136" mi="0" ci="4" mb="0" cb="0"/><line nr="137" mi="0" ci="1" mb="0" cb="0"/><line nr="140" mi="0" ci="8" mb="0" cb="0"/><line nr="141" mi="0" ci="2" mb="0" cb="2"/><line nr="142" mi="0" ci="4" mb="0" cb="0"/><line nr="143" mi="0" ci="1" mb="0" cb="0"/><line nr="146" mi="0" ci="7" mb="0" cb="0"/><line nr="149" mi="0" ci="3" mb="1" cb="1"/><line nr="150" mi="0" ci="9" mb="0" cb="0"/><line nr="151" mi="0" ci="2" mb="1" cb="1"/><line nr="152" mi="0" ci="4" mb="0" cb="0"/><line nr="153" mi="0" ci="3" mb="0" cb="0"/><line nr="154" mi="0" ci="4" mb="0" cb="0"/><line nr="158" mi="0" ci="6" mb="0" cb="0"/><line nr="159" mi="0" ci="5" mb="0" cb="0"/><line nr="160" mi="0" ci="5" mb="0" cb="0"/><line nr="161" mi="0" ci="5" mb="0" cb="0"/><line nr="163" mi="0" ci="10" mb="0" cb="2"/><line nr="164" mi="0" ci="13" mb="0" cb="0"/><line nr="166" mi="0" ci="2" mb="0" cb="0"/><line nr="168" mi="0" ci="5" mb="0" cb="0"/><line nr="169" mi="0" ci="2" mb="0" cb="2"/><line nr="170" mi="0" ci="4" mb="0" cb="0"/><line nr="172" mi="0" ci="3" mb="0" cb="0"/><line nr="174" mi="0" ci="8" mb="0" cb="0"/><line nr="175" mi="0" ci="14" mb="0" cb="0"/><line nr="177" mi="0" ci="2" mb="0" cb="0"/><line nr="179" mi="1" ci="0" mb="0" cb="0"/><line nr="180" mi="2" ci="0" mb="0" cb="0"/><line nr="181" mi="3" ci="0" mb="0" cb="0"/><line nr="182" mi="5" ci="0" mb="0" cb="0"/><line nr="183" mi="1" ci="0" mb="0" cb="0"/><line nr="184" mi="3" ci="0" mb="0" cb="0"/><line nr="185" mi="6" ci="0" mb="0" cb="0"/><line nr="187" mi="0" ci="2" mb="0" cb="0"/><line nr="189" mi="0" ci="1" mb="0" cb="0"/><line nr="190" mi="0" ci="1" mb="0" cb="0"/><line nr="193" mi="0" ci="10" mb="0" cb="0"/><line nr="195" mi="0" ci="2" mb="0" cb="0"/><line nr="196" mi="0" ci="12" mb="0" cb="0"/><line nr="197" mi="0" ci="9" mb="0" cb="0"/><line nr="198" mi="0" ci="3" mb="0" cb="0"/><line nr="199" mi="0" ci="3" mb="0" cb="0"/><line nr="200" mi="1" ci="0" mb="0" cb="0"/><line nr="201" mi="2" ci="0" mb="0" cb="0"/><line nr="202" mi="4" ci="0" mb="0" cb="0"/><line nr="203" mi="0" ci="1" mb="0" cb="0"/><line nr="204" mi="0" ci="1" mb="0" cb="0"/><line nr="205" mi="0" ci="1" mb="0" cb="0"/><line nr="215" mi="0" ci="3" mb="0" cb="0"/><line nr="216" mi="0" ci="3" mb="0" cb="0"/><line nr="218" mi="0" ci="6" mb="1" cb="3"/><line nr="219" mi="0" ci="4" mb="0" cb="0"/><line nr="220" mi="0" ci="2" mb="0" cb="0"/><line nr="224" mi="0" ci="5" mb="0" cb="0"/><line nr="225" mi="0" ci="3" mb="0" cb="0"/><line nr="226" mi="0" ci="4" mb="0" cb="0"/><line nr="227" mi="0" ci="4" mb="0" cb="0"/><line nr="229" mi="0" ci="3" mb="0" cb="0"/><line nr="230" mi="0" ci="3" mb="0" cb="0"/><line nr="234" mi="0" ci="3" mb="0" cb="0"/><line nr="235" mi="0" ci="2" mb="0" cb="2"/><line nr="236" mi="0" ci="9" mb="0" cb="0"/><line nr="237" mi="0" ci="2" mb="0" cb="2"/><line nr="238" mi="0" ci="3" mb="0" cb="0"/><line nr="243" mi="0" ci="5" mb="0" cb="0"/><line nr="246" mi="0" ci="6" mb="0" cb="0"/><line nr="247" mi="0" ci="4" mb="0" cb="0"/><line nr="248" mi="5" ci="2" mb="0" cb="0"/><line nr="249" mi="0" ci="1" mb="0" cb="0"/><line nr="250" mi="4" ci="0" mb="0" cb="0"/><line nr="251" mi="4" ci="0" mb="0" cb="0"/><line nr="252" mi="4" ci="0" mb="0" cb="0"/><line nr="253" mi="2" ci="0" mb="0" cb="0"/><line nr="255" mi="0" ci="2" mb="0" cb="0"/><line nr="258" mi="0" ci="3" mb="1" cb="1"/><line nr="259" mi="3" ci="0" mb="0" cb="0"/><line nr="260" mi="1" ci="0" mb="0" cb="0"/><line nr="261" mi="4" ci="0" mb="0" cb="0"/><line nr="262" mi="10" ci="0" mb="2" cb="0"/><line nr="263" mi="5" ci="0" mb="2" cb="0"/><line nr="264" mi="4" ci="0" mb="0" cb="0"/><line nr="266" mi="1" ci="0" mb="0" cb="0"/><line nr="267" mi="6" ci="0" mb="0" cb="0"/><line nr="271" mi="0" ci="4" mb="0" cb="0"/><line nr="274" mi="0" ci="15" mb="0" cb="0"/><line nr="276" mi="0" ci="5" mb="0" cb="0"/><line nr="278" mi="0" ci="9" mb="0" cb="0"/><line nr="281" mi="0" ci="6" mb="2" cb="2"/><line nr="282" mi="5" ci="0" mb="0" cb="0"/><line nr="287" mi="0" ci="6" mb="0" cb="0"/><line nr="288" mi="0" ci="3" mb="0" cb="2"/><line nr="289" mi="0" ci="6" mb="0" cb="0"/><line nr="290" mi="5" ci="6" mb="1" cb="1"/><line nr="291" mi="0" ci="11" mb="0" cb="2"/><line nr="292" mi="0" ci="4" mb="0" cb="0"/><line nr="293" mi="0" ci="2" mb="0" cb="0"/><line nr="294" mi="0" ci="3" mb="0" cb="0"/><line nr="295" mi="0" ci="5" mb="0" cb="0"/><line nr="298" mi="0" ci="1" mb="0" cb="0"/><line nr="300" mi="0" ci="1" mb="0" cb="0"/><line nr="301" mi="0" ci="7" mb="0" cb="0"/><line nr="303" mi="1" ci="0" mb="0" cb="0"/><line nr="304" mi="5" ci="0" mb="0" cb="0"/><line nr="305" mi="0" ci="1" mb="0" cb="0"/><line nr="308" mi="0" ci="6" mb="0" cb="0"/><line nr="310" mi="0" ci="12" mb="0" cb="0"/><line nr="311" mi="0" ci="9" mb="0" cb="0"/><line nr="312" mi="0" ci="2" mb="0" cb="0"/><line nr="314" mi="1" ci="0" mb="0" cb="0"/><line nr="315" mi="18" ci="0" mb="0" cb="0"/><line nr="316" mi="4" ci="0" mb="0" cb="0"/><line nr="317" mi="3" ci="0" mb="2" cb="0"/><line nr="318" mi="6" ci="0" mb="0" cb="0"/><line nr="320" mi="5" ci="0" mb="0" cb="0"/><line nr="321" mi="5" ci="0" mb="0" cb="0"/><line nr="322" mi="7" ci="0" mb="0" cb="0"/><line nr="324" mi="3" ci="0" mb="0" cb="0"/><line nr="325" mi="4" ci="0" mb="0" cb="0"/><line nr="326" mi="4" ci="0" mb="0" cb="0"/><line nr="327" mi="5" ci="0" mb="0" cb="0"/><line nr="328" mi="6" ci="0" mb="0" cb="0"/><line nr="330" mi="4" ci="0" mb="0" cb="0"/><line nr="332" mi="4" ci="0" mb="0" cb="0"/><line nr="333" mi="2" ci="0" mb="0" cb="0"/><line nr="341" mi="0" ci="6" mb="0" cb="0"/><line nr="342" mi="0" ci="1" mb="0" cb="0"/><line nr="344" mi="0" ci="3" mb="0" cb="2"/><line nr="345" mi="0" ci="1" mb="0" cb="0"/><line nr="348" mi="0" ci="6" mb="0" cb="0"/><line nr="349" mi="0" ci="10" mb="0" cb="2"/><line nr="351" mi="0" ci="4" mb="0" cb="0"/><line nr="352" mi="0" ci="3" mb="0" cb="2"/><line nr="353" mi="0" ci="7" mb="0" cb="0"/><line nr="354" mi="0" ci="1" mb="0" cb="0"/><line nr="357" mi="0" ci="3" mb="0" cb="0"/><line nr="358" mi="0" ci="5" mb="0" cb="0"/><line nr="359" mi="0" ci="6" mb="0" cb="0"/><line nr="360" mi="0" ci="6" mb="0" cb="0"/><line nr="361" mi="0" ci="4" mb="0" cb="0"/><line nr="362" mi="0" ci="5" mb="0" cb="0"/><line nr="363" mi="0" ci="1" mb="0" cb="0"/><line nr="364" mi="0" ci="1" mb="0" cb="0"/><line nr="370" mi="0" ci="7" mb="0" cb="0"/><line nr="371" mi="0" ci="7" mb="0" cb="2"/><line nr="378" mi="0" ci="14" mb="0" cb="0"/><line nr="379" mi="0" ci="1" mb="0" cb="0"/><line nr="387" mi="0" ci="4" mb="0" cb="0"/><line nr="388" mi="0" ci="5" mb="0" cb="0"/><line nr="389" mi="0" ci="2" mb="0" cb="0"/><line nr="391" mi="0" ci="3" mb="1" cb="1"/><line nr="392" mi="0" ci="1" mb="0" cb="0"/><line nr="395" mi="3" ci="0" mb="0" cb="0"/><line nr="396" mi="6" ci="0" mb="0" cb="0"/><line nr="397" mi="10" ci="0" mb="2" cb="0"/><line nr="398" mi="4" ci="0" mb="0" cb="0"/><line nr="399" mi="3" ci="0" mb="2" cb="0"/><line nr="401" mi="5" ci="0" mb="0" cb="0"/><line nr="402" mi="5" ci="0" mb="0" cb="0"/><line nr="404" mi="2" ci="0" mb="2" cb="0"/><line nr="405" mi="4" ci="0" mb="0" cb="0"/><line nr="406" mi="4" ci="0" mb="0" cb="0"/><line nr="407" mi="6" ci="0" mb="0" cb="0"/><line nr="409" mi="5" ci="0" mb="0" cb="0"/><line nr="411" mi="1" ci="0" mb="0" cb="0"/><line nr="412" mi="3" ci="0" mb="0" cb="0"/><line nr="413" mi="4" ci="0" mb="0" cb="0"/><line nr="414" mi="3" ci="0" mb="0" cb="0"/><line nr="415" mi="5" ci="0" mb="0" cb="0"/><line nr="416" mi="4" ci="0" mb="0" cb="0"/><line nr="417" mi="2" ci="0" mb="2" cb="0"/><line nr="418" mi="4" ci="0" mb="0" cb="0"/><line nr="419" mi="4" ci="0" mb="0" cb="0"/><line nr="420" mi="3" ci="0" mb="0" cb="0"/><line nr="421" mi="6" ci="0" mb="0" cb="0"/><line nr="424" mi="7" ci="0" mb="0" cb="0"/><line nr="425" mi="5" ci="0" mb="4" cb="0"/><line nr="426" mi="3" ci="0" mb="0" cb="0"/><line nr="428" mi="5" ci="0" mb="0" cb="0"/><line nr="431" mi="1" ci="0" mb="0" cb="0"/><line nr="432" mi="1" ci="0" mb="0" cb="0"/><line nr="439" mi="3" ci="0" mb="0" cb="0"/><line nr="440" mi="18" ci="0" mb="8" cb="0"/><line nr="442" mi="2" ci="0" mb="2" cb="0"/><line nr="443" mi="9" ci="0" mb="0" cb="0"/><line nr="445" mi="6" ci="0" mb="0" cb="0"/><line nr="446" mi="8" ci="0" mb="0" cb="0"/><line nr="447" mi="4" ci="0" mb="0" cb="0"/><line nr="449" mi="4" ci="0" mb="0" cb="0"/><line nr="451" mi="2" ci="0" mb="0" cb="0"/><line nr="452" mi="1" ci="0" mb="0" cb="0"/><line nr="453" mi="2" ci="0" mb="0" cb="0"/><line nr="454" mi="1" ci="0" mb="0" cb="0"/><line nr="455" mi="1" ci="0" mb="0" cb="0"/><line nr="461" mi="0" ci="2" mb="0" cb="2"/><line nr="462" mi="0" ci="2" mb="0" cb="0"/><line nr="466" mi="0" ci="5" mb="0" cb="0"/><line nr="469" mi="0" ci="5" mb="0" cb="0"/><line nr="470" mi="0" ci="13" mb="0" cb="4"/><line nr="471" mi="0" ci="1" mb="0" cb="0"/><line nr="472" mi="0" ci="1" mb="0" cb="0"/><line nr="473" mi="0" ci="5" mb="0" cb="0"/><line nr="474" mi="0" ci="2" mb="0" cb="0"/><line nr="482" mi="0" ci="2" mb="0" cb="2"/><line nr="483" mi="0" ci="2" mb="0" cb="0"/><line nr="486" mi="0" ci="3" mb="0" cb="0"/><line nr="487" mi="0" ci="5" mb="0" cb="4"/><line nr="488" mi="0" ci="2" mb="0" cb="0"/><line nr="492" mi="0" ci="3" mb="0" cb="0"/><line nr="493" mi="0" ci="12" mb="1" cb="5"/><line nr="494" mi="0" ci="2" mb="0" cb="0"/><line nr="496" mi="0" ci="12" mb="0" cb="6"/><line nr="497" mi="0" ci="2" mb="0" cb="0"/><line nr="499" mi="0" ci="8" mb="0" cb="4"/><line nr="500" mi="0" ci="2" mb="0" cb="0"/><line nr="502" mi="0" ci="12" mb="0" cb="6"/><line nr="503" mi="0" ci="2" mb="0" cb="0"/><line nr="505" mi="0" ci="8" mb="0" cb="4"/><line nr="506" mi="0" ci="2" mb="0" cb="0"/><line nr="508" mi="0" ci="12" mb="1" cb="5"/><line nr="509" mi="0" ci="2" mb="0" cb="0"/><line nr="512" mi="0" ci="2" mb="0" cb="0"/><line nr="519" mi="0" ci="3" mb="0" cb="0"/><line nr="520" mi="0" ci="5" mb="0" cb="0"/><line nr="521" mi="0" ci="5" mb="0" cb="0"/><line nr="523" mi="0" ci="2" mb="0" cb="2"/><line nr="525" mi="0" ci="5" mb="0" cb="0"/><line nr="526" mi="0" ci="5" mb="0" cb="0"/><line nr="527" mi="0" ci="5" mb="0" cb="0"/><line nr="528" mi="0" ci="4" mb="0" cb="0"/><line nr="529" mi="0" ci="3" mb="0" cb="0"/><line nr="530" mi="0" ci="3" mb="0" cb="0"/><line nr="531" mi="0" ci="6" mb="0" cb="0"/><line nr="534" mi="0" ci="5" mb="0" cb="0"/><line nr="535" mi="0" ci="4" mb="0" cb="0"/><line nr="536" mi="0" ci="3" mb="0" cb="0"/><line nr="539" mi="0" ci="4" mb="0" cb="0"/><line nr="540" mi="0" ci="1" mb="0" cb="0"/><line nr="546" mi="0" ci="5" mb="0" cb="0"/><line nr="547" mi="0" ci="4" mb="0" cb="2"/><line nr="549" mi="0" ci="3" mb="0" cb="0"/><line nr="550" mi="0" ci="7" mb="0" cb="0"/><line nr="551" mi="0" ci="2" mb="0" cb="0"/><line nr="553" mi="0" ci="11" mb="0" cb="0"/><line nr="555" mi="0" ci="8" mb="0" cb="0"/><line nr="556" mi="0" ci="2" mb="0" cb="2"/><line nr="557" mi="0" ci="4" mb="0" cb="0"/><line nr="558" mi="0" ci="3" mb="0" cb="2"/><line nr="560" mi="0" ci="5" mb="0" cb="0"/><line nr="561" mi="1" ci="0" mb="0" cb="0"/><line nr="562" mi="4" ci="0" mb="0" cb="0"/><line nr="563" mi="0" ci="1" mb="0" cb="0"/><line nr="565" mi="0" ci="4" mb="0" cb="0"/><line nr="567" mi="0" ci="1" mb="0" cb="0"/><line nr="574" mi="0" ci="5" mb="0" cb="0"/><line nr="575" mi="0" ci="4" mb="0" cb="2"/><line nr="577" mi="0" ci="4" mb="0" cb="0"/><line nr="580" mi="0" ci="4" mb="0" cb="0"/><line nr="581" mi="0" ci="10" mb="0" cb="2"/><line nr="582" mi="0" ci="7" mb="0" cb="4"/><line nr="583" mi="0" ci="5" mb="0" cb="0"/><line nr="584" mi="0" ci="5" mb="1" cb="1"/><line nr="585" mi="0" ci="4" mb="0" cb="0"/><line nr="588" mi="0" ci="1" mb="0" cb="0"/><line nr="590" mi="0" ci="4" mb="0" cb="2"/><line nr="593" mi="0" ci="8" mb="0" cb="0"/><line nr="594" mi="0" ci="5" mb="1" cb="3"/><line nr="595" mi="0" ci="4" mb="0" cb="0"/><line nr="596" mi="0" ci="1" mb="0" cb="0"/><line nr="599" mi="0" ci="9" mb="0" cb="0"/><line nr="600" mi="0" ci="2" mb="0" cb="2"/><line nr="601" mi="0" ci="5" mb="0" cb="0"/><line nr="602" mi="0" ci="1" mb="0" cb="0"/><line nr="606" mi="0" ci="4" mb="0" cb="0"/><line nr="608" mi="0" ci="5" mb="0" cb="0"/><line nr="609" mi="0" ci="6" mb="0" cb="0"/><line nr="610" mi="0" ci="9" mb="0" cb="0"/><line nr="611" mi="0" ci="7" mb="0" cb="0"/><line nr="612" mi="1" ci="0" mb="0" cb="0"/><line nr="613" mi="6" ci="0" mb="0" cb="0"/><line nr="614" mi="0" ci="1" mb="0" cb="0"/><line nr="617" mi="0" ci="9" mb="0" cb="0"/><line nr="618" mi="0" ci="2" mb="0" cb="2"/><line nr="619" mi="0" ci="4" mb="0" cb="0"/><line nr="620" mi="0" ci="5" mb="0" cb="0"/><line nr="621" mi="0" ci="4" mb="0" cb="0"/><line nr="622" mi="0" ci="4" mb="0" cb="0"/><line nr="623" mi="0" ci="4" mb="0" cb="0"/><line nr="624" mi="0" ci="4" mb="0" cb="0"/><line nr="625" mi="0" ci="3" mb="0" cb="0"/><line nr="626" mi="0" ci="3" mb="0" cb="0"/><line nr="627" mi="0" ci="3" mb="0" cb="0"/><line nr="628" mi="0" ci="5" mb="0" cb="0"/><line nr="630" mi="0" ci="3" mb="0" cb="0"/><line nr="631" mi="0" ci="4" mb="0" cb="0"/><line nr="633" mi="0" ci="5" mb="0" cb="0"/><line nr="636" mi="0" ci="3" mb="0" cb="0"/><line nr="637" mi="0" ci="4" mb="0" cb="0"/><line nr="638" mi="0" ci="4" mb="0" cb="0"/><line nr="639" mi="0" ci="7" mb="0" cb="0"/><line nr="640" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="423" covered="1037"/><counter type="BRANCH" missed="44" covered="104"/><counter type="LINE" missed="101" covered="227"/><counter type="COMPLEXITY" missed="33" covered="64"/><counter type="METHOD" missed="4" covered="19"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="TranslationMemoryService.java"><line nr="17" mi="0" ci="4" mb="0" cb="0"/><line nr="18" mi="0" ci="9" mb="0" cb="0"/><line nr="29" mi="0" ci="10" mb="0" cb="8"/><line nr="30" mi="0" ci="2" mb="0" cb="0"/><line nr="33" mi="0" ci="4" mb="0" cb="0"/><line nr="34" mi="0" ci="3" mb="0" cb="0"/><line nr="35" mi="0" ci="3" mb="0" cb="0"/><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="37" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="39" mi="0" ci="3" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="4" mb="0" cb="0"/><line nr="45" mi="0" ci="5" mb="0" cb="0"/><line nr="46" mi="0" ci="3" mb="0" cb="2"/><line nr="47" mi="0" ci="5" mb="0" cb="0"/><line nr="50" mi="0" ci="4" mb="0" cb="0"/><line nr="51" mi="0" ci="8" mb="0" cb="0"/><line nr="52" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="4" mb="0" cb="0"/><line nr="60" mi="0" ci="1" mb="0" cb="0"/><line nr="66" mi="0" ci="8" mb="0" cb="0"/><line nr="73" mi="0" ci="5" mb="0" cb="0"/><line nr="77" mi="3" ci="0" mb="0" cb="0"/><line nr="78" mi="1" ci="0" mb="0" cb="0"/><line nr="81" mi="0" ci="6" mb="0" cb="0"/><line nr="82" mi="0" ci="16" mb="0" cb="2"/><line nr="83" mi="0" ci="5" mb="0" cb="0"/><line nr="85" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="132"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="2" covered="28"/><counter type="COMPLEXITY" missed="1" covered="13"/><counter type="METHOD" missed="1" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="CollabStateMachine.java"><line nr="17" mi="0" ci="3" mb="0" cb="0"/><line nr="25" mi="0" ci="4" mb="0" cb="2"/><line nr="26" mi="0" ci="9" mb="0" cb="0"/><line nr="29" mi="0" ci="1" mb="0" cb="0"/><line nr="35" mi="0" ci="4" mb="0" cb="2"/><line nr="36" mi="0" ci="9" mb="0" cb="0"/><line nr="39" mi="0" ci="1" mb="0" cb="0"/><line nr="45" mi="0" ci="3" mb="0" cb="0"/><line nr="46" mi="0" ci="3" mb="0" cb="0"/><line nr="47" mi="0" ci="4" mb="0" cb="0"/><line nr="48" mi="0" ci="1" mb="0" cb="0"/><line nr="54" mi="0" ci="3" mb="0" cb="0"/><line nr="55" mi="0" ci="3" mb="0" cb="0"/><line nr="56" mi="0" ci="4" mb="0" cb="0"/><line nr="57" mi="0" ci="1" mb="0" cb="0"/><line nr="69" mi="0" ci="4" mb="0" cb="0"/><line nr="70" mi="0" ci="4" mb="0" cb="0"/><line nr="71" mi="0" ci="4" mb="0" cb="0"/><line nr="72" mi="0" ci="1" mb="0" cb="0"/><line nr="78" mi="0" ci="4" mb="0" cb="0"/><line nr="79" mi="0" ci="3" mb="0" cb="0"/><line nr="80" mi="0" ci="4" mb="0" cb="0"/><line nr="81" mi="0" ci="1" mb="0" cb="0"/><line nr="91" mi="0" ci="4" mb="0" cb="0"/><line nr="92" mi="0" ci="4" mb="0" cb="0"/><line nr="93" mi="0" ci="4" mb="0" cb="0"/><line nr="94" mi="0" ci="1" mb="0" cb="0"/><line nr="100" mi="0" ci="4" mb="0" cb="0"/><line nr="101" mi="0" ci="3" mb="0" cb="0"/><line nr="102" mi="0" ci="4" mb="0" cb="0"/><line nr="103" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="103"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="31"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="QuotaService.java"><line nr="19" mi="0" ci="4" mb="0" cb="0"/><line nr="21" mi="0" ci="12" mb="0" cb="0"/><line nr="32" mi="0" ci="6" mb="0" cb="2"/><line nr="33" mi="0" ci="10" mb="0" cb="3"/><line nr="34" mi="0" ci="4" mb="0" cb="0"/><line nr="35" mi="0" ci="4" mb="0" cb="0"/><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="44" mi="0" ci="6" mb="0" cb="2"/><line nr="45" mi="0" ci="10" mb="0" cb="3"/><line nr="46" mi="0" ci="4" mb="0" cb="0"/><line nr="47" mi="0" ci="4" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="56" mi="0" ci="4" mb="0" cb="0"/><line nr="57" mi="0" ci="4" mb="0" cb="0"/><line nr="58" mi="0" ci="6" mb="0" cb="0"/><line nr="65" mi="0" ci="4" mb="0" cb="0"/><line nr="66" mi="0" ci="6" mb="0" cb="0"/><line nr="73" mi="0" ci="5" mb="0" cb="0"/><line nr="84" mi="0" ci="4" mb="0" cb="0"/><line nr="85" mi="0" ci="7" mb="0" cb="0"/><line nr="86" mi="0" ci="4" mb="0" cb="0"/><line nr="89" mi="0" ci="4" mb="1" cb="1"/><line nr="90" mi="2" ci="0" mb="0" cb="0"/><line nr="93" mi="0" ci="4" mb="0" cb="0"/><line nr="95" mi="0" ci="9" mb="0" cb="0"/><line nr="97" mi="0" ci="8" mb="0" cb="2"/><line nr="98" mi="0" ci="6" mb="0" cb="0"/><line nr="99" mi="0" ci="2" mb="0" cb="0"/><line nr="102" mi="0" ci="6" mb="0" cb="0"/><line nr="104" mi="0" ci="6" mb="0" cb="0"/><line nr="111" mi="0" ci="4" mb="0" cb="0"/><line nr="112" mi="0" ci="8" mb="0" cb="0"/><line nr="113" mi="0" ci="6" mb="1" cb="1"/><line nr="114" mi="0" ci="2" mb="0" cb="0"/><line nr="116" mi="6" ci="0" mb="0" cb="0"/><line nr="117" mi="2" ci="0" mb="0" cb="0"/><line nr="124" mi="5" ci="0" mb="2" cb="0"/><line nr="125" mi="4" ci="0" mb="0" cb="0"/><line nr="126" mi="7" ci="0" mb="0" cb="0"/><line nr="128" mi="4" ci="0" mb="0" cb="0"/><line nr="129" mi="6" ci="0" mb="0" cb="0"/><line nr="130" mi="6" ci="0" mb="0" cb="0"/><line nr="131" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="43" covered="179"/><counter type="BRANCH" missed="4" covered="14"/><counter type="LINE" missed="10" covered="33"/><counter type="COMPLEXITY" missed="4" covered="16"/><counter type="METHOD" missed="1" covered="9"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="CollabEventPublisher.java"><line nr="20" mi="0" ci="9" mb="0" cb="0"/><line nr="21" mi="0" ci="4" mb="0" cb="0"/><line nr="36" mi="0" ci="4" mb="0" cb="0"/><line nr="37" mi="0" ci="5" mb="0" cb="0"/><line nr="38" mi="0" ci="5" mb="0" cb="0"/><line nr="39" mi="0" ci="5" mb="0" cb="0"/><line nr="43" mi="0" ci="5" mb="0" cb="0"/><line nr="44" mi="1" ci="0" mb="0" cb="0"/><line nr="45" mi="17" ci="0" mb="0" cb="0"/><line nr="46" mi="1" ci="0" mb="0" cb="0"/><line nr="47" mi="0" ci="1" mb="0" cb="0"/><line nr="49" mi="0" ci="9" mb="0" cb="0"/><line nr="50" mi="0" ci="1" mb="0" cb="0"/><line nr="61" mi="0" ci="4" mb="0" cb="0"/><line nr="62" mi="0" ci="5" mb="0" cb="0"/><line nr="63" mi="0" ci="5" mb="0" cb="0"/><line nr="64" mi="0" ci="5" mb="0" cb="0"/><line nr="68" mi="0" ci="5" mb="0" cb="0"/><line nr="69" mi="1" ci="0" mb="0" cb="0"/><line nr="70" mi="17" ci="0" mb="0" cb="0"/><line nr="71" mi="1" ci="0" mb="0" cb="0"/><line nr="72" mi="0" ci="1" mb="0" cb="0"/><line nr="74" mi="0" ci="8" mb="0" cb="0"/><line nr="75" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="38" covered="82"/><counter type="LINE" missed="6" covered="18"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="TranslationPipeline.java"><line nr="32" mi="0" ci="3" mb="0" cb="0"/><line nr="36" mi="0" ci="28" mb="0" cb="0"/><line nr="67" mi="0" ci="10" mb="0" cb="0"/><line nr="68" mi="0" ci="1" mb="0" cb="0"/><line nr="69" mi="0" ci="1" mb="0" cb="0"/><line nr="85" mi="0" ci="10" mb="0" cb="0"/><line nr="86" mi="0" ci="1" mb="0" cb="0"/><line nr="87" mi="0" ci="1" mb="0" cb="0"/><line nr="102" mi="0" ci="12" mb="0" cb="0"/><line nr="104" mi="0" ci="1" mb="0" cb="0"/><line nr="119" mi="0" ci="2" mb="0" cb="0"/><line nr="120" mi="0" ci="3" mb="0" cb="0"/><line nr="121" mi="0" ci="3" mb="0" cb="0"/><line nr="122" mi="0" ci="3" mb="0" cb="0"/><line nr="123" mi="0" ci="3" mb="0" cb="0"/><line nr="124" mi="0" ci="3" mb="0" cb="0"/><line nr="125" mi="0" ci="3" mb="0" cb="0"/><line nr="126" mi="0" ci="3" mb="0" cb="0"/><line nr="127" mi="0" ci="3" mb="0" cb="0"/><line nr="128" mi="0" ci="3" mb="0" cb="0"/><line nr="129" mi="0" ci="7" mb="0" cb="2"/><line nr="130" mi="0" ci="1" mb="0" cb="0"/><line nr="142" mi="0" ci="3" mb="0" cb="0"/><line nr="144" mi="0" ci="4" mb="0" cb="2"/><line nr="146" mi="0" ci="6" mb="0" cb="0"/><line nr="150" mi="0" ci="9" mb="0" cb="0"/><line nr="151" mi="0" ci="4" mb="0" cb="0"/><line nr="153" mi="0" ci="8" mb="0" cb="2"/><line nr="154" mi="0" ci="5" mb="0" cb="0"/><line nr="155" mi="0" ci="6" mb="0" cb="0"/><line nr="156" mi="0" ci="5" mb="1" cb="3"/><line nr="158" mi="0" ci="3" mb="0" cb="0"/><line nr="159" mi="0" ci="4" mb="0" cb="0"/><line nr="160" mi="0" ci="1" mb="0" cb="0"/><line nr="162" mi="0" ci="4" mb="0" cb="0"/><line nr="165" mi="0" ci="6" mb="0" cb="2"/><line nr="166" mi="0" ci="4" mb="0" cb="0"/><line nr="170" mi="0" ci="3" mb="0" cb="0"/><line nr="197" mi="0" ci="4" mb="0" cb="0"/><line nr="200" mi="0" ci="10" mb="0" cb="0"/><line nr="201" mi="0" ci="2" mb="0" cb="2"/><line nr="202" mi="0" ci="10" mb="0" cb="0"/><line nr="203" mi="0" ci="2" mb="0" cb="0"/><line nr="207" mi="0" ci="10" mb="0" cb="0"/><line nr="208" mi="0" ci="5" mb="0" cb="4"/><line nr="209" mi="0" ci="5" mb="0" cb="0"/><line nr="210" mi="0" ci="10" mb="0" cb="0"/><line nr="211" mi="0" ci="11" mb="0" cb="0"/><line nr="212" mi="0" ci="2" mb="0" cb="0"/><line nr="216" mi="0" ci="2" mb="0" cb="0"/><line nr="217" mi="0" ci="2" mb="0" cb="0"/><line nr="219" mi="0" ci="8" mb="0" cb="4"/><line nr="220" mi="0" ci="3" mb="0" cb="0"/><line nr="222" mi="0" ci="6" mb="0" cb="0"/><line nr="223" mi="0" ci="3" mb="0" cb="2"/><line nr="224" mi="0" ci="6" mb="0" cb="0"/><line nr="226" mi="0" ci="5" mb="0" cb="0"/><line nr="227" mi="0" ci="6" mb="0" cb="0"/><line nr="229" mi="0" ci="1" mb="0" cb="0"/><line nr="230" mi="0" ci="5" mb="0" cb="0"/><line nr="231" mi="0" ci="1" mb="0" cb="0"/><line nr="235" mi="0" ci="3" mb="0" cb="2"/><line nr="236" mi="0" ci="3" mb="0" cb="0"/><line nr="237" mi="0" ci="3" mb="0" cb="2"/><line nr="238" mi="0" ci="3" mb="0" cb="0"/><line nr="239" mi="0" ci="2" mb="0" cb="0"/><line nr="241" mi="0" ci="6" mb="0" cb="0"/><line nr="245" mi="0" ci="9" mb="0" cb="0"/><line nr="248" mi="0" ci="6" mb="0" cb="4"/><line nr="249" mi="0" ci="3" mb="0" cb="0"/><line nr="250" mi="0" ci="2" mb="0" cb="0"/><line nr="254" mi="0" ci="2" mb="0" cb="2"/><line nr="256" mi="0" ci="6" mb="0" cb="0"/><line nr="257" mi="1" ci="0" mb="0" cb="0"/><line nr="258" mi="5" ci="0" mb="0" cb="0"/><line nr="259" mi="0" ci="1" mb="0" cb="0"/><line nr="263" mi="0" ci="9" mb="0" cb="0"/><line nr="264" mi="0" ci="4" mb="0" cb="2"/><line nr="265" mi="0" ci="11" mb="0" cb="0"/><line nr="266" mi="0" ci="12" mb="0" cb="0"/><line nr="269" mi="0" ci="2" mb="0" cb="0"/><line nr="270" mi="0" ci="1" mb="0" cb="0"/><line nr="271" mi="0" ci="5" mb="0" cb="0"/><line nr="272" mi="0" ci="2" mb="0" cb="0"/><line nr="280" mi="0" ci="4" mb="0" cb="0"/><line nr="283" mi="0" ci="10" mb="0" cb="0"/><line nr="284" mi="0" ci="2" mb="0" cb="2"/><line nr="285" mi="0" ci="6" mb="0" cb="0"/><line nr="286" mi="0" ci="2" mb="0" cb="0"/><line nr="290" mi="0" ci="10" mb="0" cb="0"/><line nr="291" mi="0" ci="5" mb="0" cb="4"/><line nr="292" mi="0" ci="5" mb="0" cb="0"/><line nr="293" mi="0" ci="10" mb="0" cb="0"/><line nr="294" mi="0" ci="12" mb="0" cb="0"/><line nr="295" mi="0" ci="2" mb="0" cb="0"/><line nr="299" mi="0" ci="8" mb="0" cb="4"/><line nr="300" mi="0" ci="3" mb="0" cb="0"/><line nr="301" mi="0" ci="5" mb="0" cb="0"/><line nr="302" mi="0" ci="7" mb="0" cb="0"/><line nr="303" mi="0" ci="6" mb="0" cb="4"/><line nr="304" mi="0" ci="10" mb="0" cb="0"/><line nr="305" mi="0" ci="4" mb="1" cb="1"/><line nr="306" mi="0" ci="12" mb="0" cb="0"/><line nr="308" mi="0" ci="12" mb="0" cb="0"/><line nr="309" mi="0" ci="2" mb="0" cb="0"/><line nr="314" mi="0" ci="24" mb="0" cb="2"/><line nr="315" mi="0" ci="3" mb="0" cb="0"/><line nr="317" mi="0" ci="2" mb="0" cb="2"/><line nr="318" mi="0" ci="4" mb="0" cb="0"/><line nr="319" mi="0" ci="2" mb="0" cb="0"/><line nr="322" mi="0" ci="4" mb="0" cb="2"/><line nr="323" mi="0" ci="3" mb="0" cb="0"/><line nr="324" mi="0" ci="2" mb="0" cb="0"/><line nr="328" mi="0" ci="9" mb="0" cb="0"/><line nr="329" mi="0" ci="4" mb="0" cb="2"/><line nr="330" mi="0" ci="12" mb="0" cb="0"/><line nr="331" mi="0" ci="13" mb="0" cb="0"/><line nr="333" mi="0" ci="3" mb="0" cb="0"/><line nr="336" mi="0" ci="2" mb="0" cb="0"/><line nr="349" mi="0" ci="7" mb="0" cb="0"/><line nr="362" mi="0" ci="8" mb="0" cb="0"/><line nr="363" mi="0" ci="17" mb="0" cb="0"/><line nr="364" mi="0" ci="10" mb="0" cb="2"/><line nr="365" mi="0" ci="10" mb="0" cb="0"/><line nr="368" mi="0" ci="10" mb="0" cb="0"/><line nr="369" mi="0" ci="2" mb="0" cb="2"/><line nr="370" mi="0" ci="5" mb="0" cb="0"/><line nr="371" mi="0" ci="2" mb="0" cb="0"/><line nr="373" mi="0" ci="3" mb="0" cb="0"/><line nr="378" mi="0" ci="8" mb="0" cb="2"/><line nr="379" mi="0" ci="8" mb="0" cb="0"/><line nr="380" mi="0" ci="26" mb="0" cb="4"/><line nr="381" mi="0" ci="10" mb="0" cb="2"/><line nr="382" mi="0" ci="3" mb="0" cb="0"/><line nr="383" mi="0" ci="14" mb="0" cb="2"/><line nr="385" mi="0" ci="5" mb="0" cb="4"/><line nr="386" mi="0" ci="4" mb="0" cb="2"/><line nr="387" mi="0" ci="3" mb="0" cb="0"/><line nr="388" mi="0" ci="2" mb="0" cb="0"/><line nr="390" mi="0" ci="9" mb="0" cb="0"/><line nr="391" mi="0" ci="4" mb="0" cb="2"/><line nr="392" mi="0" ci="12" mb="0" cb="0"/><line nr="394" mi="0" ci="10" mb="0" cb="0"/><line nr="395" mi="0" ci="2" mb="0" cb="0"/><line nr="397" mi="0" ci="1" mb="0" cb="0"/><line nr="398" mi="0" ci="6" mb="0" cb="0"/><line nr="399" mi="0" ci="1" mb="0" cb="0"/><line nr="402" mi="0" ci="3" mb="0" cb="0"/><line nr="403" mi="0" ci="2" mb="0" cb="0"/><line nr="416" mi="0" ci="6" mb="0" cb="4"/><line nr="417" mi="0" ci="7" mb="0" cb="2"/><line nr="420" mi="0" ci="4" mb="0" cb="0"/><line nr="422" mi="0" ci="4" mb="0" cb="0"/><line nr="423" mi="0" ci="4" mb="0" cb="0"/><line nr="425" mi="0" ci="16" mb="0" cb="2"/><line nr="426" mi="0" ci="10" mb="1" cb="3"/><line nr="427" mi="0" ci="3" mb="0" cb="0"/><line nr="428" mi="0" ci="6" mb="1" cb="1"/><line nr="429" mi="0" ci="6" mb="0" cb="0"/><line nr="431" mi="4" ci="0" mb="0" cb="0"/><line nr="433" mi="0" ci="4" mb="0" cb="0"/><line nr="435" mi="0" ci="4" mb="0" cb="0"/><line nr="438" mi="0" ci="3" mb="1" cb="1"/><line nr="439" mi="0" ci="3" mb="0" cb="0"/><line nr="440" mi="0" ci="6" mb="0" cb="2"/><line nr="441" mi="0" ci="6" mb="0" cb="0"/><line nr="443" mi="0" ci="4" mb="0" cb="0"/><line nr="447" mi="0" ci="3" mb="1" cb="1"/><line nr="448" mi="3" ci="0" mb="0" cb="0"/><line nr="451" mi="0" ci="2" mb="0" cb="0"/><line nr="458" mi="0" ci="4" mb="0" cb="0"/><line nr="459" mi="0" ci="4" mb="0" cb="0"/><line nr="460" mi="0" ci="4" mb="0" cb="0"/><line nr="462" mi="0" ci="16" mb="0" cb="2"/><line nr="463" mi="0" ci="10" mb="0" cb="4"/><line nr="464" mi="0" ci="5" mb="0" cb="0"/><line nr="465" mi="0" ci="4" mb="0" cb="0"/><line nr="467" mi="0" ci="4" mb="0" cb="0"/><line nr="470" mi="0" ci="3" mb="1" cb="1"/><line nr="471" mi="0" ci="5" mb="0" cb="0"/><line nr="474" mi="3" ci="5" mb="1" cb="1"/><line nr="482" mi="0" ci="4" mb="0" cb="4"/><line nr="483" mi="0" ci="2" mb="0" cb="0"/><line nr="485" mi="0" ci="3" mb="0" cb="0"/><line nr="486" mi="0" ci="3" mb="0" cb="0"/><line nr="488" mi="0" ci="4" mb="0" cb="2"/><line nr="489" mi="0" ci="2" mb="0" cb="0"/><line nr="491" mi="0" ci="4" mb="0" cb="2"/><line nr="492" mi="0" ci="2" mb="0" cb="0"/><line nr="494" mi="0" ci="2" mb="0" cb="0"/><line nr="502" mi="0" ci="4" mb="0" cb="4"/><line nr="503" mi="0" ci="2" mb="0" cb="0"/><line nr="506" mi="0" ci="16" mb="0" cb="2"/><line nr="507" mi="0" ci="4" mb="0" cb="2"/><line nr="508" mi="0" ci="4" mb="0" cb="0"/><line nr="509" mi="0" ci="2" mb="0" cb="0"/><line nr="513" mi="0" ci="7" mb="0" cb="2"/><line nr="514" mi="0" ci="9" mb="0" cb="0"/><line nr="515" mi="0" ci="2" mb="0" cb="0"/><line nr="517" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="16" covered="1068"/><counter type="BRANCH" missed="8" covered="122"/><counter type="LINE" missed="4" covered="196"/><counter type="COMPLEXITY" missed="8" covered="71"/><counter type="METHOD" missed="0" covered="14"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ChapterSplitAsyncListener.java"><line nr="28" mi="0" ci="12" mb="0" cb="0"/><line nr="29" mi="0" ci="4" mb="0" cb="0"/><line nr="41" mi="3" ci="0" mb="0" cb="0"/><line nr="42" mi="3" ci="0" mb="0" cb="0"/><line nr="43" mi="7" ci="0" mb="0" cb="0"/><line nr="46" mi="8" ci="0" mb="0" cb="0"/><line nr="47" mi="8" ci="0" mb="2" cb="0"/><line nr="48" mi="7" ci="0" mb="0" cb="0"/><line nr="49" mi="5" ci="0" mb="0" cb="0"/><line nr="50" mi="6" ci="0" mb="0" cb="0"/><line nr="51" mi="19" ci="0" mb="0" cb="0"/><line nr="52" mi="5" ci="0" mb="0" cb="0"/><line nr="56" mi="5" ci="0" mb="0" cb="0"/><line nr="57" mi="7" ci="0" mb="0" cb="0"/><line nr="58" mi="1" ci="0" mb="0" cb="0"/><line nr="59" mi="18" ci="0" mb="0" cb="0"/><line nr="60" mi="1" ci="0" mb="0" cb="0"/><line nr="61" mi="1" ci="0" mb="0" cb="0"/><line nr="65" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="8" mb="0" cb="2"/><line nr="67" mi="0" ci="5" mb="0" cb="0"/><line nr="68" mi="0" ci="4" mb="0" cb="0"/><line nr="69" mi="0" ci="3" mb="0" cb="0"/><line nr="70" mi="0" ci="8" mb="0" cb="0"/><line nr="71" mi="0" ci="8" mb="0" cb="0"/><line nr="72" mi="0" ci="3" mb="0" cb="0"/><line nr="73" mi="0" ci="3" mb="0" cb="0"/><line nr="74" mi="0" ci="4" mb="0" cb="0"/><line nr="75" mi="0" ci="4" mb="0" cb="0"/><line nr="76" mi="0" ci="5" mb="0" cb="0"/><line nr="77" mi="0" ci="4" mb="0" cb="0"/><line nr="79" mi="0" ci="22" mb="0" cb="0"/><line nr="80" mi="0" ci="1" mb="0" cb="0"/><line nr="84" mi="0" ci="8" mb="0" cb="0"/><line nr="85" mi="0" ci="2" mb="0" cb="2"/><line nr="86" mi="0" ci="4" mb="0" cb="0"/><line nr="87" mi="0" ci="1" mb="0" cb="0"/><line nr="91" mi="0" ci="5" mb="0" cb="0"/><line nr="92" mi="0" ci="4" mb="0" cb="0"/><line nr="93" mi="0" ci="4" mb="0" cb="0"/><line nr="96" mi="0" ci="8" mb="0" cb="0"/><line nr="97" mi="0" ci="2" mb="0" cb="2"/><line nr="98" mi="0" ci="4" mb="0" cb="0"/><line nr="99" mi="0" ci="3" mb="0" cb="0"/><line nr="100" mi="0" ci="4" mb="0" cb="0"/><line nr="103" mi="0" ci="4" mb="0" cb="0"/><line nr="104" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="104" covered="155"/><counter type="BRANCH" missed="2" covered="6"/><counter type="LINE" missed="16" covered="31"/><counter type="COMPLEXITY" missed="2" covered="7"/><counter type="METHOD" missed="1" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="1238" covered="4226"/><counter type="BRANCH" missed="152" covered="388"/><counter type="LINE" missed="255" covered="879"/><counter type="COMPLEXITY" missed="118" covered="282"/><counter type="METHOD" missed="15" covered="114"/><counter type="CLASS" missed="0" covered="14"/></package><package name="com/yumu/noveltranslator/application/service"><class name="com/yumu/noveltranslator/application/service/ApiKeyApplicationService" sourcefilename="ApiKeyApplicationService.java"><method name="createApiKey" desc="(Ljava/lang/Long;Ljava/lang/String;)Lcom/yumu/noveltranslator/domain/model/ApiKey;" line="27"><counter type="INSTRUCTION" missed="31" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="listApiKeys" desc="(Ljava/lang/Long;II)Lcom/yumu/noveltranslator/port/dto/common/PageResponse;" line="41"><counter type="INSTRUCTION" missed="38" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="deleteApiKey" desc="(Ljava/lang/Long;Ljava/lang/Long;)Z" line="50"><counter type="INSTRUCTION" missed="17" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="resetApiKey" desc="(Ljava/lang/Long;Ljava/lang/Long;)Lcom/yumu/noveltranslator/domain/model/ApiKey;" line="61"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="revealApiKey" desc="(Ljava/lang/Long;Ljava/lang/Long;)Lcom/yumu/noveltranslator/domain/model/ApiKey;" line="74"><counter type="INSTRUCTION" missed="11" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="generateApiKey" desc="()Ljava/lang/String;" line="80"><counter type="INSTRUCTION" missed="24" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/out/UserRepositoryPort;Lcom/yumu/noveltranslator/port/out/ApiKeyCachePort;)V" line="16"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$revealApiKey$4" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/domain/model/ApiKey;)Z" line="75"><counter type="INSTRUCTION" missed="5" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$resetApiKey$3" desc="(Lcom/yumu/noveltranslator/domain/model/ApiKey;)Lcom/yumu/noveltranslator/domain/model/ApiKey;" line="64"><counter type="INSTRUCTION" missed="19" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$resetApiKey$2" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/domain/model/ApiKey;)Z" line="62"><counter type="INSTRUCTION" missed="5" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$deleteApiKey$1" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/domain/model/ApiKey;)Ljava/lang/Boolean;" line="53"><counter type="INSTRUCTION" missed="12" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$deleteApiKey$0" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/domain/model/ApiKey;)Z" line="51"><counter type="INSTRUCTION" missed="5" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="22"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="181" covered="14"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="37" covered="2"/><counter type="COMPLEXITY" missed="12" covered="2"/><counter type="METHOD" missed="11" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/application/service/GlossaryApplicationService" sourcefilename="GlossaryApplicationService.java"><method name="createGlossaryItem" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/port/dto/translation/GlossaryItemRequest;)Lcom/yumu/noveltranslator/port/dto/translation/GlossaryResponse;" line="25"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="updateGlossaryItem" desc="(Ljava/lang/Long;Ljava/lang/Long;Lcom/yumu/noveltranslator/port/dto/translation/GlossaryItemRequest;)Lcom/yumu/noveltranslator/port/dto/translation/GlossaryResponse;" line="32"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="deleteGlossaryItem" desc="(Ljava/lang/Long;Ljava/lang/Long;)Z" line="41"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="listGlossaries" desc="(Ljava/lang/Long;IILjava/lang/String;)Lcom/yumu/noveltranslator/port/dto/common/PageResponse;" line="50"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getGlossaryDetail" desc="(Ljava/lang/Long;Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/translation/GlossaryResponse;" line="55"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getAllGlossaryTerms" desc="(Ljava/lang/Long;)Ljava/util/List;" line="60"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="importGlossaryCsv" desc="(Ljava/lang/Long;Ljava/util/List;)I" line="65"><counter type="INSTRUCTION" missed="0" covered="31"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/in/UserPort;Lcom/yumu/noveltranslator/port/out/TranslationCacheAdminPort;Lcom/yumu/noveltranslator/port/out/CacheVersionPort;)V" line="16"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="104"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="21"/><counter type="COMPLEXITY" missed="0" covered="13"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/application/service/SubscriptionApplicationService" sourcefilename="SubscriptionApplicationService.java"><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/properties/StripeProperties;Lcom/yumu/noveltranslator/port/out/BillingRepositoryPort;Lcom/yumu/noveltranslator/port/out/UserRepositoryPort;Lorg/springframework/data/redis/core/StringRedisTemplate;Lcom/yumu/noveltranslator/port/out/TokenRevocationPort;Lcom/yumu/noveltranslator/port/out/PaymentPort;Lorg/springframework/transaction/PlatformTransactionManager;)V" line="65"><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="verifyCheckoutSession" desc="(Ljava/lang/String;Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/subscription/PaymentVerificationResponse;" line="90"><counter type="INSTRUCTION" missed="10" covered="149"/><counter type="BRANCH" missed="2" covered="14"/><counter type="LINE" missed="1" covered="26"/><counter type="COMPLEXITY" missed="2" covered="7"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createCheckoutSession" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/port/dto/subscription/CheckoutSessionRequest;)Lcom/yumu/noveltranslator/port/dto/subscription/CheckoutSessionResponse;" line="135"><counter type="INSTRUCTION" missed="25" covered="52"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="3" covered="11"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="upgradeSubscription" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/domain/model/StripeSubscription;Ljava/lang/String;Lcom/yumu/noveltranslator/enums/SubscriptionPlan;Lcom/yumu/noveltranslator/enums/BillingCycle;)Lcom/yumu/noveltranslator/port/dto/subscription/CheckoutSessionResponse;" line="169"><counter type="INSTRUCTION" missed="32" covered="49"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="4" covered="9"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSubscriptionStatus" desc="(Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/subscription/SubscriptionStatusResponse;" line="201"><counter type="INSTRUCTION" missed="0" covered="41"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="cancelSubscription" desc="(Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/subscription/SubscriptionStatusResponse;" line="220"><counter type="INSTRUCTION" missed="0" covered="60"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createPortalSession" desc="(Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/subscription/PortalSessionResponse;" line="243"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleCheckoutSessionCompleted" desc="(Lcom/stripe/model/Event;)V" line="256"><counter type="INSTRUCTION" missed="4" covered="132"/><counter type="BRANCH" missed="5" covered="11"/><counter type="LINE" missed="0" covered="23"/><counter type="COMPLEXITY" missed="5" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleSubscriptionUpdated" desc="(Lcom/stripe/model/Event;)V" line="298"><counter type="INSTRUCTION" missed="10" covered="29"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="2" covered="8"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleSubscriptionDeleted" desc="(Lcom/stripe/model/Event;)V" line="335"><counter type="INSTRUCTION" missed="9" covered="30"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="2" covered="7"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleSubscriptionResumed" desc="(Lcom/stripe/model/Event;)V" line="362"><counter type="INSTRUCTION" missed="10" covered="30"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="2" covered="7"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleInvoicePaymentFailed" desc="(Lcom/stripe/model/Event;)V" line="386"><counter type="INSTRUCTION" missed="10" covered="39"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="1" covered="11"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleInvoicePaymentSucceeded" desc="(Lcom/stripe/model/Event;)V" line="417"><counter type="INSTRUCTION" missed="9" covered="57"/><counter type="BRANCH" missed="2" covered="10"/><counter type="LINE" missed="2" covered="15"/><counter type="COMPLEXITY" missed="2" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createSubscriptionFromOrphanedInvoice" desc="(Lcom/stripe/model/Event;Lcom/stripe/model/Invoice;Ljava/lang/String;)V" line="457"><counter type="INSTRUCTION" missed="1" covered="74"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="doHandleCheckoutSessionCompleted" desc="(Lcom/stripe/model/Event;Ljava/lang/Long;Lcom/yumu/noveltranslator/enums/SubscriptionPlan;Lcom/yumu/noveltranslator/enums/BillingCycle;Ljava/lang/String;Lcom/yumu/noveltranslator/port/out/payment/SubscriptionInfo;Lcom/yumu/noveltranslator/domain/model/StripeCustomer;)V" line="487"><counter type="INSTRUCTION" missed="41" covered="122"/><counter type="BRANCH" missed="7" covered="7"/><counter type="LINE" missed="11" covered="29"/><counter type="COMPLEXITY" missed="5" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="doUpgradeSubscription" desc="(Lcom/yumu/noveltranslator/domain/model/StripeSubscription;Lcom/yumu/noveltranslator/port/out/payment/SubscriptionInfo;Ljava/lang/String;Lcom/yumu/noveltranslator/enums/SubscriptionPlan;Lcom/yumu/noveltranslator/enums/BillingCycle;)V" line="547"><counter type="INSTRUCTION" missed="0" covered="77"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="doCancelSubscription" desc="(Lcom/yumu/noveltranslator/domain/model/StripeSubscription;)Lcom/yumu/noveltranslator/port/dto/subscription/SubscriptionStatusResponse;" line="567"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="doActivateSubscriptionFromInvoice" desc="(Lcom/stripe/model/Event;Lcom/yumu/noveltranslator/domain/model/StripeSubscription;)V" line="581"><counter type="INSTRUCTION" missed="37" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="doCreateSubscriptionFromOrphanedInvoice" desc="(Lcom/stripe/model/Event;Ljava/lang/Long;Ljava/lang/String;Lcom/yumu/noveltranslator/port/out/payment/SubscriptionInfo;Lcom/yumu/noveltranslator/domain/model/StripeCustomer;Lcom/stripe/model/Invoice;)V" line="603"><counter type="INSTRUCTION" missed="73" covered="144"/><counter type="BRANCH" missed="19" covered="11"/><counter type="LINE" missed="13" covered="40"/><counter type="COMPLEXITY" missed="13" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="deserializeStripeObject" desc="(Lcom/stripe/model/Event;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;" line="690"><counter type="INSTRUCTION" missed="8" covered="25"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="3" covered="8"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="deserializeSessionInfo" desc="(Lcom/stripe/model/Event;Ljava/lang/String;)Lcom/yumu/noveltranslator/application/service/SubscriptionApplicationService$SessionInfo;" line="714"><counter type="INSTRUCTION" missed="8" covered="36"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="3" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="deserializeSubscriptionInfo" desc="(Lcom/stripe/model/Event;Ljava/lang/String;)Lcom/yumu/noveltranslator/port/out/payment/SubscriptionInfo;" line="732"><counter type="INSTRUCTION" missed="8" covered="76"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="3" covered="24"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOrCreateCustomer" desc="(Ljava/lang/Long;)Lcom/yumu/noveltranslator/domain/model/StripeCustomer;" line="765"><counter type="INSTRUCTION" missed="31" covered="48"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="4" covered="12"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getPriceId" desc="(Lcom/yumu/noveltranslator/enums/SubscriptionPlan;Lcom/yumu/noveltranslator/enums/BillingCycle;)Ljava/lang/String;" line="792"><counter type="INSTRUCTION" missed="0" covered="54"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="1" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="validatePlan" desc="(Ljava/lang/String;)Lcom/yumu/noveltranslator/enums/SubscriptionPlan;" line="816"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="validateBillingCycle" desc="(Ljava/lang/String;)Lcom/yumu/noveltranslator/enums/BillingCycle;" line="825"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toLocalDateTime" desc="(Ljava/lang/Long;)Ljava/time/LocalDateTime;" line="836"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="scheduleAfterCommit" desc="(Ljava/lang/Runnable;)V" line="846"><counter type="INSTRUCTION" missed="7" covered="5"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="markEventProcessed" desc="(Ljava/lang/String;)Z" line="862"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="syncUserLevelAfterStatusChange" desc="(Lcom/yumu/noveltranslator/domain/model/StripeSubscription;Ljava/lang/String;Lcom/stripe/model/Event;)V" line="872"><counter type="INSTRUCTION" missed="59" covered="0"/><counter type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="14" covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="updateUserLevel" desc="(Ljava/lang/Long;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="892"><counter type="INSTRUCTION" missed="5" covered="12"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="2" covered="3"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="updateUserLevel" desc="(Ljava/lang/Long;Ljava/lang/String;Ljava/lang/String;)V" line="901"><counter type="INSTRUCTION" missed="19" covered="73"/><counter type="BRANCH" missed="6" covered="4"/><counter type="LINE" missed="4" covered="15"/><counter type="COMPLEXITY" missed="5" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$syncUserLevelAfterStatusChange$26" desc="(Lcom/yumu/noveltranslator/domain/model/StripeSubscription;Ljava/lang/String;Ljava/lang/String;Lcom/stripe/model/Event;)V" line="887"><counter type="INSTRUCTION" missed="10" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$deserializeSubscriptionInfo$25" desc="(Lcom/stripe/model/Price;)Ljava/lang/String;" line="749"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$deserializeSubscriptionInfo$24" desc="(Lcom/stripe/model/Price;)Z" line="748"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$deserializeSubscriptionInfo$23" desc="(Lcom/stripe/model/SubscriptionItem;)Lcom/stripe/model/Price;" line="747"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$deserializeSubscriptionInfo$22" desc="(Ljava/util/List;)Lcom/stripe/model/SubscriptionItem;" line="746"><counter type="INSTRUCTION" missed="5" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$deserializeSubscriptionInfo$21" desc="(Ljava/util/List;)Z" line="745"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$deserializeSubscriptionInfo$20" desc="(Lcom/stripe/model/SubscriptionItemCollection;)Ljava/util/List;" line="744"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$deserializeSubscriptionInfo$19" desc="(Ljava/util/List;)Ljava/lang/String;" line="741"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$deserializeSubscriptionInfo$18" desc="(Ljava/util/List;)Z" line="740"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$deserializeSubscriptionInfo$17" desc="(Lcom/stripe/model/SubscriptionItemCollection;)Ljava/util/List;" line="739"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$doCreateSubscriptionFromOrphanedInvoice$16" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/domain/model/StripeSubscription;Lcom/stripe/model/Event;)V" line="679"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$doActivateSubscriptionFromInvoice$15" desc="(Lcom/yumu/noveltranslator/domain/model/StripeSubscription;Lcom/stripe/model/Event;)V" line="589"><counter type="INSTRUCTION" missed="10" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$doUpgradeSubscription$14" desc="(Lcom/yumu/noveltranslator/domain/model/StripeSubscription;Lcom/yumu/noveltranslator/enums/SubscriptionPlan;)V" line="558"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$doHandleCheckoutSessionCompleted$13" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/enums/SubscriptionPlan;Lcom/stripe/model/Event;)V" line="539"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$createSubscriptionFromOrphanedInvoice$12" desc="(Lcom/stripe/model/Event;Ljava/lang/Long;Ljava/lang/String;Lcom/yumu/noveltranslator/port/out/payment/SubscriptionInfo;Lcom/yumu/noveltranslator/domain/model/StripeCustomer;Lcom/stripe/model/Invoice;Lorg/springframework/transaction/TransactionStatus;)Ljava/lang/Object;" line="477"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$handleInvoicePaymentSucceeded$11" desc="(Lcom/stripe/model/Event;Lcom/yumu/noveltranslator/domain/model/StripeSubscription;Lorg/springframework/transaction/TransactionStatus;)Ljava/lang/Object;" line="441"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$handleInvoicePaymentFailed$10" desc="(Lcom/stripe/model/Event;Lcom/yumu/noveltranslator/domain/model/StripeSubscription;Ljava/lang/String;Lorg/springframework/transaction/TransactionStatus;)Ljava/lang/Object;" line="401"><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$handleSubscriptionResumed$9" desc="(Lcom/stripe/model/Event;Lcom/yumu/noveltranslator/domain/model/StripeSubscription;Lcom/yumu/noveltranslator/port/out/payment/SubscriptionInfo;Lorg/springframework/transaction/TransactionStatus;)Ljava/lang/Object;" line="375"><counter type="INSTRUCTION" missed="25" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$handleSubscriptionDeleted$8" desc="(Lcom/stripe/model/Event;Lcom/yumu/noveltranslator/domain/model/StripeSubscription;Lorg/springframework/transaction/TransactionStatus;)Ljava/lang/Object;" line="348"><counter type="INSTRUCTION" missed="32" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$handleSubscriptionDeleted$7" desc="(Lcom/yumu/noveltranslator/domain/model/StripeSubscription;Lcom/stripe/model/Event;)V" line="356"><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$handleSubscriptionUpdated$6" desc="(Lcom/stripe/model/Event;Lcom/yumu/noveltranslator/domain/model/StripeSubscription;Lcom/yumu/noveltranslator/port/out/payment/SubscriptionInfo;Lorg/springframework/transaction/TransactionStatus;)Ljava/lang/Object;" line="312"><counter type="INSTRUCTION" missed="63" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$handleSubscriptionUpdated$5" desc="(Lcom/yumu/noveltranslator/domain/model/StripeSubscription;Lcom/yumu/noveltranslator/port/out/payment/SubscriptionInfo;Lcom/stripe/model/Event;)V" line="329"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$handleCheckoutSessionCompleted$4" desc="(Lcom/stripe/model/Event;Ljava/lang/Long;Lcom/yumu/noveltranslator/enums/SubscriptionPlan;Lcom/yumu/noveltranslator/enums/BillingCycle;Ljava/lang/String;Lcom/yumu/noveltranslator/port/out/payment/SubscriptionInfo;Lcom/yumu/noveltranslator/domain/model/StripeCustomer;Lorg/springframework/transaction/TransactionStatus;)Ljava/lang/Object;" line="292"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$cancelSubscription$3" desc="(Lcom/yumu/noveltranslator/domain/model/StripeSubscription;Lorg/springframework/transaction/TransactionStatus;)Lcom/yumu/noveltranslator/port/dto/subscription/SubscriptionStatusResponse;" line="236"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$upgradeSubscription$2" desc="(Lcom/yumu/noveltranslator/domain/model/StripeSubscription;Lcom/yumu/noveltranslator/port/out/payment/SubscriptionInfo;Ljava/lang/String;Lcom/yumu/noveltranslator/enums/SubscriptionPlan;Lcom/yumu/noveltranslator/enums/BillingCycle;Lorg/springframework/transaction/TransactionStatus;)Ljava/lang/Object;" line="190"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$verifyCheckoutSession$1" desc="(Ljava/util/Map;)Ljava/lang/String;" line="106"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$verifyCheckoutSession$0" desc="(Ljava/util/Map;)Ljava/lang/String;" line="98"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="45"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="650" covered="1636"/><counter type="BRANCH" missed="87" covered="113"/><counter type="LINE" missed="119" covered="365"/><counter type="COMPLEXITY" missed="81" covered="79"/><counter type="METHOD" missed="20" covered="40"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/application/service/CacheAdminApplicationService" sourcefilename="CacheAdminApplicationService.java"><method name="clearAllTranslationCache" desc="()V" line="20"><counter type="INSTRUCTION" missed="10" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/out/TranslationCacheAdminPort;Lcom/yumu/noveltranslator/port/in/RagTranslationPort;)V" line="11"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="12"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="10" covered="13"/><counter type="LINE" missed="4" covered="2"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="1" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/application/service/DocumentApplicationService" sourcefilename="DocumentApplicationService.java"><method name="uploadDocument" desc="(Ljava/lang/Long;Lorg/springframework/web/multipart/MultipartFile;Lcom/yumu/noveltranslator/port/dto/translation/DocumentTranslationRequest;)Lcom/yumu/noveltranslator/domain/model/Document;" line="49"><counter type="INSTRUCTION" missed="100" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="23" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getUserDocuments" desc="(Ljava/lang/Long;Ljava/lang/String;)Ljava/util/List;" line="87"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDocumentById" desc="(Ljava/lang/Long;Ljava/lang/Long;)Lcom/yumu/noveltranslator/domain/model/Document;" line="100"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="deleteDocument" desc="(Ljava/lang/Long;Ljava/lang/Long;)Z" line="107"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="retryTranslation" desc="(Ljava/lang/Long;Ljava/lang/Long;)Z" line="122"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toDocumentInfoResponse" desc="(Lcom/yumu/noveltranslator/domain/model/Document;)Lcom/yumu/noveltranslator/port/dto/entity/DocumentInfoResponse;" line="144"><counter type="INSTRUCTION" missed="1" covered="73"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="1" covered="19"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="uploadAndStartTranslation" desc="(Ljava/lang/Long;Lorg/springframework/web/multipart/MultipartFile;Lcom/yumu/noveltranslator/port/dto/translation/DocumentTranslationRequest;)Lcom/yumu/noveltranslator/port/dto/translation/DocumentTranslationResponse;" line="174"><counter type="INSTRUCTION" missed="55" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="13" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="cancelTranslation" desc="(Ljava/lang/Long;Ljava/lang/Long;)Z" line="202"><counter type="INSTRUCTION" missed="64" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="16" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="resolveProgress" desc="(Lcom/yumu/noveltranslator/domain/model/Document;)I" line="230"><counter type="INSTRUCTION" missed="2" covered="51"/><counter type="BRANCH" missed="2" covered="8"/><counter type="LINE" missed="1" covered="10"/><counter type="COMPLEXITY" missed="2" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getRealProgress" desc="(Lcom/yumu/noveltranslator/domain/model/Document;)I" line="250"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/out/DocumentRepositoryPort;Lcom/yumu/noveltranslator/port/out/TranslationRepositoryPort;Lcom/yumu/noveltranslator/domain/service/TranslationStateMachine;Lcom/yumu/noveltranslator/port/in/CollabPort;Lcom/yumu/noveltranslator/port/in/TranslationTaskPort;)V" line="32"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$getRealProgress$3" desc="(Lcom/yumu/noveltranslator/domain/model/TranslationTask;)Ljava/lang/Integer;" line="252"><counter type="INSTRUCTION" missed="1" covered="9"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$retryTranslation$2" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/domain/model/Document;)Ljava/lang/Boolean;" line="123"><counter type="INSTRUCTION" missed="0" covered="50"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$deleteDocument$1" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/domain/model/Document;)Ljava/lang/Boolean;" line="109"><counter type="INSTRUCTION" missed="1" covered="15"/><counter type="LINE" missed="1" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$getUserDocuments$0" desc="(Ljava/lang/String;Lcom/yumu/noveltranslator/domain/model/Document;)Z" line="90"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="224" covered="300"/><counter type="BRANCH" missed="22" covered="22"/><counter type="LINE" missed="55" covered="63"/><counter type="COMPLEXITY" missed="16" covered="21"/><counter type="METHOD" missed="3" covered="12"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/application/service/AuthApplicationService" sourcefilename="AuthApplicationService.java"><method name="loadUserByUsername" desc="(Ljava/lang/String;)Lorg/springframework/security/core/userdetails/UserDetails;" line="46"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="login" desc="(Lcom/yumu/noveltranslator/port/dto/auth/LoginRequest;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="54"><counter type="INSTRUCTION" missed="0" covered="108"/><counter type="BRANCH" missed="2" covered="10"/><counter type="LINE" missed="0" covered="24"/><counter type="COMPLEXITY" missed="2" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sendVerificationCode" desc="(Ljava/lang/String;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="97"><counter type="INSTRUCTION" missed="0" covered="47"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sendResetCode" desc="(Ljava/lang/String;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="117"><counter type="INSTRUCTION" missed="0" covered="47"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="register" desc="(Lcom/yumu/noveltranslator/port/dto/auth/RegisterRequest;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="135"><counter type="INSTRUCTION" missed="15" covered="166"/><counter type="BRANCH" missed="5" covered="15"/><counter type="LINE" missed="4" covered="40"/><counter type="COMPLEXITY" missed="5" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="refreshToken" desc="(Lcom/yumu/noveltranslator/port/dto/auth/RefreshTokenRequest;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="206"><counter type="INSTRUCTION" missed="3" covered="63"/><counter type="BRANCH" missed="3" covered="5"/><counter type="LINE" missed="1" covered="13"/><counter type="COMPLEXITY" missed="3" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="changePassword" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/port/dto/auth/ChangePasswordRequest;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="236"><counter type="INSTRUCTION" missed="13" covered="57"/><counter type="BRANCH" missed="2" covered="8"/><counter type="LINE" missed="3" covered="12"/><counter type="COMPLEXITY" missed="2" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="resetPassword" desc="(Lcom/yumu/noveltranslator/port/dto/auth/ResetPasswordRequest;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="269"><counter type="INSTRUCTION" missed="13" covered="83"/><counter type="BRANCH" missed="4" covered="12"/><counter type="LINE" missed="3" covered="16"/><counter type="COMPLEXITY" missed="4" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="logout" desc="(Ljava/lang/Long;Ljava/lang/String;Ljava/lang/String;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="308"><counter type="INSTRUCTION" missed="2" covered="35"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="2" covered="9"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isValidEmail" desc="(Ljava/lang/String;)Z" line="335"><counter type="INSTRUCTION" missed="2" covered="9"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getUserById" desc="(Ljava/lang/Long;)Ljava/util/Optional;" line="345"><counter type="INSTRUCTION" missed="5" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/out/UserRepositoryPort;Lcom/yumu/noveltranslator/util/JwtUtils;Lcom/yumu/noveltranslator/port/out/EmailPort;Lcom/yumu/noveltranslator/port/out/UserDetailsFactoryPort;Lcom/yumu/noveltranslator/domain/service/VerificationCodeService;)V" line="35"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="53" covered="654"/><counter type="BRANCH" missed="20" covered="68"/><counter type="LINE" missed="15" covered="142"/><counter type="COMPLEXITY" missed="21" covered="35"/><counter type="METHOD" missed="1" covered="11"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/application/service/CollabCommentApplicationService" sourcefilename="CollabCommentApplicationService.java"><method name="createComment" desc="(Ljava/lang/Long;Ljava/lang/Long;Lcom/yumu/noveltranslator/port/dto/collab/CreateCommentRequest;)Lcom/yumu/noveltranslator/port/dto/collab/CommentResponse;" line="39"><counter type="INSTRUCTION" missed="0" covered="114"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="0" covered="21"/><counter type="COMPLEXITY" missed="1" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCommentsByChapterPage" desc="(Ljava/lang/Long;Ljava/lang/Long;II)Lcom/yumu/noveltranslator/port/dto/common/PageResult;" line="74"><counter type="INSTRUCTION" missed="17" covered="126"/><counter type="BRANCH" missed="3" covered="9"/><counter type="LINE" missed="3" covered="24"/><counter type="COMPLEXITY" missed="3" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="resolveComment" desc="(Ljava/lang/Long;Ljava/lang/Long;)V" line="124"><counter type="INSTRUCTION" missed="12" covered="45"/><counter type="BRANCH" missed="2" covered="4"/><counter type="LINE" missed="2" covered="10"/><counter type="COMPLEXITY" missed="2" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="deleteComment" desc="(Ljava/lang/Long;Ljava/lang/Long;)V" line="144"><counter type="INSTRUCTION" missed="12" covered="52"/><counter type="BRANCH" missed="2" covered="6"/><counter type="LINE" missed="2" covered="11"/><counter type="COMPLEXITY" missed="2" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toCommentResponse" desc="(Lcom/yumu/noveltranslator/domain/model/CollabComment;Ljava/util/Map;)Lcom/yumu/noveltranslator/port/dto/collab/CommentResponse;" line="164"><counter type="INSTRUCTION" missed="0" covered="55"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/out/CollaborationRepositoryPort;Lcom/yumu/noveltranslator/port/out/UserRepositoryPort;)V" line="29"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$getCommentsByChapterPage$2" desc="(Ljava/util/Map;Ljava/util/Map;Lcom/yumu/noveltranslator/domain/model/CollabComment;)Lcom/yumu/noveltranslator/port/dto/collab/CommentResponse;" line="107"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$getCommentsByChapterPage$1" desc="(Ljava/util/Map;Lcom/yumu/noveltranslator/domain/model/CollabComment;)Lcom/yumu/noveltranslator/port/dto/collab/CommentResponse;" line="109"><counter type="INSTRUCTION" missed="5" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$getCommentsByChapterPage$0" desc="(Ljava/util/Map;Ljava/lang/Long;Lcom/yumu/noveltranslator/domain/model/User;)V" line="101"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="28"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="46" covered="436"/><counter type="BRANCH" missed="8" covered="30"/><counter type="LINE" missed="7" covered="88"/><counter type="COMPLEXITY" missed="9" covered="20"/><counter type="METHOD" missed="1" covered="9"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/application/service/ChapterTaskApplicationService$1" sourcefilename="ChapterTaskApplicationService.java"><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/application/service/ChapterTaskApplicationService;Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/Long;)V" line="134"><counter type="INSTRUCTION" missed="15" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="afterCommit" desc="()V" line="137"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="28" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="com/yumu/noveltranslator/application/service/ChapterTaskApplicationService$3" sourcefilename="ChapterTaskApplicationService.java"><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/application/service/ChapterTaskApplicationService;Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/String;Ljava/lang/String;)V" line="243"><counter type="INSTRUCTION" missed="21" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="afterCommit" desc="()V" line="246"><counter type="INSTRUCTION" missed="33" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="54" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="com/yumu/noveltranslator/application/service/ChapterTaskApplicationService$2" sourcefilename="ChapterTaskApplicationService.java"><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/application/service/ChapterTaskApplicationService;Ljava/lang/Long;Ljava/lang/Long;Lcom/yumu/noveltranslator/domain/model/CollabChapterTask;)V" line="182"><counter type="INSTRUCTION" missed="15" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="afterCommit" desc="()V" line="185"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="29" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="com/yumu/noveltranslator/application/service/TranslationApplicationService" sourcefilename="TranslationApplicationService.java"><method name="toLanguageName" desc="(Ljava/lang/String;)Ljava/lang/String;" line="79"><counter type="INSTRUCTION" missed="15" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="selectionTranslate" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/port/dto/translation/SelectionTranslationRequest;)Lcom/yumu/noveltranslator/port/dto/translation/SelectionTranslateResponse;" line="100"><counter type="INSTRUCTION" missed="46" covered="121"/><counter type="BRANCH" missed="11" covered="15"/><counter type="LINE" missed="6" covered="20"/><counter type="COMPLEXITY" missed="8" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="readerTranslate" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/port/dto/translation/ReaderTranslateRequest;)Lcom/yumu/noveltranslator/port/dto/translation/ReaderTranslateResponse;" line="151"><counter type="INSTRUCTION" missed="96" covered="107"/><counter type="BRANCH" missed="15" covered="13"/><counter type="LINE" missed="16" covered="19"/><counter type="COMPLEXITY" missed="9" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="translateSegmentsInParallel" desc="(Ljava/util/List;Ljava/lang/String;Lcom/yumu/noveltranslator/enums/TranslationMode;ZLjava/lang/Long;)Ljava/util/List;" line="223"><counter type="INSTRUCTION" missed="19" covered="218"/><counter type="BRANCH" missed="2" covered="20"/><counter type="LINE" missed="5" covered="40"/><counter type="COMPLEXITY" missed="2" covered="10"/><counter type="METHOD" missed="0" covered="1"/></method><method name="webpageTranslateStream" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/port/dto/translation/WebpageTranslateRequest;)Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;" line="317"><counter type="INSTRUCTION" missed="0" covered="61"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="streamTextTranslate" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/port/dto/translation/SelectionTranslationRequest;)Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;" line="442"><counter type="INSTRUCTION" missed="3" covered="120"/><counter type="BRANCH" missed="4" covered="12"/><counter type="LINE" missed="0" covered="22"/><counter type="COMPLEXITY" missed="4" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCacheStats" desc="()Ljava/util/Map;" line="568"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/out/TranslationClientPort;Lcom/yumu/noveltranslator/port/out/TranslationCachePort;Lcom/yumu/noveltranslator/application/service/RagTranslationApplicationService;Lcom/yumu/noveltranslator/domain/service/EntityConsistencyService;Lcom/yumu/noveltranslator/domain/service/TranslationPostProcessingService;Lcom/yumu/noveltranslator/port/out/TeamTranslationPort;Lcom/yumu/noveltranslator/domain/service/QuotaService;)V" line="45"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$streamTextTranslate$5" desc="(Ljava/lang/String;Lcom/yumu/noveltranslator/enums/TranslationMode;Ljava/lang/Long;Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;Ljava/lang/String;Ljava/lang/String;)V" line="474"><counter type="INSTRUCTION" missed="50" covered="208"/><counter type="BRANCH" missed="10" covered="18"/><counter type="LINE" missed="15" covered="38"/><counter type="COMPLEXITY" missed="9" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$webpageTranslateStream$4" desc="(Lcom/yumu/noveltranslator/port/dto/translation/WebpageTranslateRequest;Ljava/util/List;Ljava/lang/Long;Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;ILjava/lang/String;)V" line="341"><counter type="INSTRUCTION" missed="21" covered="114"/><counter type="BRANCH" missed="2" covered="4"/><counter type="LINE" missed="6" covered="22"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$webpageTranslateStream$3" desc="(Ljava/lang/String;Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;)V" line="402"><counter type="INSTRUCTION" missed="5" covered="9"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="4" covered="4"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$webpageTranslateStream$2" desc="(Ljava/util/concurrent/Semaphore;Lcom/yumu/noveltranslator/port/dto/translation/WebpageTranslateRequest$TextItem;Lcom/yumu/noveltranslator/port/dto/translation/WebpageTranslateRequest;Lcom/yumu/noveltranslator/domain/service/TranslationPipeline;Ljava/lang/String;Lcom/yumu/noveltranslator/enums/TranslationMode;Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;Ljava/util/concurrent/CountDownLatch;)V" line="363"><counter type="INSTRUCTION" missed="2" covered="127"/><counter type="BRANCH" missed="2" covered="14"/><counter type="LINE" missed="0" covered="26"/><counter type="COMPLEXITY" missed="2" covered="7"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$webpageTranslateStream$1" desc="(Lcom/yumu/noveltranslator/port/dto/translation/WebpageTranslateRequest$TextItem;)I" line="322"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$translateSegmentsInParallel$0" desc="(Lcom/yumu/noveltranslator/domain/service/TranslationPipeline;Ljava/lang/String;Ljava/lang/String;Lcom/yumu/noveltranslator/enums/TranslationMode;ZLjava/util/List;II)V" line="262"><counter type="INSTRUCTION" missed="18" covered="21"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="4" covered="5"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="46"><counter type="INSTRUCTION" missed="0" covered="98"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="275" covered="1241"/><counter type="BRANCH" missed="53" covered="111"/><counter type="LINE" missed="59" covered="230"/><counter type="COMPLEXITY" missed="41" covered="56"/><counter type="METHOD" missed="1" covered="14"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/application/service/TranslationTaskApplicationService" sourcefilename="TranslationTaskApplicationService.java"><method name="createDocumentTask" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/domain/model/Document;)Lcom/yumu/noveltranslator/domain/model/TranslationTask;" line="69"><counter type="INSTRUCTION" missed="0" covered="59"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="startDocumentTranslation" desc="(Lcom/yumu/noveltranslator/domain/model/TranslationTask;Lcom/yumu/noveltranslator/domain/model/Document;)V" line="97"><counter type="INSTRUCTION" missed="0" covered="40"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="executeDocumentTranslation" desc="(Lcom/yumu/noveltranslator/domain/model/TranslationTask;Lcom/yumu/noveltranslator/domain/model/Document;)V" line="119"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="readDocumentContent" desc="(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" line="211"><counter type="INSTRUCTION" missed="0" covered="31"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="updateTaskProgress" desc="(Lcom/yumu/noveltranslator/domain/model/TranslationTask;Lcom/yumu/noveltranslator/enums/TranslationStatus;ILjava/lang/String;)V" line="227"><counter type="INSTRUCTION" missed="0" covered="47"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="saveTranslationHistory" desc="(Lcom/yumu/noveltranslator/domain/model/TranslationTask;Ljava/lang/String;Ljava/lang/String;)V" line="246"><counter type="INSTRUCTION" missed="5" covered="66"/><counter type="BRANCH" missed="2" covered="6"/><counter type="LINE" missed="1" covered="17"/><counter type="COMPLEXITY" missed="2" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="loadGlossaryTermsForUser" desc="(Ljava/lang/Long;Ljava/lang/String;)Ljava/util/List;" line="273"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTaskByTaskId" desc="(Ljava/lang/String;)Lcom/yumu/noveltranslator/domain/model/TranslationTask;" line="289"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTaskByDocumentId" desc="(Ljava/lang/Long;)Lcom/yumu/noveltranslator/domain/model/TranslationTask;" line="296"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="cancelTask" desc="(Ljava/lang/String;Ljava/lang/Long;)Z" line="303"><counter type="INSTRUCTION" missed="0" covered="70"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="1"/></method><method name="deleteHistory" desc="(Ljava/lang/String;Ljava/lang/Long;)Z" line="329"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTranslationResult" desc="(Ljava/lang/String;)Lcom/yumu/noveltranslator/port/dto/translation/TranslationResultResponse;" line="341"><counter type="INSTRUCTION" missed="12" covered="164"/><counter type="BRANCH" missed="2" covered="28"/><counter type="LINE" missed="4" covered="36"/><counter type="COMPLEXITY" missed="2" covered="14"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDownloadPath" desc="(Ljava/lang/String;Ljava/lang/Long;)Ljava/lang/String;" line="408"><counter type="INSTRUCTION" missed="0" covered="56"/><counter type="BRANCH" missed="0" covered="14"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTranslationHistory" desc="(Ljava/lang/Long;IILjava/lang/String;)Ljava/util/List;" line="429"><counter type="INSTRUCTION" missed="0" covered="117"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="31"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="countTranslationHistory" desc="(Ljava/lang/Long;Ljava/lang/String;)I" line="486"><counter type="INSTRUCTION" missed="6" covered="9"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="2"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="generateTaskId" desc="()Ljava/lang/String;" line="496"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toTaskStatusResponse" desc="(Lcom/yumu/noveltranslator/domain/model/TranslationTask;)Lcom/yumu/noveltranslator/port/dto/entity/TaskStatusResponse;" line="503"><counter type="INSTRUCTION" missed="0" covered="60"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toHistoryResponse" desc="(Lcom/yumu/noveltranslator/domain/model/TranslationHistory;)Lcom/yumu/noveltranslator/port/dto/entity/TranslationHistoryResponse;" line="529"><counter type="INSTRUCTION" missed="5" covered="160"/><counter type="BRANCH" missed="5" covered="25"/><counter type="LINE" missed="2" covered="33"/><counter type="COMPLEXITY" missed="5" covered="11"/><counter type="METHOD" missed="0" covered="1"/></method><method name="streamTranslateDocumentById" desc="(Ljava/lang/Long;Ljava/lang/String;Ljava/lang/String;)Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;" line="589"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="streamTranslateDocument" desc="(Lorg/springframework/web/multipart/MultipartFile;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;" line="720"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="readMultipartFileContent" desc="(Lorg/springframework/web/multipart/MultipartFile;Ljava/lang/String;)Ljava/lang/String;" line="813"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTrailingNewline" desc="(Ljava/lang/String;)Ljava/lang/String;" line="828"><counter type="INSTRUCTION" missed="31" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="cleanupStuckTasks" desc="()V" line="848"><counter type="INSTRUCTION" missed="0" covered="75"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="shutdown" desc="()V" line="874"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/out/TranslationRepositoryPort;Lcom/yumu/noveltranslator/port/out/DocumentRepositoryPort;Lcom/yumu/noveltranslator/port/out/GlossaryRepositoryPort;Lcom/yumu/noveltranslator/domain/service/TranslationStateMachine;Lcom/yumu/noveltranslator/port/out/TranslationClientPort;Lcom/yumu/noveltranslator/port/out/TranslationCachePort;Lcom/yumu/noveltranslator/application/service/RagTranslationApplicationService;Lcom/yumu/noveltranslator/domain/service/EntityConsistencyService;Lcom/yumu/noveltranslator/domain/service/TranslationPostProcessingService;)V" line="51"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$streamTranslateDocument$7" desc="(Lorg/springframework/web/multipart/MultipartFile;Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;Ljava/lang/String;Ljava/lang/String;Lcom/fasterxml/jackson/databind/ObjectMapper;)V" line="725"><counter type="INSTRUCTION" missed="60" covered="199"/><counter type="BRANCH" missed="5" covered="21"/><counter type="LINE" missed="12" covered="46"/><counter type="COMPLEXITY" missed="5" covered="9"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$streamTranslateDocumentById$6" desc="(Ljava/lang/Long;Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;Ljava/lang/String;Ljava/lang/String;Lcom/fasterxml/jackson/databind/ObjectMapper;)V" line="594"><counter type="INSTRUCTION" missed="68" covered="320"/><counter type="BRANCH" missed="5" covered="25"/><counter type="LINE" missed="14" covered="69"/><counter type="COMPLEXITY" missed="5" covered="11"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$getTranslationHistory$5" desc="(Ljava/lang/String;Lcom/yumu/noveltranslator/domain/model/TranslationHistory;)Z" line="474"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$getTranslationHistory$4" desc="(Lcom/yumu/noveltranslator/domain/model/TranslationHistory;Lcom/yumu/noveltranslator/domain/model/TranslationHistory;)I" line="465"><counter type="INSTRUCTION" missed="4" covered="12"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$getTranslationHistory$3" desc="(Lcom/yumu/noveltranslator/domain/model/TranslationHistory;Lcom/yumu/noveltranslator/domain/model/TranslationHistory;)Lcom/yumu/noveltranslator/domain/model/TranslationHistory;" line="460"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$getTranslationHistory$2" desc="(Lcom/yumu/noveltranslator/domain/model/TranslationHistory;)Lcom/yumu/noveltranslator/domain/model/TranslationHistory;" line="459"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$loadGlossaryTermsForUser$1" desc="(Ljava/lang/String;Lcom/yumu/noveltranslator/domain/model/Glossary;)Z" line="277"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$executeDocumentTranslation$0" desc="(Lcom/yumu/noveltranslator/domain/model/Document;Lcom/yumu/noveltranslator/domain/model/TranslationTask;)V" line="122"><counter type="INSTRUCTION" missed="72" covered="196"/><counter type="BRANCH" missed="14" covered="10"/><counter type="LINE" missed="13" covered="42"/><counter type="COMPLEXITY" missed="10" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="53"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="263" covered="1873"/><counter type="BRANCH" missed="46" covered="192"/><counter type="LINE" missed="57" covered="418"/><counter type="COMPLEXITY" missed="38" covered="115"/><counter type="METHOD" missed="1" covered="33"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/application/service/SubscriptionApplicationService$SessionInfo" sourcefilename="SubscriptionApplicationService.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V" line="710"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/application/service/UserApplicationService" sourcefilename="UserApplicationService.java"><method name="updateUser" desc="(Lcom/yumu/noveltranslator/domain/model/User;)V" line="51"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getUserStatistics" desc="(Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/entity/UserStatisticsResponse;" line="58"><counter type="INSTRUCTION" missed="0" covered="77"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getUserQuota" desc="(Lcom/yumu/noveltranslator/domain/model/User;)Lcom/yumu/noveltranslator/port/dto/entity/UserQuotaResponse;" line="84"><counter type="INSTRUCTION" missed="5" covered="104"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="1" covered="21"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getGlossaryList" desc="(Ljava/lang/Long;IILjava/lang/String;)Lcom/yumu/noveltranslator/port/dto/common/PageResponse;" line="120"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getGlossaryDetail" desc="(Ljava/lang/Long;Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/translation/GlossaryResponse;" line="133"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getGlossaryTerms" desc="(Ljava/lang/Long;)Ljava/util/List;" line="144"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="fetchAllGlossaries" desc="(Ljava/lang/Long;)Ljava/util/List;" line="148"><counter type="INSTRUCTION" missed="12" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createGlossaryItem" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/port/dto/translation/GlossaryItemRequest;)Lcom/yumu/noveltranslator/port/dto/translation/GlossaryResponse;" line="157"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="updateGlossaryItem" desc="(Ljava/lang/Long;Ljava/lang/Long;Lcom/yumu/noveltranslator/port/dto/translation/GlossaryItemRequest;)Lcom/yumu/noveltranslator/port/dto/translation/GlossaryResponse;" line="171"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="deleteGlossaryItem" desc="(Ljava/lang/Long;Ljava/lang/Long;)Z" line="193"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="batchImportGlossaryItems" desc="(Ljava/lang/Long;Ljava/util/List;)I" line="204"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getUserPreferences" desc="(Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/entity/UserPreferencesResponse;" line="220"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="updateUserPreferences" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/port/dto/entity/UserPreferencesRequest;)Lcom/yumu/noveltranslator/port/dto/entity/UserPreferencesResponse;" line="229"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getPlatformStats" desc="()Lcom/yumu/noveltranslator/port/dto/entity/PlatformStatsResponse;" line="260"><counter type="INSTRUCTION" missed="0" covered="82"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTranslationHistory" desc="(Ljava/lang/Long;IILjava/lang/String;)Lcom/yumu/noveltranslator/port/dto/common/PageResponse;" line="292"><counter type="INSTRUCTION" missed="35" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="buildDefaultPreferences" desc="()Lcom/yumu/noveltranslator/port/dto/entity/UserPreferencesResponse;" line="303"><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toPreferencesResponse" desc="(Lcom/yumu/noveltranslator/domain/model/UserPreference;)Lcom/yumu/noveltranslator/port/dto/entity/UserPreferencesResponse;" line="316"><counter type="INSTRUCTION" missed="0" covered="38"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toGlossaryResponse" desc="(Lcom/yumu/noveltranslator/domain/model/Glossary;)Lcom/yumu/noveltranslator/port/dto/translation/GlossaryResponse;" line="329"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/out/UserRepositoryPort;Lcom/yumu/noveltranslator/port/out/TranslationRepositoryPort;Lcom/yumu/noveltranslator/port/out/GlossaryRepositoryPort;Lcom/yumu/noveltranslator/properties/TranslationLimitProperties;Lcom/yumu/noveltranslator/domain/service/QuotaService;Lcom/yumu/noveltranslator/port/in/TranslationTaskPort;)V" line="37"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$updateUserPreferences$8" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/port/dto/entity/UserPreferencesRequest;)Lcom/yumu/noveltranslator/port/dto/entity/UserPreferencesResponse;" line="241"><counter type="INSTRUCTION" missed="4" covered="86"/><counter type="BRANCH" missed="1" covered="13"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="1" covered="7"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$updateUserPreferences$7" desc="(Lcom/yumu/noveltranslator/port/dto/entity/UserPreferencesRequest;Lcom/yumu/noveltranslator/domain/model/UserPreference;)Lcom/yumu/noveltranslator/port/dto/entity/UserPreferencesResponse;" line="230"><counter type="INSTRUCTION" missed="24" covered="40"/><counter type="BRANCH" missed="8" covered="8"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="8" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$deleteGlossaryItem$6" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/domain/model/Glossary;)Z" line="195"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$deleteGlossaryItem$5" desc="(Lcom/yumu/noveltranslator/domain/model/Glossary;)Z" line="194"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$updateGlossaryItem$4" desc="(Lcom/yumu/noveltranslator/port/dto/translation/GlossaryItemRequest;Lcom/yumu/noveltranslator/domain/model/Glossary;)Lcom/yumu/noveltranslator/port/dto/translation/GlossaryResponse;" line="175"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$updateGlossaryItem$3" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/domain/model/Glossary;)Z" line="173"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$updateGlossaryItem$2" desc="(Lcom/yumu/noveltranslator/domain/model/Glossary;)Z" line="172"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$getGlossaryDetail$1" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/domain/model/Glossary;)Z" line="135"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$getGlossaryDetail$0" desc="(Lcom/yumu/noveltranslator/domain/model/Glossary;)Z" line="134"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="84" covered="753"/><counter type="BRANCH" missed="14" covered="44"/><counter type="LINE" missed="11" covered="153"/><counter type="COMPLEXITY" missed="17" covered="40"/><counter type="METHOD" missed="3" covered="25"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/application/service/ChapterTaskApplicationService" sourcefilename="ChapterTaskApplicationService.java"><method name="createChapter" desc="(Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/collab/ChapterTaskResponse;" line="51"><counter type="INSTRUCTION" missed="0" covered="61"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="listByProjectId" desc="(Ljava/lang/Long;II)Lcom/yumu/noveltranslator/port/dto/common/PageResponse;" line="76"><counter type="INSTRUCTION" missed="23" covered="60"/><counter type="BRANCH" missed="3" covered="5"/><counter type="LINE" missed="2" covered="12"/><counter type="COMPLEXITY" missed="3" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getChapterById" desc="(Ljava/lang/Long;Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/collab/ChapterTaskResponse;" line="99"><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="assignChapter" desc="(Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/collab/ChapterTaskResponse;" line="115"><counter type="INSTRUCTION" missed="48" covered="31"/><counter type="BRANCH" missed="5" covered="3"/><counter type="LINE" missed="11" covered="5"/><counter type="COMPLEXITY" missed="4" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="submitChapter" desc="(Ljava/lang/Long;Ljava/lang/String;)Lcom/yumu/noveltranslator/port/dto/collab/ChapterTaskResponse;" line="151"><counter type="INSTRUCTION" missed="37" covered="63"/><counter type="BRANCH" missed="5" covered="5"/><counter type="LINE" missed="9" covered="16"/><counter type="COMPLEXITY" missed="4" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="reviewChapter" desc="(Ljava/lang/Long;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/collab/ChapterTaskResponse;" line="199"><counter type="INSTRUCTION" missed="28" covered="115"/><counter type="BRANCH" missed="5" covered="11"/><counter type="LINE" missed="4" covered="27"/><counter type="COMPLEXITY" missed="4" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="listByAssigneeId" desc="(Ljava/lang/Long;II)Lcom/yumu/noveltranslator/port/dto/common/PageResponse;" line="261"><counter type="INSTRUCTION" missed="5" covered="83"/><counter type="BRANCH" missed="2" covered="6"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="2" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="updateProjectProgress" desc="(Ljava/lang/Long;)V" line="286"><counter type="INSTRUCTION" missed="6" covered="53"/><counter type="BRANCH" missed="3" covered="3"/><counter type="LINE" missed="3" covered="14"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toChapterResponse" desc="(Lcom/yumu/noveltranslator/domain/model/CollabChapterTask;)Lcom/yumu/noveltranslator/port/dto/collab/ChapterTaskResponse;" line="312"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toChapterResponse" desc="(Lcom/yumu/noveltranslator/domain/model/CollabChapterTask;Ljava/util/Map;)Lcom/yumu/noveltranslator/port/dto/collab/ChapterTaskResponse;" line="316"><counter type="INSTRUCTION" missed="8" covered="114"/><counter type="BRANCH" missed="4" covered="8"/><counter type="LINE" missed="2" covered="28"/><counter type="COMPLEXITY" missed="4" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/out/CollaborationRepositoryPort;Lcom/yumu/noveltranslator/port/out/UserRepositoryPort;Lcom/yumu/noveltranslator/domain/service/CollabStateMachine;Lcom/yumu/noveltranslator/domain/service/CollabEventPublisher;)V" line="38"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$updateProjectProgress$4" desc="(Lcom/yumu/noveltranslator/domain/model/CollabChapterTask;)Z" line="292"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$listByAssigneeId$3" desc="(Ljava/util/Map;Lcom/yumu/noveltranslator/domain/model/CollabChapterTask;)Lcom/yumu/noveltranslator/port/dto/collab/ChapterTaskResponse;" line="277"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$listByAssigneeId$2" desc="(Ljava/util/Map;Ljava/lang/Long;Lcom/yumu/noveltranslator/domain/model/User;)V" line="273"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$listByProjectId$1" desc="(Ljava/util/Map;Lcom/yumu/noveltranslator/domain/model/CollabChapterTask;)Lcom/yumu/noveltranslator/port/dto/collab/ChapterTaskResponse;" line="90"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$listByProjectId$0" desc="(Ljava/util/Map;Ljava/lang/Long;Lcom/yumu/noveltranslator/domain/model/User;)V" line="86"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="37"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="167" covered="656"/><counter type="BRANCH" missed="28" covered="48"/><counter type="LINE" missed="31" covered="142"/><counter type="COMPLEXITY" missed="27" covered="28"/><counter type="METHOD" missed="2" covered="15"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/application/service/SubscriptionApplicationService$1" sourcefilename="SubscriptionApplicationService.java"><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/application/service/SubscriptionApplicationService;)V" line="74"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getPropagationBehavior" desc="()I" line="75"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getIsolationLevel" desc="()I" line="76"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTimeout" desc="()I" line="77"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isReadOnly" desc="()Z" line="78"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getName" desc="()Ljava/lang/String;" line="79"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/application/service/SubscriptionApplicationService$2" sourcefilename="SubscriptionApplicationService.java"><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/application/service/SubscriptionApplicationService;Ljava/lang/Runnable;)V" line="847"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="afterCommit" desc="()V" line="850"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="10" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="com/yumu/noveltranslator/application/service/CollabProjectApplicationService" sourcefilename="CollabProjectApplicationService.java"><method name="createProject" desc="(Lcom/yumu/noveltranslator/port/dto/collab/CreateCollabProjectRequest;Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/collab/CollabProjectResponse;" line="69"><counter type="INSTRUCTION" missed="0" covered="83"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createProjectFromDocument" desc="(Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/yumu/noveltranslator/port/in/CollabPort$TeamProjectCreateResult;" line="101"><counter type="INSTRUCTION" missed="15" covered="27"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="3" covered="5"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="doCreateProject" desc="(Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)Lcom/yumu/noveltranslator/port/in/CollabPort$TeamProjectCreateResult;" line="117"><counter type="INSTRUCTION" missed="0" covered="58"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createProjectAndOwner" desc="(Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/yumu/noveltranslator/domain/model/CollabProject;" line="142"><counter type="INSTRUCTION" missed="0" covered="65"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="18"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addChaptersToProject" desc="(Ljava/lang/Long;Ljava/lang/Long;Lcom/yumu/noveltranslator/domain/model/Document;)I" line="169"><counter type="INSTRUCTION" missed="76" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="14" covered="0"/><counter type="COMPLEXITY" missed="6" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="doAddChaptersToProject" desc="(Lcom/yumu/noveltranslator/domain/model/CollabProject;Lcom/yumu/noveltranslator/domain/model/Document;Ljava/util/List;)I" line="198"><counter type="INSTRUCTION" missed="114" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="startMultiAgentTranslation" desc="(Ljava/lang/Long;)V" line="236"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="splitIntoChapters" desc="(Ljava/lang/String;)Ljava/util/List;" line="243"><counter type="INSTRUCTION" missed="19" covered="160"/><counter type="BRANCH" missed="9" covered="17"/><counter type="LINE" missed="3" covered="35"/><counter type="COMPLEXITY" missed="8" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getProjectById" desc="(Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/collab/CollabProjectResponse;" line="316"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="listByUserId" desc="(Ljava/lang/Long;II)Lcom/yumu/noveltranslator/port/dto/common/PageResponse;" line="328"><counter type="INSTRUCTION" missed="0" covered="66"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="updateProject" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/port/dto/collab/CreateCollabProjectRequest;Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/collab/CollabProjectResponse;" line="351"><counter type="INSTRUCTION" missed="0" covered="41"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="changeProjectStatus" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/enums/CollabProjectStatus;Ljava/lang/Long;)V" line="370"><counter type="INSTRUCTION" missed="0" covered="55"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="generateInviteCode" desc="(Ljava/lang/Long;Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/in/CollabPort$InviteCodeResult;" line="390"><counter type="INSTRUCTION" missed="0" covered="68"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="generateRandomInviteCode" desc="()Ljava/lang/String;" line="410"><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="inviteMember" desc="(Ljava/lang/Long;Lcom/yumu/noveltranslator/port/dto/collab/InviteMemberRequest;Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/collab/ProjectMemberResponse;" line="427"><counter type="INSTRUCTION" missed="0" covered="93"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="joinByInviteCode" desc="(Ljava/lang/String;Ljava/lang/Long;)Lcom/yumu/noveltranslator/port/dto/collab/ProjectMemberResponse;" line="456"><counter type="INSTRUCTION" missed="12" covered="154"/><counter type="BRANCH" missed="2" covered="12"/><counter type="LINE" missed="2" covered="31"/><counter type="COMPLEXITY" missed="2" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getMembers" desc="(Ljava/lang/Long;II)Lcom/yumu/noveltranslator/port/dto/common/PageResponse;" line="513"><counter type="INSTRUCTION" missed="0" covered="106"/><counter type="BRANCH" missed="1" covered="7"/><counter type="LINE" missed="0" covered="21"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="removeMember" desc="(Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/Long;)V" line="545"><counter type="INSTRUCTION" missed="0" covered="41"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="deleteProject" desc="(Ljava/lang/Long;Ljava/lang/Long;)V" line="563"><counter type="INSTRUCTION" missed="0" covered="79"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toProjectResponse" desc="(Lcom/yumu/noveltranslator/domain/model/CollabProject;)Lcom/yumu/noveltranslator/port/dto/collab/CollabProjectResponse;" line="584"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toProjectResponse" desc="(Lcom/yumu/noveltranslator/domain/model/CollabProject;Ljava/util/Map;)Lcom/yumu/noveltranslator/port/dto/collab/CollabProjectResponse;" line="588"><counter type="INSTRUCTION" missed="0" covered="79"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="19"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="batchLoadOwnerUsers" desc="(Ljava/util/List;)Ljava/util/Map;" line="615"><counter type="INSTRUCTION" missed="0" covered="48"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toMemberResponse" desc="(Lcom/yumu/noveltranslator/domain/model/CollabProjectMember;Lcom/yumu/noveltranslator/domain/model/User;)Lcom/yumu/noveltranslator/port/dto/collab/ProjectMemberResponse;" line="627"><counter type="INSTRUCTION" missed="0" covered="40"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/out/CollaborationRepositoryPort;Lcom/yumu/noveltranslator/port/out/DocumentRepositoryPort;Lcom/yumu/noveltranslator/port/out/UserRepositoryPort;Lcom/yumu/noveltranslator/domain/service/CollabStateMachine;Lcom/yumu/noveltranslator/domain/service/MultiAgentTranslationService;Lorg/springframework/context/ApplicationEventPublisher;)V" line="54"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$batchLoadOwnerUsers$4" desc="(Ljava/util/Map;Ljava/lang/Long;Lcom/yumu/noveltranslator/domain/model/User;)V" line="621"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$getMembers$3" desc="(Ljava/util/Map;Lcom/yumu/noveltranslator/domain/model/CollabProjectMember;)Lcom/yumu/noveltranslator/port/dto/collab/ProjectMemberResponse;" line="535"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$getMembers$2" desc="(Ljava/util/Map;Ljava/lang/Long;Lcom/yumu/noveltranslator/domain/model/User;)V" line="531"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$listByUserId$1" desc="(Ljava/util/Map;Lcom/yumu/noveltranslator/domain/model/CollabProject;)Lcom/yumu/noveltranslator/port/dto/collab/CollabProjectResponse;" line="338"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$doCreateProject$0" desc="(Lcom/yumu/noveltranslator/domain/model/Document;)V" line="124"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="53"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="236" covered="1396"/><counter type="BRANCH" missed="29" covered="83"/><counter type="LINE" missed="48" covered="279"/><counter type="COMPLEXITY" missed="23" covered="63"/><counter type="METHOD" missed="2" covered="28"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/application/service/RagTranslationApplicationService" sourcefilename="RagTranslationApplicationService.java"><method name="searchSimilarWithModes" desc="(Ljava/lang/Long;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Lcom/yumu/noveltranslator/port/dto/translation/RagTranslationResponse;" line="59"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="storeTranslationMemory" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/String;)V" line="68"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="doSearch" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/util/List;)Lcom/yumu/noveltranslator/port/dto/translation/RagTranslationResponse;" line="74"><counter type="INSTRUCTION" missed="0" covered="123"/><counter type="BRANCH" missed="1" covered="13"/><counter type="LINE" missed="0" covered="27"/><counter type="COMPLEXITY" missed="1" covered="7"/><counter type="METHOD" missed="0" covered="1"/></method><method name="doStore" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/String;)V" line="118"><counter type="INSTRUCTION" missed="4" covered="96"/><counter type="BRANCH" missed="3" covered="9"/><counter type="LINE" missed="2" covered="16"/><counter type="COMPLEXITY" missed="3" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toRagMatches" desc="(Ljava/util/List;)Ljava/util/List;" line="154"><counter type="INSTRUCTION" missed="0" covered="44"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="searchFallback" desc="([FLjava/lang/Long;Ljava/lang/String;Ljava/util/List;)Ljava/util/List;" line="171"><counter type="INSTRUCTION" missed="7" covered="86"/><counter type="BRANCH" missed="5" covered="13"/><counter type="LINE" missed="2" covered="21"/><counter type="COMPLEXITY" missed="4" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="cosineSimilarity" desc="([FLjava/util/List;)D" line="211"><counter type="INSTRUCTION" missed="0" covered="70"/><counter type="BRANCH" missed="1" covered="7"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="rejectQuality" desc="(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" line="238"><counter type="INSTRUCTION" missed="0" covered="180"/><counter type="BRANCH" missed="3" covered="23"/><counter type="LINE" missed="0" covered="25"/><counter type="COMPLEXITY" missed="3" covered="11"/><counter type="METHOD" missed="0" covered="1"/></method><method name="clearAllTranslationMemory" desc="()V" line="283"><counter type="INSTRUCTION" missed="27" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="buildEmptyResponse" desc="()Lcom/yumu/noveltranslator/port/dto/translation/RagTranslationResponse;" line="297"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/out/EmbeddingPort;Lcom/yumu/noveltranslator/domain/service/TranslationMemoryService;Lcom/yumu/noveltranslator/port/out/VectorStorePort;)V" line="29"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$searchFallback$0" desc="(Lcom/yumu/noveltranslator/port/out/VectorSearchResult;Lcom/yumu/noveltranslator/port/out/VectorSearchResult;)I" line="199"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="28"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="44" covered="653"/><counter type="BRANCH" missed="13" covered="69"/><counter type="LINE" missed="15" covered="125"/><counter type="COMPLEXITY" missed="14" covered="40"/><counter type="METHOD" missed="2" covered="11"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="ApiKeyApplicationService.java"><line nr="16" mi="0" ci="9" mb="0" cb="0"/><line nr="22" mi="0" ci="5" mb="0" cb="0"/><line nr="27" mi="4" ci="0" mb="0" cb="0"/><line nr="28" mi="3" ci="0" mb="0" cb="0"/><line nr="29" mi="4" ci="0" mb="0" cb="0"/><line nr="30" mi="3" ci="0" mb="0" cb="0"/><line nr="31" mi="4" ci="0" mb="0" cb="0"/><line nr="32" mi="4" ci="0" mb="0" cb="0"/><line nr="33" mi="3" ci="0" mb="0" cb="0"/><line nr="35" mi="4" ci="0" mb="0" cb="0"/><line nr="36" mi="2" ci="0" mb="0" cb="0"/><line nr="41" mi="5" ci="0" mb="0" cb="0"/><line nr="42" mi="6" ci="0" mb="0" cb="0"/><line nr="43" mi="7" ci="0" mb="0" cb="0"/><line nr="44" mi="9" ci="0" mb="0" cb="0"/><line nr="45" mi="11" ci="0" mb="0" cb="0"/><line nr="50" mi="7" ci="0" mb="0" cb="0"/><line nr="51" mi="9" ci="0" mb="0" cb="0"/><line nr="52" mi="2" ci="0" mb="0" cb="0"/><line nr="53" mi="5" ci="0" mb="0" cb="0"/><line nr="54" mi="4" ci="0" mb="0" cb="0"/><line nr="55" mi="3" ci="0" mb="0" cb="0"/><line nr="56" mi="4" ci="0" mb="0" cb="0"/><line nr="61" mi="7" ci="0" mb="0" cb="0"/><line nr="62" mi="8" ci="0" mb="0" cb="0"/><line nr="63" mi="2" ci="0" mb="0" cb="0"/><line nr="64" mi="5" ci="0" mb="0" cb="0"/><line nr="65" mi="4" ci="0" mb="0" cb="0"/><line nr="66" mi="4" ci="0" mb="0" cb="0"/><line nr="67" mi="4" ci="0" mb="0" cb="0"/><line nr="68" mi="2" ci="0" mb="0" cb="0"/><line nr="69" mi="2" ci="0" mb="0" cb="0"/><line nr="74" mi="7" ci="0" mb="0" cb="0"/><line nr="75" mi="7" ci="0" mb="0" cb="0"/><line nr="76" mi="2" ci="0" mb="0" cb="0"/><line nr="80" mi="5" ci="0" mb="0" cb="0"/><line nr="81" mi="7" ci="0" mb="2" cb="0"/><line nr="82" mi="9" ci="0" mb="0" cb="0"/><line nr="84" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="181" covered="14"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="37" covered="2"/><counter type="COMPLEXITY" missed="12" covered="2"/><counter type="METHOD" missed="11" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="CollabCommentApplicationService.java"><line nr="28" mi="0" ci="4" mb="0" cb="0"/><line nr="29" mi="0" ci="9" mb="0" cb="0"/><line nr="39" mi="0" ci="5" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="2"/><line nr="41" mi="0" ci="7" mb="0" cb="0"/><line nr="43" mi="0" ci="9" mb="0" cb="0"/><line nr="44" mi="0" ci="2" mb="0" cb="2"/><line nr="45" mi="0" ci="6" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="2"/><line nr="50" mi="0" ci="6" mb="0" cb="0"/><line nr="51" mi="0" ci="10" mb="1" cb="3"/><line nr="52" mi="0" ci="6" mb="0" cb="0"/><line nr="56" mi="0" ci="4" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="4" mb="0" cb="0"/><line nr="60" mi="0" ci="4" mb="0" cb="0"/><line nr="61" mi="0" ci="4" mb="0" cb="0"/><line nr="62" mi="0" ci="4" mb="0" cb="0"/><line nr="63" mi="0" ci="4" mb="0" cb="0"/><line nr="64" mi="0" ci="4" mb="0" cb="0"/><line nr="66" mi="0" ci="18" mb="0" cb="0"/><line nr="67" mi="0" ci="5" mb="0" cb="0"/><line nr="74" mi="0" ci="5" mb="0" cb="0"/><line nr="75" mi="0" ci="3" mb="1" cb="1"/><line nr="76" mi="7" ci="0" mb="0" cb="0"/><line nr="78" mi="0" ci="9" mb="0" cb="0"/><line nr="79" mi="0" ci="2" mb="0" cb="2"/><line nr="80" mi="0" ci="6" mb="0" cb="0"/><line nr="84" mi="0" ci="7" mb="0" cb="0"/><line nr="87" mi="0" ci="4" mb="0" cb="0"/><line nr="88" mi="0" ci="4" mb="0" cb="0"/><line nr="89" mi="0" ci="11" mb="0" cb="2"/><line nr="90" mi="0" ci="5" mb="0" cb="0"/><line nr="91" mi="0" ci="6" mb="0" cb="0"/><line nr="92" mi="0" ci="6" mb="0" cb="0"/><line nr="93" mi="4" ci="6" mb="1" cb="1"/><line nr="94" mi="5" ci="0" mb="0" cb="0"/><line nr="95" mi="1" ci="0" mb="0" cb="0"/><line nr="96" mi="0" ci="1" mb="0" cb="0"/><line nr="98" mi="0" ci="4" mb="0" cb="0"/><line nr="99" mi="0" ci="3" mb="1" cb="1"/><line nr="100" mi="0" ci="10" mb="0" cb="2"/><line nr="101" mi="0" ci="14" mb="0" cb="0"/><line nr="102" mi="0" ci="1" mb="0" cb="0"/><line nr="105" mi="0" ci="7" mb="0" cb="0"/><line nr="106" mi="0" ci="1" mb="0" cb="0"/><line nr="107" mi="0" ci="5" mb="0" cb="0"/><line nr="108" mi="0" ci="10" mb="0" cb="0"/><line nr="109" mi="5" ci="1" mb="0" cb="0"/><line nr="110" mi="0" ci="4" mb="0" cb="0"/><line nr="111" mi="0" ci="3" mb="0" cb="0"/><line nr="112" mi="0" ci="2" mb="0" cb="0"/><line nr="114" mi="0" ci="4" mb="0" cb="0"/><line nr="116" mi="0" ci="11" mb="0" cb="0"/><line nr="117" mi="0" ci="2" mb="0" cb="0"/><line nr="124" mi="0" ci="8" mb="0" cb="0"/><line nr="125" mi="0" ci="2" mb="0" cb="2"/><line nr="126" mi="0" ci="6" mb="0" cb="0"/><line nr="128" mi="0" ci="6" mb="0" cb="0"/><line nr="129" mi="0" ci="3" mb="1" cb="1"/><line nr="130" mi="6" ci="0" mb="0" cb="0"/><line nr="132" mi="0" ci="9" mb="0" cb="0"/><line nr="133" mi="0" ci="2" mb="1" cb="1"/><line nr="134" mi="6" ci="0" mb="0" cb="0"/><line nr="136" mi="0" ci="4" mb="0" cb="0"/><line nr="137" mi="0" ci="4" mb="0" cb="0"/><line nr="138" mi="0" ci="1" mb="0" cb="0"/><line nr="144" mi="0" ci="8" mb="0" cb="0"/><line nr="145" mi="0" ci="2" mb="0" cb="2"/><line nr="146" mi="0" ci="6" mb="0" cb="0"/><line nr="148" mi="0" ci="6" mb="0" cb="0"/><line nr="149" mi="0" ci="3" mb="1" cb="1"/><line nr="150" mi="6" ci="0" mb="0" cb="0"/><line nr="152" mi="0" ci="9" mb="0" cb="0"/><line nr="153" mi="0" ci="2" mb="1" cb="1"/><line nr="154" mi="6" ci="0" mb="0" cb="0"/><line nr="157" mi="0" ci="5" mb="0" cb="2"/><line nr="158" mi="0" ci="6" mb="0" cb="0"/><line nr="160" mi="0" ci="4" mb="0" cb="0"/><line nr="161" mi="0" ci="1" mb="0" cb="0"/><line nr="164" mi="0" ci="4" mb="0" cb="0"/><line nr="165" mi="0" ci="4" mb="0" cb="0"/><line nr="166" mi="0" ci="4" mb="0" cb="0"/><line nr="167" mi="0" ci="4" mb="0" cb="0"/><line nr="168" mi="0" ci="4" mb="0" cb="0"/><line nr="169" mi="0" ci="4" mb="0" cb="0"/><line nr="170" mi="0" ci="4" mb="0" cb="0"/><line nr="171" mi="0" ci="4" mb="0" cb="0"/><line nr="173" mi="0" ci="6" mb="0" cb="0"/><line nr="174" mi="0" ci="2" mb="0" cb="2"/><line nr="175" mi="0" ci="4" mb="0" cb="0"/><line nr="176" mi="0" ci="4" mb="0" cb="0"/><line nr="178" mi="0" ci="5" mb="0" cb="0"/><line nr="179" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="46" covered="436"/><counter type="BRANCH" missed="8" covered="30"/><counter type="LINE" missed="7" covered="88"/><counter type="COMPLEXITY" missed="9" covered="20"/><counter type="METHOD" missed="1" covered="9"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ChapterTaskApplicationService.java"><line nr="37" mi="0" ci="4" mb="0" cb="0"/><line nr="38" mi="0" ci="15" mb="0" cb="0"/><line nr="51" mi="0" ci="8" mb="0" cb="0"/><line nr="52" mi="0" ci="2" mb="0" cb="2"/><line nr="53" mi="0" ci="7" mb="0" cb="0"/><line nr="56" mi="0" ci="4" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><line nr="61" mi="0" ci="4" mb="0" cb="0"/><line nr="62" mi="0" ci="4" mb="0" cb="0"/><line nr="63" mi="0" ci="2" mb="1" cb="1"/><line nr="64" mi="0" ci="5" mb="0" cb="0"/><line nr="66" mi="0" ci="4" mb="0" cb="0"/><line nr="68" mi="0" ci="5" mb="0" cb="0"/><line nr="69" mi="0" ci="4" mb="0" cb="0"/><line nr="76" mi="0" ci="7" mb="0" cb="0"/><line nr="79" mi="0" ci="4" mb="0" cb="0"/><line nr="80" mi="0" ci="11" mb="0" cb="2"/><line nr="81" mi="5" ci="3" mb="1" cb="1"/><line nr="82" mi="5" ci="3" mb="1" cb="1"/><line nr="83" mi="0" ci="1" mb="0" cb="0"/><line nr="84" mi="0" ci="4" mb="0" cb="0"/><line nr="85" mi="4" ci="6" mb="1" cb="1"/><line nr="86" mi="14" ci="0" mb="0" cb="0"/><line nr="87" mi="1" ci="0" mb="0" cb="0"/><line nr="89" mi="0" ci="6" mb="0" cb="0"/><line nr="90" mi="0" ci="6" mb="0" cb="0"/><line nr="91" mi="0" ci="4" mb="0" cb="0"/><line nr="92" mi="0" ci="10" mb="0" cb="0"/><line nr="99" mi="0" ci="8" mb="0" cb="0"/><line nr="100" mi="0" ci="2" mb="0" cb="2"/><line nr="101" mi="0" ci="7" mb="0" cb="0"/><line nr="103" mi="0" ci="7" mb="0" cb="0"/><line nr="104" mi="0" ci="2" mb="0" cb="2"/><line nr="105" mi="0" ci="6" mb="0" cb="0"/><line nr="107" mi="0" ci="4" mb="0" cb="0"/><line nr="115" mi="0" ci="8" mb="0" cb="0"/><line nr="116" mi="0" ci="2" mb="1" cb="1"/><line nr="117" mi="7" ci="0" mb="0" cb="0"/><line nr="120" mi="0" ci="7" mb="0" cb="0"/><line nr="121" mi="0" ci="8" mb="2" cb="2"/><line nr="122" mi="0" ci="6" mb="0" cb="0"/><line nr="125" mi="5" ci="0" mb="0" cb="0"/><line nr="127" mi="3" ci="0" mb="0" cb="0"/><line nr="128" mi="3" ci="0" mb="0" cb="0"/><line nr="129" mi="4" ci="0" mb="0" cb="0"/><line nr="130" mi="4" ci="0" mb="0" cb="0"/><line nr="132" mi="3" ci="0" mb="0" cb="0"/><line nr="133" mi="2" ci="0" mb="2" cb="0"/><line nr="134" mi="23" ci="0" mb="0" cb="0"/><line nr="137" mi="12" ci="0" mb="0" cb="0"/><line nr="138" mi="1" ci="0" mb="0" cb="0"/><line nr="142" mi="5" ci="0" mb="0" cb="0"/><line nr="143" mi="4" ci="0" mb="0" cb="0"/><line nr="151" mi="0" ci="8" mb="0" cb="0"/><line nr="152" mi="0" ci="2" mb="0" cb="2"/><line nr="153" mi="0" ci="7" mb="0" cb="0"/><line nr="156" mi="0" ci="4" mb="0" cb="0"/><line nr="158" mi="0" ci="3" mb="1" cb="1"/><line nr="159" mi="4" ci="0" mb="0" cb="0"/><line nr="160" mi="3" ci="0" mb="0" cb="0"/><line nr="161" mi="3" ci="0" mb="0" cb="0"/><line nr="162" mi="4" ci="0" mb="0" cb="0"/><line nr="163" mi="2" ci="0" mb="2" cb="0"/><line nr="164" mi="5" ci="0" mb="0" cb="0"/><line nr="166" mi="4" ci="0" mb="0" cb="0"/><line nr="167" mi="4" ci="0" mb="0" cb="0"/><line nr="170" mi="0" ci="5" mb="0" cb="0"/><line nr="172" mi="0" ci="3" mb="0" cb="0"/><line nr="173" mi="0" ci="3" mb="0" cb="0"/><line nr="174" mi="0" ci="4" mb="0" cb="0"/><line nr="175" mi="0" ci="2" mb="1" cb="1"/><line nr="176" mi="0" ci="5" mb="0" cb="0"/><line nr="178" mi="0" ci="4" mb="0" cb="0"/><line nr="180" mi="0" ci="3" mb="0" cb="0"/><line nr="181" mi="0" ci="2" mb="1" cb="1"/><line nr="182" mi="23" ci="0" mb="0" cb="0"/><line nr="185" mi="13" ci="0" mb="0" cb="0"/><line nr="186" mi="1" ci="0" mb="0" cb="0"/><line nr="190" mi="0" ci="4" mb="0" cb="0"/><line nr="191" mi="0" ci="4" mb="0" cb="0"/><line nr="199" mi="0" ci="8" mb="0" cb="0"/><line nr="200" mi="0" ci="2" mb="0" cb="2"/><line nr="201" mi="0" ci="7" mb="0" cb="0"/><line nr="204" mi="0" ci="7" mb="0" cb="0"/><line nr="205" mi="0" ci="2" mb="1" cb="1"/><line nr="206" mi="6" ci="0" mb="0" cb="0"/><line nr="208" mi="1" ci="6" mb="1" cb="1"/><line nr="209" mi="5" ci="0" mb="2" cb="0"/><line nr="210" mi="6" ci="0" mb="0" cb="0"/><line nr="214" mi="0" ci="5" mb="0" cb="0"/><line nr="216" mi="0" ci="3" mb="0" cb="0"/><line nr="217" mi="0" ci="3" mb="0" cb="0"/><line nr="218" mi="0" ci="3" mb="0" cb="0"/><line nr="220" mi="0" ci="3" mb="0" cb="2"/><line nr="221" mi="0" ci="5" mb="0" cb="0"/><line nr="222" mi="0" ci="3" mb="0" cb="0"/><line nr="223" mi="0" ci="5" mb="0" cb="0"/><line nr="225" mi="0" ci="5" mb="0" cb="0"/><line nr="226" mi="0" ci="4" mb="0" cb="0"/><line nr="227" mi="0" ci="3" mb="0" cb="0"/><line nr="228" mi="0" ci="5" mb="0" cb="0"/><line nr="231" mi="0" ci="4" mb="0" cb="0"/><line nr="234" mi="0" ci="3" mb="0" cb="2"/><line nr="235" mi="0" ci="5" mb="0" cb="0"/><line nr="236" mi="0" ci="4" mb="0" cb="0"/><line nr="237" mi="0" ci="4" mb="0" cb="0"/><line nr="240" mi="0" ci="3" mb="0" cb="0"/><line nr="241" mi="0" ci="7" mb="0" cb="2"/><line nr="242" mi="0" ci="2" mb="1" cb="1"/><line nr="243" mi="31" ci="0" mb="0" cb="0"/><line nr="246" mi="13" ci="0" mb="0" cb="0"/><line nr="247" mi="7" ci="0" mb="4" cb="0"/><line nr="248" mi="12" ci="0" mb="0" cb="0"/><line nr="250" mi="1" ci="0" mb="0" cb="0"/><line nr="254" mi="0" ci="4" mb="0" cb="0"/><line nr="261" mi="0" ci="6" mb="0" cb="0"/><line nr="263" mi="0" ci="6" mb="0" cb="0"/><line nr="266" mi="0" ci="4" mb="0" cb="0"/><line nr="267" mi="0" ci="11" mb="0" cb="2"/><line nr="268" mi="0" ci="8" mb="1" cb="1"/><line nr="269" mi="5" ci="3" mb="1" cb="1"/><line nr="270" mi="0" ci="1" mb="0" cb="0"/><line nr="271" mi="0" ci="4" mb="0" cb="0"/><line nr="272" mi="0" ci="10" mb="0" cb="2"/><line nr="273" mi="6" ci="8" mb="0" cb="0"/><line nr="274" mi="0" ci="1" mb="0" cb="0"/><line nr="276" mi="0" ci="6" mb="0" cb="0"/><line nr="277" mi="0" ci="6" mb="0" cb="0"/><line nr="278" mi="0" ci="4" mb="0" cb="0"/><line nr="279" mi="0" ci="10" mb="0" cb="0"/><line nr="286" mi="0" ci="5" mb="0" cb="0"/><line nr="287" mi="0" ci="3" mb="1" cb="1"/><line nr="288" mi="1" ci="0" mb="0" cb="0"/><line nr="291" mi="0" ci="3" mb="0" cb="0"/><line nr="292" mi="0" ci="7" mb="0" cb="0"/><line nr="293" mi="0" ci="2" mb="0" cb="0"/><line nr="295" mi="0" ci="11" mb="0" cb="0"/><line nr="297" mi="0" ci="8" mb="0" cb="0"/><line nr="298" mi="0" ci="2" mb="1" cb="1"/><line nr="299" mi="0" ci="4" mb="0" cb="0"/><line nr="300" mi="0" ci="3" mb="1" cb="1"/><line nr="302" mi="0" ci="5" mb="0" cb="0"/><line nr="303" mi="1" ci="0" mb="0" cb="0"/><line nr="304" mi="4" ci="0" mb="0" cb="0"/><line nr="305" mi="0" ci="1" mb="0" cb="0"/><line nr="307" mi="0" ci="4" mb="0" cb="0"/><line nr="309" mi="0" ci="1" mb="0" cb="0"/><line nr="312" mi="0" ci="5" mb="0" cb="0"/><line nr="316" mi="0" ci="4" mb="0" cb="0"/><line nr="317" mi="0" ci="4" mb="0" cb="0"/><line nr="318" mi="0" ci="4" mb="0" cb="0"/><line nr="319" mi="0" ci="4" mb="0" cb="0"/><line nr="320" mi="0" ci="4" mb="0" cb="0"/><line nr="321" mi="0" ci="4" mb="0" cb="0"/><line nr="322" mi="0" ci="4" mb="0" cb="0"/><line nr="323" mi="0" ci="4" mb="0" cb="0"/><line nr="324" mi="0" ci="4" mb="0" cb="0"/><line nr="325" mi="0" ci="4" mb="0" cb="0"/><line nr="326" mi="0" ci="4" mb="0" cb="0"/><line nr="327" mi="0" ci="4" mb="0" cb="0"/><line nr="328" mi="0" ci="4" mb="0" cb="0"/><line nr="329" mi="0" ci="4" mb="0" cb="0"/><line nr="330" mi="0" ci="4" mb="0" cb="0"/><line nr="331" mi="0" ci="4" mb="0" cb="0"/><line nr="332" mi="0" ci="4" mb="0" cb="0"/><line nr="335" mi="0" ci="3" mb="0" cb="2"/><line nr="336" mi="0" ci="6" mb="0" cb="0"/><line nr="337" mi="0" ci="2" mb="1" cb="1"/><line nr="338" mi="0" ci="9" mb="0" cb="0"/><line nr="340" mi="0" ci="2" mb="1" cb="1"/><line nr="341" mi="4" ci="0" mb="0" cb="0"/><line nr="345" mi="0" ci="3" mb="0" cb="2"/><line nr="346" mi="0" ci="6" mb="0" cb="0"/><line nr="347" mi="0" ci="2" mb="1" cb="1"/><line nr="348" mi="0" ci="9" mb="0" cb="0"/><line nr="350" mi="0" ci="2" mb="1" cb="1"/><line nr="351" mi="4" ci="0" mb="0" cb="0"/><line nr="355" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="278" covered="656"/><counter type="BRANCH" missed="32" covered="48"/><counter type="LINE" missed="39" covered="142"/><counter type="COMPLEXITY" missed="35" covered="28"/><counter type="METHOD" missed="8" covered="15"/><counter type="CLASS" missed="3" covered="1"/></sourcefile><sourcefile name="CacheAdminApplicationService.java"><line nr="11" mi="0" ci="9" mb="0" cb="0"/><line nr="12" mi="0" ci="4" mb="0" cb="0"/><line nr="20" mi="3" ci="0" mb="0" cb="0"/><line nr="21" mi="3" ci="0" mb="0" cb="0"/><line nr="22" mi="3" ci="0" mb="0" cb="0"/><line nr="23" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="10" covered="13"/><counter type="LINE" missed="4" covered="2"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="1" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="GlossaryApplicationService.java"><line nr="16" mi="0" ci="12" mb="0" cb="0"/><line nr="25" mi="0" ci="6" mb="0" cb="0"/><line nr="26" mi="0" ci="5" mb="0" cb="0"/><line nr="27" mi="0" ci="2" mb="0" cb="0"/><line nr="32" mi="0" ci="7" mb="0" cb="0"/><line nr="33" mi="0" ci="2" mb="0" cb="2"/><line nr="34" mi="0" ci="5" mb="0" cb="0"/><line nr="36" mi="0" ci="2" mb="0" cb="0"/><line nr="41" mi="0" ci="6" mb="0" cb="0"/><line nr="42" mi="0" ci="2" mb="0" cb="2"/><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="45" mi="0" ci="2" mb="0" cb="0"/><line nr="50" mi="0" ci="8" mb="0" cb="0"/><line nr="55" mi="0" ci="6" mb="0" cb="0"/><line nr="60" mi="0" ci="5" mb="0" cb="0"/><line nr="65" mi="0" ci="6" mb="0" cb="0"/><line nr="66" mi="0" ci="10" mb="0" cb="2"/><line nr="67" mi="0" ci="7" mb="0" cb="4"/><line nr="68" mi="0" ci="5" mb="0" cb="0"/><line nr="70" mi="0" ci="1" mb="0" cb="0"/><line nr="71" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="104"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="21"/><counter type="COMPLEXITY" missed="0" covered="13"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="CollabProjectApplicationService.java"><line nr="53" mi="0" ci="4" mb="0" cb="0"/><line nr="54" mi="0" ci="21" mb="0" cb="0"/><line nr="69" mi="0" ci="4" mb="0" cb="0"/><line nr="70" mi="0" ci="4" mb="0" cb="0"/><line nr="71" mi="0" ci="4" mb="0" cb="0"/><line nr="72" mi="0" ci="3" mb="0" cb="0"/><line nr="73" mi="0" ci="4" mb="0" cb="0"/><line nr="74" mi="0" ci="4" mb="0" cb="0"/><line nr="75" mi="0" ci="4" mb="0" cb="0"/><line nr="76" mi="0" ci="4" mb="0" cb="0"/><line nr="77" mi="0" ci="4" mb="0" cb="0"/><line nr="80" mi="0" ci="4" mb="0" cb="0"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="82" mi="0" ci="3" mb="0" cb="0"/><line nr="83" mi="0" ci="4" mb="0" cb="0"/><line nr="84" mi="0" ci="3" mb="0" cb="0"/><line nr="85" mi="0" ci="3" mb="0" cb="0"/><line nr="86" mi="0" ci="4" mb="0" cb="0"/><line nr="88" mi="0" ci="19" mb="0" cb="0"/><line nr="89" mi="0" ci="4" mb="0" cb="0"/><line nr="101" mi="0" ci="7" mb="0" cb="0"/><line nr="102" mi="1" ci="0" mb="0" cb="0"/><line nr="103" mi="8" ci="0" mb="0" cb="0"/><line nr="104" mi="0" ci="1" mb="0" cb="0"/><line nr="106" mi="0" ci="6" mb="2" cb="2"/><line nr="107" mi="6" ci="0" mb="0" cb="0"/><line nr="110" mi="0" ci="4" mb="0" cb="0"/><line nr="112" mi="0" ci="9" mb="0" cb="0"/><line nr="117" mi="0" ci="8" mb="0" cb="0"/><line nr="119" mi="0" ci="8" mb="0" cb="0"/><line nr="120" mi="0" ci="12" mb="0" cb="0"/><line nr="123" mi="0" ci="7" mb="0" cb="0"/><line nr="124" mi="0" ci="4" mb="0" cb="0"/><line nr="125" mi="0" ci="3" mb="0" cb="0"/><line nr="126" mi="0" ci="4" mb="0" cb="0"/><line nr="127" mi="0" ci="1" mb="0" cb="0"/><line nr="129" mi="0" ci="6" mb="0" cb="0"/><line nr="130" mi="0" ci="8" mb="0" cb="0"/><line nr="133" mi="0" ci="9" mb="0" cb="0"/><line nr="142" mi="0" ci="4" mb="0" cb="0"/><line nr="143" mi="0" ci="3" mb="0" cb="0"/><line nr="144" mi="0" ci="3" mb="0" cb="0"/><line nr="145" mi="0" ci="3" mb="0" cb="0"/><line nr="146" mi="0" ci="3" mb="0" cb="0"/><line nr="147" mi="0" ci="7" mb="0" cb="2"/><line nr="148" mi="0" ci="3" mb="0" cb="0"/><line nr="149" mi="0" ci="4" mb="0" cb="0"/><line nr="150" mi="0" ci="4" mb="0" cb="0"/><line nr="151" mi="0" ci="4" mb="0" cb="0"/><line nr="153" mi="0" ci="4" mb="0" cb="0"/><line nr="154" mi="0" ci="4" mb="0" cb="0"/><line nr="155" mi="0" ci="3" mb="0" cb="0"/><line nr="156" mi="0" ci="4" mb="0" cb="0"/><line nr="157" mi="0" ci="3" mb="0" cb="0"/><line nr="158" mi="0" ci="3" mb="0" cb="0"/><line nr="159" mi="0" ci="4" mb="0" cb="0"/><line nr="161" mi="0" ci="2" mb="0" cb="0"/><line nr="169" mi="8" ci="0" mb="0" cb="0"/><line nr="170" mi="2" ci="0" mb="2" cb="0"/><line nr="171" mi="7" ci="0" mb="0" cb="0"/><line nr="175" mi="6" ci="0" mb="0" cb="0"/><line nr="176" mi="7" ci="0" mb="4" cb="0"/><line nr="177" mi="6" ci="0" mb="0" cb="0"/><line nr="182" mi="8" ci="0" mb="0" cb="0"/><line nr="183" mi="1" ci="0" mb="0" cb="0"/><line nr="184" mi="8" ci="0" mb="0" cb="0"/><line nr="185" mi="1" ci="0" mb="0" cb="0"/><line nr="187" mi="6" ci="0" mb="4" cb="0"/><line nr="188" mi="6" ci="0" mb="0" cb="0"/><line nr="191" mi="4" ci="0" mb="0" cb="0"/><line nr="193" mi="6" ci="0" mb="0" cb="0"/><line nr="198" mi="3" ci="0" mb="0" cb="0"/><line nr="200" mi="3" ci="0" mb="2" cb="0"/><line nr="201" mi="4" ci="0" mb="0" cb="0"/><line nr="202" mi="4" ci="0" mb="0" cb="0"/><line nr="205" mi="5" ci="0" mb="0" cb="0"/><line nr="206" mi="3" ci="0" mb="0" cb="0"/><line nr="207" mi="1" ci="0" mb="0" cb="0"/><line nr="208" mi="2" ci="0" mb="0" cb="0"/><line nr="209" mi="4" ci="0" mb="0" cb="0"/><line nr="211" mi="10" ci="0" mb="2" cb="0"/><line nr="212" mi="4" ci="0" mb="0" cb="0"/><line nr="213" mi="3" ci="0" mb="0" cb="0"/><line nr="214" mi="5" ci="0" mb="0" cb="0"/><line nr="215" mi="5" ci="0" mb="0" cb="0"/><line nr="216" mi="3" ci="0" mb="0" cb="0"/><line nr="217" mi="3" ci="0" mb="0" cb="0"/><line nr="218" mi="4" ci="0" mb="0" cb="0"/><line nr="219" mi="4" ci="0" mb="0" cb="0"/><line nr="220" mi="5" ci="0" mb="0" cb="0"/><line nr="221" mi="4" ci="0" mb="0" cb="0"/><line nr="222" mi="1" ci="0" mb="0" cb="0"/><line nr="224" mi="4" ci="0" mb="0" cb="0"/><line nr="225" mi="3" ci="0" mb="0" cb="0"/><line nr="226" mi="4" ci="0" mb="0" cb="0"/><line nr="228" mi="20" ci="0" mb="0" cb="0"/><line nr="229" mi="3" ci="0" mb="0" cb="0"/><line nr="236" mi="0" ci="4" mb="0" cb="0"/><line nr="237" mi="0" ci="1" mb="0" cb="0"/><line nr="243" mi="0" ci="4" mb="0" cb="0"/><line nr="244" mi="0" ci="4" mb="0" cb="0"/><line nr="245" mi="0" ci="4" mb="0" cb="0"/><line nr="246" mi="0" ci="2" mb="0" cb="0"/><line nr="248" mi="0" ci="4" mb="0" cb="0"/><line nr="259" mi="0" ci="16" mb="0" cb="2"/><line nr="260" mi="0" ci="3" mb="0" cb="0"/><line nr="262" mi="0" ci="5" mb="0" cb="2"/><line nr="263" mi="0" ci="3" mb="0" cb="2"/><line nr="264" mi="0" ci="4" mb="0" cb="0"/><line nr="265" mi="0" ci="3" mb="1" cb="1"/><line nr="266" mi="0" ci="4" mb="0" cb="0"/><line nr="268" mi="0" ci="4" mb="0" cb="0"/><line nr="270" mi="0" ci="2" mb="0" cb="0"/><line nr="271" mi="0" ci="7" mb="0" cb="0"/><line nr="273" mi="0" ci="6" mb="0" cb="0"/><line nr="277" mi="0" ci="3" mb="1" cb="1"/><line nr="278" mi="0" ci="4" mb="0" cb="0"/><line nr="279" mi="0" ci="3" mb="1" cb="1"/><line nr="280" mi="0" ci="4" mb="0" cb="0"/><line nr="284" mi="0" ci="2" mb="0" cb="2"/><line nr="285" mi="0" ci="2" mb="0" cb="0"/><line nr="286" mi="0" ci="4" mb="0" cb="0"/><line nr="287" mi="0" ci="4" mb="0" cb="0"/><line nr="288" mi="0" ci="2" mb="0" cb="0"/><line nr="290" mi="0" ci="16" mb="0" cb="2"/><line nr="291" mi="0" ci="3" mb="0" cb="0"/><line nr="292" mi="1" ci="3" mb="1" cb="1"/><line nr="293" mi="3" ci="7" mb="3" cb="1"/><line nr="294" mi="6" ci="0" mb="0" cb="0"/><line nr="295" mi="4" ci="0" mb="0" cb="0"/><line nr="297" mi="0" ci="6" mb="0" cb="0"/><line nr="299" mi="0" ci="3" mb="1" cb="1"/><line nr="300" mi="0" ci="6" mb="0" cb="0"/><line nr="304" mi="0" ci="3" mb="1" cb="1"/><line nr="305" mi="5" ci="0" mb="0" cb="0"/><line nr="308" mi="0" ci="8" mb="0" cb="0"/><line nr="309" mi="0" ci="2" mb="0" cb="0"/><line nr="316" mi="0" ci="8" mb="0" cb="0"/><line nr="317" mi="0" ci="2" mb="0" cb="2"/><line nr="318" mi="0" ci="7" mb="0" cb="0"/><line nr="320" mi="0" ci="4" mb="0" cb="0"/><line nr="328" mi="0" ci="2" mb="0" cb="0"/><line nr="329" mi="0" ci="5" mb="0" cb="0"/><line nr="330" mi="0" ci="4" mb="0" cb="0"/><line nr="331" mi="0" ci="9" mb="0" cb="0"/><line nr="332" mi="0" ci="7" mb="0" cb="0"/><line nr="333" mi="0" ci="5" mb="0" cb="2"/><line nr="334" mi="0" ci="5" mb="0" cb="0"/><line nr="335" mi="0" ci="2" mb="0" cb="0"/><line nr="336" mi="0" ci="4" mb="0" cb="0"/><line nr="337" mi="0" ci="5" mb="0" cb="0"/><line nr="338" mi="0" ci="6" mb="0" cb="0"/><line nr="339" mi="0" ci="4" mb="0" cb="0"/><line nr="340" mi="0" ci="11" mb="0" cb="0"/><line nr="342" mi="0" ci="2" mb="0" cb="0"/><line nr="351" mi="0" ci="8" mb="0" cb="0"/><line nr="352" mi="0" ci="2" mb="0" cb="2"/><line nr="353" mi="0" ci="7" mb="0" cb="0"/><line nr="356" mi="0" ci="4" mb="0" cb="0"/><line nr="357" mi="0" ci="4" mb="0" cb="0"/><line nr="358" mi="0" ci="4" mb="0" cb="0"/><line nr="359" mi="0" ci="4" mb="0" cb="0"/><line nr="360" mi="0" ci="4" mb="0" cb="0"/><line nr="362" mi="0" ci="4" mb="0" cb="0"/><line nr="370" mi="0" ci="8" mb="0" cb="0"/><line nr="371" mi="0" ci="2" mb="0" cb="2"/><line nr="372" mi="0" ci="7" mb="0" cb="0"/><line nr="375" mi="0" ci="4" mb="0" cb="0"/><line nr="376" mi="0" ci="5" mb="0" cb="0"/><line nr="377" mi="0" ci="3" mb="0" cb="2"/><line nr="378" mi="0" ci="4" mb="0" cb="0"/><line nr="380" mi="0" ci="4" mb="0" cb="0"/><line nr="382" mi="0" ci="17" mb="0" cb="0"/><line nr="383" mi="0" ci="1" mb="0" cb="0"/><line nr="390" mi="0" ci="8" mb="0" cb="0"/><line nr="391" mi="0" ci="2" mb="0" cb="2"/><line nr="392" mi="0" ci="7" mb="0" cb="0"/><line nr="395" mi="0" ci="3" mb="0" cb="0"/><line nr="396" mi="0" ci="4" mb="0" cb="0"/><line nr="398" mi="0" ci="4" mb="0" cb="0"/><line nr="399" mi="0" ci="3" mb="0" cb="0"/><line nr="400" mi="0" ci="3" mb="0" cb="0"/><line nr="401" mi="0" ci="3" mb="0" cb="0"/><line nr="402" mi="0" ci="4" mb="0" cb="0"/><line nr="403" mi="0" ci="4" mb="0" cb="0"/><line nr="405" mi="0" ci="17" mb="0" cb="0"/><line nr="406" mi="0" ci="6" mb="0" cb="0"/><line nr="410" mi="0" ci="2" mb="0" cb="0"/><line nr="411" mi="0" ci="4" mb="0" cb="0"/><line nr="412" mi="0" ci="5" mb="0" cb="0"/><line nr="413" mi="0" ci="7" mb="0" cb="2"/><line nr="414" mi="0" ci="9" mb="0" cb="0"/><line nr="416" mi="0" ci="6" mb="0" cb="2"/><line nr="417" mi="0" ci="3" mb="0" cb="0"/><line nr="419" mi="0" ci="3" mb="0" cb="0"/><line nr="427" mi="0" ci="9" mb="0" cb="0"/><line nr="428" mi="0" ci="2" mb="0" cb="2"/><line nr="429" mi="0" ci="8" mb="0" cb="0"/><line nr="432" mi="0" ci="7" mb="0" cb="0"/><line nr="433" mi="0" ci="2" mb="0" cb="2"/><line nr="434" mi="0" ci="6" mb="0" cb="0"/><line nr="437" mi="0" ci="9" mb="0" cb="0"/><line nr="439" mi="0" ci="4" mb="0" cb="0"/><line nr="440" mi="0" ci="3" mb="0" cb="0"/><line nr="441" mi="0" ci="4" mb="0" cb="0"/><line nr="442" mi="0" ci="5" mb="0" cb="0"/><line nr="443" mi="0" ci="3" mb="0" cb="0"/><line nr="444" mi="0" ci="3" mb="0" cb="0"/><line nr="445" mi="0" ci="4" mb="0" cb="0"/><line nr="447" mi="0" ci="19" mb="0" cb="0"/><line nr="448" mi="0" ci="5" mb="0" cb="0"/><line nr="456" mi="0" ci="5" mb="0" cb="0"/><line nr="457" mi="0" ci="2" mb="0" cb="2"/><line nr="458" mi="0" ci="5" mb="0" cb="0"/><line nr="459" mi="0" ci="2" mb="0" cb="2"/><line nr="460" mi="0" ci="6" mb="0" cb="0"/><line nr="462" mi="0" ci="5" mb="0" cb="2"/><line nr="463" mi="0" ci="6" mb="0" cb="0"/><line nr="465" mi="0" ci="5" mb="1" cb="1"/><line nr="466" mi="0" ci="6" mb="0" cb="0"/><line nr="468" mi="6" ci="0" mb="0" cb="0"/><line nr="471" mi="0" ci="5" mb="0" cb="0"/><line nr="474" mi="0" ci="2" mb="0" cb="0"/><line nr="476" mi="0" ci="9" mb="0" cb="0"/><line nr="477" mi="0" ci="2" mb="1" cb="1"/><line nr="478" mi="6" ci="0" mb="0" cb="0"/><line nr="480" mi="0" ci="6" mb="0" cb="2"/><line nr="481" mi="0" ci="6" mb="0" cb="0"/><line nr="484" mi="0" ci="7" mb="0" cb="0"/><line nr="485" mi="0" ci="2" mb="0" cb="2"/><line nr="486" mi="0" ci="6" mb="0" cb="0"/><line nr="489" mi="0" ci="4" mb="0" cb="0"/><line nr="490" mi="0" ci="4" mb="0" cb="0"/><line nr="491" mi="0" ci="3" mb="0" cb="0"/><line nr="492" mi="0" ci="4" mb="0" cb="0"/><line nr="493" mi="0" ci="3" mb="0" cb="0"/><line nr="494" mi="0" ci="3" mb="0" cb="0"/><line nr="495" mi="0" ci="3" mb="0" cb="0"/><line nr="496" mi="0" ci="4" mb="0" cb="0"/><line nr="497" mi="0" ci="4" mb="0" cb="0"/><line nr="499" mi="0" ci="8" mb="0" cb="0"/><line nr="500" mi="0" ci="18" mb="0" cb="0"/><line nr="501" mi="0" ci="7" mb="0" cb="0"/><line nr="503" mi="0" ci="2" mb="0" cb="0"/><line nr="513" mi="0" ci="2" mb="0" cb="0"/><line nr="514" mi="0" ci="5" mb="0" cb="0"/><line nr="516" mi="0" ci="2" mb="0" cb="0"/><line nr="518" mi="0" ci="4" mb="0" cb="0"/><line nr="519" mi="0" ci="9" mb="0" cb="0"/><line nr="520" mi="0" ci="7" mb="0" cb="0"/><line nr="521" mi="0" ci="5" mb="0" cb="2"/><line nr="522" mi="0" ci="5" mb="0" cb="0"/><line nr="523" mi="0" ci="2" mb="0" cb="0"/><line nr="525" mi="0" ci="4" mb="0" cb="0"/><line nr="526" mi="0" ci="10" mb="0" cb="2"/><line nr="527" mi="0" ci="8" mb="1" cb="1"/><line nr="528" mi="0" ci="1" mb="0" cb="0"/><line nr="529" mi="0" ci="4" mb="0" cb="0"/><line nr="530" mi="0" ci="10" mb="0" cb="2"/><line nr="531" mi="0" ci="14" mb="0" cb="0"/><line nr="532" mi="0" ci="1" mb="0" cb="0"/><line nr="534" mi="0" ci="5" mb="0" cb="0"/><line nr="535" mi="0" ci="10" mb="0" cb="0"/><line nr="536" mi="0" ci="4" mb="0" cb="0"/><line nr="537" mi="0" ci="9" mb="0" cb="0"/><line nr="545" mi="0" ci="8" mb="0" cb="0"/><line nr="546" mi="0" ci="7" mb="0" cb="4"/><line nr="547" mi="0" ci="6" mb="0" cb="0"/><line nr="550" mi="0" ci="6" mb="0" cb="2"/><line nr="551" mi="0" ci="6" mb="0" cb="0"/><line nr="554" mi="0" ci="3" mb="0" cb="0"/><line nr="555" mi="0" ci="4" mb="0" cb="0"/><line nr="556" mi="0" ci="1" mb="0" cb="0"/><line nr="563" mi="0" ci="8" mb="0" cb="0"/><line nr="564" mi="0" ci="2" mb="0" cb="2"/><line nr="565" mi="0" ci="6" mb="0" cb="0"/><line nr="567" mi="0" ci="5" mb="0" cb="2"/><line nr="568" mi="0" ci="6" mb="0" cb="0"/><line nr="572" mi="0" ci="5" mb="0" cb="0"/><line nr="573" mi="0" ci="10" mb="0" cb="2"/><line nr="574" mi="0" ci="5" mb="0" cb="0"/><line nr="575" mi="0" ci="1" mb="0" cb="0"/><line nr="576" mi="0" ci="4" mb="0" cb="0"/><line nr="577" mi="0" ci="4" mb="0" cb="0"/><line nr="578" mi="0" ci="4" mb="0" cb="0"/><line nr="580" mi="0" ci="18" mb="0" cb="0"/><line nr="581" mi="0" ci="1" mb="0" cb="0"/><line nr="584" mi="0" ci="5" mb="0" cb="0"/><line nr="588" mi="0" ci="4" mb="0" cb="0"/><line nr="589" mi="0" ci="4" mb="0" cb="0"/><line nr="590" mi="0" ci="4" mb="0" cb="0"/><line nr="591" mi="0" ci="4" mb="0" cb="0"/><line nr="592" mi="0" ci="4" mb="0" cb="0"/><line nr="593" mi="0" ci="4" mb="0" cb="0"/><line nr="594" mi="0" ci="4" mb="0" cb="0"/><line nr="595" mi="0" ci="4" mb="0" cb="0"/><line nr="596" mi="0" ci="4" mb="0" cb="0"/><line nr="597" mi="0" ci="4" mb="0" cb="0"/><line nr="598" mi="0" ci="4" mb="0" cb="0"/><line nr="600" mi="0" ci="6" mb="0" cb="0"/><line nr="601" mi="0" ci="2" mb="0" cb="2"/><line nr="602" mi="0" ci="9" mb="0" cb="0"/><line nr="604" mi="0" ci="2" mb="0" cb="2"/><line nr="605" mi="0" ci="4" mb="0" cb="0"/><line nr="608" mi="0" ci="6" mb="0" cb="0"/><line nr="609" mi="0" ci="4" mb="0" cb="0"/><line nr="611" mi="0" ci="2" mb="0" cb="0"/><line nr="615" mi="0" ci="4" mb="0" cb="0"/><line nr="616" mi="0" ci="10" mb="0" cb="2"/><line nr="617" mi="0" ci="8" mb="0" cb="2"/><line nr="618" mi="0" ci="1" mb="0" cb="0"/><line nr="619" mi="0" ci="4" mb="0" cb="0"/><line nr="620" mi="0" ci="10" mb="0" cb="2"/><line nr="621" mi="0" ci="14" mb="0" cb="0"/><line nr="622" mi="0" ci="1" mb="0" cb="0"/><line nr="623" mi="0" ci="2" mb="0" cb="0"/><line nr="627" mi="0" ci="4" mb="0" cb="0"/><line nr="628" mi="0" ci="4" mb="0" cb="0"/><line nr="629" mi="0" ci="4" mb="0" cb="0"/><line nr="630" mi="0" ci="4" mb="0" cb="0"/><line nr="631" mi="0" ci="4" mb="0" cb="0"/><line nr="632" mi="0" ci="4" mb="0" cb="0"/><line nr="633" mi="0" ci="2" mb="1" cb="1"/><line nr="634" mi="0" ci="4" mb="0" cb="0"/><line nr="635" mi="0" ci="4" mb="0" cb="0"/><line nr="636" mi="0" ci="4" mb="0" cb="0"/><line nr="638" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="236" covered="1396"/><counter type="BRANCH" missed="29" covered="83"/><counter type="LINE" missed="48" covered="279"/><counter type="COMPLEXITY" missed="23" covered="63"/><counter type="METHOD" missed="2" covered="28"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="DocumentApplicationService.java"><line nr="32" mi="0" ci="18" mb="0" cb="0"/><line nr="49" mi="6" ci="0" mb="0" cb="0"/><line nr="50" mi="5" ci="0" mb="2" cb="0"/><line nr="51" mi="5" ci="0" mb="0" cb="0"/><line nr="55" mi="3" ci="0" mb="0" cb="0"/><line nr="56" mi="6" ci="0" mb="4" cb="0"/><line nr="57" mi="6" ci="0" mb="0" cb="0"/><line nr="58" mi="2" ci="0" mb="0" cb="0"/><line nr="59" mi="5" ci="0" mb="0" cb="0"/><line nr="60" mi="4" ci="0" mb="0" cb="0"/><line nr="63" mi="7" ci="0" mb="0" cb="0"/><line nr="66" mi="4" ci="0" mb="0" cb="0"/><line nr="67" mi="3" ci="0" mb="0" cb="0"/><line nr="68" mi="3" ci="0" mb="0" cb="0"/><line nr="69" mi="4" ci="0" mb="0" cb="0"/><line nr="70" mi="4" ci="0" mb="0" cb="0"/><line nr="71" mi="4" ci="0" mb="0" cb="0"/><line nr="72" mi="7" ci="0" mb="0" cb="0"/><line nr="73" mi="5" ci="0" mb="0" cb="0"/><line nr="74" mi="4" ci="0" mb="0" cb="0"/><line nr="75" mi="4" ci="0" mb="0" cb="0"/><line nr="76" mi="3" ci="0" mb="0" cb="0"/><line nr="78" mi="4" ci="0" mb="0" cb="0"/><line nr="80" mi="2" ci="0" mb="0" cb="0"/><line nr="87" mi="0" ci="5" mb="0" cb="0"/><line nr="88" mi="0" ci="6" mb="0" cb="4"/><line nr="89" mi="0" ci="5" mb="0" cb="0"/><line nr="90" mi="0" ci="6" mb="0" cb="0"/><line nr="91" mi="0" ci="3" mb="0" cb="0"/><line nr="93" mi="0" ci="2" mb="0" cb="0"/><line nr="100" mi="0" ci="9" mb="0" cb="0"/><line nr="107" mi="0" ci="11" mb="0" cb="0"/><line nr="109" mi="0" ci="7" mb="0" cb="0"/><line nr="110" mi="1" ci="0" mb="0" cb="0"/><line nr="112" mi="0" ci="1" mb="0" cb="0"/><line nr="113" mi="0" ci="4" mb="0" cb="0"/><line nr="114" mi="0" ci="3" mb="0" cb="0"/><line nr="115" mi="0" ci="4" mb="0" cb="0"/><line nr="122" mi="0" ci="11" mb="0" cb="0"/><line nr="123" mi="0" ci="4" mb="0" cb="0"/><line nr="124" mi="0" ci="3" mb="0" cb="0"/><line nr="125" mi="0" ci="3" mb="0" cb="0"/><line nr="126" mi="0" ci="4" mb="0" cb="0"/><line nr="128" mi="0" ci="5" mb="0" cb="0"/><line nr="129" mi="0" ci="10" mb="0" cb="2"/><line nr="130" mi="0" ci="3" mb="0" cb="0"/><line nr="131" mi="0" ci="3" mb="0" cb="0"/><line nr="132" mi="0" ci="4" mb="0" cb="0"/><line nr="133" mi="0" ci="3" mb="0" cb="0"/><line nr="134" mi="0" ci="4" mb="0" cb="0"/><line nr="135" mi="0" ci="1" mb="0" cb="0"/><line nr="136" mi="0" ci="3" mb="0" cb="0"/><line nr="137" mi="0" ci="4" mb="0" cb="0"/><line nr="144" mi="0" ci="2" mb="0" cb="2"/><line nr="145" mi="0" ci="2" mb="0" cb="0"/><line nr="147" mi="0" ci="4" mb="0" cb="0"/><line nr="148" mi="0" ci="4" mb="0" cb="0"/><line nr="149" mi="0" ci="4" mb="0" cb="0"/><line nr="150" mi="0" ci="4" mb="0" cb="0"/><line nr="151" mi="0" ci="4" mb="0" cb="0"/><line nr="152" mi="0" ci="4" mb="0" cb="0"/><line nr="153" mi="0" ci="4" mb="0" cb="0"/><line nr="154" mi="0" ci="4" mb="0" cb="0"/><line nr="155" mi="0" ci="4" mb="0" cb="0"/><line nr="156" mi="0" ci="6" mb="0" cb="0"/><line nr="157" mi="0" ci="5" mb="1" cb="1"/><line nr="158" mi="0" ci="5" mb="0" cb="0"/><line nr="159" mi="1" ci="0" mb="0" cb="0"/><line nr="160" mi="0" ci="5" mb="0" cb="2"/><line nr="161" mi="0" ci="5" mb="0" cb="0"/><line nr="162" mi="0" ci="1" mb="0" cb="0"/><line nr="163" mi="0" ci="4" mb="0" cb="0"/><line nr="164" mi="0" ci="2" mb="0" cb="0"/><line nr="174" mi="6" ci="0" mb="0" cb="0"/><line nr="176" mi="5" ci="0" mb="2" cb="0"/><line nr="180" mi="5" ci="0" mb="0" cb="0"/><line nr="184" mi="6" ci="0" mb="0" cb="0"/><line nr="185" mi="5" ci="0" mb="0" cb="0"/><line nr="187" mi="4" ci="0" mb="0" cb="0"/><line nr="188" mi="4" ci="0" mb="0" cb="0"/><line nr="189" mi="4" ci="0" mb="0" cb="0"/><line nr="190" mi="4" ci="0" mb="0" cb="0"/><line nr="191" mi="4" ci="0" mb="0" cb="0"/><line nr="192" mi="3" ci="0" mb="0" cb="0"/><line nr="193" mi="3" ci="0" mb="0" cb="0"/><line nr="195" mi="2" ci="0" mb="0" cb="0"/><line nr="202" mi="5" ci="0" mb="0" cb="0"/><line nr="203" mi="2" ci="0" mb="2" cb="0"/><line nr="204" mi="5" ci="0" mb="2" cb="0"/><line nr="205" mi="2" ci="0" mb="0" cb="0"/><line nr="207" mi="7" ci="0" mb="0" cb="0"/><line nr="211" mi="9" ci="0" mb="0" cb="0"/><line nr="212" mi="2" ci="0" mb="2" cb="0"/><line nr="213" mi="2" ci="0" mb="0" cb="0"/><line nr="215" mi="7" ci="0" mb="2" cb="0"/><line nr="216" mi="5" ci="0" mb="2" cb="0"/><line nr="217" mi="2" ci="0" mb="0" cb="0"/><line nr="219" mi="4" ci="0" mb="0" cb="0"/><line nr="220" mi="3" ci="0" mb="0" cb="0"/><line nr="221" mi="3" ci="0" mb="0" cb="0"/><line nr="222" mi="4" ci="0" mb="0" cb="0"/><line nr="223" mi="2" ci="0" mb="0" cb="0"/><line nr="230" mi="0" ci="6" mb="0" cb="2"/><line nr="231" mi="0" ci="2" mb="0" cb="0"/><line nr="233" mi="0" ci="12" mb="1" cb="3"/><line nr="234" mi="0" ci="4" mb="0" cb="0"/><line nr="235" mi="0" ci="2" mb="0" cb="2"/><line nr="236" mi="0" ci="2" mb="0" cb="0"/><line nr="239" mi="0" ci="3" mb="1" cb="1"/><line nr="240" mi="0" ci="6" mb="0" cb="0"/><line nr="242" mi="0" ci="10" mb="0" cb="0"/><line nr="243" mi="0" ci="4" mb="0" cb="0"/><line nr="246" mi="2" ci="0" mb="0" cb="0"/><line nr="250" mi="0" ci="3" mb="0" cb="2"/><line nr="251" mi="0" ci="7" mb="0" cb="0"/><line nr="252" mi="1" ci="11" mb="1" cb="1"/><line nr="253" mi="0" ci="4" mb="0" cb="0"/><line nr="255" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="224" covered="300"/><counter type="BRANCH" missed="22" covered="22"/><counter type="LINE" missed="55" covered="63"/><counter type="COMPLEXITY" missed="16" covered="21"/><counter type="METHOD" missed="3" covered="12"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="UserApplicationService.java"><line nr="37" mi="0" ci="21" mb="0" cb="0"/><line nr="51" mi="0" ci="4" mb="0" cb="0"/><line nr="52" mi="0" ci="1" mb="0" cb="0"/><line nr="58" mi="0" ci="4" mb="0" cb="0"/><line nr="60" mi="0" ci="5" mb="0" cb="0"/><line nr="61" mi="0" ci="4" mb="0" cb="0"/><line nr="63" mi="0" ci="6" mb="0" cb="0"/><line nr="64" mi="0" ci="6" mb="0" cb="0"/><line nr="65" mi="0" ci="4" mb="0" cb="0"/><line nr="66" mi="0" ci="4" mb="0" cb="0"/><line nr="68" mi="0" ci="5" mb="0" cb="0"/><line nr="69" mi="0" ci="9" mb="0" cb="2"/><line nr="70" mi="0" ci="4" mb="0" cb="0"/><line nr="72" mi="0" ci="4" mb="0" cb="0"/><line nr="73" mi="0" ci="4" mb="0" cb="0"/><line nr="74" mi="0" ci="8" mb="0" cb="0"/><line nr="75" mi="0" ci="8" mb="0" cb="0"/><line nr="77" mi="0" ci="2" mb="0" cb="0"/><line nr="84" mi="0" ci="4" mb="0" cb="0"/><line nr="85" mi="0" ci="8" mb="0" cb="2"/><line nr="86" mi="0" ci="4" mb="0" cb="0"/><line nr="88" mi="0" ci="5" mb="0" cb="0"/><line nr="89" mi="0" ci="6" mb="0" cb="0"/><line nr="90" mi="0" ci="6" mb="0" cb="0"/><line nr="92" mi="0" ci="4" mb="0" cb="0"/><line nr="93" mi="0" ci="4" mb="0" cb="0"/><line nr="94" mi="0" ci="4" mb="0" cb="0"/><line nr="97" mi="0" ci="4" mb="1" cb="1"/><line nr="98" mi="5" ci="0" mb="0" cb="0"/><line nr="99" mi="0" ci="4" mb="0" cb="2"/><line nr="100" mi="0" ci="5" mb="0" cb="0"/><line nr="102" mi="0" ci="4" mb="0" cb="0"/><line nr="104" mi="0" ci="4" mb="0" cb="0"/><line nr="106" mi="0" ci="4" mb="0" cb="0"/><line nr="107" mi="0" ci="4" mb="0" cb="0"/><line nr="108" mi="0" ci="4" mb="0" cb="0"/><line nr="109" mi="0" ci="8" mb="0" cb="0"/><line nr="110" mi="0" ci="8" mb="0" cb="0"/><line nr="111" mi="0" ci="8" mb="0" cb="0"/><line nr="113" mi="0" ci="2" mb="0" cb="0"/><line nr="120" mi="0" ci="8" mb="0" cb="0"/><line nr="122" mi="0" ci="5" mb="0" cb="0"/><line nr="123" mi="0" ci="1" mb="0" cb="0"/><line nr="124" mi="0" ci="4" mb="0" cb="0"/><line nr="126" mi="0" ci="10" mb="0" cb="0"/><line nr="133" mi="0" ci="6" mb="0" cb="0"/><line nr="134" mi="0" ci="15" mb="1" cb="3"/><line nr="135" mi="0" ci="8" mb="0" cb="0"/><line nr="136" mi="0" ci="2" mb="0" cb="0"/><line nr="137" mi="0" ci="2" mb="0" cb="0"/><line nr="144" mi="4" ci="0" mb="0" cb="0"/><line nr="148" mi="8" ci="0" mb="0" cb="0"/><line nr="149" mi="1" ci="0" mb="0" cb="0"/><line nr="150" mi="3" ci="0" mb="0" cb="0"/><line nr="157" mi="0" ci="4" mb="0" cb="0"/><line nr="158" mi="0" ci="3" mb="0" cb="0"/><line nr="159" mi="0" ci="4" mb="0" cb="0"/><line nr="160" mi="0" ci="4" mb="0" cb="0"/><line nr="161" mi="0" ci="4" mb="0" cb="0"/><line nr="163" mi="0" ci="4" mb="0" cb="0"/><line nr="164" mi="0" ci="4" mb="0" cb="0"/><line nr="171" mi="0" ci="6" mb="0" cb="0"/><line nr="172" mi="0" ci="15" mb="1" cb="3"/><line nr="173" mi="0" ci="9" mb="0" cb="0"/><line nr="174" mi="0" ci="2" mb="0" cb="0"/><line nr="175" mi="0" ci="3" mb="0" cb="2"/><line nr="176" mi="0" ci="4" mb="0" cb="0"/><line nr="178" mi="0" ci="3" mb="1" cb="1"/><line nr="179" mi="0" ci="4" mb="0" cb="0"/><line nr="181" mi="0" ci="3" mb="0" cb="2"/><line nr="182" mi="0" ci="4" mb="0" cb="0"/><line nr="184" mi="0" ci="4" mb="0" cb="0"/><line nr="185" mi="0" ci="4" mb="0" cb="0"/><line nr="186" mi="0" ci="2" mb="0" cb="0"/><line nr="193" mi="0" ci="6" mb="0" cb="0"/><line nr="194" mi="0" ci="15" mb="1" cb="3"/><line nr="195" mi="0" ci="9" mb="0" cb="0"/><line nr="196" mi="0" ci="5" mb="0" cb="0"/><line nr="197" mi="0" ci="4" mb="0" cb="0"/><line nr="204" mi="0" ci="2" mb="0" cb="0"/><line nr="205" mi="0" ci="10" mb="0" cb="2"/><line nr="207" mi="0" ci="5" mb="0" cb="0"/><line nr="208" mi="0" ci="1" mb="0" cb="0"/><line nr="209" mi="0" ci="1" mb="0" cb="0"/><line nr="211" mi="0" ci="1" mb="0" cb="0"/><line nr="212" mi="0" ci="1" mb="0" cb="0"/><line nr="213" mi="0" ci="2" mb="0" cb="0"/><line nr="220" mi="0" ci="7" mb="0" cb="0"/><line nr="221" mi="0" ci="3" mb="0" cb="0"/><line nr="222" mi="0" ci="2" mb="0" cb="0"/><line nr="229" mi="0" ci="13" mb="0" cb="0"/><line nr="230" mi="0" ci="7" mb="1" cb="1"/><line nr="231" mi="4" ci="3" mb="1" cb="1"/><line nr="232" mi="4" ci="3" mb="1" cb="1"/><line nr="233" mi="4" ci="3" mb="1" cb="1"/><line nr="234" mi="4" ci="3" mb="1" cb="1"/><line nr="235" mi="4" ci="3" mb="1" cb="1"/><line nr="236" mi="0" ci="7" mb="1" cb="1"/><line nr="237" mi="4" ci="3" mb="1" cb="1"/><line nr="238" mi="0" ci="4" mb="0" cb="0"/><line nr="239" mi="0" ci="4" mb="0" cb="0"/><line nr="240" mi="0" ci="2" mb="0" cb="0"/><line nr="241" mi="0" ci="4" mb="0" cb="0"/><line nr="242" mi="0" ci="3" mb="0" cb="0"/><line nr="243" mi="0" ci="9" mb="0" cb="2"/><line nr="244" mi="0" ci="9" mb="0" cb="2"/><line nr="245" mi="0" ci="11" mb="0" cb="2"/><line nr="246" mi="0" ci="4" mb="0" cb="0"/><line nr="247" mi="0" ci="11" mb="0" cb="2"/><line nr="248" mi="4" ci="7" mb="1" cb="1"/><line nr="249" mi="0" ci="11" mb="0" cb="2"/><line nr="250" mi="0" ci="9" mb="0" cb="2"/><line nr="251" mi="0" ci="4" mb="0" cb="0"/><line nr="252" mi="0" ci="4" mb="0" cb="0"/><line nr="260" mi="0" ci="4" mb="0" cb="0"/><line nr="263" mi="0" ci="2" mb="0" cb="0"/><line nr="265" mi="0" ci="6" mb="0" cb="0"/><line nr="267" mi="0" ci="4" mb="0" cb="0"/><line nr="268" mi="0" ci="4" mb="0" cb="0"/><line nr="269" mi="0" ci="3" mb="0" cb="0"/><line nr="270" mi="0" ci="7" mb="0" cb="0"/><line nr="271" mi="0" ci="7" mb="0" cb="0"/><line nr="272" mi="0" ci="7" mb="0" cb="0"/><line nr="274" mi="0" ci="6" mb="0" cb="0"/><line nr="275" mi="0" ci="7" mb="0" cb="0"/><line nr="276" mi="0" ci="6" mb="0" cb="0"/><line nr="277" mi="0" ci="6" mb="0" cb="0"/><line nr="278" mi="0" ci="6" mb="0" cb="0"/><line nr="280" mi="0" ci="3" mb="0" cb="0"/><line nr="282" mi="0" ci="2" mb="0" cb="0"/><line nr="285" mi="0" ci="2" mb="0" cb="0"/><line nr="292" mi="8" ci="0" mb="0" cb="0"/><line nr="293" mi="6" ci="0" mb="0" cb="0"/><line nr="295" mi="5" ci="0" mb="0" cb="0"/><line nr="296" mi="4" ci="0" mb="0" cb="0"/><line nr="297" mi="2" ci="0" mb="0" cb="0"/><line nr="299" mi="10" ci="0" mb="0" cb="0"/><line nr="303" mi="0" ci="4" mb="0" cb="0"/><line nr="304" mi="0" ci="3" mb="0" cb="0"/><line nr="305" mi="0" ci="3" mb="0" cb="0"/><line nr="306" mi="0" ci="4" mb="0" cb="0"/><line nr="307" mi="0" ci="3" mb="0" cb="0"/><line nr="308" mi="0" ci="4" mb="0" cb="0"/><line nr="309" mi="0" ci="4" mb="0" cb="0"/><line nr="310" mi="0" ci="4" mb="0" cb="0"/><line nr="311" mi="0" ci="3" mb="0" cb="0"/><line nr="312" mi="0" ci="2" mb="0" cb="0"/><line nr="316" mi="0" ci="4" mb="0" cb="0"/><line nr="317" mi="0" ci="4" mb="0" cb="0"/><line nr="318" mi="0" ci="4" mb="0" cb="0"/><line nr="319" mi="0" ci="4" mb="0" cb="0"/><line nr="320" mi="0" ci="4" mb="0" cb="0"/><line nr="321" mi="0" ci="4" mb="0" cb="0"/><line nr="322" mi="0" ci="4" mb="0" cb="0"/><line nr="323" mi="0" ci="4" mb="0" cb="0"/><line nr="324" mi="0" ci="4" mb="0" cb="0"/><line nr="325" mi="0" ci="2" mb="0" cb="0"/><line nr="329" mi="0" ci="4" mb="0" cb="0"/><line nr="330" mi="0" ci="4" mb="0" cb="0"/><line nr="331" mi="0" ci="4" mb="0" cb="0"/><line nr="332" mi="0" ci="4" mb="0" cb="0"/><line nr="333" mi="0" ci="4" mb="0" cb="0"/><line nr="334" mi="0" ci="4" mb="0" cb="0"/><line nr="335" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="84" covered="753"/><counter type="BRANCH" missed="14" covered="44"/><counter type="LINE" missed="11" covered="153"/><counter type="COMPLEXITY" missed="17" covered="40"/><counter type="METHOD" missed="3" covered="25"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="TranslationTaskApplicationService.java"><line nr="51" mi="0" ci="30" mb="0" cb="0"/><line nr="53" mi="0" ci="4" mb="0" cb="0"/><line nr="69" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="0" ci="4" mb="0" cb="0"/><line nr="72" mi="0" ci="3" mb="0" cb="0"/><line nr="73" mi="0" ci="3" mb="0" cb="0"/><line nr="74" mi="0" ci="3" mb="0" cb="0"/><line nr="75" mi="0" ci="4" mb="0" cb="0"/><line nr="76" mi="0" ci="4" mb="0" cb="0"/><line nr="77" mi="0" ci="4" mb="0" cb="0"/><line nr="78" mi="0" ci="4" mb="0" cb="0"/><line nr="79" mi="0" ci="3" mb="0" cb="0"/><line nr="80" mi="0" ci="4" mb="0" cb="0"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="82" mi="0" ci="3" mb="0" cb="0"/><line nr="84" mi="0" ci="4" mb="0" cb="0"/><line nr="87" mi="0" ci="3" mb="0" cb="0"/><line nr="88" mi="0" ci="4" mb="0" cb="0"/><line nr="90" mi="0" ci="2" mb="0" cb="0"/><line nr="97" mi="0" ci="4" mb="0" cb="4"/><line nr="98" mi="0" ci="1" mb="0" cb="0"/><line nr="100" mi="0" ci="12" mb="0" cb="4"/><line nr="101" mi="0" ci="1" mb="0" cb="0"/><line nr="105" mi="0" ci="4" mb="0" cb="0"/><line nr="106" mi="0" ci="3" mb="0" cb="0"/><line nr="107" mi="0" ci="4" mb="0" cb="0"/><line nr="109" mi="0" ci="6" mb="0" cb="0"/><line nr="111" mi="0" ci="4" mb="0" cb="0"/><line nr="112" mi="0" ci="1" mb="0" cb="0"/><line nr="119" mi="0" ci="6" mb="0" cb="0"/><line nr="122" mi="0" ci="7" mb="0" cb="0"/><line nr="123" mi="0" ci="6" mb="2" cb="2"/><line nr="124" mi="6" ci="0" mb="0" cb="0"/><line nr="125" mi="1" ci="0" mb="0" cb="0"/><line nr="129" mi="0" ci="6" mb="0" cb="0"/><line nr="130" mi="0" ci="4" mb="0" cb="0"/><line nr="131" mi="0" ci="4" mb="0" cb="0"/><line nr="132" mi="0" ci="3" mb="0" cb="0"/><line nr="133" mi="0" ci="2" mb="0" cb="0"/><line nr="134" mi="0" ci="3" mb="0" cb="0"/><line nr="135" mi="0" ci="3" mb="0" cb="0"/><line nr="136" mi="0" ci="3" mb="0" cb="0"/><line nr="137" mi="0" ci="4" mb="0" cb="0"/><line nr="140" mi="0" ci="5" mb="0" cb="0"/><line nr="142" mi="0" ci="18" mb="0" cb="0"/><line nr="146" mi="0" ci="3" mb="0" cb="2"/><line nr="147" mi="0" ci="4" mb="0" cb="0"/><line nr="148" mi="0" ci="2" mb="0" cb="0"/><line nr="149" mi="0" ci="12" mb="1" cb="3"/><line nr="150" mi="0" ci="6" mb="0" cb="0"/><line nr="151" mi="0" ci="2" mb="0" cb="0"/><line nr="154" mi="0" ci="3" mb="1" cb="1"/><line nr="155" mi="6" ci="0" mb="0" cb="0"/><line nr="156" mi="4" ci="0" mb="0" cb="0"/><line nr="159" mi="0" ci="3" mb="0" cb="0"/><line nr="162" mi="0" ci="5" mb="1" cb="1"/><line nr="163" mi="7" ci="0" mb="0" cb="0"/><line nr="165" mi="0" ci="6" mb="0" cb="0"/><line nr="167" mi="1" ci="0" mb="0" cb="0"/><line nr="168" mi="20" ci="0" mb="0" cb="0"/><line nr="169" mi="2" ci="0" mb="0" cb="0"/><line nr="170" mi="0" ci="1" mb="0" cb="0"/><line nr="171" mi="3" ci="2" mb="3" cb="1"/><line nr="173" mi="8" ci="0" mb="4" cb="0"/><line nr="174" mi="3" ci="0" mb="0" cb="0"/><line nr="175" mi="3" ci="0" mb="2" cb="0"/><line nr="176" mi="4" ci="0" mb="0" cb="0"/><line nr="179" mi="4" ci="0" mb="0" cb="0"/><line nr="181" mi="0" ci="2" mb="0" cb="0"/><line nr="183" mi="0" ci="11" mb="0" cb="0"/><line nr="184" mi="0" ci="6" mb="0" cb="0"/><line nr="185" mi="0" ci="1" mb="0" cb="0"/><line nr="188" mi="0" ci="4" mb="0" cb="0"/><line nr="189" mi="0" ci="12" mb="0" cb="0"/><line nr="192" mi="0" ci="4" mb="0" cb="0"/><line nr="193" mi="0" ci="3" mb="0" cb="0"/><line nr="194" mi="0" ci="3" mb="0" cb="0"/><line nr="195" mi="0" ci="4" mb="0" cb="0"/><line nr="197" mi="0" ci="6" mb="0" cb="0"/><line nr="198" mi="0" ci="6" mb="0" cb="0"/><line nr="200" mi="0" ci="1" mb="0" cb="0"/><line nr="201" mi="0" ci="6" mb="0" cb="0"/><line nr="202" mi="0" ci="8" mb="0" cb="0"/><line nr="203" mi="0" ci="1" mb="0" cb="0"/><line nr="204" mi="0" ci="1" mb="0" cb="0"/><line nr="205" mi="0" ci="1" mb="0" cb="0"/><line nr="211" mi="0" ci="5" mb="0" cb="0"/><line nr="212" mi="0" ci="5" mb="0" cb="2"/><line nr="213" mi="0" ci="6" mb="0" cb="0"/><line nr="216" mi="0" ci="4" mb="0" cb="2"/><line nr="217" mi="0" ci="4" mb="0" cb="0"/><line nr="220" mi="0" ci="7" mb="0" cb="0"/><line nr="227" mi="0" ci="9" mb="0" cb="0"/><line nr="228" mi="0" ci="13" mb="0" cb="6"/><line nr="229" mi="0" ci="1" mb="0" cb="0"/><line nr="231" mi="0" ci="4" mb="0" cb="0"/><line nr="232" mi="0" ci="4" mb="0" cb="0"/><line nr="233" mi="0" ci="3" mb="0" cb="2"/><line nr="234" mi="0" ci="3" mb="0" cb="0"/><line nr="236" mi="0" ci="2" mb="0" cb="2"/><line nr="237" mi="0" ci="3" mb="0" cb="0"/><line nr="239" mi="0" ci="4" mb="0" cb="0"/><line nr="240" mi="0" ci="1" mb="0" cb="0"/><line nr="246" mi="0" ci="4" mb="0" cb="0"/><line nr="247" mi="0" ci="4" mb="0" cb="0"/><line nr="248" mi="0" ci="4" mb="0" cb="0"/><line nr="249" mi="0" ci="4" mb="0" cb="0"/><line nr="250" mi="0" ci="4" mb="0" cb="0"/><line nr="251" mi="0" ci="4" mb="0" cb="0"/><line nr="252" mi="0" ci="4" mb="0" cb="0"/><line nr="253" mi="0" ci="8" mb="1" cb="3"/><line nr="254" mi="0" ci="5" mb="0" cb="0"/><line nr="255" mi="0" ci="1" mb="0" cb="0"/><line nr="258" mi="0" ci="3" mb="0" cb="0"/><line nr="259" mi="0" ci="8" mb="1" cb="3"/><line nr="260" mi="5" ci="0" mb="0" cb="0"/><line nr="261" mi="0" ci="1" mb="0" cb="0"/><line nr="262" mi="0" ci="4" mb="0" cb="0"/><line nr="263" mi="0" ci="3" mb="0" cb="0"/><line nr="265" mi="0" ci="4" mb="0" cb="0"/><line nr="266" mi="0" ci="1" mb="0" cb="0"/><line nr="273" mi="0" ci="5" mb="0" cb="0"/><line nr="276" mi="0" ci="5" mb="0" cb="0"/><line nr="277" mi="0" ci="6" mb="0" cb="0"/><line nr="278" mi="0" ci="1" mb="0" cb="0"/><line nr="279" mi="0" ci="1" mb="0" cb="0"/><line nr="280" mi="0" ci="5" mb="0" cb="0"/><line nr="281" mi="0" ci="2" mb="0" cb="0"/><line nr="289" mi="0" ci="8" mb="0" cb="0"/><line nr="296" mi="0" ci="8" mb="0" cb="0"/><line nr="303" mi="0" ci="8" mb="0" cb="0"/><line nr="304" mi="0" ci="7" mb="0" cb="4"/><line nr="305" mi="0" ci="12" mb="0" cb="4"/><line nr="306" mi="0" ci="4" mb="0" cb="0"/><line nr="307" mi="0" ci="3" mb="0" cb="0"/><line nr="308" mi="0" ci="4" mb="0" cb="0"/><line nr="310" mi="0" ci="3" mb="0" cb="2"/><line nr="311" mi="0" ci="9" mb="0" cb="0"/><line nr="312" mi="0" ci="2" mb="0" cb="2"/><line nr="313" mi="0" ci="4" mb="0" cb="0"/><line nr="314" mi="0" ci="3" mb="0" cb="0"/><line nr="315" mi="0" ci="3" mb="0" cb="0"/><line nr="316" mi="0" ci="4" mb="0" cb="0"/><line nr="319" mi="0" ci="2" mb="0" cb="0"/><line nr="322" mi="0" ci="2" mb="0" cb="0"/><line nr="329" mi="0" ci="8" mb="0" cb="0"/><line nr="330" mi="0" ci="7" mb="0" cb="4"/><line nr="331" mi="0" ci="5" mb="0" cb="0"/><line nr="332" mi="0" ci="2" mb="0" cb="0"/><line nr="334" mi="0" ci="2" mb="0" cb="0"/><line nr="341" mi="0" ci="8" mb="0" cb="0"/><line nr="342" mi="0" ci="2" mb="0" cb="2"/><line nr="343" mi="0" ci="2" mb="0" cb="0"/><line nr="346" mi="0" ci="4" mb="0" cb="0"/><line nr="347" mi="0" ci="3" mb="0" cb="0"/><line nr="348" mi="0" ci="4" mb="0" cb="0"/><line nr="349" mi="0" ci="4" mb="0" cb="0"/><line nr="350" mi="0" ci="4" mb="0" cb="0"/><line nr="352" mi="0" ci="3" mb="0" cb="0"/><line nr="353" mi="0" ci="20" mb="1" cb="7"/><line nr="354" mi="0" ci="5" mb="0" cb="2"/><line nr="355" mi="0" ci="5" mb="0" cb="2"/><line nr="356" mi="0" ci="5" mb="0" cb="0"/><line nr="357" mi="0" ci="1" mb="0" cb="0"/><line nr="361" mi="0" ci="5" mb="0" cb="2"/><line nr="362" mi="0" ci="9" mb="0" cb="0"/><line nr="363" mi="0" ci="2" mb="0" cb="2"/><line nr="364" mi="0" ci="4" mb="0" cb="0"/><line nr="365" mi="0" ci="4" mb="0" cb="0"/><line nr="367" mi="0" ci="6" mb="1" cb="1"/><line nr="369" mi="0" ci="3" mb="0" cb="2"/><line nr="370" mi="0" ci="9" mb="0" cb="0"/><line nr="371" mi="0" ci="2" mb="0" cb="2"/><line nr="372" mi="0" ci="4" mb="0" cb="0"/><line nr="375" mi="0" ci="6" mb="0" cb="0"/><line nr="376" mi="0" ci="5" mb="0" cb="2"/><line nr="377" mi="0" ci="4" mb="0" cb="0"/><line nr="378" mi="0" ci="3" mb="0" cb="0"/><line nr="380" mi="1" ci="0" mb="0" cb="0"/><line nr="381" mi="5" ci="0" mb="0" cb="0"/><line nr="382" mi="0" ci="1" mb="0" cb="0"/><line nr="384" mi="0" ci="5" mb="0" cb="2"/><line nr="385" mi="0" ci="4" mb="0" cb="0"/><line nr="387" mi="0" ci="5" mb="0" cb="0"/><line nr="388" mi="0" ci="5" mb="0" cb="2"/><line nr="390" mi="0" ci="5" mb="0" cb="0"/><line nr="392" mi="1" ci="0" mb="0" cb="0"/><line nr="393" mi="5" ci="0" mb="0" cb="0"/><line nr="394" mi="0" ci="1" mb="0" cb="0"/><line nr="401" mi="0" ci="2" mb="0" cb="0"/><line nr="408" mi="0" ci="8" mb="0" cb="0"/><line nr="409" mi="0" ci="7" mb="0" cb="4"/><line nr="410" mi="0" ci="2" mb="0" cb="0"/><line nr="413" mi="0" ci="11" mb="0" cb="4"/><line nr="414" mi="0" ci="3" mb="0" cb="2"/><line nr="415" mi="0" ci="9" mb="0" cb="0"/><line nr="416" mi="0" ci="11" mb="0" cb="4"/><line nr="417" mi="0" ci="3" mb="0" cb="0"/><line nr="422" mi="0" ci="2" mb="0" cb="0"/><line nr="429" mi="0" ci="6" mb="0" cb="0"/><line nr="432" mi="0" ci="4" mb="0" cb="0"/><line nr="435" mi="0" ci="7" mb="0" cb="0"/><line nr="436" mi="0" ci="10" mb="0" cb="2"/><line nr="437" mi="0" ci="4" mb="0" cb="0"/><line nr="438" mi="0" ci="4" mb="0" cb="0"/><line nr="439" mi="0" ci="4" mb="0" cb="0"/><line nr="440" mi="0" ci="4" mb="0" cb="0"/><line nr="441" mi="0" ci="4" mb="0" cb="0"/><line nr="442" mi="0" ci="4" mb="0" cb="0"/><line nr="443" mi="0" ci="4" mb="0" cb="0"/><line nr="444" mi="0" ci="3" mb="0" cb="0"/><line nr="445" mi="0" ci="3" mb="0" cb="0"/><line nr="446" mi="0" ci="4" mb="0" cb="0"/><line nr="447" mi="0" ci="4" mb="0" cb="0"/><line nr="448" mi="0" ci="4" mb="0" cb="0"/><line nr="449" mi="0" ci="1" mb="0" cb="0"/><line nr="452" mi="0" ci="7" mb="0" cb="0"/><line nr="453" mi="0" ci="4" mb="0" cb="0"/><line nr="456" mi="0" ci="5" mb="0" cb="0"/><line nr="457" mi="0" ci="3" mb="0" cb="0"/><line nr="459" mi="0" ci="2" mb="0" cb="0"/><line nr="460" mi="0" ci="2" mb="0" cb="0"/><line nr="462" mi="0" ci="1" mb="0" cb="0"/><line nr="463" mi="0" ci="2" mb="0" cb="0"/><line nr="464" mi="0" ci="3" mb="0" cb="0"/><line nr="465" mi="2" ci="3" mb="1" cb="1"/><line nr="466" mi="2" ci="3" mb="1" cb="1"/><line nr="467" mi="0" ci="6" mb="0" cb="0"/><line nr="469" mi="0" ci="1" mb="0" cb="0"/><line nr="470" mi="0" ci="2" mb="0" cb="0"/><line nr="472" mi="0" ci="6" mb="0" cb="4"/><line nr="473" mi="0" ci="5" mb="0" cb="0"/><line nr="474" mi="0" ci="6" mb="0" cb="0"/><line nr="475" mi="0" ci="1" mb="0" cb="0"/><line nr="478" mi="0" ci="2" mb="0" cb="0"/><line nr="486" mi="0" ci="4" mb="1" cb="1"/><line nr="487" mi="0" ci="5" mb="0" cb="0"/><line nr="489" mi="6" ci="0" mb="0" cb="0"/><line nr="496" mi="0" ci="10" mb="0" cb="0"/><line nr="503" mi="0" ci="2" mb="0" cb="2"/><line nr="504" mi="0" ci="2" mb="0" cb="0"/><line nr="507" mi="0" ci="4" mb="0" cb="0"/><line nr="508" mi="0" ci="4" mb="0" cb="0"/><line nr="509" mi="0" ci="4" mb="0" cb="0"/><line nr="510" mi="0" ci="4" mb="0" cb="0"/><line nr="511" mi="0" ci="4" mb="0" cb="0"/><line nr="512" mi="0" ci="4" mb="0" cb="0"/><line nr="513" mi="0" ci="4" mb="0" cb="0"/><line nr="514" mi="0" ci="5" mb="0" cb="2"/><line nr="515" mi="0" ci="5" mb="0" cb="0"/><line nr="516" mi="0" ci="1" mb="0" cb="0"/><line nr="517" mi="0" ci="5" mb="0" cb="2"/><line nr="518" mi="0" ci="5" mb="0" cb="0"/><line nr="519" mi="0" ci="1" mb="0" cb="0"/><line nr="520" mi="0" ci="4" mb="0" cb="0"/><line nr="522" mi="0" ci="2" mb="0" cb="0"/><line nr="529" mi="0" ci="2" mb="0" cb="2"/><line nr="530" mi="0" ci="2" mb="0" cb="0"/><line nr="533" mi="0" ci="4" mb="0" cb="0"/><line nr="534" mi="0" ci="4" mb="0" cb="0"/><line nr="535" mi="0" ci="4" mb="0" cb="0"/><line nr="536" mi="0" ci="4" mb="0" cb="0"/><line nr="537" mi="0" ci="4" mb="0" cb="0"/><line nr="538" mi="0" ci="4" mb="0" cb="0"/><line nr="539" mi="0" ci="5" mb="0" cb="2"/><line nr="540" mi="0" ci="10" mb="0" cb="0"/><line nr="541" mi="0" ci="1" mb="0" cb="0"/><line nr="542" mi="0" ci="5" mb="0" cb="2"/><line nr="543" mi="0" ci="10" mb="0" cb="0"/><line nr="544" mi="0" ci="1" mb="0" cb="0"/><line nr="545" mi="0" ci="5" mb="1" cb="1"/><line nr="546" mi="0" ci="5" mb="0" cb="0"/><line nr="547" mi="1" ci="0" mb="0" cb="0"/><line nr="550" mi="0" ci="3" mb="1" cb="1"/><line nr="551" mi="0" ci="9" mb="0" cb="0"/><line nr="552" mi="0" ci="9" mb="0" cb="2"/><line nr="553" mi="0" ci="1" mb="0" cb="0"/><line nr="554" mi="4" ci="0" mb="0" cb="0"/><line nr="558" mi="0" ci="3" mb="0" cb="2"/><line nr="559" mi="0" ci="9" mb="0" cb="0"/><line nr="560" mi="0" ci="2" mb="1" cb="1"/><line nr="561" mi="0" ci="4" mb="0" cb="0"/><line nr="566" mi="0" ci="6" mb="1" cb="3"/><line nr="567" mi="0" ci="9" mb="0" cb="0"/><line nr="568" mi="0" ci="5" mb="0" cb="4"/><line nr="569" mi="0" ci="9" mb="0" cb="0"/><line nr="570" mi="0" ci="2" mb="1" cb="1"/><line nr="571" mi="0" ci="4" mb="0" cb="0"/><line nr="577" mi="0" ci="3" mb="0" cb="2"/><line nr="578" mi="0" ci="10" mb="0" cb="2"/><line nr="581" mi="0" ci="2" mb="0" cb="0"/><line nr="589" mi="0" ci="4" mb="0" cb="0"/><line nr="590" mi="0" ci="4" mb="0" cb="0"/><line nr="592" mi="0" ci="9" mb="0" cb="0"/><line nr="594" mi="0" ci="8" mb="0" cb="0"/><line nr="595" mi="0" ci="2" mb="0" cb="2"/><line nr="596" mi="0" ci="3" mb="0" cb="0"/><line nr="597" mi="0" ci="2" mb="0" cb="0"/><line nr="598" mi="0" ci="1" mb="0" cb="0"/><line nr="602" mi="0" ci="6" mb="0" cb="0"/><line nr="603" mi="0" ci="4" mb="0" cb="0"/><line nr="604" mi="0" ci="3" mb="0" cb="0"/><line nr="605" mi="0" ci="4" mb="0" cb="0"/><line nr="606" mi="0" ci="6" mb="0" cb="0"/><line nr="609" mi="0" ci="7" mb="0" cb="0"/><line nr="610" mi="0" ci="6" mb="1" cb="3"/><line nr="611" mi="0" ci="6" mb="0" cb="0"/><line nr="612" mi="0" ci="3" mb="0" cb="0"/><line nr="613" mi="0" ci="2" mb="0" cb="0"/><line nr="614" mi="0" ci="1" mb="0" cb="0"/><line nr="618" mi="0" ci="4" mb="0" cb="0"/><line nr="619" mi="0" ci="3" mb="0" cb="0"/><line nr="620" mi="0" ci="4" mb="0" cb="0"/><line nr="622" mi="0" ci="7" mb="0" cb="2"/><line nr="624" mi="0" ci="9" mb="0" cb="0"/><line nr="625" mi="0" ci="8" mb="2" cb="2"/><line nr="626" mi="5" ci="0" mb="0" cb="0"/><line nr="627" mi="2" ci="0" mb="0" cb="0"/><line nr="628" mi="1" ci="0" mb="0" cb="0"/><line nr="631" mi="0" ci="4" mb="0" cb="0"/><line nr="632" mi="0" ci="4" mb="0" cb="2"/><line nr="633" mi="0" ci="4" mb="0" cb="0"/><line nr="634" mi="0" ci="1" mb="0" cb="0"/><line nr="637" mi="0" ci="3" mb="0" cb="0"/><line nr="640" mi="0" ci="4" mb="0" cb="2"/><line nr="641" mi="0" ci="16" mb="0" cb="0"/><line nr="644" mi="0" ci="6" mb="0" cb="0"/><line nr="645" mi="0" ci="1" mb="0" cb="0"/><line nr="646" mi="0" ci="9" mb="0" cb="0"/><line nr="647" mi="0" ci="3" mb="0" cb="0"/><line nr="649" mi="0" ci="3" mb="0" cb="0"/><line nr="650" mi="0" ci="5" mb="0" cb="4"/><line nr="651" mi="0" ci="3" mb="0" cb="0"/><line nr="652" mi="0" ci="2" mb="0" cb="0"/><line nr="655" mi="0" ci="8" mb="1" cb="3"/><line nr="656" mi="0" ci="4" mb="0" cb="2"/><line nr="657" mi="0" ci="4" mb="0" cb="0"/><line nr="658" mi="0" ci="4" mb="0" cb="2"/><line nr="659" mi="0" ci="4" mb="0" cb="0"/><line nr="660" mi="0" ci="4" mb="1" cb="1"/><line nr="661" mi="3" ci="0" mb="0" cb="0"/><line nr="664" mi="0" ci="4" mb="0" cb="0"/><line nr="666" mi="0" ci="4" mb="0" cb="0"/><line nr="667" mi="0" ci="5" mb="0" cb="0"/><line nr="668" mi="0" ci="5" mb="0" cb="0"/><line nr="669" mi="0" ci="5" mb="0" cb="0"/><line nr="670" mi="0" ci="15" mb="0" cb="0"/><line nr="672" mi="0" ci="5" mb="0" cb="0"/><line nr="673" mi="1" ci="0" mb="0" cb="0"/><line nr="674" mi="7" ci="0" mb="0" cb="0"/><line nr="675" mi="4" ci="0" mb="0" cb="0"/><line nr="676" mi="4" ci="0" mb="0" cb="0"/><line nr="677" mi="5" ci="0" mb="0" cb="0"/><line nr="678" mi="5" ci="0" mb="0" cb="0"/><line nr="679" mi="5" ci="0" mb="0" cb="0"/><line nr="680" mi="6" ci="0" mb="0" cb="0"/><line nr="681" mi="15" ci="0" mb="0" cb="0"/><line nr="682" mi="5" ci="0" mb="0" cb="0"/><line nr="683" mi="0" ci="1" mb="0" cb="0"/><line nr="685" mi="0" ci="13" mb="0" cb="0"/><line nr="686" mi="0" ci="6" mb="0" cb="0"/><line nr="690" mi="0" ci="4" mb="0" cb="0"/><line nr="691" mi="0" ci="12" mb="0" cb="0"/><line nr="694" mi="0" ci="4" mb="0" cb="0"/><line nr="695" mi="0" ci="3" mb="0" cb="0"/><line nr="696" mi="0" ci="3" mb="0" cb="0"/><line nr="697" mi="0" ci="4" mb="0" cb="0"/><line nr="699" mi="0" ci="6" mb="0" cb="0"/><line nr="700" mi="0" ci="6" mb="0" cb="0"/><line nr="702" mi="0" ci="2" mb="0" cb="0"/><line nr="703" mi="0" ci="2" mb="0" cb="0"/><line nr="705" mi="0" ci="1" mb="0" cb="0"/><line nr="706" mi="0" ci="6" mb="0" cb="0"/><line nr="707" mi="0" ci="5" mb="0" cb="0"/><line nr="708" mi="0" ci="2" mb="0" cb="0"/><line nr="709" mi="0" ci="1" mb="0" cb="0"/><line nr="710" mi="0" ci="1" mb="0" cb="0"/><line nr="712" mi="0" ci="2" mb="0" cb="0"/><line nr="720" mi="0" ci="4" mb="0" cb="0"/><line nr="721" mi="0" ci="4" mb="0" cb="0"/><line nr="723" mi="0" ci="9" mb="0" cb="0"/><line nr="725" mi="0" ci="3" mb="0" cb="0"/><line nr="726" mi="1" ci="12" mb="1" cb="1"/><line nr="727" mi="0" ci="5" mb="0" cb="0"/><line nr="728" mi="0" ci="6" mb="1" cb="3"/><line nr="729" mi="0" ci="3" mb="0" cb="0"/><line nr="730" mi="0" ci="2" mb="0" cb="0"/><line nr="731" mi="0" ci="1" mb="0" cb="0"/><line nr="734" mi="0" ci="4" mb="0" cb="0"/><line nr="735" mi="0" ci="3" mb="0" cb="0"/><line nr="736" mi="0" ci="2" mb="0" cb="0"/><line nr="738" mi="0" ci="7" mb="0" cb="2"/><line nr="739" mi="0" ci="4" mb="0" cb="0"/><line nr="740" mi="0" ci="4" mb="1" cb="1"/><line nr="741" mi="1" ci="0" mb="0" cb="0"/><line nr="742" mi="1" ci="0" mb="0" cb="0"/><line nr="745" mi="0" ci="3" mb="0" cb="0"/><line nr="748" mi="0" ci="4" mb="0" cb="2"/><line nr="749" mi="0" ci="16" mb="0" cb="0"/><line nr="752" mi="0" ci="6" mb="0" cb="0"/><line nr="753" mi="0" ci="1" mb="0" cb="0"/><line nr="754" mi="0" ci="9" mb="0" cb="0"/><line nr="755" mi="0" ci="3" mb="0" cb="0"/><line nr="759" mi="0" ci="3" mb="0" cb="0"/><line nr="760" mi="0" ci="5" mb="0" cb="4"/><line nr="761" mi="0" ci="3" mb="0" cb="0"/><line nr="762" mi="0" ci="2" mb="0" cb="0"/><line nr="765" mi="0" ci="8" mb="1" cb="3"/><line nr="766" mi="0" ci="4" mb="1" cb="1"/><line nr="767" mi="4" ci="0" mb="0" cb="0"/><line nr="768" mi="0" ci="4" mb="0" cb="2"/><line nr="769" mi="0" ci="4" mb="0" cb="0"/><line nr="770" mi="0" ci="4" mb="0" cb="2"/><line nr="771" mi="0" ci="3" mb="0" cb="0"/><line nr="775" mi="0" ci="4" mb="0" cb="0"/><line nr="776" mi="0" ci="5" mb="0" cb="0"/><line nr="777" mi="0" ci="5" mb="0" cb="0"/><line nr="778" mi="0" ci="5" mb="0" cb="0"/><line nr="779" mi="0" ci="15" mb="0" cb="0"/><line nr="781" mi="0" ci="5" mb="0" cb="0"/><line nr="782" mi="1" ci="0" mb="0" cb="0"/><line nr="783" mi="7" ci="0" mb="0" cb="0"/><line nr="784" mi="4" ci="0" mb="0" cb="0"/><line nr="785" mi="5" ci="0" mb="0" cb="0"/><line nr="786" mi="5" ci="0" mb="0" cb="0"/><line nr="787" mi="5" ci="0" mb="0" cb="0"/><line nr="788" mi="6" ci="0" mb="0" cb="0"/><line nr="789" mi="15" ci="0" mb="0" cb="0"/><line nr="790" mi="5" ci="0" mb="0" cb="0"/><line nr="791" mi="0" ci="1" mb="0" cb="0"/><line nr="793" mi="0" ci="1" mb="0" cb="0"/><line nr="796" mi="0" ci="2" mb="0" cb="0"/><line nr="797" mi="0" ci="2" mb="0" cb="0"/><line nr="799" mi="0" ci="1" mb="0" cb="0"/><line nr="800" mi="0" ci="6" mb="0" cb="0"/><line nr="801" mi="0" ci="5" mb="0" cb="0"/><line nr="802" mi="0" ci="2" mb="0" cb="0"/><line nr="803" mi="0" ci="1" mb="0" cb="0"/><line nr="804" mi="0" ci="1" mb="0" cb="0"/><line nr="806" mi="0" ci="2" mb="0" cb="0"/><line nr="813" mi="0" ci="3" mb="0" cb="0"/><line nr="814" mi="0" ci="6" mb="0" cb="0"/><line nr="816" mi="0" ci="4" mb="0" cb="2"/><line nr="817" mi="0" ci="2" mb="0" cb="0"/><line nr="819" mi="0" ci="7" mb="0" cb="0"/><line nr="828" mi="5" ci="0" mb="4" cb="0"/><line nr="829" mi="2" ci="0" mb="0" cb="0"/><line nr="831" mi="3" ci="0" mb="0" cb="0"/><line nr="832" mi="2" ci="0" mb="2" cb="0"/><line nr="833" mi="6" ci="0" mb="0" cb="0"/><line nr="834" mi="6" ci="0" mb="4" cb="0"/><line nr="835" mi="1" ci="0" mb="0" cb="0"/><line nr="837" mi="1" ci="0" mb="0" cb="0"/><line nr="838" mi="1" ci="0" mb="0" cb="0"/><line nr="839" mi="4" ci="0" mb="0" cb="0"/><line nr="848" mi="0" ci="4" mb="0" cb="0"/><line nr="849" mi="0" ci="5" mb="0" cb="0"/><line nr="850" mi="0" ci="2" mb="0" cb="0"/><line nr="851" mi="0" ci="10" mb="0" cb="2"/><line nr="852" mi="0" ci="7" mb="0" cb="0"/><line nr="853" mi="0" ci="4" mb="0" cb="0"/><line nr="854" mi="0" ci="3" mb="0" cb="0"/><line nr="855" mi="0" ci="4" mb="0" cb="0"/><line nr="857" mi="0" ci="3" mb="0" cb="2"/><line nr="858" mi="0" ci="9" mb="0" cb="0"/><line nr="859" mi="0" ci="8" mb="0" cb="4"/><line nr="860" mi="0" ci="4" mb="0" cb="0"/><line nr="861" mi="0" ci="3" mb="0" cb="0"/><line nr="862" mi="0" ci="3" mb="0" cb="0"/><line nr="863" mi="0" ci="4" mb="0" cb="0"/><line nr="866" mi="0" ci="1" mb="0" cb="0"/><line nr="867" mi="0" ci="1" mb="0" cb="0"/><line nr="874" mi="0" ci="3" mb="0" cb="0"/><line nr="876" mi="0" ci="3" mb="0" cb="0"/><line nr="877" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="263" covered="1873"/><counter type="BRANCH" missed="46" covered="192"/><counter type="LINE" missed="57" covered="418"/><counter type="COMPLEXITY" missed="38" covered="115"/><counter type="METHOD" missed="1" covered="33"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="RagTranslationApplicationService.java"><line nr="28" mi="0" ci="3" mb="0" cb="0"/><line nr="29" mi="0" ci="12" mb="0" cb="0"/><line nr="33" mi="0" ci="4" mb="0" cb="0"/><line nr="59" mi="0" ci="2" mb="0" cb="2"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><line nr="62" mi="0" ci="7" mb="0" cb="0"/><line nr="68" mi="0" ci="8" mb="0" cb="0"/><line nr="69" mi="0" ci="1" mb="0" cb="0"/><line nr="74" mi="0" ci="5" mb="0" cb="4"/><line nr="75" mi="0" ci="3" mb="0" cb="0"/><line nr="79" mi="0" ci="5" mb="0" cb="0"/><line nr="80" mi="0" ci="3" mb="0" cb="2"/><line nr="81" mi="0" ci="3" mb="0" cb="0"/><line nr="84" mi="0" ci="10" mb="0" cb="0"/><line nr="86" mi="0" ci="3" mb="0" cb="2"/><line nr="87" mi="0" ci="7" mb="0" cb="0"/><line nr="90" mi="0" ci="3" mb="0" cb="2"/><line nr="91" mi="0" ci="3" mb="0" cb="0"/><line nr="94" mi="0" ci="4" mb="0" cb="0"/><line nr="95" mi="0" ci="5" mb="0" cb="0"/><line nr="97" mi="0" ci="5" mb="0" cb="0"/><line nr="98" mi="0" ci="6" mb="0" cb="2"/><line nr="99" mi="0" ci="3" mb="0" cb="0"/><line nr="100" mi="0" ci="4" mb="0" cb="0"/><line nr="101" mi="0" ci="5" mb="0" cb="0"/><line nr="102" mi="0" ci="5" mb="0" cb="0"/><line nr="103" mi="0" ci="9" mb="0" cb="0"/><line nr="104" mi="0" ci="6" mb="1" cb="1"/><line nr="105" mi="0" ci="3" mb="0" cb="0"/><line nr="106" mi="0" ci="5" mb="0" cb="0"/><line nr="107" mi="0" ci="6" mb="0" cb="0"/><line nr="110" mi="0" ci="2" mb="0" cb="0"/><line nr="111" mi="0" ci="1" mb="0" cb="0"/><line nr="112" mi="0" ci="6" mb="0" cb="0"/><line nr="113" mi="0" ci="3" mb="0" cb="0"/><line nr="118" mi="0" ci="7" mb="1" cb="5"/><line nr="119" mi="0" ci="1" mb="0" cb="0"/><line nr="122" mi="0" ci="5" mb="0" cb="0"/><line nr="123" mi="0" ci="2" mb="0" cb="2"/><line nr="124" mi="0" ci="19" mb="0" cb="0"/><line nr="125" mi="0" ci="1" mb="0" cb="0"/><line nr="129" mi="0" ci="12" mb="0" cb="0"/><line nr="133" mi="0" ci="2" mb="1" cb="1"/><line nr="134" mi="3" ci="0" mb="0" cb="0"/><line nr="135" mi="1" ci="0" mb="0" cb="0"/><line nr="138" mi="0" ci="5" mb="0" cb="0"/><line nr="139" mi="0" ci="3" mb="1" cb="1"/><line nr="140" mi="0" ci="11" mb="0" cb="0"/><line nr="145" mi="0" ci="19" mb="0" cb="0"/><line nr="146" mi="0" ci="1" mb="0" cb="0"/><line nr="147" mi="0" ci="6" mb="0" cb="0"/><line nr="148" mi="0" ci="1" mb="0" cb="0"/><line nr="149" mi="0" ci="1" mb="0" cb="0"/><line nr="154" mi="0" ci="6" mb="0" cb="0"/><line nr="155" mi="0" ci="10" mb="0" cb="2"/><line nr="156" mi="0" ci="4" mb="0" cb="0"/><line nr="157" mi="0" ci="4" mb="0" cb="0"/><line nr="158" mi="0" ci="4" mb="0" cb="0"/><line nr="159" mi="0" ci="4" mb="0" cb="0"/><line nr="160" mi="0" ci="5" mb="0" cb="0"/><line nr="161" mi="0" ci="4" mb="0" cb="0"/><line nr="162" mi="0" ci="1" mb="0" cb="0"/><line nr="163" mi="0" ci="2" mb="0" cb="0"/><line nr="171" mi="0" ci="7" mb="0" cb="0"/><line nr="172" mi="0" ci="2" mb="0" cb="0"/><line nr="174" mi="0" ci="3" mb="0" cb="2"/><line nr="175" mi="0" ci="2" mb="0" cb="0"/><line nr="178" mi="1" ci="6" mb="1" cb="1"/><line nr="180" mi="0" ci="4" mb="0" cb="0"/><line nr="181" mi="0" ci="10" mb="0" cb="2"/><line nr="182" mi="2" ci="6" mb="2" cb="2"/><line nr="183" mi="3" ci="0" mb="2" cb="0"/><line nr="184" mi="1" ci="0" mb="0" cb="0"/><line nr="187" mi="0" ci="3" mb="0" cb="0"/><line nr="188" mi="0" ci="5" mb="0" cb="4"/><line nr="189" mi="0" ci="1" mb="0" cb="0"/><line nr="192" mi="0" ci="5" mb="0" cb="0"/><line nr="193" mi="0" ci="5" mb="0" cb="2"/><line nr="194" mi="0" ci="6" mb="0" cb="0"/><line nr="195" mi="0" ci="7" mb="0" cb="0"/><line nr="197" mi="0" ci="1" mb="0" cb="0"/><line nr="199" mi="6" ci="3" mb="0" cb="0"/><line nr="200" mi="0" ci="2" mb="0" cb="0"/><line nr="201" mi="0" ci="1" mb="0" cb="0"/><line nr="202" mi="0" ci="5" mb="0" cb="0"/><line nr="203" mi="0" ci="2" mb="0" cb="0"/><line nr="211" mi="0" ci="5" mb="0" cb="2"/><line nr="212" mi="0" ci="2" mb="0" cb="0"/><line nr="215" mi="0" ci="2" mb="0" cb="0"/><line nr="216" mi="0" ci="2" mb="0" cb="0"/><line nr="217" mi="0" ci="2" mb="0" cb="0"/><line nr="219" mi="0" ci="8" mb="0" cb="2"/><line nr="220" mi="0" ci="4" mb="0" cb="0"/><line nr="221" mi="0" ci="6" mb="0" cb="0"/><line nr="222" mi="0" ci="7" mb="0" cb="0"/><line nr="223" mi="0" ci="7" mb="0" cb="0"/><line nr="224" mi="0" ci="7" mb="0" cb="0"/><line nr="227" mi="0" ci="8" mb="1" cb="3"/><line nr="228" mi="0" ci="2" mb="0" cb="0"/><line nr="231" mi="0" ci="8" mb="0" cb="0"/><line nr="238" mi="0" ci="5" mb="0" cb="4"/><line nr="239" mi="0" ci="2" mb="0" cb="0"/><line nr="241" mi="0" ci="6" mb="0" cb="2"/><line nr="242" mi="0" ci="2" mb="0" cb="0"/><line nr="245" mi="0" ci="7" mb="0" cb="0"/><line nr="246" mi="0" ci="7" mb="0" cb="0"/><line nr="247" mi="0" ci="2" mb="1" cb="1"/><line nr="248" mi="0" ci="6" mb="0" cb="0"/><line nr="249" mi="0" ci="4" mb="0" cb="2"/><line nr="250" mi="0" ci="11" mb="0" cb="0"/><line nr="252" mi="0" ci="4" mb="0" cb="2"/><line nr="253" mi="0" ci="11" mb="0" cb="0"/><line nr="257" mi="0" ci="43" mb="0" cb="0"/><line nr="259" mi="0" ci="4" mb="0" cb="0"/><line nr="260" mi="0" ci="16" mb="0" cb="2"/><line nr="261" mi="0" ci="6" mb="0" cb="2"/><line nr="262" mi="0" ci="3" mb="0" cb="0"/><line nr="266" mi="0" ci="3" mb="0" cb="2"/><line nr="267" mi="0" ci="2" mb="0" cb="0"/><line nr="268" mi="0" ci="17" mb="0" cb="2"/><line nr="269" mi="0" ci="6" mb="1" cb="3"/><line nr="270" mi="0" ci="1" mb="0" cb="0"/><line nr="273" mi="0" ci="8" mb="1" cb="1"/><line nr="274" mi="0" ci="2" mb="0" cb="0"/><line nr="278" mi="0" ci="2" mb="0" cb="0"/><line nr="283" mi="3" ci="0" mb="0" cb="0"/><line nr="284" mi="3" ci="0" mb="0" cb="0"/><line nr="285" mi="1" ci="0" mb="0" cb="0"/><line nr="286" mi="5" ci="0" mb="0" cb="0"/><line nr="287" mi="1" ci="0" mb="0" cb="0"/><line nr="289" mi="3" ci="0" mb="0" cb="0"/><line nr="290" mi="3" ci="0" mb="0" cb="0"/><line nr="291" mi="1" ci="0" mb="0" cb="0"/><line nr="292" mi="5" ci="0" mb="0" cb="0"/><line nr="293" mi="1" ci="0" mb="0" cb="0"/><line nr="294" mi="1" ci="0" mb="0" cb="0"/><line nr="297" mi="0" ci="4" mb="0" cb="0"/><line nr="298" mi="0" ci="3" mb="0" cb="0"/><line nr="299" mi="0" ci="5" mb="0" cb="0"/><line nr="300" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="44" covered="653"/><counter type="BRANCH" missed="13" covered="69"/><counter type="LINE" missed="15" covered="125"/><counter type="COMPLEXITY" missed="14" covered="40"/><counter type="METHOD" missed="2" covered="11"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AuthApplicationService.java"><line nr="35" mi="0" ci="18" mb="0" cb="0"/><line nr="46" mi="0" ci="8" mb="0" cb="0"/><line nr="47" mi="0" ci="2" mb="0" cb="2"/><line nr="48" mi="0" ci="6" mb="0" cb="0"/><line nr="50" mi="0" ci="5" mb="0" cb="0"/><line nr="54" mi="0" ci="9" mb="1" cb="3"/><line nr="55" mi="0" ci="5" mb="0" cb="0"/><line nr="56" mi="0" ci="1" mb="0" cb="0"/><line nr="58" mi="0" ci="8" mb="1" cb="3"/><line nr="59" mi="0" ci="5" mb="0" cb="0"/><line nr="64" mi="0" ci="10" mb="0" cb="0"/><line nr="66" mi="0" ci="2" mb="0" cb="2"/><line nr="67" mi="0" ci="6" mb="0" cb="2"/><line nr="68" mi="0" ci="10" mb="0" cb="0"/><line nr="70" mi="0" ci="4" mb="0" cb="0"/><line nr="71" mi="0" ci="4" mb="0" cb="0"/><line nr="72" mi="0" ci="4" mb="0" cb="0"/><line nr="73" mi="0" ci="4" mb="0" cb="0"/><line nr="74" mi="0" ci="4" mb="0" cb="0"/><line nr="75" mi="0" ci="4" mb="0" cb="0"/><line nr="76" mi="0" ci="4" mb="0" cb="0"/><line nr="78" mi="0" ci="4" mb="0" cb="0"/><line nr="80" mi="0" ci="5" mb="0" cb="0"/><line nr="81" mi="0" ci="1" mb="0" cb="0"/><line nr="84" mi="0" ci="5" mb="0" cb="0"/><line nr="85" mi="0" ci="1" mb="0" cb="0"/><line nr="87" mi="0" ci="1" mb="0" cb="0"/><line nr="88" mi="0" ci="5" mb="0" cb="0"/><line nr="89" mi="0" ci="2" mb="0" cb="0"/><line nr="97" mi="0" ci="7" mb="1" cb="3"/><line nr="98" mi="0" ci="5" mb="0" cb="0"/><line nr="99" mi="0" ci="1" mb="0" cb="0"/><line nr="102" mi="0" ci="9" mb="0" cb="0"/><line nr="103" mi="0" ci="2" mb="0" cb="2"/><line nr="104" mi="0" ci="5" mb="0" cb="0"/><line nr="105" mi="0" ci="1" mb="0" cb="0"/><line nr="108" mi="0" ci="6" mb="0" cb="0"/><line nr="109" mi="0" ci="6" mb="0" cb="0"/><line nr="110" mi="0" ci="5" mb="0" cb="0"/><line nr="117" mi="0" ci="7" mb="1" cb="3"/><line nr="118" mi="0" ci="5" mb="0" cb="0"/><line nr="119" mi="0" ci="1" mb="0" cb="0"/><line nr="122" mi="0" ci="9" mb="0" cb="0"/><line nr="123" mi="0" ci="2" mb="0" cb="2"/><line nr="124" mi="0" ci="5" mb="0" cb="0"/><line nr="125" mi="0" ci="1" mb="0" cb="0"/><line nr="128" mi="0" ci="6" mb="0" cb="0"/><line nr="129" mi="0" ci="6" mb="0" cb="0"/><line nr="130" mi="0" ci="5" mb="0" cb="0"/><line nr="135" mi="0" ci="3" mb="0" cb="0"/><line nr="136" mi="0" ci="3" mb="0" cb="0"/><line nr="137" mi="0" ci="3" mb="0" cb="0"/><line nr="139" mi="0" ci="7" mb="1" cb="3"/><line nr="140" mi="0" ci="5" mb="0" cb="0"/><line nr="141" mi="0" ci="1" mb="0" cb="0"/><line nr="143" mi="0" ci="6" mb="1" cb="3"/><line nr="144" mi="0" ci="5" mb="0" cb="0"/><line nr="147" mi="0" ci="6" mb="1" cb="3"/><line nr="148" mi="0" ci="5" mb="0" cb="0"/><line nr="149" mi="0" ci="1" mb="0" cb="0"/><line nr="152" mi="0" ci="7" mb="0" cb="2"/><line nr="153" mi="0" ci="5" mb="0" cb="0"/><line nr="154" mi="0" ci="1" mb="0" cb="0"/><line nr="157" mi="0" ci="9" mb="0" cb="0"/><line nr="158" mi="0" ci="2" mb="0" cb="2"/><line nr="159" mi="0" ci="5" mb="0" cb="0"/><line nr="160" mi="0" ci="1" mb="0" cb="0"/><line nr="163" mi="0" ci="4" mb="0" cb="0"/><line nr="164" mi="0" ci="4" mb="0" cb="0"/><line nr="165" mi="0" ci="4" mb="0" cb="0"/><line nr="166" mi="0" ci="3" mb="0" cb="0"/><line nr="167" mi="0" ci="4" mb="0" cb="0"/><line nr="168" mi="0" ci="4" mb="0" cb="0"/><line nr="172" mi="0" ci="4" mb="0" cb="0"/><line nr="173" mi="2" ci="9" mb="1" cb="1"/><line nr="174" mi="0" ci="3" mb="0" cb="0"/><line nr="175" mi="0" ci="4" mb="0" cb="0"/><line nr="176" mi="0" ci="4" mb="0" cb="0"/><line nr="178" mi="0" ci="4" mb="0" cb="0"/><line nr="180" mi="0" ci="4" mb="0" cb="0"/><line nr="182" mi="0" ci="3" mb="1" cb="1"/><line nr="183" mi="0" ci="4" mb="0" cb="0"/><line nr="184" mi="0" ci="4" mb="0" cb="0"/><line nr="185" mi="0" ci="4" mb="0" cb="0"/><line nr="186" mi="0" ci="4" mb="0" cb="0"/><line nr="187" mi="0" ci="4" mb="0" cb="0"/><line nr="188" mi="0" ci="4" mb="0" cb="0"/><line nr="189" mi="0" ci="4" mb="0" cb="0"/><line nr="191" mi="0" ci="5" mb="0" cb="0"/><line nr="193" mi="5" ci="0" mb="0" cb="0"/><line nr="196" mi="1" ci="0" mb="0" cb="0"/><line nr="197" mi="5" ci="0" mb="0" cb="0"/><line nr="198" mi="2" ci="0" mb="0" cb="0"/><line nr="206" mi="0" ci="8" mb="1" cb="3"/><line nr="207" mi="0" ci="5" mb="0" cb="0"/><line nr="211" mi="0" ci="6" mb="0" cb="0"/><line nr="212" mi="0" ci="5" mb="0" cb="0"/><line nr="213" mi="0" ci="5" mb="0" cb="0"/><line nr="214" mi="0" ci="5" mb="0" cb="0"/><line nr="217" mi="0" ci="2" mb="1" cb="1"/><line nr="218" mi="0" ci="8" mb="0" cb="0"/><line nr="219" mi="0" ci="2" mb="1" cb="1"/><line nr="220" mi="3" ci="0" mb="0" cb="0"/><line nr="224" mi="0" ci="7" mb="0" cb="0"/><line nr="226" mi="0" ci="4" mb="0" cb="0"/><line nr="227" mi="0" ci="1" mb="0" cb="0"/><line nr="228" mi="0" ci="5" mb="0" cb="0"/><line nr="236" mi="0" ci="6" mb="2" cb="2"/><line nr="237" mi="5" ci="0" mb="0" cb="0"/><line nr="240" mi="0" ci="5" mb="0" cb="2"/><line nr="241" mi="0" ci="5" mb="0" cb="0"/><line nr="242" mi="0" ci="1" mb="0" cb="0"/><line nr="246" mi="0" ci="8" mb="0" cb="0"/><line nr="247" mi="0" ci="2" mb="0" cb="2"/><line nr="248" mi="0" ci="5" mb="0" cb="0"/><line nr="251" mi="0" ci="6" mb="0" cb="2"/><line nr="252" mi="0" ci="5" mb="0" cb="0"/><line nr="255" mi="0" ci="5" mb="0" cb="0"/><line nr="256" mi="0" ci="4" mb="0" cb="0"/><line nr="258" mi="0" ci="5" mb="0" cb="0"/><line nr="259" mi="1" ci="0" mb="0" cb="0"/><line nr="260" mi="7" ci="0" mb="0" cb="0"/><line nr="269" mi="0" ci="9" mb="1" cb="3"/><line nr="270" mi="0" ci="5" mb="0" cb="0"/><line nr="271" mi="0" ci="1" mb="0" cb="0"/><line nr="274" mi="0" ci="8" mb="1" cb="3"/><line nr="275" mi="0" ci="5" mb="0" cb="0"/><line nr="278" mi="0" ci="8" mb="1" cb="3"/><line nr="279" mi="0" ci="5" mb="0" cb="0"/><line nr="280" mi="0" ci="1" mb="0" cb="0"/><line nr="283" mi="0" ci="9" mb="0" cb="2"/><line nr="284" mi="0" ci="5" mb="0" cb="0"/><line nr="285" mi="0" ci="1" mb="0" cb="0"/><line nr="289" mi="0" ci="10" mb="0" cb="0"/><line nr="290" mi="0" ci="2" mb="1" cb="1"/><line nr="291" mi="5" ci="0" mb="0" cb="0"/><line nr="294" mi="0" ci="5" mb="0" cb="0"/><line nr="295" mi="0" ci="4" mb="0" cb="0"/><line nr="297" mi="0" ci="5" mb="0" cb="0"/><line nr="298" mi="1" ci="0" mb="0" cb="0"/><line nr="299" mi="7" ci="0" mb="0" cb="0"/><line nr="308" mi="0" ci="2" mb="0" cb="2"/><line nr="311" mi="0" ci="4" mb="0" cb="0"/><line nr="312" mi="1" ci="0" mb="0" cb="0"/><line nr="314" mi="0" ci="1" mb="0" cb="0"/><line nr="318" mi="0" ci="5" mb="1" cb="3"/><line nr="320" mi="0" ci="5" mb="0" cb="0"/><line nr="321" mi="0" ci="5" mb="0" cb="0"/><line nr="322" mi="0" ci="7" mb="0" cb="0"/><line nr="323" mi="1" ci="0" mb="0" cb="0"/><line nr="325" mi="0" ci="1" mb="0" cb="0"/><line nr="328" mi="0" ci="5" mb="0" cb="0"/><line nr="335" mi="0" ci="3" mb="1" cb="1"/><line nr="336" mi="2" ci="0" mb="0" cb="0"/><line nr="338" mi="0" ci="2" mb="0" cb="0"/><line nr="340" mi="0" ci="4" mb="0" cb="0"/><line nr="345" mi="5" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="53" covered="654"/><counter type="BRANCH" missed="20" covered="68"/><counter type="LINE" missed="15" covered="142"/><counter type="COMPLEXITY" missed="21" covered="35"/><counter type="METHOD" missed="1" covered="11"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SubscriptionApplicationService.java"><line nr="45" mi="0" ci="4" mb="0" cb="0"/><line nr="65" mi="0" ci="2" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><line nr="67" mi="0" ci="3" mb="0" cb="0"/><line nr="68" mi="0" ci="3" mb="0" cb="0"/><line nr="69" mi="0" ci="3" mb="0" cb="0"/><line nr="70" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="0" ci="3" mb="0" cb="0"/><line nr="72" mi="0" ci="3" mb="0" cb="0"/><line nr="74" mi="0" ci="8" mb="0" cb="0"/><line nr="75" mi="0" ci="2" mb="0" cb="0"/><line nr="76" mi="0" ci="2" mb="0" cb="0"/><line nr="77" mi="0" ci="2" mb="0" cb="0"/><line nr="78" mi="0" ci="2" mb="0" cb="0"/><line nr="79" mi="0" ci="2" mb="0" cb="0"/><line nr="81" mi="0" ci="7" mb="0" cb="0"/><line nr="82" mi="0" ci="1" mb="0" cb="0"/><line nr="90" mi="0" ci="5" mb="0" cb="4"/><line nr="91" mi="0" ci="9" mb="0" cb="0"/><line nr="95" mi="0" ci="5" mb="0" cb="0"/><line nr="97" mi="0" ci="4" mb="0" cb="0"/><line nr="98" mi="0" ci="7" mb="0" cb="0"/><line nr="99" mi="0" ci="3" mb="0" cb="0"/><line nr="100" mi="0" ci="7" mb="1" cb="3"/><line nr="101" mi="0" ci="9" mb="0" cb="0"/><line nr="104" mi="0" ci="3" mb="0" cb="0"/><line nr="105" mi="0" ci="4" mb="0" cb="0"/><line nr="106" mi="0" ci="7" mb="0" cb="0"/><line nr="107" mi="0" ci="3" mb="0" cb="0"/><line nr="109" mi="0" ci="4" mb="0" cb="2"/><line nr="110" mi="0" ci="6" mb="0" cb="0"/><line nr="111" mi="0" ci="5" mb="0" cb="0"/><line nr="112" mi="0" ci="3" mb="0" cb="0"/><line nr="114" mi="0" ci="2" mb="0" cb="2"/><line nr="115" mi="0" ci="10" mb="0" cb="0"/><line nr="117" mi="0" ci="9" mb="0" cb="0"/><line nr="118" mi="0" ci="4" mb="0" cb="2"/><line nr="119" mi="0" ci="9" mb="0" cb="0"/><line nr="120" mi="0" ci="4" mb="1" cb="1"/><line nr="121" mi="0" ci="9" mb="0" cb="0"/><line nr="124" mi="10" ci="0" mb="0" cb="0"/><line nr="125" mi="0" ci="1" mb="0" cb="0"/><line nr="126" mi="0" ci="18" mb="0" cb="0"/><line nr="127" mi="0" ci="9" mb="0" cb="0"/><line nr="135" mi="0" ci="5" mb="0" cb="0"/><line nr="136" mi="0" ci="5" mb="0" cb="0"/><line nr="137" mi="0" ci="5" mb="0" cb="0"/><line nr="140" mi="0" ci="4" mb="0" cb="0"/><line nr="141" mi="0" ci="5" mb="0" cb="0"/><line nr="144" mi="0" ci="2" mb="0" cb="2"/><line nr="145" mi="0" ci="8" mb="0" cb="0"/><line nr="150" mi="0" ci="5" mb="0" cb="0"/><line nr="151" mi="0" ci="4" mb="0" cb="0"/><line nr="152" mi="0" ci="4" mb="0" cb="0"/><line nr="153" mi="0" ci="5" mb="0" cb="0"/><line nr="154" mi="1" ci="0" mb="0" cb="0"/><line nr="155" mi="18" ci="0" mb="0" cb="0"/><line nr="156" mi="6" ci="0" mb="0" cb="0"/><line nr="169" mi="0" ci="3" mb="0" cb="0"/><line nr="170" mi="0" ci="5" mb="0" cb="0"/><line nr="175" mi="0" ci="6" mb="0" cb="0"/><line nr="176" mi="0" ci="3" mb="0" cb="0"/><line nr="177" mi="0" ci="2" mb="1" cb="1"/><line nr="178" mi="7" ci="0" mb="0" cb="0"/><line nr="181" mi="0" ci="12" mb="0" cb="0"/><line nr="183" mi="1" ci="0" mb="0" cb="0"/><line nr="184" mi="18" ci="0" mb="0" cb="0"/><line nr="185" mi="6" ci="0" mb="0" cb="0"/><line nr="186" mi="0" ci="1" mb="0" cb="0"/><line nr="189" mi="0" ci="11" mb="0" cb="0"/><line nr="190" mi="0" ci="7" mb="0" cb="0"/><line nr="191" mi="0" ci="2" mb="0" cb="0"/><line nr="194" mi="0" ci="6" mb="0" cb="0"/><line nr="201" mi="0" ci="5" mb="0" cb="0"/><line nr="202" mi="0" ci="10" mb="0" cb="2"/><line nr="204" mi="0" ci="2" mb="0" cb="2"/><line nr="205" mi="0" ci="9" mb="0" cb="0"/><line nr="208" mi="0" ci="4" mb="0" cb="0"/><line nr="209" mi="0" ci="2" mb="0" cb="0"/><line nr="210" mi="0" ci="2" mb="0" cb="0"/><line nr="211" mi="0" ci="3" mb="0" cb="0"/><line nr="212" mi="0" ci="4" mb="0" cb="0"/><line nr="220" mi="0" ci="5" mb="0" cb="0"/><line nr="222" mi="0" ci="2" mb="0" cb="2"/><line nr="223" mi="0" ci="5" mb="0" cb="0"/><line nr="228" mi="0" ci="11" mb="0" cb="0"/><line nr="229" mi="0" ci="2" mb="0" cb="0"/><line nr="230" mi="0" ci="1" mb="0" cb="0"/><line nr="231" mi="0" ci="19" mb="0" cb="0"/><line nr="232" mi="0" ci="6" mb="0" cb="0"/><line nr="233" mi="0" ci="1" mb="0" cb="0"/><line nr="236" mi="0" ci="12" mb="0" cb="0"/><line nr="243" mi="0" ci="5" mb="0" cb="0"/><line nr="245" mi="0" ci="2" mb="0" cb="2"/><line nr="246" mi="0" ci="5" mb="0" cb="0"/><line nr="249" mi="0" ci="9" mb="0" cb="0"/><line nr="250" mi="0" ci="5" mb="0" cb="0"/><line nr="256" mi="0" ci="5" mb="0" cb="0"/><line nr="257" mi="0" ci="2" mb="0" cb="2"/><line nr="258" mi="0" ci="7" mb="0" cb="0"/><line nr="261" mi="0" ci="3" mb="0" cb="0"/><line nr="262" mi="1" ci="8" mb="1" cb="1"/><line nr="263" mi="1" ci="8" mb="1" cb="1"/><line nr="264" mi="1" ci="8" mb="1" cb="1"/><line nr="266" mi="0" ci="4" mb="1" cb="3"/><line nr="267" mi="0" ci="9" mb="0" cb="0"/><line nr="270" mi="0" ci="4" mb="0" cb="0"/><line nr="271" mi="0" ci="4" mb="0" cb="0"/><line nr="272" mi="1" ci="6" mb="1" cb="1"/><line nr="274" mi="0" ci="3" mb="0" cb="0"/><line nr="275" mi="0" ci="2" mb="0" cb="2"/><line nr="276" mi="0" ci="7" mb="0" cb="0"/><line nr="283" mi="0" ci="5" mb="0" cb="0"/><line nr="284" mi="0" ci="4" mb="0" cb="0"/><line nr="285" mi="0" ci="1" mb="0" cb="0"/><line nr="286" mi="0" ci="19" mb="0" cb="0"/><line nr="287" mi="0" ci="8" mb="0" cb="0"/><line nr="288" mi="0" ci="1" mb="0" cb="0"/><line nr="291" mi="0" ci="13" mb="0" cb="0"/><line nr="292" mi="0" ci="9" mb="0" cb="0"/><line nr="293" mi="0" ci="2" mb="0" cb="0"/><line nr="295" mi="0" ci="1" mb="0" cb="0"/><line nr="298" mi="0" ci="5" mb="0" cb="0"/><line nr="299" mi="0" ci="2" mb="0" cb="2"/><line nr="300" mi="0" ci="7" mb="0" cb="0"/><line nr="303" mi="0" ci="3" mb="0" cb="0"/><line nr="304" mi="0" ci="5" mb="0" cb="0"/><line nr="306" mi="0" ci="2" mb="1" cb="1"/><line nr="307" mi="0" ci="4" mb="0" cb="0"/><line nr="308" mi="0" ci="1" mb="0" cb="0"/><line nr="311" mi="9" ci="0" mb="0" cb="0"/><line nr="312" mi="4" ci="0" mb="0" cb="0"/><line nr="313" mi="12" ci="0" mb="0" cb="0"/><line nr="315" mi="2" ci="0" mb="2" cb="0"/><line nr="316" mi="5" ci="0" mb="0" cb="0"/><line nr="317" mi="2" ci="0" mb="0" cb="0"/><line nr="321" mi="5" ci="0" mb="0" cb="0"/><line nr="322" mi="5" ci="0" mb="0" cb="0"/><line nr="323" mi="5" ci="0" mb="0" cb="0"/><line nr="324" mi="6" ci="0" mb="6" cb="0"/><line nr="325" mi="8" ci="0" mb="0" cb="0"/><line nr="329" mi="14" ci="0" mb="0" cb="0"/><line nr="330" mi="2" ci="0" mb="0" cb="0"/><line nr="332" mi="1" ci="0" mb="0" cb="0"/><line nr="335" mi="0" ci="5" mb="0" cb="0"/><line nr="336" mi="0" ci="2" mb="0" cb="2"/><line nr="337" mi="0" ci="7" mb="0" cb="0"/><line nr="340" mi="0" ci="3" mb="0" cb="0"/><line nr="341" mi="0" ci="5" mb="0" cb="0"/><line nr="343" mi="0" ci="2" mb="1" cb="1"/><line nr="344" mi="0" ci="6" mb="0" cb="0"/><line nr="347" mi="8" ci="0" mb="0" cb="0"/><line nr="348" mi="4" ci="0" mb="0" cb="0"/><line nr="349" mi="11" ci="0" mb="0" cb="0"/><line nr="351" mi="2" ci="0" mb="2" cb="0"/><line nr="352" mi="5" ci="0" mb="0" cb="0"/><line nr="353" mi="2" ci="0" mb="0" cb="0"/><line nr="356" mi="15" ci="0" mb="0" cb="0"/><line nr="357" mi="2" ci="0" mb="0" cb="0"/><line nr="359" mi="1" ci="0" mb="0" cb="0"/><line nr="362" mi="0" ci="5" mb="0" cb="0"/><line nr="363" mi="0" ci="2" mb="0" cb="2"/><line nr="364" mi="0" ci="7" mb="0" cb="0"/><line nr="367" mi="0" ci="3" mb="0" cb="0"/><line nr="368" mi="0" ci="5" mb="0" cb="0"/><line nr="370" mi="0" ci="2" mb="1" cb="1"/><line nr="371" mi="0" ci="6" mb="0" cb="0"/><line nr="374" mi="9" ci="0" mb="0" cb="0"/><line nr="375" mi="4" ci="0" mb="0" cb="0"/><line nr="376" mi="12" ci="0" mb="0" cb="0"/><line nr="378" mi="2" ci="0" mb="2" cb="0"/><line nr="379" mi="5" ci="0" mb="0" cb="0"/><line nr="381" mi="2" ci="0" mb="0" cb="0"/><line nr="383" mi="1" ci="0" mb="0" cb="0"/><line nr="386" mi="0" ci="7" mb="0" cb="0"/><line nr="387" mi="0" ci="2" mb="0" cb="2"/><line nr="388" mi="0" ci="7" mb="0" cb="0"/><line nr="391" mi="0" ci="3" mb="0" cb="0"/><line nr="392" mi="0" ci="2" mb="0" cb="2"/><line nr="393" mi="0" ci="5" mb="0" cb="0"/><line nr="394" mi="0" ci="1" mb="0" cb="0"/><line nr="397" mi="0" ci="5" mb="0" cb="0"/><line nr="399" mi="0" ci="2" mb="1" cb="1"/><line nr="400" mi="10" ci="0" mb="0" cb="0"/><line nr="401" mi="4" ci="0" mb="0" cb="0"/><line nr="402" mi="11" ci="0" mb="0" cb="0"/><line nr="404" mi="2" ci="0" mb="2" cb="0"/><line nr="405" mi="6" ci="0" mb="0" cb="0"/><line nr="407" mi="4" ci="0" mb="0" cb="0"/><line nr="409" mi="2" ci="0" mb="0" cb="0"/><line nr="412" mi="0" ci="4" mb="0" cb="0"/><line nr="414" mi="0" ci="1" mb="0" cb="0"/><line nr="417" mi="0" ci="7" mb="0" cb="0"/><line nr="418" mi="0" ci="2" mb="0" cb="2"/><line nr="419" mi="0" ci="7" mb="0" cb="0"/><line nr="422" mi="0" ci="3" mb="0" cb="0"/><line nr="423" mi="0" ci="2" mb="0" cb="2"/><line nr="424" mi="0" ci="5" mb="0" cb="0"/><line nr="425" mi="0" ci="1" mb="0" cb="0"/><line nr="428" mi="0" ci="5" mb="0" cb="0"/><line nr="431" mi="0" ci="4" mb="0" cb="2"/><line nr="432" mi="0" ci="8" mb="1" cb="3"/><line nr="433" mi="0" ci="4" mb="0" cb="0"/><line nr="435" mi="0" ci="1" mb="0" cb="0"/><line nr="439" mi="0" ci="2" mb="1" cb="1"/><line nr="440" mi="8" ci="0" mb="0" cb="0"/><line nr="441" mi="4" ci="0" mb="0" cb="0"/><line nr="442" mi="2" ci="0" mb="0" cb="0"/><line nr="444" mi="1" ci="0" mb="0" cb="0"/><line nr="448" mi="0" ci="5" mb="0" cb="0"/><line nr="449" mi="0" ci="1" mb="0" cb="0"/><line nr="457" mi="1" ci="10" mb="1" cb="1"/><line nr="458" mi="0" ci="2" mb="0" cb="2"/><line nr="459" mi="0" ci="7" mb="0" cb="0"/><line nr="463" mi="0" ci="4" mb="0" cb="0"/><line nr="468" mi="0" ci="4" mb="0" cb="0"/><line nr="469" mi="0" ci="5" mb="0" cb="0"/><line nr="470" mi="0" ci="1" mb="0" cb="0"/><line nr="471" mi="0" ci="8" mb="0" cb="0"/><line nr="472" mi="0" ci="11" mb="0" cb="0"/><line nr="473" mi="0" ci="8" mb="0" cb="0"/><line nr="474" mi="0" ci="1" mb="0" cb="0"/><line nr="476" mi="0" ci="12" mb="0" cb="0"/><line nr="477" mi="0" ci="8" mb="0" cb="0"/><line nr="478" mi="0" ci="2" mb="0" cb="0"/><line nr="480" mi="0" ci="1" mb="0" cb="0"/><line nr="487" mi="0" ci="5" mb="0" cb="0"/><line nr="489" mi="0" ci="8" mb="1" cb="3"/><line nr="490" mi="5" ci="0" mb="0" cb="0"/><line nr="491" mi="1" ci="0" mb="0" cb="0"/><line nr="494" mi="0" ci="2" mb="0" cb="2"/><line nr="495" mi="0" ci="4" mb="0" cb="0"/><line nr="496" mi="0" ci="3" mb="0" cb="0"/><line nr="497" mi="0" ci="4" mb="0" cb="0"/><line nr="498" mi="0" ci="3" mb="0" cb="0"/><line nr="499" mi="0" ci="4" mb="0" cb="0"/><line nr="500" mi="0" ci="4" mb="0" cb="0"/><line nr="502" mi="0" ci="4" mb="0" cb="0"/><line nr="503" mi="0" ci="4" mb="0" cb="0"/><line nr="504" mi="0" ci="4" mb="0" cb="0"/><line nr="505" mi="0" ci="6" mb="0" cb="0"/><line nr="506" mi="0" ci="6" mb="0" cb="0"/><line nr="507" mi="0" ci="4" mb="0" cb="0"/><line nr="508" mi="0" ci="4" mb="0" cb="0"/><line nr="510" mi="0" ci="2" mb="0" cb="0"/><line nr="512" mi="0" ci="4" mb="0" cb="0"/><line nr="513" mi="0" ci="2" mb="0" cb="0"/><line nr="514" mi="1" ci="0" mb="0" cb="0"/><line nr="515" mi="5" ci="0" mb="0" cb="0"/><line nr="516" mi="2" ci="0" mb="2" cb="0"/><line nr="517" mi="7" ci="0" mb="0" cb="0"/><line nr="519" mi="4" ci="0" mb="0" cb="0"/><line nr="520" mi="0" ci="1" mb="0" cb="0"/><line nr="522" mi="0" ci="2" mb="1" cb="1"/><line nr="523" mi="8" ci="0" mb="0" cb="0"/><line nr="524" mi="2" ci="0" mb="2" cb="0"/><line nr="525" mi="5" ci="0" mb="0" cb="0"/><line nr="526" mi="1" ci="0" mb="0" cb="0"/><line nr="530" mi="0" ci="17" mb="0" cb="0"/><line nr="531" mi="0" ci="1" mb="0" cb="0"/><line nr="532" mi="0" ci="8" mb="0" cb="0"/><line nr="533" mi="0" ci="2" mb="1" cb="1"/><line nr="534" mi="0" ci="5" mb="0" cb="0"/><line nr="535" mi="0" ci="1" mb="0" cb="0"/><line nr="539" mi="0" ci="16" mb="0" cb="0"/><line nr="540" mi="0" ci="1" mb="0" cb="0"/><line nr="547" mi="0" ci="3" mb="0" cb="0"/><line nr="548" mi="0" ci="4" mb="0" cb="0"/><line nr="549" mi="0" ci="4" mb="0" cb="0"/><line nr="550" mi="0" ci="4" mb="0" cb="0"/><line nr="551" mi="0" ci="4" mb="0" cb="0"/><line nr="552" mi="0" ci="4" mb="0" cb="0"/><line nr="553" mi="0" ci="6" mb="0" cb="0"/><line nr="554" mi="0" ci="6" mb="0" cb="0"/><line nr="555" mi="0" ci="4" mb="0" cb="0"/><line nr="556" mi="0" ci="4" mb="0" cb="0"/><line nr="558" mi="0" ci="10" mb="0" cb="0"/><line nr="559" mi="0" ci="4" mb="0" cb="0"/><line nr="561" mi="0" ci="8" mb="0" cb="0"/><line nr="562" mi="0" ci="19" mb="0" cb="0"/><line nr="564" mi="0" ci="1" mb="0" cb="0"/><line nr="567" mi="0" ci="4" mb="0" cb="0"/><line nr="568" mi="0" ci="5" mb="0" cb="0"/><line nr="569" mi="0" ci="4" mb="0" cb="0"/><line nr="570" mi="0" ci="4" mb="0" cb="0"/><line nr="572" mi="0" ci="4" mb="0" cb="0"/><line nr="573" mi="0" ci="2" mb="0" cb="0"/><line nr="574" mi="0" ci="2" mb="0" cb="0"/><line nr="575" mi="0" ci="2" mb="0" cb="0"/><line nr="576" mi="0" ci="2" mb="0" cb="0"/><line nr="581" mi="4" ci="0" mb="0" cb="0"/><line nr="582" mi="11" ci="0" mb="0" cb="0"/><line nr="584" mi="2" ci="0" mb="2" cb="0"/><line nr="585" mi="5" ci="0" mb="0" cb="0"/><line nr="586" mi="1" ci="0" mb="0" cb="0"/><line nr="589" mi="10" ci="0" mb="0" cb="0"/><line nr="590" mi="5" ci="0" mb="0" cb="0"/><line nr="591" mi="1" ci="0" mb="0" cb="0"/><line nr="593" mi="4" ci="0" mb="0" cb="0"/><line nr="594" mi="3" ci="0" mb="0" cb="0"/><line nr="595" mi="1" ci="0" mb="0" cb="0"/><line nr="603" mi="0" ci="5" mb="0" cb="0"/><line nr="604" mi="2" ci="2" mb="1" cb="1"/><line nr="605" mi="8" ci="0" mb="4" cb="0"/><line nr="606" mi="4" ci="0" mb="0" cb="0"/><line nr="608" mi="1" ci="0" mb="0" cb="0"/><line nr="611" mi="0" ci="4" mb="0" cb="0"/><line nr="612" mi="0" ci="3" mb="0" cb="0"/><line nr="613" mi="0" ci="4" mb="0" cb="0"/><line nr="614" mi="0" ci="3" mb="0" cb="0"/><line nr="615" mi="0" ci="4" mb="0" cb="0"/><line nr="616" mi="0" ci="4" mb="0" cb="0"/><line nr="618" mi="0" ci="4" mb="0" cb="0"/><line nr="619" mi="0" ci="4" mb="0" cb="0"/><line nr="620" mi="0" ci="4" mb="0" cb="0"/><line nr="621" mi="0" ci="6" mb="0" cb="0"/><line nr="622" mi="0" ci="6" mb="0" cb="0"/><line nr="625" mi="0" ci="2" mb="0" cb="0"/><line nr="628" mi="0" ci="3" mb="0" cb="0"/><line nr="629" mi="0" ci="6" mb="0" cb="0"/><line nr="630" mi="6" ci="3" mb="3" cb="1"/><line nr="631" mi="6" ci="0" mb="0" cb="0"/><line nr="633" mi="1" ci="1" mb="0" cb="0"/><line nr="635" mi="0" ci="5" mb="2" cb="2"/><line nr="636" mi="0" ci="6" mb="0" cb="0"/><line nr="638" mi="0" ci="2" mb="0" cb="2"/><line nr="639" mi="0" ci="2" mb="0" cb="0"/><line nr="640" mi="0" ci="5" mb="0" cb="0"/><line nr="642" mi="0" ci="3" mb="0" cb="0"/><line nr="644" mi="0" ci="2" mb="0" cb="0"/><line nr="646" mi="0" ci="3" mb="0" cb="0"/><line nr="647" mi="0" ci="6" mb="0" cb="0"/><line nr="648" mi="6" ci="3" mb="3" cb="1"/><line nr="649" mi="7" ci="0" mb="0" cb="0"/><line nr="651" mi="1" ci="1" mb="0" cb="0"/><line nr="652" mi="0" ci="8" mb="1" cb="3"/><line nr="653" mi="0" ci="6" mb="0" cb="0"/><line nr="655" mi="0" ci="3" mb="0" cb="0"/><line nr="657" mi="0" ci="2" mb="0" cb="0"/><line nr="659" mi="0" ci="4" mb="0" cb="0"/><line nr="660" mi="0" ci="2" mb="0" cb="0"/><line nr="661" mi="1" ci="0" mb="0" cb="0"/><line nr="662" mi="5" ci="0" mb="0" cb="0"/><line nr="663" mi="2" ci="0" mb="2" cb="0"/><line nr="664" mi="7" ci="0" mb="0" cb="0"/><line nr="666" mi="0" ci="1" mb="0" cb="0"/><line nr="669" mi="0" ci="2" mb="0" cb="0"/><line nr="671" mi="0" ci="2" mb="1" cb="1"/><line nr="672" mi="8" ci="0" mb="0" cb="0"/><line nr="673" mi="2" ci="0" mb="2" cb="0"/><line nr="674" mi="5" ci="0" mb="0" cb="0"/><line nr="675" mi="1" ci="0" mb="0" cb="0"/><line nr="679" mi="0" ci="12" mb="0" cb="0"/><line nr="680" mi="0" ci="4" mb="0" cb="0"/><line nr="681" mi="0" ci="1" mb="0" cb="0"/><line nr="690" mi="0" ci="3" mb="0" cb="0"/><line nr="692" mi="0" ci="5" mb="0" cb="0"/><line nr="693" mi="0" ci="2" mb="0" cb="2"/><line nr="694" mi="0" ci="5" mb="0" cb="0"/><line nr="695" mi="0" ci="2" mb="1" cb="1"/><line nr="696" mi="0" ci="4" mb="0" cb="0"/><line nr="697" mi="0" ci="2" mb="0" cb="0"/><line nr="700" mi="0" ci="2" mb="0" cb="0"/><line nr="701" mi="1" ci="0" mb="0" cb="0"/><line nr="702" mi="5" ci="0" mb="0" cb="0"/><line nr="703" mi="2" ci="0" mb="0" cb="0"/><line nr="710" mi="0" ci="12" mb="0" cb="0"/><line nr="714" mi="0" ci="3" mb="0" cb="0"/><line nr="715" mi="0" ci="6" mb="0" cb="0"/><line nr="716" mi="0" ci="2" mb="0" cb="2"/><line nr="717" mi="0" ci="3" mb="0" cb="0"/><line nr="719" mi="0" ci="6" mb="0" cb="2"/><line nr="720" mi="0" ci="10" mb="0" cb="0"/><line nr="722" mi="0" ci="4" mb="0" cb="0"/><line nr="723" mi="0" ci="2" mb="0" cb="0"/><line nr="724" mi="1" ci="0" mb="0" cb="0"/><line nr="725" mi="5" ci="0" mb="0" cb="0"/><line nr="726" mi="2" ci="0" mb="0" cb="0"/><line nr="732" mi="0" ci="3" mb="0" cb="0"/><line nr="733" mi="0" ci="6" mb="0" cb="0"/><line nr="734" mi="0" ci="2" mb="0" cb="2"/><line nr="735" mi="0" ci="3" mb="0" cb="0"/><line nr="737" mi="0" ci="6" mb="0" cb="2"/><line nr="738" mi="0" ci="4" mb="0" cb="0"/><line nr="739" mi="3" ci="2" mb="0" cb="0"/><line nr="740" mi="7" ci="2" mb="2" cb="0"/><line nr="741" mi="6" ci="2" mb="0" cb="0"/><line nr="742" mi="0" ci="3" mb="0" cb="0"/><line nr="743" mi="0" ci="4" mb="0" cb="0"/><line nr="744" mi="3" ci="2" mb="0" cb="0"/><line nr="745" mi="7" ci="2" mb="2" cb="0"/><line nr="746" mi="5" ci="2" mb="0" cb="0"/><line nr="747" mi="3" ci="2" mb="0" cb="0"/><line nr="748" mi="6" ci="2" mb="2" cb="0"/><line nr="749" mi="3" ci="2" mb="0" cb="0"/><line nr="750" mi="0" ci="3" mb="0" cb="0"/><line nr="751" mi="0" ci="4" mb="0" cb="0"/><line nr="752" mi="0" ci="4" mb="0" cb="0"/><line nr="753" mi="0" ci="4" mb="0" cb="0"/><line nr="754" mi="0" ci="6" mb="0" cb="0"/><line nr="756" mi="0" ci="4" mb="0" cb="0"/><line nr="757" mi="0" ci="2" mb="0" cb="0"/><line nr="758" mi="1" ci="0" mb="0" cb="0"/><line nr="759" mi="5" ci="0" mb="0" cb="0"/><line nr="760" mi="2" ci="0" mb="0" cb="0"/><line nr="765" mi="0" ci="5" mb="0" cb="0"/><line nr="767" mi="0" ci="2" mb="0" cb="2"/><line nr="768" mi="0" ci="2" mb="0" cb="0"/><line nr="771" mi="0" ci="8" mb="0" cb="0"/><line nr="772" mi="0" ci="2" mb="1" cb="1"/><line nr="773" mi="6" ci="0" mb="0" cb="0"/><line nr="777" mi="0" ci="6" mb="0" cb="0"/><line nr="778" mi="0" ci="4" mb="0" cb="0"/><line nr="779" mi="0" ci="3" mb="0" cb="0"/><line nr="780" mi="0" ci="4" mb="0" cb="0"/><line nr="781" mi="0" ci="4" mb="0" cb="0"/><line nr="783" mi="0" ci="6" mb="0" cb="0"/><line nr="784" mi="0" ci="2" mb="0" cb="0"/><line nr="785" mi="1" ci="0" mb="0" cb="0"/><line nr="786" mi="18" ci="0" mb="0" cb="0"/><line nr="787" mi="6" ci="0" mb="0" cb="0"/><line nr="792" mi="0" ci="4" mb="0" cb="0"/><line nr="793" mi="0" ci="2" mb="0" cb="2"/><line nr="794" mi="0" ci="5" mb="0" cb="0"/><line nr="797" mi="0" ci="7" mb="0" cb="0"/><line nr="798" mi="0" ci="2" mb="0" cb="2"/><line nr="799" mi="0" ci="7" mb="0" cb="0"/><line nr="802" mi="0" ci="5" mb="0" cb="2"/><line nr="803" mi="0" ci="3" mb="0" cb="0"/><line nr="804" mi="0" ci="3" mb="0" cb="0"/><line nr="807" mi="0" ci="5" mb="1" cb="3"/><line nr="808" mi="0" ci="9" mb="0" cb="0"/><line nr="811" mi="0" ci="2" mb="0" cb="0"/><line nr="816" mi="0" ci="3" mb="0" cb="0"/><line nr="817" mi="0" ci="1" mb="0" cb="0"/><line nr="818" mi="0" ci="4" mb="0" cb="0"/><line nr="819" mi="0" ci="7" mb="0" cb="0"/><line nr="825" mi="0" ci="3" mb="0" cb="0"/><line nr="826" mi="0" ci="1" mb="0" cb="0"/><line nr="827" mi="0" ci="4" mb="0" cb="0"/><line nr="828" mi="0" ci="7" mb="0" cb="0"/><line nr="836" mi="0" ci="2" mb="0" cb="2"/><line nr="837" mi="0" ci="2" mb="0" cb="0"/><line nr="839" mi="0" ci="7" mb="0" cb="0"/><line nr="846" mi="0" ci="2" mb="1" cb="1"/><line nr="847" mi="13" ci="0" mb="0" cb="0"/><line nr="850" mi="3" ci="0" mb="0" cb="0"/><line nr="851" mi="1" ci="0" mb="0" cb="0"/><line nr="854" mi="0" ci="2" mb="0" cb="0"/><line nr="856" mi="0" ci="1" mb="0" cb="0"/><line nr="862" mi="0" ci="3" mb="0" cb="0"/><line nr="863" mi="0" ci="9" mb="0" cb="0"/><line nr="864" mi="0" ci="4" mb="0" cb="0"/><line nr="872" mi="8" ci="0" mb="4" cb="0"/><line nr="873" mi="4" ci="0" mb="0" cb="0"/><line nr="874" mi="4" ci="0" mb="2" cb="0"/><line nr="875" mi="5" ci="0" mb="0" cb="0"/><line nr="876" mi="1" ci="0" mb="0" cb="0"/><line nr="877" mi="8" ci="0" mb="4" cb="0"/><line nr="878" mi="3" ci="0" mb="0" cb="0"/><line nr="879" mi="4" ci="0" mb="2" cb="0"/><line nr="880" mi="5" ci="0" mb="0" cb="0"/><line nr="881" mi="1" ci="0" mb="0" cb="0"/><line nr="883" mi="6" ci="0" mb="0" cb="0"/><line nr="884" mi="1" ci="0" mb="0" cb="0"/><line nr="887" mi="17" ci="0" mb="0" cb="0"/><line nr="888" mi="1" ci="0" mb="0" cb="0"/><line nr="889" mi="1" ci="0" mb="0" cb="0"/><line nr="892" mi="0" ci="6" mb="2" cb="2"/><line nr="893" mi="4" ci="0" mb="0" cb="0"/><line nr="894" mi="1" ci="0" mb="0" cb="0"/><line nr="897" mi="0" ci="5" mb="0" cb="0"/><line nr="898" mi="0" ci="1" mb="0" cb="0"/><line nr="901" mi="0" ci="8" mb="0" cb="0"/><line nr="902" mi="0" ci="2" mb="1" cb="1"/><line nr="903" mi="4" ci="0" mb="0" cb="0"/><line nr="904" mi="1" ci="0" mb="0" cb="0"/><line nr="907" mi="0" ci="3" mb="0" cb="0"/><line nr="908" mi="0" ci="4" mb="1" cb="1"/><line nr="909" mi="1" ci="0" mb="0" cb="0"/><line nr="912" mi="0" ci="3" mb="0" cb="0"/><line nr="913" mi="0" ci="4" mb="0" cb="0"/><line nr="915" mi="0" ci="4" mb="0" cb="0"/><line nr="916" mi="0" ci="3" mb="0" cb="0"/><line nr="917" mi="1" ci="6" mb="1" cb="1"/><line nr="918" mi="0" ci="3" mb="0" cb="0"/><line nr="919" mi="0" ci="3" mb="0" cb="0"/><line nr="920" mi="0" ci="4" mb="0" cb="0"/><line nr="922" mi="0" ci="21" mb="0" cb="0"/><line nr="925" mi="4" ci="4" mb="3" cb="1"/><line nr="926" mi="8" ci="0" mb="0" cb="0"/><line nr="928" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="660" covered="1661"/><counter type="BRANCH" missed="87" covered="113"/><counter type="LINE" missed="121" covered="371"/><counter type="COMPLEXITY" missed="83" covered="86"/><counter type="METHOD" missed="22" covered="47"/><counter type="CLASS" missed="1" covered="3"/></sourcefile><sourcefile name="TranslationApplicationService.java"><line nr="45" mi="0" ci="24" mb="0" cb="0"/><line nr="46" mi="0" ci="3" mb="0" cb="0"/><line nr="56" mi="0" ci="9" mb="0" cb="0"/><line nr="57" mi="0" ci="6" mb="0" cb="0"/><line nr="58" mi="0" ci="6" mb="0" cb="0"/><line nr="59" mi="0" ci="6" mb="0" cb="0"/><line nr="60" mi="0" ci="6" mb="0" cb="0"/><line nr="61" mi="0" ci="6" mb="0" cb="0"/><line nr="62" mi="0" ci="6" mb="0" cb="0"/><line nr="63" mi="0" ci="6" mb="0" cb="0"/><line nr="64" mi="0" ci="6" mb="0" cb="0"/><line nr="65" mi="0" ci="6" mb="0" cb="0"/><line nr="66" mi="0" ci="6" mb="0" cb="0"/><line nr="67" mi="0" ci="6" mb="0" cb="0"/><line nr="68" mi="0" ci="6" mb="0" cb="0"/><line nr="69" mi="0" ci="6" mb="0" cb="0"/><line nr="70" mi="0" ci="6" mb="0" cb="0"/><line nr="71" mi="0" ci="2" mb="0" cb="0"/><line nr="79" mi="6" ci="0" mb="4" cb="0"/><line nr="80" mi="2" ci="0" mb="0" cb="0"/><line nr="82" mi="7" ci="0" mb="0" cb="0"/><line nr="100" mi="0" ci="3" mb="0" cb="0"/><line nr="101" mi="0" ci="6" mb="0" cb="4"/><line nr="102" mi="0" ci="9" mb="0" cb="0"/><line nr="105" mi="0" ci="4" mb="0" cb="0"/><line nr="106" mi="2" ci="6" mb="1" cb="1"/><line nr="109" mi="0" ci="2" mb="0" cb="2"/><line nr="110" mi="0" ci="5" mb="0" cb="0"/><line nr="111" mi="0" ci="2" mb="0" cb="2"/><line nr="112" mi="1" ci="7" mb="1" cb="1"/><line nr="113" mi="0" ci="10" mb="0" cb="2"/><line nr="114" mi="0" ci="9" mb="0" cb="0"/><line nr="120" mi="0" ci="16" mb="0" cb="0"/><line nr="123" mi="0" ci="6" mb="0" cb="0"/><line nr="124" mi="0" ci="6" mb="2" cb="2"/><line nr="125" mi="2" ci="0" mb="2" cb="0"/><line nr="126" mi="8" ci="0" mb="2" cb="0"/><line nr="127" mi="8" ci="0" mb="0" cb="0"/><line nr="129" mi="9" ci="0" mb="0" cb="0"/><line nr="132" mi="0" ci="3" mb="0" cb="0"/><line nr="133" mi="0" ci="9" mb="0" cb="0"/><line nr="134" mi="0" ci="1" mb="0" cb="0"/><line nr="135" mi="0" ci="6" mb="0" cb="0"/><line nr="136" mi="0" ci="2" mb="1" cb="1"/><line nr="137" mi="8" ci="0" mb="2" cb="0"/><line nr="138" mi="8" ci="0" mb="0" cb="0"/><line nr="140" mi="0" ci="9" mb="0" cb="0"/><line nr="151" mi="0" ci="3" mb="0" cb="0"/><line nr="152" mi="0" ci="6" mb="0" cb="4"/><line nr="153" mi="0" ci="9" mb="0" cb="0"/><line nr="156" mi="0" ci="8" mb="0" cb="2"/><line nr="157" mi="0" ci="4" mb="0" cb="0"/><line nr="160" mi="0" ci="2" mb="0" cb="2"/><line nr="161" mi="0" ci="5" mb="0" cb="0"/><line nr="162" mi="0" ci="2" mb="1" cb="1"/><line nr="163" mi="1" ci="7" mb="1" cb="1"/><line nr="164" mi="0" ci="10" mb="0" cb="2"/><line nr="165" mi="0" ci="9" mb="0" cb="0"/><line nr="173" mi="0" ci="5" mb="0" cb="0"/><line nr="174" mi="1" ci="0" mb="0" cb="0"/><line nr="175" mi="6" ci="0" mb="0" cb="0"/><line nr="176" mi="2" ci="0" mb="2" cb="0"/><line nr="177" mi="8" ci="0" mb="2" cb="0"/><line nr="178" mi="8" ci="0" mb="0" cb="0"/><line nr="180" mi="9" ci="0" mb="0" cb="0"/><line nr="181" mi="0" ci="1" mb="0" cb="0"/><line nr="182" mi="0" ci="3" mb="1" cb="1"/><line nr="183" mi="2" ci="0" mb="2" cb="0"/><line nr="184" mi="8" ci="0" mb="2" cb="0"/><line nr="185" mi="8" ci="0" mb="0" cb="0"/><line nr="187" mi="9" ci="0" mb="0" cb="0"/><line nr="193" mi="0" ci="8" mb="0" cb="0"/><line nr="194" mi="0" ci="4" mb="0" cb="0"/><line nr="195" mi="0" ci="3" mb="0" cb="0"/><line nr="196" mi="0" ci="9" mb="0" cb="0"/><line nr="197" mi="0" ci="9" mb="0" cb="0"/><line nr="198" mi="1" ci="0" mb="0" cb="0"/><line nr="199" mi="6" ci="0" mb="0" cb="0"/><line nr="200" mi="2" ci="0" mb="2" cb="0"/><line nr="201" mi="8" ci="0" mb="2" cb="0"/><line nr="202" mi="8" ci="0" mb="0" cb="0"/><line nr="204" mi="9" ci="0" mb="0" cb="0"/><line nr="223" mi="0" ci="6" mb="0" cb="0"/><line nr="224" mi="0" ci="4" mb="0" cb="0"/><line nr="227" mi="0" ci="8" mb="0" cb="2"/><line nr="228" mi="0" ci="5" mb="0" cb="0"/><line nr="229" mi="0" ci="4" mb="0" cb="0"/><line nr="230" mi="0" ci="10" mb="0" cb="0"/><line nr="232" mi="0" ci="2" mb="0" cb="2"/><line nr="233" mi="0" ci="4" mb="0" cb="0"/><line nr="234" mi="0" ci="8" mb="0" cb="0"/><line nr="236" mi="0" ci="4" mb="0" cb="0"/><line nr="237" mi="0" ci="9" mb="0" cb="0"/><line nr="242" mi="0" ci="3" mb="0" cb="2"/><line nr="243" mi="0" ci="16" mb="0" cb="0"/><line nr="247" mi="0" ci="4" mb="0" cb="0"/><line nr="248" mi="0" ci="6" mb="0" cb="0"/><line nr="250" mi="0" ci="8" mb="0" cb="2"/><line nr="251" mi="0" ci="4" mb="0" cb="0"/><line nr="254" mi="0" ci="8" mb="0" cb="2"/><line nr="255" mi="0" ci="7" mb="0" cb="0"/><line nr="256" mi="0" ci="2" mb="0" cb="0"/><line nr="257" mi="0" ci="2" mb="0" cb="0"/><line nr="258" mi="0" ci="5" mb="0" cb="0"/><line nr="260" mi="0" ci="12" mb="0" cb="0"/><line nr="262" mi="0" ci="7" mb="0" cb="0"/><line nr="263" mi="0" ci="6" mb="2" cb="2"/><line nr="264" mi="0" ci="6" mb="0" cb="0"/><line nr="266" mi="5" ci="0" mb="0" cb="0"/><line nr="268" mi="1" ci="0" mb="0" cb="0"/><line nr="269" mi="7" ci="0" mb="0" cb="0"/><line nr="270" mi="5" ci="0" mb="0" cb="0"/><line nr="271" mi="0" ci="1" mb="0" cb="0"/><line nr="272" mi="0" ci="1" mb="0" cb="0"/><line nr="276" mi="0" ci="4" mb="0" cb="0"/><line nr="277" mi="0" ci="10" mb="0" cb="2"/><line nr="278" mi="0" ci="3" mb="0" cb="0"/><line nr="279" mi="0" ci="4" mb="0" cb="0"/><line nr="280" mi="0" ci="1" mb="0" cb="0"/><line nr="283" mi="0" ci="10" mb="0" cb="2"/><line nr="285" mi="0" ci="2" mb="0" cb="0"/><line nr="286" mi="1" ci="0" mb="0" cb="0"/><line nr="287" mi="2" ci="0" mb="0" cb="0"/><line nr="288" mi="3" ci="0" mb="0" cb="0"/><line nr="289" mi="0" ci="1" mb="0" cb="0"/><line nr="290" mi="0" ci="1" mb="0" cb="0"/><line nr="293" mi="0" ci="8" mb="0" cb="2"/><line nr="294" mi="0" ci="7" mb="0" cb="0"/><line nr="295" mi="0" ci="5" mb="0" cb="0"/><line nr="296" mi="0" ci="2" mb="1" cb="1"/><line nr="297" mi="0" ci="5" mb="0" cb="0"/><line nr="303" mi="0" ci="8" mb="0" cb="2"/><line nr="304" mi="0" ci="4" mb="1" cb="1"/><line nr="305" mi="8" ci="0" mb="0" cb="0"/><line nr="306" mi="5" ci="0" mb="0" cb="0"/><line nr="310" mi="0" ci="2" mb="0" cb="0"/><line nr="317" mi="0" ci="4" mb="0" cb="0"/><line nr="320" mi="0" ci="3" mb="0" cb="0"/><line nr="321" mi="0" ci="3" mb="0" cb="0"/><line nr="322" mi="0" ci="10" mb="0" cb="2"/><line nr="323" mi="0" ci="2" mb="0" cb="0"/><line nr="326" mi="0" ci="11" mb="0" cb="4"/><line nr="328" mi="0" ci="2" mb="0" cb="2"/><line nr="329" mi="0" ci="5" mb="0" cb="0"/><line nr="330" mi="0" ci="2" mb="0" cb="2"/><line nr="331" mi="0" ci="9" mb="0" cb="2"/><line nr="332" mi="0" ci="3" mb="0" cb="0"/><line nr="333" mi="0" ci="2" mb="0" cb="0"/><line nr="334" mi="0" ci="2" mb="0" cb="0"/><line nr="339" mi="0" ci="10" mb="0" cb="0"/><line nr="341" mi="0" ci="8" mb="0" cb="2"/><line nr="342" mi="0" ci="4" mb="0" cb="0"/><line nr="343" mi="0" ci="3" mb="0" cb="0"/><line nr="345" mi="0" ci="20" mb="0" cb="0"/><line nr="347" mi="0" ci="16" mb="0" cb="0"/><line nr="351" mi="0" ci="3" mb="0" cb="0"/><line nr="354" mi="0" ci="2" mb="0" cb="0"/><line nr="355" mi="0" ci="5" mb="0" cb="0"/><line nr="356" mi="0" ci="5" mb="0" cb="0"/><line nr="358" mi="0" ci="10" mb="0" cb="2"/><line nr="360" mi="0" ci="2" mb="0" cb="0"/><line nr="361" mi="0" ci="11" mb="0" cb="0"/><line nr="363" mi="0" ci="2" mb="0" cb="0"/><line nr="364" mi="0" ci="8" mb="0" cb="2"/><line nr="365" mi="0" ci="8" mb="0" cb="2"/><line nr="366" mi="0" ci="3" mb="0" cb="0"/><line nr="369" mi="0" ci="11" mb="0" cb="4"/><line nr="370" mi="0" ci="11" mb="0" cb="2"/><line nr="372" mi="0" ci="6" mb="1" cb="3"/><line nr="373" mi="0" ci="4" mb="0" cb="0"/><line nr="374" mi="0" ci="2" mb="0" cb="0"/><line nr="377" mi="0" ci="5" mb="0" cb="0"/><line nr="379" mi="0" ci="3" mb="0" cb="0"/><line nr="380" mi="0" ci="5" mb="0" cb="0"/><line nr="381" mi="0" ci="5" mb="0" cb="0"/><line nr="382" mi="0" ci="5" mb="0" cb="0"/><line nr="383" mi="0" ci="4" mb="0" cb="0"/><line nr="384" mi="0" ci="1" mb="0" cb="0"/><line nr="385" mi="0" ci="7" mb="0" cb="0"/><line nr="386" mi="0" ci="5" mb="0" cb="0"/><line nr="387" mi="0" ci="6" mb="0" cb="0"/><line nr="388" mi="2" ci="6" mb="1" cb="1"/><line nr="389" mi="0" ci="5" mb="0" cb="0"/><line nr="390" mi="0" ci="6" mb="0" cb="0"/><line nr="391" mi="0" ci="4" mb="0" cb="0"/><line nr="393" mi="0" ci="2" mb="0" cb="0"/><line nr="394" mi="0" ci="2" mb="0" cb="0"/><line nr="396" mi="0" ci="1" mb="0" cb="0"/><line nr="397" mi="0" ci="1" mb="0" cb="0"/><line nr="400" mi="0" ci="3" mb="0" cb="0"/><line nr="401" mi="0" ci="5" mb="0" cb="0"/><line nr="402" mi="0" ci="3" mb="1" cb="1"/><line nr="404" mi="0" ci="2" mb="0" cb="0"/><line nr="405" mi="1" ci="0" mb="0" cb="0"/><line nr="406" mi="2" ci="0" mb="0" cb="0"/><line nr="407" mi="1" ci="0" mb="0" cb="0"/><line nr="408" mi="0" ci="1" mb="0" cb="0"/><line nr="409" mi="0" ci="3" mb="0" cb="0"/><line nr="411" mi="1" ci="0" mb="0" cb="0"/><line nr="413" mi="0" ci="5" mb="0" cb="0"/><line nr="416" mi="0" ci="2" mb="0" cb="0"/><line nr="418" mi="0" ci="3" mb="0" cb="0"/><line nr="420" mi="0" ci="2" mb="0" cb="0"/><line nr="421" mi="0" ci="2" mb="0" cb="0"/><line nr="423" mi="1" ci="0" mb="0" cb="0"/><line nr="425" mi="6" ci="0" mb="0" cb="0"/><line nr="426" mi="2" ci="0" mb="2" cb="0"/><line nr="427" mi="7" ci="0" mb="0" cb="0"/><line nr="429" mi="3" ci="0" mb="0" cb="0"/><line nr="430" mi="2" ci="0" mb="0" cb="0"/><line nr="431" mi="0" ci="1" mb="0" cb="0"/><line nr="432" mi="0" ci="1" mb="0" cb="0"/><line nr="434" mi="0" ci="2" mb="0" cb="0"/><line nr="442" mi="0" ci="12" mb="0" cb="0"/><line nr="443" mi="0" ci="24" mb="0" cb="2"/><line nr="445" mi="0" ci="4" mb="0" cb="0"/><line nr="447" mi="0" ci="3" mb="0" cb="0"/><line nr="448" mi="0" ci="6" mb="0" cb="4"/><line nr="449" mi="0" ci="3" mb="0" cb="0"/><line nr="450" mi="0" ci="3" mb="0" cb="0"/><line nr="451" mi="0" ci="2" mb="0" cb="0"/><line nr="452" mi="0" ci="2" mb="0" cb="0"/><line nr="455" mi="0" ci="4" mb="0" cb="0"/><line nr="456" mi="2" ci="6" mb="1" cb="1"/><line nr="457" mi="1" ci="7" mb="1" cb="1"/><line nr="458" mi="0" ci="6" mb="0" cb="0"/><line nr="461" mi="0" ci="2" mb="0" cb="2"/><line nr="462" mi="0" ci="5" mb="0" cb="0"/><line nr="463" mi="0" ci="2" mb="1" cb="1"/><line nr="464" mi="0" ci="10" mb="1" cb="1"/><line nr="465" mi="0" ci="3" mb="0" cb="0"/><line nr="466" mi="0" ci="2" mb="0" cb="0"/><line nr="467" mi="0" ci="2" mb="0" cb="0"/><line nr="472" mi="0" ci="10" mb="0" cb="0"/><line nr="474" mi="0" ci="5" mb="0" cb="0"/><line nr="475" mi="0" ci="3" mb="1" cb="1"/><line nr="476" mi="3" ci="0" mb="0" cb="0"/><line nr="479" mi="0" ci="16" mb="0" cb="0"/><line nr="484" mi="0" ci="4" mb="0" cb="0"/><line nr="485" mi="0" ci="9" mb="0" cb="0"/><line nr="486" mi="0" ci="3" mb="0" cb="0"/><line nr="488" mi="0" ci="4" mb="0" cb="0"/><line nr="490" mi="0" ci="8" mb="0" cb="2"/><line nr="491" mi="0" ci="2" mb="0" cb="0"/><line nr="493" mi="0" ci="4" mb="0" cb="0"/><line nr="494" mi="0" ci="3" mb="1" cb="1"/><line nr="495" mi="4" ci="0" mb="0" cb="0"/><line nr="496" mi="1" ci="0" mb="0" cb="0"/><line nr="500" mi="0" ci="5" mb="0" cb="0"/><line nr="501" mi="0" ci="4" mb="0" cb="0"/><line nr="503" mi="0" ci="6" mb="0" cb="0"/><line nr="505" mi="0" ci="8" mb="0" cb="2"/><line nr="506" mi="0" ci="4" mb="0" cb="0"/><line nr="507" mi="0" ci="3" mb="1" cb="1"/><line nr="508" mi="4" ci="0" mb="0" cb="0"/><line nr="509" mi="1" ci="0" mb="0" cb="0"/><line nr="513" mi="1" ci="7" mb="1" cb="1"/><line nr="514" mi="0" ci="12" mb="0" cb="0"/><line nr="515" mi="0" ci="13" mb="0" cb="0"/><line nr="516" mi="0" ci="4" mb="1" cb="1"/><line nr="517" mi="0" ci="7" mb="0" cb="0"/><line nr="519" mi="6" ci="0" mb="0" cb="0"/><line nr="521" mi="1" ci="9" mb="1" cb="1"/><line nr="523" mi="0" ci="5" mb="2" cb="2"/><line nr="524" mi="3" ci="0" mb="0" cb="0"/><line nr="525" mi="2" ci="0" mb="0" cb="0"/><line nr="528" mi="0" ci="6" mb="0" cb="2"/><line nr="529" mi="0" ci="4" mb="0" cb="0"/><line nr="532" mi="0" ci="10" mb="0" cb="0"/><line nr="534" mi="0" ci="6" mb="0" cb="2"/><line nr="535" mi="0" ci="4" mb="0" cb="0"/><line nr="539" mi="0" ci="7" mb="0" cb="0"/><line nr="540" mi="0" ci="2" mb="0" cb="2"/><line nr="541" mi="0" ci="3" mb="0" cb="0"/><line nr="543" mi="0" ci="3" mb="0" cb="0"/><line nr="546" mi="0" ci="9" mb="0" cb="0"/><line nr="547" mi="0" ci="2" mb="0" cb="0"/><line nr="548" mi="0" ci="2" mb="0" cb="0"/><line nr="550" mi="1" ci="0" mb="0" cb="0"/><line nr="551" mi="6" ci="0" mb="0" cb="0"/><line nr="552" mi="2" ci="0" mb="0" cb="0"/><line nr="553" mi="2" ci="0" mb="2" cb="0"/><line nr="554" mi="8" ci="0" mb="0" cb="0"/><line nr="556" mi="3" ci="0" mb="0" cb="0"/><line nr="557" mi="2" ci="0" mb="0" cb="0"/><line nr="558" mi="0" ci="1" mb="0" cb="0"/><line nr="559" mi="0" ci="1" mb="0" cb="0"/><line nr="561" mi="0" ci="2" mb="0" cb="0"/><line nr="568" mi="0" ci="4" mb="0" cb="0"/><counter type="INSTRUCTION" missed="275" covered="1241"/><counter type="BRANCH" missed="53" covered="111"/><counter type="LINE" missed="59" covered="230"/><counter type="COMPLEXITY" missed="41" covered="56"/><counter type="METHOD" missed="1" covered="14"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="2354" covered="9754"/><counter type="BRANCH" missed="326" covered="790"/><counter type="LINE" missed="468" covered="2036"/><counter type="COMPLEXITY" missed="310" covered="521"/><counter type="METHOD" missed="56" covered="217"/><counter type="CLASS" missed="4" covered="15"/></package><package name="com/yumu/noveltranslator/adapter/in/rest/external"><class name="com/yumu/noveltranslator/adapter/in/rest/external/ExternalTranslateController" sourcefilename="ExternalTranslateController.java"><method name="translate" desc="(Lcom/yumu/noveltranslator/port/dto/translation/ExternalTranslateRequest;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="53"><counter type="INSTRUCTION" missed="8" covered="96"/><counter type="BRANCH" missed="3" covered="11"/><counter type="LINE" missed="2" covered="22"/><counter type="COMPLEXITY" missed="3" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="batchTranslate" desc="(Lcom/yumu/noveltranslator/port/dto/translation/ExternalBatchTranslateRequest;)Lcom/yumu/noveltranslator/port/dto/common/Result;" line="97"><counter type="INSTRUCTION" missed="4" covered="47"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="1" covered="10"/><counter type="COMPLEXITY" missed="1" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getModels" desc="()Lcom/yumu/noveltranslator/port/dto/common/Result;" line="147"><counter type="INSTRUCTION" missed="0" covered="77"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="downloadTranslation" desc="(Ljava/lang/String;)Lorg/springframework/http/ResponseEntity;" line="164"><counter type="INSTRUCTION" missed="4" covered="46"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="12"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="resolveUserId" desc="()Ljava/lang/Long;" line="188"><counter type="INSTRUCTION" missed="3" covered="2"/><counter type="LINE" missed="2" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/port/in/TranslatePort;Lcom/yumu/noveltranslator/port/in/TranslationTaskPort;)V" line="37"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$batchTranslate$0" desc="(Lcom/yumu/noveltranslator/port/dto/translation/ExternalBatchTranslateRequest;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/String;)Lcom/yumu/noveltranslator/port/dto/translation/ExternalTranslateResponse;" line="115"><counter type="INSTRUCTION" missed="0" covered="71"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="38"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="19" covered="352"/><counter type="BRANCH" missed="5" covered="27"/><counter type="LINE" missed="6" covered="72"/><counter type="COMPLEXITY" missed="5" covered="19"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="ExternalTranslateController.java"><line nr="37" mi="0" ci="9" mb="0" cb="0"/><line nr="38" mi="0" ci="4" mb="0" cb="0"/><line nr="53" mi="0" ci="3" mb="0" cb="0"/><line nr="54" mi="0" ci="2" mb="1" cb="1"/><line nr="55" mi="4" ci="0" mb="0" cb="0"/><line nr="58" mi="0" ci="7" mb="2" cb="2"/><line nr="59" mi="4" ci="0" mb="0" cb="0"/><line nr="62" mi="0" ci="6" mb="0" cb="2"/><line nr="63" mi="0" ci="6" mb="0" cb="0"/><line nr="67" mi="0" ci="3" mb="0" cb="0"/><line nr="68" mi="0" ci="1" mb="0" cb="0"/><line nr="69" mi="0" ci="8" mb="0" cb="2"/><line nr="70" mi="0" ci="1" mb="0" cb="0"/><line nr="71" mi="0" ci="7" mb="0" cb="2"/><line nr="72" mi="0" ci="9" mb="0" cb="2"/><line nr="75" mi="0" ci="7" mb="0" cb="0"/><line nr="77" mi="0" ci="4" mb="0" cb="0"/><line nr="78" mi="0" ci="3" mb="0" cb="0"/><line nr="79" mi="0" ci="4" mb="0" cb="0"/><line nr="80" mi="0" ci="4" mb="0" cb="0"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="82" mi="0" ci="5" mb="0" cb="0"/><line nr="84" mi="0" ci="3" mb="0" cb="0"/><line nr="85" mi="0" ci="1" mb="0" cb="0"/><line nr="86" mi="0" ci="4" mb="0" cb="0"/><line nr="87" mi="0" ci="4" mb="0" cb="0"/><line nr="97" mi="0" ci="3" mb="0" cb="0"/><line nr="98" mi="0" ci="2" mb="1" cb="1"/><line nr="99" mi="4" ci="0" mb="0" cb="0"/><line nr="102" mi="0" ci="7" mb="0" cb="4"/><line nr="103" mi="0" ci="4" mb="0" cb="0"/><line nr="106" mi="0" ci="5" mb="0" cb="2"/><line nr="107" mi="0" ci="4" mb="0" cb="0"/><line nr="110" mi="0" ci="8" mb="0" cb="2"/><line nr="113" mi="0" ci="9" mb="0" cb="0"/><line nr="115" mi="0" ci="3" mb="0" cb="0"/><line nr="117" mi="0" ci="8" mb="0" cb="2"/><line nr="118" mi="0" ci="1" mb="0" cb="0"/><line nr="119" mi="0" ci="10" mb="0" cb="2"/><line nr="122" mi="0" ci="7" mb="0" cb="0"/><line nr="123" mi="0" ci="4" mb="0" cb="0"/><line nr="124" mi="0" ci="3" mb="0" cb="0"/><line nr="125" mi="0" ci="4" mb="0" cb="0"/><line nr="126" mi="0" ci="4" mb="0" cb="0"/><line nr="127" mi="0" ci="4" mb="0" cb="0"/><line nr="128" mi="0" ci="5" mb="0" cb="0"/><line nr="129" mi="0" ci="2" mb="0" cb="0"/><line nr="130" mi="0" ci="1" mb="0" cb="0"/><line nr="131" mi="0" ci="5" mb="0" cb="0"/><line nr="132" mi="0" ci="4" mb="0" cb="0"/><line nr="133" mi="0" ci="4" mb="0" cb="0"/><line nr="134" mi="0" ci="2" mb="0" cb="0"/><line nr="136" mi="0" ci="2" mb="0" cb="0"/><line nr="138" mi="0" ci="3" mb="0" cb="0"/><line nr="147" mi="0" ci="12" mb="0" cb="0"/><line nr="148" mi="0" ci="12" mb="0" cb="0"/><line nr="149" mi="0" ci="12" mb="0" cb="0"/><line nr="150" mi="0" ci="12" mb="0" cb="0"/><line nr="151" mi="0" ci="12" mb="0" cb="0"/><line nr="152" mi="0" ci="12" mb="0" cb="0"/><line nr="153" mi="0" ci="2" mb="0" cb="0"/><line nr="155" mi="0" ci="3" mb="0" cb="0"/><line nr="164" mi="0" ci="3" mb="0" cb="0"/><line nr="165" mi="0" ci="2" mb="1" cb="1"/><line nr="166" mi="4" ci="0" mb="0" cb="0"/><line nr="169" mi="0" ci="6" mb="0" cb="0"/><line nr="170" mi="0" ci="2" mb="0" cb="2"/><line nr="171" mi="0" ci="3" mb="0" cb="0"/><line nr="175" mi="0" ci="6" mb="0" cb="0"/><line nr="176" mi="0" ci="4" mb="0" cb="0"/><line nr="177" mi="0" ci="3" mb="0" cb="0"/><line nr="178" mi="0" ci="5" mb="0" cb="0"/><line nr="179" mi="0" ci="7" mb="0" cb="0"/><line nr="180" mi="0" ci="1" mb="0" cb="0"/><line nr="181" mi="0" ci="4" mb="0" cb="0"/><line nr="188" mi="0" ci="2" mb="0" cb="0"/><line nr="189" mi="1" ci="0" mb="0" cb="0"/><line nr="190" mi="2" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="19" covered="352"/><counter type="BRANCH" missed="5" covered="27"/><counter type="LINE" missed="6" covered="72"/><counter type="COMPLEXITY" missed="5" covered="19"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="19" covered="352"/><counter type="BRANCH" missed="5" covered="27"/><counter type="LINE" missed="6" covered="72"/><counter type="COMPLEXITY" missed="5" covered="19"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></package><package name="com/yumu/noveltranslator/task"><class name="com/yumu/noveltranslator/task/DraftProjectRecoveryTask" sourcefilename="DraftProjectRecoveryTask.java"><method name="recoverStaleDraftProjects" desc="()V" line="40"><counter type="INSTRUCTION" missed="20" covered="51"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="2" covered="13"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="recoverSingleProject" desc="(Lcom/yumu/noveltranslator/adapter/out/persistence/entity/CollabProject;)V" line="66"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="transitionToActive" desc="(Lcom/yumu/noveltranslator/adapter/out/persistence/entity/CollabProject;)V" line="81"><counter type="INSTRUCTION" missed="7" covered="22"/><counter type="LINE" missed="2" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="logStaleProject" desc="(Lcom/yumu/noveltranslator/adapter/out/persistence/entity/CollabProject;)V" line="94"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/adapter/out/persistence/mapper/CollabProjectMapper;Lcom/yumu/noveltranslator/adapter/out/persistence/mapper/CollabChapterTaskMapper;Lcom/yumu/noveltranslator/domain/service/CollabStateMachine;)V" line="25"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="26"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="27" covered="135"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="4" covered="32"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/task/MonthlyQuotaResetTask" sourcefilename="MonthlyQuotaResetTask.java"><method name="&lt;init&gt;" desc="(Lorg/springframework/jdbc/core/JdbcTemplate;)V" line="17"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="resetMonthlyUsage" desc="()V" line="23"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="11"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/task/CacheCleanupTask" sourcefilename="CacheCleanupTask.java"><method name="cleanupExpiredCache" desc="()V" line="24"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/adapter/out/redis/TranslationCacheService;)V" line="13"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="14"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/task/ApiKeyUsageFlushTask" sourcefilename="ApiKeyUsageFlushTask.java"><method name="flush" desc="()V" line="25"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="flushOnShutdown" desc="()V" line="33"><counter type="INSTRUCTION" missed="15" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/adapter/out/redis/ApiKeyCacheService;Lcom/yumu/noveltranslator/adapter/out/persistence/mapper/ApiKeyMapper;)V" line="16"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$flushOnShutdown$1" desc="(Ljava/lang/Long;J)V" line="35"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$flush$0" desc="(Ljava/lang/Long;J)V" line="26"><counter type="INSTRUCTION" missed="12" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="17"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="33" covered="20"/><counter type="LINE" missed="9" covered="4"/><counter type="COMPLEXITY" missed="3" covered="3"/><counter type="METHOD" missed="3" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="MonthlyQuotaResetTask.java"><line nr="11" mi="0" ci="4" mb="0" cb="0"/><line nr="17" mi="0" ci="2" mb="0" cb="0"/><line nr="18" mi="0" ci="3" mb="0" cb="0"/><line nr="19" mi="0" ci="1" mb="0" cb="0"/><line nr="23" mi="0" ci="3" mb="0" cb="0"/><line nr="25" mi="0" ci="5" mb="0" cb="0"/><line nr="28" mi="0" ci="5" mb="0" cb="0"/><line nr="29" mi="0" ci="1" mb="0" cb="0"/><line nr="30" mi="0" ci="4" mb="0" cb="0"/><line nr="31" mi="0" ci="1" mb="0" cb="0"/><line nr="32" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ApiKeyUsageFlushTask.java"><line nr="16" mi="0" ci="9" mb="0" cb="0"/><line nr="17" mi="0" ci="4" mb="0" cb="0"/><line nr="25" mi="0" ci="6" mb="0" cb="0"/><line nr="26" mi="5" ci="0" mb="0" cb="0"/><line nr="27" mi="6" ci="0" mb="0" cb="0"/><line nr="28" mi="1" ci="0" mb="0" cb="0"/><line nr="29" mi="0" ci="1" mb="0" cb="0"/><line nr="33" mi="3" ci="0" mb="0" cb="0"/><line nr="34" mi="6" ci="0" mb="0" cb="0"/><line nr="35" mi="5" ci="0" mb="0" cb="0"/><line nr="36" mi="1" ci="0" mb="0" cb="0"/><line nr="37" mi="5" ci="0" mb="0" cb="0"/><line nr="38" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="33" covered="20"/><counter type="LINE" missed="9" covered="4"/><counter type="COMPLEXITY" missed="3" covered="3"/><counter type="METHOD" missed="3" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="CacheCleanupTask.java"><line nr="13" mi="0" ci="6" mb="0" cb="0"/><line nr="14" mi="0" ci="4" mb="0" cb="0"/><line nr="24" mi="0" ci="3" mb="0" cb="0"/><line nr="25" mi="0" ci="3" mb="0" cb="0"/><line nr="26" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="DraftProjectRecoveryTask.java"><line nr="25" mi="0" ci="12" mb="0" cb="0"/><line nr="26" mi="0" ci="4" mb="0" cb="0"/><line nr="40" mi="0" ci="4" mb="0" cb="0"/><line nr="43" mi="0" ci="9" mb="0" cb="0"/><line nr="45" mi="0" ci="5" mb="0" cb="0"/><line nr="46" mi="0" ci="5" mb="0" cb="0"/><line nr="47" mi="0" ci="2" mb="0" cb="0"/><line nr="50" mi="0" ci="3" mb="0" cb="2"/><line nr="51" mi="0" ci="1" mb="0" cb="0"/><line nr="54" mi="0" ci="6" mb="0" cb="0"/><line nr="56" mi="0" ci="10" mb="0" cb="2"/><line nr="58" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="1" ci="0" mb="0" cb="0"/><line nr="60" mi="19" ci="0" mb="0" cb="0"/><line nr="61" mi="0" ci="1" mb="0" cb="0"/><line nr="62" mi="0" ci="1" mb="0" cb="0"/><line nr="63" mi="0" ci="1" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><line nr="69" mi="0" ci="5" mb="0" cb="0"/><line nr="71" mi="0" ci="2" mb="0" cb="2"/><line nr="73" mi="0" ci="4" mb="0" cb="0"/><line nr="76" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="1" mb="0" cb="0"/><line nr="81" mi="0" ci="3" mb="0" cb="0"/><line nr="83" mi="0" ci="3" mb="0" cb="0"/><line nr="84" mi="0" ci="5" mb="0" cb="0"/><line nr="85" mi="0" ci="5" mb="0" cb="0"/><line nr="86" mi="0" ci="4" mb="0" cb="0"/><line nr="87" mi="1" ci="0" mb="0" cb="0"/><line nr="89" mi="6" ci="0" mb="0" cb="0"/><line nr="90" mi="0" ci="1" mb="0" cb="0"/><line nr="91" mi="0" ci="1" mb="0" cb="0"/><line nr="94" mi="0" ci="3" mb="0" cb="0"/><line nr="95" mi="0" ci="12" mb="0" cb="0"/><line nr="98" mi="0" ci="12" mb="0" cb="0"/><line nr="99" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="27" covered="135"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="4" covered="32"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="60" covered="202"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="13" covered="52"/><counter type="COMPLEXITY" missed="3" covered="18"/><counter type="METHOD" missed="3" covered="15"/><counter type="CLASS" missed="0" covered="4"/></package><package name="com/yumu/noveltranslator/exception"><class name="com/yumu/noveltranslator/exception/BusinessException" sourcefilename="BusinessException.java"><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/enums/ErrorCodeEnum;)V" line="11"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Lcom/yumu/noveltranslator/enums/ErrorCodeEnum;Ljava/lang/String;)V" line="16"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getErrorCode" desc="()Lcom/yumu/noveltranslator/enums/ErrorCodeEnum;" line="8"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="11" covered="7"/><counter type="LINE" missed="4" covered="3"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="2" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/exception/MTranServerUnavailableException" sourcefilename="MTranServerUnavailableException.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="10"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/Throwable;)V" line="14"><counter type="INSTRUCTION" missed="5" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="MTranServerUnavailableException.java"><line nr="10" mi="3" ci="0" mb="0" cb="0"/><line nr="11" mi="1" ci="0" mb="0" cb="0"/><line nr="14" mi="4" ci="0" mb="0" cb="0"/><line nr="15" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="BusinessException.java"><line nr="8" mi="3" ci="0" mb="0" cb="0"/><line nr="11" mi="4" ci="0" mb="0" cb="0"/><line nr="12" mi="3" ci="0" mb="0" cb="0"/><line nr="13" mi="1" ci="0" mb="0" cb="0"/><line nr="16" mi="0" ci="3" mb="0" cb="0"/><line nr="17" mi="0" ci="3" mb="0" cb="0"/><line nr="18" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="11" covered="7"/><counter type="LINE" missed="4" covered="3"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="2" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="20" covered="7"/><counter type="LINE" missed="8" covered="3"/><counter type="COMPLEXITY" missed="4" covered="1"/><counter type="METHOD" missed="4" covered="1"/><counter type="CLASS" missed="1" covered="1"/></package><package name="com/yumu/noveltranslator/util"><class name="com/yumu/noveltranslator/util/TextCleaningUtil" sourcefilename="TextCleaningUtil.java"><method name="&lt;init&gt;" desc="()V" line="16"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="cleanText" desc="(Ljava/lang/String;)Ljava/lang/String;" line="56"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="removeSpecialInvisibleChars" desc="(Ljava/lang/String;)Ljava/lang/String;" line="83"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="removeControlChars" desc="(Ljava/lang/String;)Ljava/lang/String;" line="97"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="removeInvalidUnicode" desc="(Ljava/lang/String;)Ljava/lang/String;" line="110"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="removeMultipleZeroWidthChars" desc="(Ljava/lang/String;)Ljava/lang/String;" line="123"><counter type="INSTRUCTION" missed="2" covered="8"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="2"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sanitizeHtml" desc="(Ljava/lang/String;)Ljava/lang/String;" line="140"><counter type="INSTRUCTION" missed="0" covered="33"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="escapeHtml" desc="(Ljava/lang/String;)Ljava/lang/String;" line="158"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="unescapeHtml" desc="(Ljava/lang/String;)Ljava/lang/String;" line="171"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="escapeXml" desc="(Ljava/lang/String;)Ljava/lang/String;" line="184"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="unescapeXml" desc="(Ljava/lang/String;)Ljava/lang/String;" line="197"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="escapeCsv" desc="(Ljava/lang/String;)Ljava/lang/String;" line="210"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="unescapeCsv" desc="(Ljava/lang/String;)Ljava/lang/String;" line="223"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="escapeJava" desc="(Ljava/lang/String;)Ljava/lang/String;" line="236"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="unescapeJava" desc="(Ljava/lang/String;)Ljava/lang/String;" line="249"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="escapeJson" desc="(Ljava/lang/String;)Ljava/lang/String;" line="262"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="unescapeJson" desc="(Ljava/lang/String;)Ljava/lang/String;" line="275"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="trimFullWidth" desc="(Ljava/lang/String;)Ljava/lang/String;" line="288"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="fullWidthToHalfWidth" desc="(Ljava/lang/String;)Ljava/lang/String;" line="301"><counter type="INSTRUCTION" missed="0" covered="56"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="1" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="halfWidthToFullWidth" desc="(Ljava/lang/String;)Ljava/lang/String;" line="327"><counter type="INSTRUCTION" missed="0" covered="56"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="1" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="removeBom" desc="(Ljava/lang/String;)Ljava/lang/String;" line="353"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="normalizeAllWhitespace" desc="(Ljava/lang/String;)Ljava/lang/String;" line="369"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="cleanupSpaces" desc="(Ljava/lang/String;)Ljava/lang/String;" line="382"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="removeTabs" desc="(Ljava/lang/String;)Ljava/lang/String;" line="400"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="hasInvisibleChars" desc="(Ljava/lang/String;)Z" line="413"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="BRANCH" missed="1" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="22"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="5" covered="376"/><counter type="BRANCH" missed="4" covered="72"/><counter type="LINE" missed="2" covered="102"/><counter type="COMPLEXITY" missed="5" covered="59"/><counter type="METHOD" missed="1" covered="25"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/util/CacheKeyUtil" sourcefilename="CacheKeyUtil.java"><method name="&lt;init&gt;" desc="()V" line="11"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="buildCacheKey" desc="(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" line="24"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="buildCacheKey" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" line="37"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="buildCacheKey" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" line="59"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="normalizeText" desc="(Ljava/lang/String;)Ljava/lang/String;" line="73"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="normalizeLang" desc="(Ljava/lang/String;)Ljava/lang/String;" line="84"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="md5" desc="(Ljava/lang/String;)Ljava/lang/String;" line="95"><counter type="INSTRUCTION" missed="5" covered="11"/><counter type="LINE" missed="2" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="bytesToHex" desc="([B)Ljava/lang/String;" line="108"><counter type="INSTRUCTION" missed="0" covered="44"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="8" covered="123"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="3" covered="29"/><counter type="COMPLEXITY" missed="2" covered="11"/><counter type="METHOD" missed="1" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/util/JwtUtils" sourcefilename="JwtUtils.java"><method name="&lt;init&gt;" desc="()V" line="15"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setSecret" desc="(Ljava/lang/String;)V" line="22"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setExpireTime" desc="(Ljava/lang/Long;)V" line="27"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createToken" desc="(Ljava/lang/Long;Ljava/lang/String;Ljava/lang/Long;)Ljava/lang/String;" line="38"><counter type="INSTRUCTION" missed="0" covered="32"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createToken" desc="(Ljava/lang/Long;Ljava/lang/String;)Ljava/lang/String;" line="54"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="verifyToken" desc="(Ljava/lang/String;)Lcom/auth0/jwt/interfaces/DecodedJWT;" line="63"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getUserInfoFromToken" desc="(Ljava/lang/String;)Ljava/util/Map;" line="72"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getUserIdFromToken" desc="(Ljava/lang/String;)Ljava/lang/Long;" line="83"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getEmailFromToken" desc="(Ljava/lang/String;)Ljava/lang/String;" line="91"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTenantIdFromToken" desc="(Ljava/lang/String;)Ljava/lang/Long;" line="99"><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getExpiresAtFromToken" desc="(Ljava/lang/String;)Ljava/time/LocalDateTime;" line="107"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="22" covered="107"/><counter type="LINE" missed="5" covered="27"/><counter type="COMPLEXITY" missed="2" covered="9"/><counter type="METHOD" missed="2" covered="9"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/util/ExternalResponseUtil" sourcefilename="ExternalResponseUtil.java"><method name="&lt;init&gt;" desc="()V" line="17"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="extractDataField" desc="(Ljava/lang/String;)Ljava/lang/String;" line="37"><counter type="INSTRUCTION" missed="2" covered="63"/><counter type="BRANCH" missed="1" covered="15"/><counter type="LINE" missed="0" covered="19"/><counter type="COMPLEXITY" missed="1" covered="8"/><counter type="METHOD" missed="0" covered="1"/></method><method name="validateStatusCode" desc="(Lcom/fasterxml/jackson/databind/JsonNode;)Lcom/yumu/noveltranslator/util/ExternalResponseUtil$StatusCodeResult;" line="82"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="processingReader" desc="(Ljava/lang/String;)Ljava/util/List;" line="113"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="traverseAllTags" desc="(Lorg/jsoup/nodes/Node;Ljava/util/List;)V" line="120"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="buildErrorResponse" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;" line="139"><counter type="INSTRUCTION" missed="14" covered="32"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="2" covered="8"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="buildErrorResponse" desc="(Lcom/yumu/noveltranslator/enums/ErrorCodeEnum;Ljava/util/Map;)Ljava/lang/String;" line="158"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="buildTranslatedPath" desc="(Ljava/lang/String;)Ljava/lang/String;" line="167"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="buildSimpleErrorResponse" desc="(Lcom/yumu/noveltranslator/enums/ErrorCodeEnum;)Ljava/lang/String;" line="179"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$buildErrorResponse$0" desc="(Lcom/fasterxml/jackson/databind/node/ObjectNode;Ljava/lang/String;Ljava/lang/Object;)V" line="145"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="18"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="19" covered="205"/><counter type="BRANCH" missed="1" covered="27"/><counter type="LINE" missed="3" covered="50"/><counter type="COMPLEXITY" missed="2" covered="23"/><counter type="METHOD" missed="1" covered="10"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/util/PasswordUtil" sourcefilename="PasswordUtil.java"><method name="&lt;init&gt;" desc="()V" line="5"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="hashPassword" desc="(Ljava/lang/String;)Ljava/lang/String;" line="13"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="verifyPassword" desc="(Ljava/lang/String;Ljava/lang/String;)Z" line="20"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="7"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="3" covered="14"/><counter type="LINE" missed="1" covered="3"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="1" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/util/SecurityUtil" sourcefilename="SecurityUtil.java"><method name="getCurrentUserId" desc="()Ljava/util/Optional;" line="24"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCurrentUserLevel" desc="()Ljava/util/Optional;" line="31"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCurrentUserDetails" desc="()Ljava/util/Optional;" line="38"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getRequiredUserId" desc="()Ljava/lang/Long;" line="49"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getRequiredUserDetails" desc="()Lcom/yumu/noveltranslator/adapter/out/security/CustomUserDetails;" line="56"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="parseBearerToken" desc="(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;" line="68"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="parseBearerToken" desc="(Ljava/lang/String;)Ljava/lang/String;" line="75"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getClientIp" desc="(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;" line="85"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="maskApiKey" desc="(Ljava/lang/String;)Ljava/lang/String;" line="100"><counter type="INSTRUCTION" missed="2" covered="18"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCurrentUserIdOrAnonymous" desc="()Ljava/lang/String;" line="108"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCurrentUserLevelOrDefault" desc="()Ljava/lang/String;" line="117"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$getCurrentUserIdOrAnonymous$0" desc="(Lcom/yumu/noveltranslator/adapter/out/security/CustomUserDetails;)Ljava/lang/String;" line="109"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="2" covered="126"/><counter type="BRANCH" missed="3" covered="17"/><counter type="LINE" missed="0" covered="30"/><counter type="COMPLEXITY" missed="3" covered="19"/><counter type="METHOD" missed="0" covered="12"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/util/SseEmitterUtil" sourcefilename="SseEmitterUtil.java"><method name="&lt;init&gt;" desc="(Lorg/springframework/data/redis/core/StringRedisTemplate;)V" line="37"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="registerEmitter" desc="(Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;)Ljava/lang/String;" line="48"><counter type="INSTRUCTION" missed="6" covered="37"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="10"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isEmitterActive" desc="(Ljava/lang/String;)Z" line="88"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="BRANCH" missed="2" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="2" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="unregisterEmitter" desc="(Ljava/lang/String;)V" line="96"><counter type="INSTRUCTION" missed="15" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getActiveCount" desc="()I" line="107"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createSseEmitter" desc="(Ljava/lang/Long;)Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;" line="115"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sendError" desc="(Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;Ljava/lang/String;)V" line="137"><counter type="INSTRUCTION" missed="1" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sendDone" desc="(Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;)V" line="143"><counter type="INSTRUCTION" missed="1" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sendData" desc="(Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;Ljava/lang/String;)V" line="149"><counter type="INSTRUCTION" missed="1" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sendHeartbeat" desc="(Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;)V" line="159"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="complete" desc="(Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;)V" line="164"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="completeWithError" desc="(Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;Ljava/lang/Exception;)V" line="168"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="publishCollabEvent" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" line="205"><counter type="INSTRUCTION" missed="0" covered="62"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="replayMissedEvents" desc="(Ljava/lang/String;Ljava/lang/String;Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;)V" line="227"><counter type="INSTRUCTION" missed="9" covered="72"/><counter type="BRANCH" missed="3" covered="11"/><counter type="LINE" missed="4" covered="19"/><counter type="COMPLEXITY" missed="3" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$createSseEmitter$4" desc="(Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;Ljava/lang/Throwable;)V" line="119"><counter type="INSTRUCTION" missed="34" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="11" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$createSseEmitter$3" desc="()V" line="116"><counter type="INSTRUCTION" missed="1" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$registerEmitter$2" desc="(Ljava/lang/String;Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;Ljava/lang/Throwable;)V" line="66"><counter type="INSTRUCTION" missed="36" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="12" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$registerEmitter$1" desc="(Ljava/lang/String;Lorg/springframework/web/servlet/mvc/method/annotation/SseEmitter;)V" line="62"><counter type="INSTRUCTION" missed="5" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$registerEmitter$0" desc="(Ljava/lang/String;)V" line="59"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="25"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="112" covered="291"/><counter type="BRANCH" missed="36" covered="18"/><counter type="LINE" missed="38" covered="70"/><counter type="COMPLEXITY" missed="27" covered="20"/><counter type="METHOD" missed="6" covered="14"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/util/ExternalResponseUtil$StatusCodeResult" sourcefilename="ExternalResponseUtil.java"><method name="&lt;init&gt;" desc="(ZI)V" line="98"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isValid" desc="()Z" line="104"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getStatusCode" desc="()I" line="108"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/util/OwnershipVerifier" sourcefilename="OwnershipVerifier.java"><method name="&lt;init&gt;" desc="()V" line="12"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="verifyAndGet" desc="(Ljava/lang/Long;Ljava/lang/Long;Ljava/util/function/Function;Ljava/util/function/Function;)Ljava/util/Optional;" line="27"><counter type="INSTRUCTION" missed="22" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="22" covered="3"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="7" covered="1"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="1" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/yumu/noveltranslator/util/TextSegmentationUtil" sourcefilename="TextSegmentationUtil.java"><method name="&lt;init&gt;" desc="()V" line="10"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="segmentByTextEngine" desc="(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;" line="26"><counter type="INSTRUCTION" missed="4" covered="9"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="1" covered="2"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="segmentText" desc="(Ljava/lang/String;I)Ljava/util/List;" line="42"><counter type="INSTRUCTION" missed="21" covered="100"/><counter type="BRANCH" missed="5" covered="15"/><counter type="LINE" missed="7" covered="26"/><counter type="COMPLEXITY" missed="5" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findSentenceBreak" desc="(Ljava/lang/String;II)I" line="107"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isSentenceEnding" desc="(C)Z" line="121"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findParagraphBreak" desc="(Ljava/lang/String;II)I" line="129"><counter type="INSTRUCTION" missed="4" covered="16"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="3"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findWordBreak" desc="(Ljava/lang/String;II)I" line="143"><counter type="INSTRUCTION" missed="4" covered="16"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="3"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getMaxCharsForEngine" desc="(Ljava/lang/String;)I" line="158"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="estimateSegmentsCount" desc="(Ljava/lang/String;Ljava/lang/String;)I" line="169"><counter type="INSTRUCTION" missed="2" covered="30"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="1" covered="7"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="38" covered="203"/><counter type="BRANCH" missed="10" covered="34"/><counter type="LINE" missed="12" covered="48"/><counter type="COMPLEXITY" missed="11" covered="20"/><counter type="METHOD" missed="1" covered="8"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="SecurityUtil.java"><line nr="24" mi="0" ci="4" mb="0" cb="0"/><line nr="31" mi="0" ci="4" mb="0" cb="0"/><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="39" mi="0" ci="6" mb="0" cb="4"/><line nr="40" mi="0" ci="5" mb="0" cb="0"/><line nr="42" mi="0" ci="2" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="56" mi="0" ci="3" mb="0" cb="0"/><line nr="57" mi="0" ci="6" mb="1" cb="3"/><line nr="58" mi="0" ci="5" mb="0" cb="0"/><line nr="60" mi="0" ci="4" mb="0" cb="0"/><line nr="68" mi="0" ci="5" mb="0" cb="0"/><line nr="75" mi="0" ci="7" mb="0" cb="4"/><line nr="76" mi="0" ci="4" mb="0" cb="0"/><line nr="78" mi="0" ci="2" mb="0" cb="0"/><line nr="85" mi="0" ci="4" mb="0" cb="0"/><line nr="86" mi="0" ci="3" mb="0" cb="2"/><line nr="87" mi="0" ci="7" mb="0" cb="0"/><line nr="89" mi="0" ci="4" mb="0" cb="0"/><line nr="90" mi="0" ci="3" mb="0" cb="2"/><line nr="91" mi="0" ci="3" mb="0" cb="0"/><line nr="93" mi="0" ci="3" mb="0" cb="0"/><line nr="100" mi="2" ci="6" mb="2" cb="2"/><line nr="101" mi="0" ci="12" mb="0" cb="0"/><line nr="108" mi="0" ci="3" mb="0" cb="0"/><line nr="109" mi="0" ci="6" mb="0" cb="0"/><line nr="110" mi="0" ci="2" mb="0" cb="0"/><line nr="117" mi="0" ci="3" mb="0" cb="0"/><line nr="118" mi="0" ci="2" mb="0" cb="0"/><line nr="119" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="2" covered="126"/><counter type="BRANCH" missed="3" covered="17"/><counter type="LINE" missed="0" covered="30"/><counter type="COMPLEXITY" missed="3" covered="19"/><counter type="METHOD" missed="0" covered="12"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SseEmitterUtil.java"><line nr="25" mi="0" ci="3" mb="0" cb="0"/><line nr="27" mi="0" ci="5" mb="0" cb="0"/><line nr="32" mi="0" ci="4" mb="0" cb="0"/><line nr="33" mi="0" ci="5" mb="0" cb="0"/><line nr="37" mi="0" ci="2" mb="0" cb="0"/><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="39" mi="0" ci="1" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="1" cb="1"/><line nr="50" mi="6" ci="0" mb="0" cb="0"/><line nr="53" mi="0" ci="3" mb="0" cb="0"/><line nr="54" mi="0" ci="4" mb="0" cb="0"/><line nr="55" mi="0" ci="5" mb="0" cb="0"/><line nr="56" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="4" mb="0" cb="0"/><line nr="59" mi="2" ci="0" mb="0" cb="0"/><line nr="60" mi="1" ci="0" mb="0" cb="0"/><line nr="61" mi="0" ci="5" mb="0" cb="0"/><line nr="62" mi="2" ci="0" mb="0" cb="0"/><line nr="63" mi="2" ci="0" mb="0" cb="0"/><line nr="64" mi="1" ci="0" mb="0" cb="0"/><line nr="65" mi="0" ci="5" mb="0" cb="0"/><line nr="66" mi="2" ci="0" mb="2" cb="0"/><line nr="67" mi="3" ci="0" mb="0" cb="0"/><line nr="68" mi="4" ci="0" mb="2" cb="0"/><line nr="69" mi="4" ci="0" mb="2" cb="0"/><line nr="70" mi="4" ci="0" mb="2" cb="0"/><line nr="71" mi="4" ci="0" mb="2" cb="0"/><line nr="72" mi="4" ci="0" mb="2" cb="0"/><line nr="73" mi="2" ci="0" mb="2" cb="0"/><line nr="74" mi="4" ci="0" mb="0" cb="0"/><line nr="77" mi="2" ci="0" mb="0" cb="0"/><line nr="78" mi="2" ci="0" mb="0" cb="0"/><line nr="79" mi="1" ci="0" mb="0" cb="0"/><line nr="81" mi="0" ci="2" mb="0" cb="0"/><line nr="88" mi="0" ci="5" mb="0" cb="0"/><line nr="89" mi="0" ci="12" mb="2" cb="4"/><line nr="96" mi="5" ci="0" mb="0" cb="0"/><line nr="97" mi="2" ci="0" mb="2" cb="0"/><line nr="98" mi="4" ci="0" mb="0" cb="0"/><line nr="100" mi="3" ci="0" mb="0" cb="0"/><line nr="101" mi="1" ci="0" mb="0" cb="0"/><line nr="107" mi="0" ci="3" mb="0" cb="0"/><line nr="115" mi="0" ci="11" mb="0" cb="2"/><line nr="116" mi="1" ci="3" mb="0" cb="0"/><line nr="117" mi="0" ci="7" mb="0" cb="0"/><line nr="118" mi="0" ci="4" mb="0" cb="0"/><line nr="119" mi="2" ci="0" mb="2" cb="0"/><line nr="120" mi="3" ci="0" mb="0" cb="0"/><line nr="121" mi="4" ci="0" mb="2" cb="0"/><line nr="122" mi="4" ci="0" mb="2" cb="0"/><line nr="123" mi="4" ci="0" mb="2" cb="0"/><line nr="124" mi="4" ci="0" mb="2" cb="0"/><line nr="125" mi="4" ci="0" mb="2" cb="0"/><line nr="126" mi="2" ci="0" mb="2" cb="0"/><line nr="127" mi="4" ci="0" mb="0" cb="0"/><line nr="130" mi="2" ci="0" mb="0" cb="0"/><line nr="131" mi="1" ci="0" mb="0" cb="0"/><line nr="132" mi="0" ci="2" mb="0" cb="0"/><line nr="137" mi="0" ci="6" mb="0" cb="0"/><line nr="138" mi="1" ci="1" mb="0" cb="0"/><line nr="139" mi="0" ci="1" mb="0" cb="0"/><line nr="143" mi="0" ci="5" mb="0" cb="0"/><line nr="144" mi="1" ci="1" mb="0" cb="0"/><line nr="145" mi="0" ci="1" mb="0" cb="0"/><line nr="149" mi="0" ci="5" mb="0" cb="0"/><line nr="150" mi="1" ci="1" mb="0" cb="0"/><line nr="151" mi="0" ci="1" mb="0" cb="0"/><line nr="159" mi="0" ci="5" mb="0" cb="0"/><line nr="160" mi="0" ci="2" mb="0" cb="0"/><line nr="161" mi="0" ci="1" mb="0" cb="0"/><line nr="164" mi="0" ci="2" mb="0" cb="0"/><line nr="165" mi="0" ci="1" mb="0" cb="0"/><line nr="168" mi="0" ci="3" mb="0" cb="0"/><line nr="169" mi="0" ci="1" mb="0" cb="0"/><line nr="179" mi="0" ci="6" mb="0" cb="0"/><line nr="193" mi="0" ci="7" mb="0" cb="0"/><line nr="205" mi="0" ci="3" mb="0" cb="0"/><line nr="206" mi="0" ci="3" mb="0" cb="0"/><line nr="207" mi="0" ci="2" mb="0" cb="0"/><line nr="209" mi="0" ci="20" mb="0" cb="0"/><line nr="211" mi="0" ci="2" mb="0" cb="0"/><line nr="213" mi="0" ci="13" mb="0" cb="0"/><line nr="215" mi="0" ci="17" mb="0" cb="0"/><line nr="216" mi="0" ci="2" mb="0" cb="0"/><line nr="227" mi="0" ci="5" mb="0" cb="4"/><line nr="228" mi="0" ci="4" mb="0" cb="0"/><line nr="229" mi="0" ci="1" mb="0" cb="0"/><line nr="232" mi="0" ci="3" mb="0" cb="0"/><line nr="234" mi="0" ci="14" mb="0" cb="0"/><line nr="236" mi="0" ci="5" mb="1" cb="3"/><line nr="237" mi="0" ci="5" mb="0" cb="0"/><line nr="238" mi="0" ci="1" mb="0" cb="0"/><line nr="241" mi="0" ci="2" mb="0" cb="0"/><line nr="242" mi="0" ci="10" mb="0" cb="2"/><line nr="243" mi="0" ci="5" mb="2" cb="2"/><line nr="244" mi="1" ci="0" mb="0" cb="0"/><line nr="247" mi="0" ci="4" mb="0" cb="0"/><line nr="248" mi="0" ci="2" mb="0" cb="0"/><line nr="249" mi="0" ci="1" mb="0" cb="0"/><line nr="250" mi="0" ci="1" mb="0" cb="0"/><line nr="251" mi="1" ci="0" mb="0" cb="0"/><line nr="252" mi="6" ci="0" mb="0" cb="0"/><line nr="253" mi="1" ci="0" mb="0" cb="0"/><line nr="254" mi="0" ci="1" mb="0" cb="0"/><line nr="255" mi="0" ci="1" mb="0" cb="0"/><line nr="257" mi="0" ci="6" mb="0" cb="0"/><line nr="258" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="112" covered="291"/><counter type="BRANCH" missed="36" covered="18"/><counter type="LINE" missed="38" covered="70"/><counter type="COMPLEXITY" missed="27" covered="20"/><counter type="METHOD" missed="6" covered="14"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="OwnershipVerifier.java"><line nr="12" mi="0" ci="3" mb="0" cb="0"/><line nr="27" mi="4" ci="0" mb="0" cb="0"/><line nr="28" mi="2" ci="0" mb="2" cb="0"/><line nr="29" mi="2" ci="0" mb="0" cb="0"/><line nr="31" mi="5" ci="0" mb="0" cb="0"/><line nr="32" mi="4" ci="0" mb="2" cb="0"/><line nr="33" mi="2" ci="0" mb="0" cb="0"/><line nr="35" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="22" covered="3"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="7" covered="1"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="1" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="TextCleaningUtil.java"><line nr="16" mi="3" ci="0" mb="0" cb="0"/><line nr="22" mi="0" ci="3" mb="0" cb="0"/><line nr="29" mi="0" ci="3" mb="0" cb="0"/><line nr="34" mi="0" ci="3" mb="0" cb="0"/><line nr="39" mi="0" ci="3" mb="0" cb="0"/><line nr="44" mi="0" ci="4" mb="0" cb="0"/><line nr="56" mi="0" ci="5" mb="0" cb="4"/><line nr="57" mi="0" ci="2" mb="0" cb="0"/><line nr="61" mi="0" ci="3" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="67" mi="0" ci="3" mb="0" cb="0"/><line nr="70" mi="0" ci="3" mb="0" cb="0"/><line nr="72" mi="0" ci="2" mb="0" cb="0"/><line nr="83" mi="0" ci="2" mb="0" cb="2"/><line nr="84" mi="0" ci="2" mb="0" cb="0"/><line nr="86" mi="0" ci="6" mb="0" cb="0"/><line nr="97" mi="0" ci="2" mb="0" cb="2"/><line nr="98" mi="0" ci="2" mb="0" cb="0"/><line nr="100" mi="0" ci="6" mb="0" cb="0"/><line nr="110" mi="0" ci="2" mb="0" cb="2"/><line nr="111" mi="0" ci="2" mb="0" cb="0"/><line nr="113" mi="0" ci="6" mb="0" cb="0"/><line nr="123" mi="0" ci="2" mb="1" cb="1"/><line nr="124" mi="2" ci="0" mb="0" cb="0"/><line nr="126" mi="0" ci="6" mb="0" cb="0"/><line nr="140" mi="0" ci="5" mb="0" cb="4"/><line nr="141" mi="0" ci="2" mb="0" cb="0"/><line nr="144" mi="0" ci="7" mb="0" cb="0"/><line nr="145" mi="0" ci="13" mb="0" cb="0"/><line nr="146" mi="0" ci="2" mb="0" cb="0"/><line nr="148" mi="0" ci="4" mb="0" cb="0"/><line nr="158" mi="0" ci="2" mb="0" cb="2"/><line nr="159" mi="0" ci="2" mb="0" cb="0"/><line nr="161" mi="0" ci="3" mb="0" cb="0"/><line nr="171" mi="0" ci="2" mb="0" cb="2"/><line nr="172" mi="0" ci="2" mb="0" cb="0"/><line nr="174" mi="0" ci="3" mb="0" cb="0"/><line nr="184" mi="0" ci="2" mb="0" cb="2"/><line nr="185" mi="0" ci="2" mb="0" cb="0"/><line nr="187" mi="0" ci="3" mb="0" cb="0"/><line nr="197" mi="0" ci="2" mb="0" cb="2"/><line nr="198" mi="0" ci="2" mb="0" cb="0"/><line nr="200" mi="0" ci="3" mb="0" cb="0"/><line nr="210" mi="0" ci="2" mb="0" cb="2"/><line nr="211" mi="0" ci="2" mb="0" cb="0"/><line nr="213" mi="0" ci="3" mb="0" cb="0"/><line nr="223" mi="0" ci="2" mb="0" cb="2"/><line nr="224" mi="0" ci="2" mb="0" cb="0"/><line nr="226" mi="0" ci="3" mb="0" cb="0"/><line nr="236" mi="0" ci="2" mb="0" cb="2"/><line nr="237" mi="0" ci="2" mb="0" cb="0"/><line nr="239" mi="0" ci="3" mb="0" cb="0"/><line nr="249" mi="0" ci="2" mb="0" cb="2"/><line nr="250" mi="0" ci="2" mb="0" cb="0"/><line nr="252" mi="0" ci="3" mb="0" cb="0"/><line nr="262" mi="0" ci="2" mb="0" cb="2"/><line nr="263" mi="0" ci="2" mb="0" cb="0"/><line nr="265" mi="0" ci="3" mb="0" cb="0"/><line nr="275" mi="0" ci="2" mb="0" cb="2"/><line nr="276" mi="0" ci="2" mb="0" cb="0"/><line nr="278" mi="0" ci="3" mb="0" cb="0"/><line nr="288" mi="0" ci="2" mb="0" cb="2"/><line nr="289" mi="0" ci="2" mb="0" cb="0"/><line nr="291" mi="0" ci="8" mb="0" cb="0"/><line nr="301" mi="0" ci="2" mb="0" cb="2"/><line nr="302" mi="0" ci="2" mb="0" cb="0"/><line nr="305" mi="0" ci="6" mb="0" cb="0"/><line nr="306" mi="0" ci="17" mb="0" cb="2"/><line nr="307" mi="0" ci="3" mb="0" cb="2"/><line nr="309" mi="0" ci="5" mb="0" cb="0"/><line nr="310" mi="0" ci="6" mb="1" cb="3"/><line nr="312" mi="0" ci="8" mb="0" cb="0"/><line nr="314" mi="0" ci="4" mb="0" cb="0"/><line nr="317" mi="0" ci="3" mb="0" cb="0"/><line nr="327" mi="0" ci="2" mb="0" cb="2"/><line nr="328" mi="0" ci="2" mb="0" cb="0"/><line nr="331" mi="0" ci="6" mb="0" cb="0"/><line nr="332" mi="0" ci="17" mb="0" cb="2"/><line nr="333" mi="0" ci="3" mb="0" cb="2"/><line nr="335" mi="0" ci="5" mb="0" cb="0"/><line nr="336" mi="0" ci="6" mb="1" cb="3"/><line nr="338" mi="0" ci="8" mb="0" cb="0"/><line nr="340" mi="0" ci="4" mb="0" cb="0"/><line nr="343" mi="0" ci="3" mb="0" cb="0"/><line nr="353" mi="0" ci="2" mb="0" cb="2"/><line nr="354" mi="0" ci="2" mb="0" cb="0"/><line nr="356" mi="0" ci="4" mb="0" cb="2"/><line nr="357" mi="0" ci="4" mb="0" cb="0"/><line nr="359" mi="0" ci="2" mb="0" cb="0"/><line nr="369" mi="0" ci="2" mb="0" cb="2"/><line nr="370" mi="0" ci="2" mb="0" cb="0"/><line nr="372" mi="0" ci="5" mb="0" cb="0"/><line nr="382" mi="0" ci="2" mb="0" cb="2"/><line nr="383" mi="0" ci="2" mb="0" cb="0"/><line nr="386" mi="0" ci="5" mb="0" cb="0"/><line nr="388" mi="0" ci="5" mb="0" cb="0"/><line nr="389" mi="0" ci="5" mb="0" cb="0"/><line nr="390" mi="0" ci="2" mb="0" cb="0"/><line nr="400" mi="0" ci="2" mb="0" cb="2"/><line nr="401" mi="0" ci="2" mb="0" cb="0"/><line nr="403" mi="0" ci="5" mb="0" cb="0"/><line nr="413" mi="0" ci="5" mb="0" cb="4"/><line nr="414" mi="0" ci="2" mb="0" cb="0"/><line nr="416" mi="0" ci="14" mb="1" cb="3"/><counter type="INSTRUCTION" missed="5" covered="376"/><counter type="BRANCH" missed="4" covered="72"/><counter type="LINE" missed="2" covered="102"/><counter type="COMPLEXITY" missed="5" covered="59"/><counter type="METHOD" missed="1" covered="25"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="JwtUtils.java"><line nr="15" mi="0" ci="3" mb="0" cb="0"/><line nr="22" mi="0" ci="3" mb="0" cb="0"/><line nr="23" mi="0" ci="1" mb="0" cb="0"/><line nr="27" mi="0" ci="3" mb="0" cb="0"/><line nr="28" mi="0" ci="1" mb="0" cb="0"/><line nr="38" mi="0" ci="9" mb="0" cb="0"/><line nr="39" mi="0" ci="4" mb="0" cb="0"/><line nr="41" mi="0" ci="4" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="0"/><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="44" mi="0" ci="4" mb="0" cb="0"/><line nr="45" mi="0" ci="2" mb="0" cb="0"/><line nr="46" mi="0" ci="2" mb="0" cb="0"/><line nr="47" mi="0" ci="1" mb="0" cb="0"/><line nr="54" mi="0" ci="6" mb="0" cb="0"/><line nr="63" mi="0" ci="4" mb="0" cb="0"/><line nr="64" mi="0" ci="4" mb="0" cb="0"/><line nr="65" mi="0" ci="4" mb="0" cb="0"/><line nr="72" mi="0" ci="4" mb="0" cb="0"/><line nr="73" mi="0" ci="5" mb="0" cb="0"/><line nr="74" mi="0" ci="9" mb="0" cb="0"/><line nr="75" mi="0" ci="8" mb="0" cb="0"/><line nr="76" mi="0" ci="2" mb="0" cb="0"/><line nr="83" mi="0" ci="4" mb="0" cb="0"/><line nr="84" mi="0" ci="5" mb="0" cb="0"/><line nr="91" mi="0" ci="4" mb="0" cb="0"/><line nr="92" mi="0" ci="5" mb="0" cb="0"/><line nr="99" mi="4" ci="0" mb="0" cb="0"/><line nr="100" mi="5" ci="0" mb="0" cb="0"/><line nr="107" mi="4" ci="0" mb="0" cb="0"/><line nr="108" mi="3" ci="0" mb="0" cb="0"/><line nr="109" mi="6" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="22" covered="107"/><counter type="LINE" missed="5" covered="27"/><counter type="COMPLEXITY" missed="2" covered="9"/><counter type="METHOD" missed="2" covered="9"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="TextSegmentationUtil.java"><line nr="10" mi="3" ci="0" mb="0" cb="0"/><line nr="26" mi="0" ci="5" mb="2" cb="2"/><line nr="27" mi="4" ci="0" mb="0" cb="0"/><line nr="30" mi="0" ci="4" mb="0" cb="0"/><line nr="42" mi="0" ci="7" mb="1" cb="5"/><line nr="43" mi="0" ci="4" mb="0" cb="0"/><line nr="46" mi="0" ci="4" mb="0" cb="0"/><line nr="49" mi="0" ci="4" mb="0" cb="2"/><line nr="50" mi="0" ci="4" mb="0" cb="0"/><line nr="51" mi="0" ci="2" mb="0" cb="0"/><line nr="54" mi="0" ci="2" mb="0" cb="0"/><line nr="55" mi="0" ci="4" mb="1" cb="1"/><line nr="56" mi="0" ci="7" mb="0" cb="0"/><line nr="59" mi="0" ci="4" mb="1" cb="1"/><line nr="60" mi="1" ci="0" mb="0" cb="0"/><line nr="64" mi="0" ci="5" mb="0" cb="2"/><line nr="65" mi="0" ci="6" mb="0" cb="0"/><line nr="66" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="5" mb="0" cb="0"/><line nr="71" mi="0" ci="3" mb="0" cb="2"/><line nr="72" mi="0" ci="7" mb="0" cb="0"/><line nr="73" mi="0" ci="2" mb="0" cb="0"/><line nr="74" mi="0" ci="1" mb="0" cb="0"/><line nr="78" mi="0" ci="5" mb="0" cb="0"/><line nr="79" mi="0" ci="3" mb="1" cb="1"/><line nr="80" mi="7" ci="0" mb="0" cb="0"/><line nr="81" mi="2" ci="0" mb="0" cb="0"/><line nr="82" mi="1" ci="0" mb="0" cb="0"/><line nr="86" mi="0" ci="5" mb="0" cb="0"/><line nr="87" mi="0" ci="3" mb="1" cb="1"/><line nr="88" mi="7" ci="0" mb="0" cb="0"/><line nr="89" mi="2" ci="0" mb="0" cb="0"/><line nr="90" mi="1" ci="0" mb="0" cb="0"/><line nr="94" mi="0" ci="7" mb="0" cb="0"/><line nr="95" mi="0" ci="2" mb="0" cb="0"/><line nr="96" mi="0" ci="1" mb="0" cb="0"/><line nr="98" mi="0" ci="2" mb="0" cb="0"/><line nr="107" mi="0" ci="9" mb="0" cb="2"/><line nr="108" mi="0" ci="4" mb="0" cb="0"/><line nr="109" mi="0" ci="3" mb="0" cb="2"/><line nr="111" mi="0" ci="4" mb="0" cb="0"/><line nr="114" mi="0" ci="2" mb="0" cb="0"/><line nr="121" mi="0" ci="8" mb="0" cb="2"/><line nr="129" mi="0" ci="9" mb="0" cb="2"/><line nr="130" mi="0" ci="5" mb="1" cb="1"/><line nr="132" mi="4" ci="0" mb="0" cb="0"/><line nr="135" mi="0" ci="2" mb="0" cb="0"/><line nr="143" mi="0" ci="9" mb="0" cb="2"/><line nr="144" mi="0" ci="5" mb="1" cb="1"/><line nr="145" mi="4" ci="0" mb="0" cb="0"/><line nr="148" mi="0" ci="2" mb="0" cb="0"/><line nr="158" mi="0" ci="2" mb="0" cb="0"/><line nr="169" mi="0" ci="5" mb="0" cb="4"/><line nr="170" mi="0" ci="2" mb="0" cb="0"/><line nr="173" mi="0" ci="3" mb="0" cb="0"/><line nr="174" mi="0" ci="2" mb="1" cb="1"/><line nr="175" mi="2" ci="0" mb="0" cb="0"/><line nr="178" mi="0" ci="9" mb="0" cb="0"/><line nr="181" mi="0" ci="4" mb="0" cb="0"/><line nr="182" mi="0" ci="5" mb="0" cb="0"/><counter type="INSTRUCTION" missed="38" covered="203"/><counter type="BRANCH" missed="10" covered="34"/><counter type="LINE" missed="12" covered="48"/><counter type="COMPLEXITY" missed="11" covered="20"/><counter type="METHOD" missed="1" covered="8"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="CacheKeyUtil.java"><line nr="11" mi="3" ci="0" mb="0" cb="0"/><line nr="24" mi="0" ci="5" mb="0" cb="0"/><line nr="37" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="39" mi="0" ci="3" mb="0" cb="0"/><line nr="41" mi="0" ci="5" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="0"/><line nr="45" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><line nr="61" mi="0" ci="3" mb="0" cb="0"/><line nr="63" mi="0" ci="5" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="4" mb="0" cb="0"/><line nr="73" mi="0" ci="2" mb="0" cb="2"/><line nr="74" mi="0" ci="2" mb="0" cb="0"/><line nr="77" mi="0" ci="6" mb="0" cb="0"/><line nr="84" mi="0" ci="6" mb="1" cb="3"/><line nr="85" mi="0" ci="2" mb="0" cb="0"/><line nr="87" mi="0" ci="4" mb="0" cb="0"/><line nr="95" mi="0" ci="3" mb="0" cb="0"/><line nr="96" mi="0" ci="5" mb="0" cb="0"/><line nr="97" mi="0" ci="3" mb="0" cb="0"/><line nr="98" mi="1" ci="0" mb="0" cb="0"/><line nr="100" mi="4" ci="0" mb="0" cb="0"/><line nr="108" mi="0" ci="8" mb="0" cb="0"/><line nr="109" mi="0" ci="16" mb="0" cb="2"/><line nr="110" mi="0" ci="5" mb="0" cb="0"/><line nr="111" mi="0" ci="4" mb="0" cb="2"/><line nr="112" mi="0" ci="4" mb="0" cb="0"/><line nr="114" mi="0" ci="4" mb="0" cb="0"/><line nr="116" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="8" covered="123"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="3" covered="29"/><counter type="COMPLEXITY" missed="2" covered="11"/><counter type="METHOD" missed="1" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="PasswordUtil.java"><line nr="5" mi="3" ci="0" mb="0" cb="0"/><line nr="7" mi="0" ci="5" mb="0" cb="0"/><line nr="13" mi="0" ci="4" mb="0" cb="0"/><line nr="20" mi="0" ci="5" mb="0" cb="0"/><counter type="INSTRUCTION" missed="3" covered="14"/><counter type="LINE" missed="1" covered="3"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="1" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ExternalResponseUtil.java"><line nr="17" mi="3" ci="0" mb="0" cb="0"/><line nr="18" mi="0" ci="5" mb="0" cb="0"/><line nr="37" mi="0" ci="4" mb="0" cb="2"/><line nr="39" mi="0" ci="4" mb="0" cb="0"/><line nr="40" mi="2" ci="2" mb="1" cb="1"/><line nr="43" mi="0" ci="4" mb="0" cb="2"/><line nr="44" mi="0" ci="4" mb="0" cb="0"/><line nr="45" mi="0" ci="3" mb="0" cb="2"/><line nr="46" mi="0" ci="3" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="52" mi="0" ci="3" mb="0" cb="0"/><line nr="53" mi="0" ci="3" mb="0" cb="2"/><line nr="55" mi="0" ci="2" mb="0" cb="0"/><line nr="59" mi="0" ci="4" mb="0" cb="2"/><line nr="60" mi="0" ci="4" mb="0" cb="0"/><line nr="61" mi="0" ci="6" mb="0" cb="2"/><line nr="62" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="6" mb="0" cb="2"/><line nr="69" mi="0" ci="2" mb="0" cb="0"/><line nr="70" mi="0" ci="1" mb="0" cb="0"/><line nr="72" mi="0" ci="2" mb="0" cb="0"/><line nr="82" mi="0" ci="4" mb="0" cb="2"/><line nr="83" mi="0" ci="4" mb="0" cb="0"/><line nr="84" mi="0" ci="3" mb="0" cb="0"/><line nr="85" mi="0" ci="11" mb="0" cb="2"/><line nr="88" mi="0" ci="6" mb="0" cb="0"/><line nr="98" mi="0" ci="2" mb="0" cb="0"/><line nr="99" mi="0" ci="3" mb="0" cb="0"/><line nr="100" mi="0" ci="3" mb="0" cb="0"/><line nr="101" mi="0" ci="1" mb="0" cb="0"/><line nr="104" mi="0" ci="3" mb="0" cb="0"/><line nr="108" mi="0" ci="3" mb="0" cb="0"/><line nr="113" mi="0" ci="3" mb="0" cb="0"/><line nr="114" mi="0" ci="4" mb="0" cb="0"/><line nr="115" mi="0" ci="3" mb="0" cb="0"/><line nr="116" mi="0" ci="2" mb="0" cb="0"/><line nr="120" mi="0" ci="11" mb="0" cb="2"/><line nr="121" mi="0" ci="3" mb="0" cb="0"/><line nr="122" mi="0" ci="4" mb="0" cb="0"/><line nr="123" mi="0" ci="3" mb="0" cb="0"/><line nr="124" mi="0" ci="1" mb="0" cb="0"/><line nr="125" mi="0" ci="1" mb="0" cb="0"/><line nr="139" mi="0" ci="3" mb="0" cb="0"/><line nr="140" mi="0" ci="5" mb="0" cb="0"/><line nr="141" mi="0" ci="5" mb="0" cb="0"/><line nr="142" mi="0" ci="5" mb="0" cb="0"/><line nr="143" mi="0" ci="4" mb="0" cb="0"/><line nr="144" mi="0" ci="2" mb="0" cb="2"/><line nr="145" mi="0" ci="10" mb="0" cb="0"/><line nr="147" mi="0" ci="4" mb="0" cb="0"/><line nr="148" mi="1" ci="0" mb="0" cb="0"/><line nr="150" mi="13" ci="0" mb="0" cb="0"/><line nr="158" mi="0" ci="7" mb="0" cb="0"/><line nr="167" mi="0" ci="4" mb="0" cb="2"/><line nr="168" mi="0" ci="4" mb="0" cb="0"/><line nr="169" mi="0" ci="2" mb="0" cb="2"/><line nr="170" mi="0" ci="9" mb="0" cb="0"/><line nr="172" mi="0" ci="3" mb="0" cb="0"/><line nr="179" mi="0" ci="7" mb="0" cb="0"/><counter type="INSTRUCTION" missed="19" covered="220"/><counter type="BRANCH" missed="1" covered="27"/><counter type="LINE" missed="3" covered="56"/><counter type="COMPLEXITY" missed="2" covered="26"/><counter type="METHOD" missed="1" covered="13"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><counter type="INSTRUCTION" missed="231" covered="1463"/><counter type="BRANCH" missed="59" covered="177"/><counter type="LINE" missed="71" covered="366"/><counter type="COMPLEXITY" missed="56" covered="168"/><counter type="METHOD" missed="14" covered="92"/><counter type="CLASS" missed="0" covered="10"/></package><counter type="INSTRUCTION" missed="4933" covered="20409"/><counter type="BRANCH" missed="660" covered="1709"/><counter type="LINE" missed="1015" covered="4318"/><counter type="COMPLEXITY" missed="619" covered="1296"/><counter type="METHOD" missed="115" covered="607"/><counter type="CLASS" missed="6" covered="75"/></report>