<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1791296260">
  <project timestamp="1791296260">
    <file name="/workspace/src/extensions/CategoryTree/includes/ApiCategoryTree.php">
      <class name="MediaWiki\Extension\CategoryTree\ApiCategoryTree" namespace="global">
        <metrics complexity="19" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="68" coveredstatements="0" elements="75" coveredelements="0"/>
      </class>
      <line num="33" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="47" type="method" name="execute" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="72" type="method" name="extractOptions" visibility="private" complexity="8" crap="72" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="98" type="method" name="getConditionalRequestData" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="123" type="method" name="getHTML" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="150" type="method" name="getAllowedParams" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="165" type="method" name="isInternal" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <metrics loc="169" ncloc="131" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="68" coveredstatements="0" elements="75" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CategoryTree/includes/CategoryCache.php">
      <class name="MediaWiki\Extension\CategoryTree\CategoryCache" namespace="global">
        <metrics complexity="12" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="26" elements="33" coveredelements="28"/>
      </class>
      <line num="35" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="38" type="stmt" count="3"/>
      <line num="44" type="method" name="getCategory" visibility="public" complexity="3" crap="3.04" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="46" type="stmt" count="0"/>
      <line num="48" type="stmt" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="54" type="stmt" count="1"/>
      <line num="61" type="method" name="doQuery" visibility="public" complexity="5" crap="5.03" count="2"/>
      <line num="62" type="stmt" count="2"/>
      <line num="63" type="stmt" count="2"/>
      <line num="64" type="stmt" count="2"/>
      <line num="65" type="stmt" count="0"/>
      <line num="67" type="stmt" count="2"/>
      <line num="68" type="stmt" count="2"/>
      <line num="69" type="stmt" count="2"/>
      <line num="71" type="stmt" count="2"/>
      <line num="74" type="stmt" count="2"/>
      <line num="75" type="stmt" count="0"/>
      <line num="78" type="stmt" count="2"/>
      <line num="79" type="stmt" count="2"/>
      <line num="80" type="stmt" count="2"/>
      <line num="81" type="stmt" count="2"/>
      <line num="82" type="stmt" count="2"/>
      <line num="83" type="stmt" count="2"/>
      <line num="84" type="stmt" count="2"/>
      <line num="86" type="stmt" count="2"/>
      <line num="89" type="method" name="fillFromQuery" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="90" type="stmt" count="2"/>
      <line num="91" type="stmt" count="2"/>
      <line num="92" type="stmt" count="2"/>
      <line num="93" type="stmt" count="2"/>
      <metrics loc="99" ncloc="68" classes="1" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="26" elements="33" coveredelements="28"/>
    </file>
    <file name="/workspace/src/extensions/CategoryTree/includes/CategoryTree.php">
      <class name="MediaWiki\Extension\CategoryTree\CategoryTree" namespace="global">
        <metrics complexity="72" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="242" coveredstatements="0" elements="251" coveredelements="0"/>
      </class>
      <line num="49" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="63" type="method" name="setHeaders" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="78" type="method" name="getTag" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="114" type="method" name="renderChildren" visibility="public" complexity="28" crap="812" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="264" type="method" name="renderParents" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="273" type="stmt" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="291" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="304" type="method" name="renderNode" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="307" type="stmt" count="0"/>
      <line num="309" type="stmt" count="0"/>
      <line num="311" type="stmt" count="0"/>
      <line num="314" type="stmt" count="0"/>
      <line num="321" type="method" name="renderNodeInfo" visibility="public" complexity="17" crap="306" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="331" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="358" type="stmt" count="0"/>
      <line num="359" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="365" type="stmt" count="0"/>
      <line num="366" type="stmt" count="0"/>
      <line num="367" type="stmt" count="0"/>
      <line num="368" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="373" type="stmt" count="0"/>
      <line num="374" type="stmt" count="0"/>
      <line num="375" type="stmt" count="0"/>
      <line num="377" type="stmt" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <line num="379" type="stmt" count="0"/>
      <line num="380" type="stmt" count="0"/>
      <line num="381" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="386" type="stmt" count="0"/>
      <line num="387" type="stmt" count="0"/>
      <line num="390" type="stmt" count="0"/>
      <line num="393" type="stmt" count="0"/>
      <line num="394" type="stmt" count="0"/>
      <line num="396" type="stmt" count="0"/>
      <line num="398" type="stmt" count="0"/>
      <line num="400" type="stmt" count="0"/>
      <line num="401" type="stmt" count="0"/>
      <line num="404" type="stmt" count="0"/>
      <line num="405" type="stmt" count="0"/>
      <line num="406" type="stmt" count="0"/>
      <line num="407" type="stmt" count="0"/>
      <line num="408" type="stmt" count="0"/>
      <line num="409" type="stmt" count="0"/>
      <line num="410" type="stmt" count="0"/>
      <line num="411" type="stmt" count="0"/>
      <line num="413" type="stmt" count="0"/>
      <line num="414" type="stmt" count="0"/>
      <line num="415" type="stmt" count="0"/>
      <line num="416" type="stmt" count="0"/>
      <line num="417" type="stmt" count="0"/>
      <line num="418" type="stmt" count="0"/>
      <line num="419" type="stmt" count="0"/>
      <line num="420" type="stmt" count="0"/>
      <line num="421" type="stmt" count="0"/>
      <line num="422" type="stmt" count="0"/>
      <line num="423" type="stmt" count="0"/>
      <line num="424" type="stmt" count="0"/>
      <line num="426" type="stmt" count="0"/>
      <line num="429" type="stmt" count="0"/>
      <line num="431" type="stmt" count="0"/>
      <line num="437" type="method" name="createCountString" visibility="public" complexity="9" crap="90" count="0"/>
      <line num="440" type="stmt" count="0"/>
      <line num="441" type="stmt" count="0"/>
      <line num="442" type="stmt" count="0"/>
      <line num="443" type="stmt" count="0"/>
      <line num="445" type="stmt" count="0"/>
      <line num="446" type="stmt" count="0"/>
      <line num="447" type="stmt" count="0"/>
      <line num="449" type="stmt" count="0"/>
      <line num="450" type="stmt" count="0"/>
      <line num="453" type="stmt" count="0"/>
      <line num="454" type="stmt" count="0"/>
      <line num="455" type="stmt" count="0"/>
      <line num="456" type="stmt" count="0"/>
      <line num="458" type="stmt" count="0"/>
      <line num="459" type="stmt" count="0"/>
      <line num="461" type="stmt" count="0"/>
      <line num="462" type="stmt" count="0"/>
      <line num="463" type="stmt" count="0"/>
      <line num="465" type="stmt" count="0"/>
      <line num="466" type="stmt" count="0"/>
      <line num="467" type="stmt" count="0"/>
      <line num="471" type="stmt" count="0"/>
      <line num="472" type="stmt" count="0"/>
      <line num="473" type="stmt" count="0"/>
      <line num="474" type="stmt" count="0"/>
      <line num="475" type="stmt" count="0"/>
      <line num="476" type="stmt" count="0"/>
      <line num="477" type="stmt" count="0"/>
      <line num="478" type="stmt" count="0"/>
      <line num="484" type="method" name="makeTitle" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="485" type="stmt" count="0"/>
      <line num="487" type="stmt" count="0"/>
      <line num="488" type="stmt" count="0"/>
      <line num="493" type="stmt" count="0"/>
      <line num="494" type="stmt" count="0"/>
      <line num="497" type="stmt" count="0"/>
      <line num="498" type="stmt" count="0"/>
      <line num="500" type="stmt" count="0"/>
      <metrics loc="503" ncloc="417" classes="1" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="242" coveredstatements="0" elements="251" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CategoryTree/includes/CategoryTreeFactory.php">
      <class name="MediaWiki\Extension\CategoryTree\CategoryTreeFactory" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="11" coveredelements="0"/>
      </class>
      <line num="15" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="24" type="method" name="newCategoryTree" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <metrics loc="37" ncloc="34" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="11" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CategoryTree/includes/CategoryTreeHidePrefix.php">
      <class name="MediaWiki\Extension\CategoryTree\CategoryTreeHidePrefix" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="42" ncloc="16" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CategoryTree/includes/CategoryTreeMode.php">
      <class name="MediaWiki\Extension\CategoryTree\CategoryTreeMode" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="41" ncloc="16" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CategoryTree/includes/CategoryTreePage.php">
      <class name="MediaWiki\Extension\CategoryTree\CategoryTreePage" namespace="global">
        <metrics complexity="23" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="105" coveredstatements="0" elements="112" coveredelements="0"/>
      </class>
      <line num="41" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="52" type="method" name="getOption" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="64" type="method" name="execute" visibility="public" complexity="7" crap="56" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="108" type="method" name="executeInputForm" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="163" type="method" name="executeCategoryTree" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="205" type="method" name="prefixSearchSubpages" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="228" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <metrics loc="233" ncloc="176" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="105" coveredstatements="0" elements="112" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CategoryTree/includes/ConfigHookHandler.php">
      <class name="MediaWiki\Extension\CategoryTree\ConfigHookHandler" namespace="global">
        <metrics complexity="4" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="7" coveredelements="0"/>
      </class>
      <line num="44" type="method" name="onMediaWikiServices" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <metrics loc="63" ncloc="29" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="7" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CategoryTree/includes/Hooks.php">
      <class name="MediaWiki\Extension\CategoryTree\Hooks" namespace="global">
        <metrics complexity="32" methods="13" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="82" coveredstatements="0" elements="95" coveredelements="0"/>
      </class>
      <line num="64" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="76" type="method" name="onParserFirstCallInit" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="92" type="method" name="parserFunction" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="120" type="method" name="getCategorySidebarBox" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="136" type="method" name="onSkinBuildSidebar" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="151" type="method" name="onSkinAfterPortlet" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="168" type="method" name="parserHook" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="205" type="method" name="onOutputPageRenderCategoryLink" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="223" type="stmt" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="237" type="method" name="getDataForJs" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="252" type="method" name="onSpecialTrackingCategories__preprocess" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="271" type="method" name="onSpecialTrackingCategories__generateCatLink" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="283" type="method" name="onCategoryViewer__doCategoryQuery" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="297" type="method" name="onCategoryViewerGenerateLink" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="308" type="stmt" count="0"/>
      <line num="309" type="stmt" count="0"/>
      <line num="310" type="stmt" count="0"/>
      <line num="313" type="stmt" count="0"/>
      <line num="314" type="stmt" count="0"/>
      <line num="315" type="stmt" count="0"/>
      <line num="316" type="stmt" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <metrics loc="329" ncloc="220" classes="1" methods="13" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="82" coveredstatements="0" elements="95" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CategoryTree/includes/OptionManager.php">
      <class name="MediaWiki\Extension\CategoryTree\OptionManager" namespace="global">
        <metrics complexity="83" methods="12" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="125" coveredstatements="67" elements="137" coveredelements="69"/>
      </class>
      <line num="61" type="method" name="__construct" visibility="public" complexity="7" crap="10.14" count="38"/>
      <line num="67" type="stmt" count="38"/>
      <line num="68" type="stmt" count="38"/>
      <line num="71" type="stmt" count="38"/>
      <line num="73" type="stmt" count="38"/>
      <line num="75" type="stmt" count="5"/>
      <line num="78" type="stmt" count="38"/>
      <line num="79" type="stmt" count="38"/>
      <line num="80" type="stmt" count="38"/>
      <line num="82" type="stmt" count="38"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="95" type="method" name="getOptions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="103" type="method" name="getOption" visibility="public" complexity="1" crap="1" count="38"/>
      <line num="104" type="stmt" count="38"/>
      <line num="107" type="method" name="isInverse" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="115" type="method" name="decodeNamespaces" visibility="private" complexity="13" crap="139.97" count="38"/>
      <line num="116" type="stmt" count="38"/>
      <line num="117" type="stmt" count="38"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="160" type="method" name="decodeMode" visibility="private" complexity="13" crap="13" count="38"/>
      <line num="161" type="stmt" count="38"/>
      <line num="163" type="stmt" count="38"/>
      <line num="164" type="stmt" count="32"/>
      <line num="167" type="stmt" count="38"/>
      <line num="168" type="stmt" count="1"/>
      <line num="169" type="stmt" count="1"/>
      <line num="170" type="stmt" count="1"/>
      <line num="174" type="stmt" count="38"/>
      <line num="175" type="stmt" count="7"/>
      <line num="178" type="stmt" count="31"/>
      <line num="180" type="stmt" count="26"/>
      <line num="181" type="stmt" count="22"/>
      <line num="182" type="stmt" count="4"/>
      <line num="183" type="stmt" count="3"/>
      <line num="185" type="stmt" count="1"/>
      <line num="188" type="stmt" count="31"/>
      <line num="197" type="method" name="decodeBoolean" visibility="public" complexity="9" crap="55.88" count="38"/>
      <line num="198" type="stmt" count="38"/>
      <line num="199" type="stmt" count="38"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="221" type="method" name="decodeHidePrefix" visibility="private" complexity="24" crap="24.58" count="38"/>
      <line num="222" type="stmt" count="38"/>
      <line num="224" type="stmt" count="38"/>
      <line num="225" type="stmt" count="0"/>
      <line num="227" type="stmt" count="38"/>
      <line num="228" type="stmt" count="1"/>
      <line num="230" type="stmt" count="37"/>
      <line num="231" type="stmt" count="1"/>
      <line num="233" type="stmt" count="36"/>
      <line num="234" type="stmt" count="7"/>
      <line num="236" type="stmt" count="29"/>
      <line num="237" type="stmt" count="0"/>
      <line num="240" type="stmt" count="29"/>
      <line num="242" type="stmt" count="29"/>
      <line num="243" type="stmt" count="29"/>
      <line num="245" type="stmt" count="1"/>
      <line num="246" type="stmt" count="28"/>
      <line num="247" type="stmt" count="28"/>
      <line num="249" type="stmt" count="1"/>
      <line num="250" type="stmt" count="27"/>
      <line num="251" type="stmt" count="1"/>
      <line num="252" type="stmt" count="26"/>
      <line num="253" type="stmt" count="1"/>
      <line num="254" type="stmt" count="25"/>
      <line num="255" type="stmt" count="1"/>
      <line num="256" type="stmt" count="24"/>
      <line num="257" type="stmt" count="24"/>
      <line num="259" type="stmt" count="1"/>
      <line num="260" type="stmt" count="1"/>
      <line num="262" type="stmt" count="0"/>
      <line num="264" type="stmt" count="1"/>
      <line num="273" type="method" name="encodeOptions" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="289" type="method" name="getOptionsAsCacheKey" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="308" type="method" name="getOptionsAsJsStructure" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="309" type="stmt" count="0"/>
      <line num="317" type="method" name="capDepth" visibility="public" complexity="5" crap="5.12" count="3"/>
      <line num="318" type="stmt" count="3"/>
      <line num="319" type="stmt" count="3"/>
      <line num="321" type="stmt" count="3"/>
      <line num="322" type="stmt" count="2"/>
      <line num="323" type="stmt" count="2"/>
      <line num="324" type="stmt" count="2"/>
      <line num="326" type="stmt" count="1"/>
      <line num="328" type="stmt" count="1"/>
      <line num="329" type="stmt" count="1"/>
      <line num="331" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="335" type="stmt" count="3"/>
      <metrics loc="338" ncloc="257" classes="1" methods="12" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="125" coveredstatements="67" elements="137" coveredelements="69"/>
    </file>
    <file name="/workspace/src/extensions/CategoryTree/includes/ServiceWiring.php">
      <metrics loc="51" ncloc="24" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <metrics files="11" loc="1905" ncloc="1388" classes="8" methods="55" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="666" coveredstatements="93" elements="721" coveredelements="97"/>
  </project>
</coverage>
