<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1789109468">
  <project timestamp="1789109468">
    <file name="/workspace/src/extensions/OAuth/maintenance/ManageConfigurationBasedClient.php">
      <class name="MediaWiki\Extension\OAuth\ManageConfigurationBasedClient" namespace="global">
        <metrics complexity="26" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="84" coveredstatements="0" elements="90" coveredelements="0"/>
      </class>
      <line num="34" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="45" type="method" name="execute" visibility="public" complexity="10" crap="110" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="51" 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="62" type="stmt" count="0"/>
      <line num="66" type="method" name="initialize" visibility="private" complexity="1" crap="2" 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="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="75" type="method" name="createNewClient" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" 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="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="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" 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="100" 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="111" type="stmt" count="0"/>
      <line num="114" type="method" name="updateClient" visibility="private" complexity="8" crap="72" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" 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="128" type="stmt" count="0"/>
      <line num="131" 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="138" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="146" type="method" name="getSystemUser" visibility="private" complexity="4" crap="20" 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="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <metrics loc="168" ncloc="151" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="85" coveredstatements="0" elements="91" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/maintenance/createOAuthConsumer.php">
      <class name="MediaWiki\Extension\OAuth\CreateOAuthConsumer" namespace="global">
        <metrics complexity="15" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="110" coveredstatements="0" elements="112" coveredelements="0"/>
      </class>
      <line num="46" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" 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="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" 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="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" 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="70" 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="76" 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="80" type="stmt" 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="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="88" type="method" name="execute" visibility="public" complexity="14" crap="210" 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="93" type="stmt" count="0"/>
      <line num="94" 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="100" type="stmt" count="0"/>
      <line num="101" 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="108" type="stmt" 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="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" 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="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="134" 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="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="153" 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="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="166" 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="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <metrics loc="193" ncloc="166" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="110" coveredstatements="0" elements="112" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/maintenance/migrateCentralWiki.php">
      <class name="MediaWiki\Extension\OAuth\MigrateCentralWiki" namespace="global">
        <metrics complexity="9" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="49" coveredstatements="0" elements="51" coveredelements="0"/>
      </class>
      <line num="37" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="49" type="method" name="execute" visibility="public" complexity="8" crap="72" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" 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="64" 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="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" 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="92" type="stmt" count="0"/>
      <line num="93" 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="99" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <metrics loc="114" ncloc="94" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="49" coveredstatements="0" elements="51" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/maintenance/migrateCentralWikiLogs.php">
      <class name="MigrateCentralWikiLogs" namespace="global">
        <metrics complexity="11" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="81" coveredstatements="0" elements="83" coveredelements="0"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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"/>
      <line num="35" type="stmt" count="0"/>
      <line num="38" type="method" name="execute" visibility="public" complexity="10" crap="110" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" 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="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" 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="76" 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="80" type="stmt" 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="84" type="stmt" count="0"/>
      <line num="85" 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="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" 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="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="111" 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="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" 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="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="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <metrics loc="154" ncloc="135" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="81" coveredstatements="0" elements="83" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/maintenance/testOAuthConsumer.php">
      <class name="MediaWiki\Extension\OAuth\TestOAuthConsumer" namespace="global">
        <metrics complexity="18" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="93" coveredstatements="0" elements="95" coveredelements="0"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="40" type="method" name="execute" visibility="public" complexity="17" crap="306" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="66" 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="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" 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="92" type="stmt" count="0"/>
      <line num="97" 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="106" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" 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="126" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="132" 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="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="145" 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="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" 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="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="175" type="stmt" count="0"/>
      <metrics loc="183" ncloc="169" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="93" coveredstatements="0" elements="95" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/AuthorizationProvider/AccessTokenProvider.php">
      <class name="MediaWiki\Extension\OAuth\AuthorizationProvider\AccessTokenProvider" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
      </class>
      <line num="18" type="method" name="getAccessTokens" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <metrics loc="25" ncloc="18" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/AuthorizationProvider/AuthorizationProvider.php">
      <class name="MediaWiki\Extension\OAuth\AuthorizationProvider\AuthorizationProvider" namespace="global">
        <metrics complexity="15" methods="12" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="0" elements="41" coveredelements="0"/>
      </class>
      <line num="32" type="method" name="factory" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="45" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="56" type="method" name="setUser" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="63" type="method" name="needsUserApproval" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="75" type="method" name="getGrantSingleton" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="86" type="method" name="decorateAuthServer" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" 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="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="99" type="method" name="getRefreshTokenRepo" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="106" type="method" name="getAuthCodeRepo" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="114" type="method" name="getGrantExpirationInterval" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="123" type="method" name="getRefreshTokenTTL" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="133" type="method" name="getClientIdFromRequest" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="143" type="method" name="parseExpiration" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <metrics loc="152" ncloc="102" classes="1" methods="12" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="0" elements="41" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/AuthorizationProvider/Grant/AccessTokenLogger.php">
      <class name="MediaWiki\Extension\OAuth\AuthorizationProvider\Grant\AccessTokenLogger" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="8" coveredelements="0"/>
      </class>
      <line num="16" type="method" name="logAccessToken" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <metrics loc="30" ncloc="27" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="8" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/AuthorizationProvider/Grant/AuthCodeGrantWithCustomClaims.php">
      <class name="MediaWiki\Extension\OAuth\AuthorizationProvider\Grant\AuthCodeGrantWithCustomClaims" namespace="global">
        <metrics complexity="3" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="8" coveredelements="0"/>
      </class>
      <line num="19" type="method" name="issueAccessToken" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <metrics loc="41" ncloc="41" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="8" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/AuthorizationProvider/Grant/AuthorizationCodeAccessTokenProvider.php">
      <class name="MediaWiki\Extension\OAuth\AuthorizationProvider\Grant\AuthorizationCodeAccessTokenProvider" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="6" coveredelements="6"/>
      </class>
      <line num="19" type="method" name="getGrant" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="20" type="stmt" count="2"/>
      <line num="21" type="stmt" count="2"/>
      <line num="22" type="stmt" count="2"/>
      <line num="23" type="stmt" count="2"/>
      <line num="24" type="stmt" count="2"/>
      <metrics loc="27" ncloc="20" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="6" coveredelements="6"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/AuthorizationProvider/Grant/AuthorizationCodeProvider.php">
      <class name="MediaWiki\Extension\OAuth\AuthorizationProvider\Grant\AuthorizationCodeProvider" namespace="global">
        <metrics complexity="8" methods="5" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="6" elements="40" coveredelements="8"/>
      </class>
      <line num="23" type="method" name="needsUserApproval" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="24" type="stmt" count="1"/>
      <line num="30" type="method" name="getGrant" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="31" type="stmt" count="2"/>
      <line num="32" type="stmt" count="2"/>
      <line num="34" type="stmt" count="2"/>
      <line num="35" type="stmt" count="2"/>
      <line num="36" type="stmt" count="2"/>
      <line num="42" type="method" name="init" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="69" type="method" name="authorize" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="77" type="method" name="logAuthorizationRequest" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" 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="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <metrics loc="94" ncloc="82" classes="1" methods="5" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="6" elements="40" coveredelements="8"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/AuthorizationProvider/Grant/ClientCredentialsAccessTokenProvider.php">
      <class name="MediaWiki\Extension\OAuth\AuthorizationProvider\Grant\ClientCredentialsAccessTokenProvider" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
      </class>
      <line num="16" type="method" name="getGrant" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="17" type="stmt" count="2"/>
      <metrics loc="20" ncloc="14" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/AuthorizationProvider/Grant/ClientCredentialsGrantWithCustomClaims.php">
      <class name="MediaWiki\Extension\OAuth\AuthorizationProvider\Grant\ClientCredentialsGrantWithCustomClaims" namespace="global">
        <metrics complexity="3" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="10" coveredelements="0"/>
      </class>
      <line num="20" type="method" name="issueAccessToken" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <metrics loc="52" ncloc="46" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="10" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/AuthorizationProvider/Grant/RefreshTokenAccessTokenProvider.php">
      <class name="MediaWiki\Extension\OAuth\AuthorizationProvider\Grant\RefreshTokenAccessTokenProvider" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="3" elements="4" coveredelements="4"/>
      </class>
      <line num="17" type="method" name="getGrant" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="18" type="stmt" count="2"/>
      <line num="19" type="stmt" count="2"/>
      <line num="20" type="stmt" count="2"/>
      <metrics loc="23" ncloc="17" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="3" elements="4" coveredelements="4"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/AuthorizationProvider/Grant/RefreshTokenGrantWithCustomClaims.php">
      <class name="MediaWiki\Extension\OAuth\AuthorizationProvider\Grant\RefreshTokenGrantWithCustomClaims" namespace="global">
        <metrics complexity="3" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="8" coveredelements="0"/>
      </class>
      <line num="19" type="method" name="issueAccessToken" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <metrics loc="41" ncloc="41" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="8" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/AuthorizationProvider/GrantWithCustomClaims.php">
      <class name="MediaWiki\Extension\OAuth\AuthorizationProvider\GrantWithCustomClaims" namespace="global">
        <metrics complexity="2" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="10" coveredelements="0"/>
      </class>
      <line num="20" type="method" name="addCustomClaims" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="26" type="stmt" 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="39" ncloc="30" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="10" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/AuthorizationProvider/IAccessTokenProvider.php">
      <metrics loc="17" ncloc="14" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/AuthorizationProvider/IAuthorizationProvider.php">
      <metrics loc="24" ncloc="14" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/AuthorizationServerFactory.php">
      <class name="MediaWiki\Extension\OAuth\AuthorizationServerFactory" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="0" elements="27" coveredelements="0"/>
      </class>
      <line num="14" type="method" name="factory" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="15" type="stmt" count="0"/>
      <line num="16" type="stmt" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="25" type="method" name="__construct" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="37" type="method" name="getAuthorizationServer" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <metrics loc="53" ncloc="52" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="0" elements="27" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Backend/AbuseFilterHookHandler.php">
      <class name="MediaWiki\Extension\OAuth\Backend\AbuseFilterHookHandler" namespace="global">
        <metrics complexity="12" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="28" coveredstatements="28" elements="33" coveredelements="33"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="33" type="stmt" count="9"/>
      <line num="36" type="method" name="onAbuseFilter_builder" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="38" type="stmt" count="1"/>
      <line num="42" type="method" name="onAbuseFilter_computeVariable" visibility="public" complexity="5" crap="5" count="6"/>
      <line num="48" type="stmt" count="6"/>
      <line num="49" type="stmt" count="1"/>
      <line num="52" type="stmt" count="5"/>
      <line num="53" type="stmt" count="5"/>
      <line num="57" type="stmt" count="2"/>
      <line num="58" type="stmt" count="2"/>
      <line num="62" type="stmt" count="3"/>
      <line num="64" type="stmt" count="3"/>
      <line num="68" type="stmt" count="3"/>
      <line num="70" type="stmt" count="3"/>
      <line num="72" type="stmt" count="1"/>
      <line num="75" type="stmt" count="3"/>
      <line num="79" type="method" name="onAbuseFilter_generateUserVars" visibility="public" complexity="2" crap="2" 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="85" type="stmt" count="2"/>
      <line num="86" type="stmt" count="2"/>
      <line num="87" type="stmt" count="2"/>
      <line num="95" type="method" name="getConsumerIdFromRcId" visibility="private" complexity="3" crap="3" count="2"/>
      <line num="96" type="stmt" count="2"/>
      <line num="97" type="stmt" count="2"/>
      <line num="98" type="stmt" count="2"/>
      <line num="99" type="stmt" count="2"/>
      <line num="100" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <metrics loc="106" ncloc="84" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="28" coveredstatements="28" elements="33" coveredelements="33"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Backend/Consumer.php">
      <class name="MediaWiki\Extension\OAuth\Backend\Consumer" namespace="global">
        <metrics complexity="89" methods="48" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="289" coveredstatements="0" elements="337" coveredelements="0"/>
      </class>
      <line num="185" type="method" name="getSchema" visibility="protected" complexity="1" crap="2" 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="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="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" 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="204" 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="209" 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="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="222" type="method" name="getFieldPermissionChecks" visibility="protected" complexity="1" crap="2" 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="227" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="237" type="method" name="getDaoClass" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="243" type="method" name="isOAuth2" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="254" type="method" name="fetchRowFromKey" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="255" type="stmt" 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="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="272" type="method" name="newFromKey" visibility="public" complexity="2" crap="6" 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="277" type="stmt" count="0"/>
      <line num="289" type="method" name="newFromNameVersionUser" visibility="public" complexity="3" crap="12" 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="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="304" 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="316" type="method" name="newGrants" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="317" type="stmt" count="0"/>
      <line num="323" type="method" name="getAllStages" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="336" type="method" name="getId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="344" type="method" name="setId" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <line num="347" type="stmt" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <line num="356" type="method" name="getConsumerKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="357" type="stmt" count="0"/>
      <line num="363" type="method" name="getName" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="370" type="method" name="getUserId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="371" type="stmt" count="0"/>
      <line num="378" type="method" name="getVersion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="379" type="stmt" count="0"/>
      <line num="386" type="method" name="getCallbackUrl" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="387" type="stmt" count="0"/>
      <line num="396" type="method" name="getCallbackIsPrefix" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="397" type="stmt" count="0"/>
      <line num="404" type="method" name="getDescription" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="405" type="stmt" count="0"/>
      <line num="411" type="method" name="getEmail" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="412" type="stmt" count="0"/>
      <line num="419" type="method" name="getEmailAuthenticated" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="420" type="stmt" count="0"/>
      <line num="427" type="method" name="getDeveloperAgreement" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="428" type="stmt" count="0"/>
      <line num="438" type="method" name="getOwnerOnly" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <line num="453" type="method" name="getWiki" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="454" type="stmt" count="0"/>
      <line num="461" type="method" name="getGrants" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="462" type="stmt" count="0"/>
      <line num="468" type="method" name="getRegistration" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="469" type="stmt" count="0"/>
      <line num="477" type="method" name="getSecretKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="478" type="stmt" count="0"/>
      <line num="484" type="method" name="getRsaKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="485" type="stmt" count="0"/>
      <line num="491" type="method" name="getRestrictions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="492" type="stmt" count="0"/>
      <line num="499" type="method" name="getStage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="500" type="stmt" count="0"/>
      <line num="506" type="method" name="getStageTimestamp" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="507" type="stmt" count="0"/>
      <line num="514" type="method" name="getDeleted" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="515" type="stmt" count="0"/>
      <line num="528" type="method" name="canSkipAuthorization" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="529" type="stmt" count="0"/>
      <line num="530" type="stmt" count="0"/>
      <line num="531" type="stmt" count="0"/>
      <line num="540" type="method" name="generateCallbackUrl" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="541" type="stmt" count="0"/>
      <line num="543" type="stmt" count="0"/>
      <line num="544" type="stmt" count="0"/>
      <line num="547" type="stmt" count="0"/>
      <line num="548" type="stmt" count="0"/>
      <line num="549" type="stmt" count="0"/>
      <line num="550" type="stmt" count="0"/>
      <line num="570" type="method" name="getCurrentAuthorization" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="571" type="stmt" count="0"/>
      <line num="572" type="stmt" count="0"/>
      <line num="573" type="stmt" count="0"/>
      <line num="574" type="stmt" count="0"/>
      <line num="575" type="stmt" count="0"/>
      <line num="576" type="stmt" count="0"/>
      <line num="577" type="stmt" count="0"/>
      <line num="580" type="stmt" count="0"/>
      <line num="581" type="stmt" count="0"/>
      <line num="582" type="stmt" count="0"/>
      <line num="584" type="stmt" count="0"/>
      <line num="585" type="stmt" count="0"/>
      <line num="586" type="stmt" count="0"/>
      <line num="587" type="stmt" count="0"/>
      <line num="588" type="stmt" count="0"/>
      <line num="589" type="stmt" count="0"/>
      <line num="590" type="stmt" count="0"/>
      <line num="591" type="stmt" count="0"/>
      <line num="592" type="stmt" count="0"/>
      <line num="593" type="stmt" count="0"/>
      <line num="594" type="stmt" count="0"/>
      <line num="596" type="stmt" count="0"/>
      <line num="614" type="method" name="conductAuthorizationChecks" visibility="protected" complexity="7" crap="56" count="0"/>
      <line num="616" type="stmt" count="0"/>
      <line num="619" type="stmt" count="0"/>
      <line num="620" type="stmt" count="0"/>
      <line num="621" type="stmt" count="0"/>
      <line num="622" type="stmt" count="0"/>
      <line num="623" type="stmt" count="0"/>
      <line num="624" type="stmt" count="0"/>
      <line num="627" type="stmt" count="0"/>
      <line num="628" type="stmt" count="0"/>
      <line num="629" type="stmt" count="0"/>
      <line num="630" type="stmt" count="0"/>
      <line num="631" type="stmt" count="0"/>
      <line num="632" type="stmt" count="0"/>
      <line num="633" type="stmt" count="0"/>
      <line num="634" type="stmt" count="0"/>
      <line num="635" type="stmt" count="0"/>
      <line num="636" type="stmt" count="0"/>
      <line num="637" type="stmt" count="0"/>
      <line num="638" type="stmt" count="0"/>
      <line num="639" type="stmt" count="0"/>
      <line num="640" type="stmt" count="0"/>
      <line num="641" type="stmt" count="0"/>
      <line num="642" type="stmt" count="0"/>
      <line num="643" type="stmt" count="0"/>
      <line num="644" type="stmt" count="0"/>
      <line num="645" type="stmt" count="0"/>
      <line num="646" type="stmt" count="0"/>
      <line num="647" type="stmt" count="0"/>
      <line num="648" type="stmt" count="0"/>
      <line num="649" type="stmt" count="0"/>
      <line num="650" type="stmt" count="0"/>
      <line num="661" type="method" name="saveAuthorization" visibility="protected" complexity="5" crap="30" count="0"/>
      <line num="663" type="stmt" count="0"/>
      <line num="664" type="stmt" count="0"/>
      <line num="665" type="stmt" count="0"/>
      <line num="666" type="stmt" count="0"/>
      <line num="667" type="stmt" count="0"/>
      <line num="668" type="stmt" count="0"/>
      <line num="669" type="stmt" count="0"/>
      <line num="673" type="stmt" count="0"/>
      <line num="675" type="stmt" count="0"/>
      <line num="676" type="stmt" count="0"/>
      <line num="678" type="stmt" count="0"/>
      <line num="680" type="stmt" count="0"/>
      <line num="682" type="stmt" count="0"/>
      <line num="684" type="stmt" count="0"/>
      <line num="685" type="stmt" count="0"/>
      <line num="686" type="stmt" count="0"/>
      <line num="688" type="stmt" count="0"/>
      <line num="689" type="stmt" count="0"/>
      <line num="690" type="stmt" count="0"/>
      <line num="691" type="stmt" count="0"/>
      <line num="692" type="stmt" count="0"/>
      <line num="693" type="stmt" count="0"/>
      <line num="695" type="stmt" count="0"/>
      <line num="696" type="stmt" count="0"/>
      <line num="697" type="stmt" count="0"/>
      <line num="698" type="stmt" count="0"/>
      <line num="699" type="stmt" count="0"/>
      <line num="700" type="stmt" count="0"/>
      <line num="701" type="stmt" count="0"/>
      <line num="702" type="stmt" count="0"/>
      <line num="703" type="stmt" count="0"/>
      <line num="704" type="stmt" count="0"/>
      <line num="705" type="stmt" count="0"/>
      <line num="706" type="stmt" count="0"/>
      <line num="707" type="stmt" count="0"/>
      <line num="710" type="stmt" count="0"/>
      <line num="721" type="method" name="isUsableBy" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="722" type="stmt" count="0"/>
      <line num="723" type="stmt" count="0"/>
      <line num="726" type="stmt" count="0"/>
      <line num="727" type="stmt" count="0"/>
      <line num="730" type="stmt" count="0"/>
      <line num="738" type="method" name="isOwnedBy" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="739" type="stmt" count="0"/>
      <line num="742" type="method" name="normalizeValues" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="744" type="stmt" count="0"/>
      <line num="745" type="stmt" count="0"/>
      <line num="746" type="stmt" count="0"/>
      <line num="747" type="stmt" count="0"/>
      <line num="748" type="stmt" count="0"/>
      <line num="749" type="stmt" count="0"/>
      <line num="750" type="stmt" count="0"/>
      <line num="751" type="stmt" count="0"/>
      <line num="752" type="stmt" count="0"/>
      <line num="753" type="stmt" count="0"/>
      <line num="754" type="stmt" count="0"/>
      <line num="755" type="stmt" count="0"/>
      <line num="756" type="stmt" count="0"/>
      <line num="760" type="method" name="encodeRow" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="762" type="stmt" count="0"/>
      <line num="764" type="stmt" count="0"/>
      <line num="765" type="stmt" count="0"/>
      <line num="769" type="stmt" count="0"/>
      <line num="770" type="stmt" count="0"/>
      <line num="771" type="stmt" count="0"/>
      <line num="772" type="stmt" count="0"/>
      <line num="773" type="stmt" count="0"/>
      <line num="774" type="stmt" count="0"/>
      <line num="775" type="stmt" count="0"/>
      <line num="776" type="stmt" count="0"/>
      <line num="777" type="stmt" count="0"/>
      <line num="778" type="stmt" count="0"/>
      <line num="782" type="method" name="decodeRow" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="783" type="stmt" count="0"/>
      <line num="784" type="stmt" count="0"/>
      <line num="785" type="stmt" count="0"/>
      <line num="786" type="stmt" count="0"/>
      <line num="787" type="stmt" count="0"/>
      <line num="788" type="stmt" count="0"/>
      <line num="789" type="stmt" count="0"/>
      <line num="790" type="stmt" count="0"/>
      <line num="791" type="stmt" count="0"/>
      <line num="792" type="stmt" count="0"/>
      <line num="793" type="stmt" count="0"/>
      <line num="796" type="stmt" count="0"/>
      <line num="798" type="stmt" count="0"/>
      <line num="799" type="stmt" count="0"/>
      <line num="803" type="stmt" count="0"/>
      <line num="813" type="method" name="__get" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="814" type="stmt" count="0"/>
      <line num="815" type="stmt" count="0"/>
      <line num="816" type="stmt" count="0"/>
      <line num="817" type="stmt" count="0"/>
      <line num="818" type="stmt" count="0"/>
      <line num="819" type="stmt" count="0"/>
      <line num="821" type="stmt" count="0"/>
      <line num="831" type="method" name="userCanSee" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="832" type="stmt" count="0"/>
      <line num="834" type="stmt" count="0"/>
      <line num="835" type="stmt" count="0"/>
      <line num="837" type="stmt" count="0"/>
      <line num="839" type="stmt" count="0"/>
      <line num="849" type="method" name="userCanSeePrivate" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="850" type="stmt" count="0"/>
      <line num="852" type="stmt" count="0"/>
      <line num="853" type="stmt" count="0"/>
      <line num="855" type="stmt" count="0"/>
      <line num="865" type="method" name="userCanSeeEmail" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="867" type="stmt" count="0"/>
      <line num="877" type="method" name="userCanSeeSecurity" visibility="protected" complexity="4" crap="20" count="0"/>
      <line num="878" type="stmt" count="0"/>
      <line num="879" type="stmt" count="0"/>
      <line num="881" type="stmt" count="0"/>
      <line num="883" type="stmt" count="0"/>
      <line num="884" type="stmt" count="0"/>
      <line num="886" type="stmt" count="0"/>
      <line num="887" type="stmt" count="0"/>
      <line num="889" type="stmt" count="0"/>
      <line num="892" type="stmt" count="0"/>
      <line num="902" type="method" name="userCanSeeSecret" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="903" type="stmt" count="0"/>
      <line num="910" type="method" name="getLogContext" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="911" type="stmt" count="0"/>
      <line num="912" type="stmt" count="0"/>
      <line num="913" type="stmt" count="0"/>
      <line num="914" type="stmt" count="0"/>
      <line num="915" type="stmt" count="0"/>
      <line num="916" type="stmt" count="0"/>
      <metrics loc="919" ncloc="601" classes="1" methods="48" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="289" coveredstatements="0" elements="337" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Backend/ConsumerAcceptance.php">
      <class name="MediaWiki\Extension\OAuth\Backend\ConsumerAcceptance" namespace="global">
        <metrics complexity="28" methods="18" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="70" coveredstatements="0" elements="88" coveredelements="0"/>
      </class>
      <line num="54" type="method" name="getSchema" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" 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="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" 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="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="74" type="method" name="getFieldPermissionChecks" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" 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="80" type="stmt" 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="84" type="stmt" count="0"/>
      <line num="91" type="method" name="getId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="100" type="method" name="getWiki" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="108" type="method" name="getUserId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="116" type="method" name="getConsumerId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="124" type="method" name="getAccessToken" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="134" type="method" name="getAccessSecret" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="142" type="method" name="getGrants" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="150" type="method" name="getAccepted" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="157" type="method" name="getOAuthVersion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="161" type="method" name="normalizeValues" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="172" type="method" name="encodeRow" visibility="protected" complexity="5" crap="30" 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="179" 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="189" 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="198" type="method" name="decodeRow" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" 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="210" type="stmt" count="0"/>
      <line num="218" type="method" name="isAuthorizedBy" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="227" type="method" name="userCanSee" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="244" type="method" name="userCanSeePrivate" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="259" type="method" name="userCanSeeSecret" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <metrics loc="263" ncloc="176" classes="1" methods="18" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="70" coveredstatements="0" elements="88" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Backend/Hooks.php">
      <class name="MediaWiki\Extension\OAuth\Backend\Hooks" namespace="global">
        <metrics complexity="24" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="70" coveredstatements="0" elements="79" coveredelements="0"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="35" type="method" name="onRegistration" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" 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="89" type="stmt" count="0"/>
      <line num="93" type="method" name="onExtensionFunctions" visibility="public" complexity="2" crap="6" 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="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="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="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="130" type="method" name="onChangeTagCanCreate" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="137" type="method" name="onListDefinedTags" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="142" type="method" name="onChangeTagsListActive" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="158" type="method" name="getUsedConsumerTags" visibility="private" complexity="6" crap="42" 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="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" 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="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="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="187" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="197" type="method" name="onSetupAfterCache" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="218" type="method" name="onApiRsdServiceApis" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <metrics loc="222" ncloc="186" classes="1" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="70" coveredstatements="0" elements="79" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Backend/MWOAuthDAO.php">
      <class name="MediaWiki\Extension\OAuth\Backend\MWOAuthDAO" namespace="global">
        <metrics complexity="60" methods="30" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="155" coveredstatements="0" elements="185" coveredelements="0"/>
      </class>
      <line num="41" type="method" name="__construct" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="53" type="method" name="newFromArray" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="56" 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="70" type="method" name="getDaoClass" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="79" type="method" name="newFromRow" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="80" type="stmt" 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="92" type="method" name="fetchRowFromId" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="93" 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="110" type="method" name="newFromId" visibility="public" complexity="2" crap="6" 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="115" type="stmt" count="0"/>
      <line num="124" type="method" name="get" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="138" type="method" name="setField" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="149" type="method" name="setFields" visibility="public" complexity="4" crap="20" 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="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="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="168" type="method" name="getFieldNames" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="177" type="method" name="save" visibility="public" complexity="9" crap="90" 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="183" 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="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="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" 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="204" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="209" 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="216" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="230" type="method" name="delete" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" 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="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="288" type="method" name="getTable" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="291" type="stmt" count="0"/>
      <line num="299" type="method" name="getFieldColumnMap" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="311" type="method" name="getExtraFields" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="313" type="stmt" count="0"/>
      <line num="314" type="stmt" count="0"/>
      <line num="321" type="method" name="getColumn" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="331" type="method" name="hasField" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="335" type="stmt" count="0"/>
      <line num="341" type="method" name="getAutoIncrField" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="351" type="method" name="getIdColumn" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="354" type="stmt" count="0"/>
      <line num="360" type="method" name="getIdValue" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="366" type="method" name="toArray" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="367" type="stmt" count="0"/>
      <line num="368" type="stmt" count="0"/>
      <line num="369" type="stmt" count="0"/>
      <line num="371" type="stmt" count="0"/>
      <line num="372" type="stmt" count="0"/>
      <line num="374" type="stmt" count="0"/>
      <line num="380" type="method" name="loadFromValues" visibility="protected" complexity="5" crap="30" count="0"/>
      <line num="381" type="stmt" count="0"/>
      <line num="382" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="385" type="stmt" count="0"/>
      <line num="387" type="stmt" count="0"/>
      <line num="388" type="stmt" count="0"/>
      <line num="389" type="stmt" count="0"/>
      <line num="392" type="stmt" count="0"/>
      <line num="393" type="stmt" count="0"/>
      <line num="394" type="stmt" count="0"/>
      <line num="409" type="method" name="loadFromRow" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="410" type="stmt" count="0"/>
      <line num="411" type="stmt" count="0"/>
      <line num="412" type="stmt" count="0"/>
      <line num="413" 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="445" type="method" name="getRowArray" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="446" type="stmt" count="0"/>
      <line num="447" type="stmt" count="0"/>
      <line num="448" type="stmt" count="0"/>
      <line num="450" type="stmt" count="0"/>
      <line num="463" type="method" name="userCanAccess" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="464" 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="469" type="stmt" count="0"/>
      <line num="479" type="method" name="getChangeToken" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="480" type="stmt" count="0"/>
      <line num="481" type="stmt" count="0"/>
      <line num="482" type="stmt" count="0"/>
      <line num="483" type="stmt" count="0"/>
      <line num="486" type="stmt" count="0"/>
      <line num="489" type="stmt" count="0"/>
      <line num="490" type="stmt" count="0"/>
      <line num="491" type="stmt" count="0"/>
      <line num="492" type="stmt" count="0"/>
      <line num="493" type="stmt" count="0"/>
      <line num="503" type="method" name="checkChangeToken" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="504" type="stmt" count="0"/>
      <line num="511" type="method" name="setPending" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="512" type="stmt" count="0"/>
      <line num="522" type="method" name="updateOrigin" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="523" type="stmt" count="0"/>
      <line num="533" type="method" name="isConfigurationBased" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="534" type="stmt" count="0"/>
      <metrics loc="537" ncloc="316" classes="1" methods="30" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="155" coveredstatements="0" elements="185" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Backend/MWOAuthDataStore.php">
      <class name="MediaWiki\Extension\OAuth\Backend\MWOAuthDataStore" namespace="global">
        <metrics complexity="31" methods="11" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="127" coveredstatements="0" elements="138" coveredelements="0"/>
      </class>
      <line num="28" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="44" type="method" name="lookup_consumer" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="58" type="method" name="lookup_token" visibility="public" complexity="13" crap="182" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" 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="69" type="stmt" count="0"/>
      <line num="70" 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="76" 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="80" 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="85" 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="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" 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="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="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="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" 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="130" type="stmt" count="0"/>
      <line num="143" type="method" name="lookup_nonce" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="144" 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="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="171" type="method" name="newToken" visibility="public" complexity="1" crap="2" 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="175" type="stmt" count="0"/>
      <line num="185" type="method" name="new_request_token" visibility="public" complexity="1" crap="2" 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="191" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" 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="210" type="method" name="getConsumerKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <line num="226" type="method" name="getCallbackUrl" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="249" type="method" name="new_access_token" visibility="public" complexity="4" crap="20" 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="255" type="stmt" 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="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="266" 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="281" type="method" name="updateRequestToken" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="293" type="method" name="getRSAKey" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <metrics loc="299" ncloc="210" classes="1" methods="11" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="127" coveredstatements="0" elements="138" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Backend/MWOAuthException.php">
      <class name="MediaWiki\Extension\OAuth\Backend\MWOAuthException" namespace="global">
        <metrics complexity="4" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="17" coveredstatements="17" elements="21" coveredelements="21"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="26" type="stmt" count="4"/>
      <line num="27" type="stmt" count="4"/>
      <line num="28" type="stmt" count="4"/>
      <line num="29" type="stmt" count="4"/>
      <line num="30" type="stmt" count="4"/>
      <line num="36" type="method" name="getNormalizedMessage" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="37" type="stmt" count="4"/>
      <line num="38" type="stmt" count="3"/>
      <line num="39" type="stmt" count="4"/>
      <line num="40" type="stmt" count="4"/>
      <line num="41" type="stmt" count="4"/>
      <line num="47" type="method" name="getMessageContext" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="48" type="stmt" count="4"/>
      <line num="49" type="stmt" count="3"/>
      <line num="50" type="stmt" count="4"/>
      <line num="51" type="stmt" count="4"/>
      <line num="52" type="stmt" count="3"/>
      <line num="53" type="stmt" count="4"/>
      <line num="59" type="method" name="getMessageObject" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="60" type="stmt" count="4"/>
      <metrics loc="64" ncloc="47" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="17" coveredstatements="17" elements="21" coveredelements="21"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Backend/MWOAuthRequest.php">
      <class name="MediaWiki\Extension\OAuth\Backend\MWOAuthRequest" namespace="global">
        <metrics complexity="9" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="0" elements="27" coveredelements="0"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="30" type="method" name="getConsumerKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="38" type="method" name="getSourceIP" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="42" type="method" name="fromRequest" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="70" 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="76" type="stmt" count="0"/>
      <metrics loc="79" ncloc="56" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="0" elements="27" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Backend/MWOAuthServer.php">
      <class name="MediaWiki\Extension\OAuth\Backend\MWOAuthServer" namespace="global">
        <metrics complexity="35" methods="9" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="125" coveredstatements="54" elements="134" coveredelements="57"/>
      </class>
      <line num="21" type="method" name="getConsumerKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="33" type="method" name="fetch_request_token" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" 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="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="67" 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="99" type="method" name="checkCallback" visibility="private" complexity="14" crap="14.91" count="24"/>
      <line num="100" type="stmt" count="24"/>
      <line num="101" type="stmt" count="2"/>
      <line num="102" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="104" type="stmt" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="108" type="stmt" count="1"/>
      <line num="111" type="stmt" count="22"/>
      <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="22"/>
      <line num="118" type="stmt" count="1"/>
      <line num="121" type="stmt" count="21"/>
      <line num="123" type="stmt" count="21"/>
      <line num="124" type="stmt" count="21"/>
      <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="129" type="stmt" count="21"/>
      <line num="131" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="133" type="stmt" count="1"/>
      <line num="134" type="stmt" count="1"/>
      <line num="137" type="stmt" count="20"/>
      <line num="138" type="stmt" count="20"/>
      <line num="140" type="stmt" count="20"/>
      <line num="142" type="stmt" count="20"/>
      <line num="144" type="stmt" count="20"/>
      <line num="145" type="stmt" count="20"/>
      <line num="146" type="stmt" count="20"/>
      <line num="147" type="stmt" count="20"/>
      <line num="148" type="stmt" count="20"/>
      <line num="149" type="stmt" count="20"/>
      <line num="150" type="stmt" count="20"/>
      <line num="151" type="stmt" count="20"/>
      <line num="156" type="stmt" count="20"/>
      <line num="159" type="stmt" count="20"/>
      <line num="161" type="stmt" count="20"/>
      <line num="162" type="stmt" count="8"/>
      <line num="163" type="stmt" count="8"/>
      <line num="164" type="stmt" count="8"/>
      <line num="165" type="stmt" count="8"/>
      <line num="166" type="stmt" count="8"/>
      <line num="167" type="stmt" count="8"/>
      <line num="168" type="stmt" count="8"/>
      <line num="181" type="method" name="looseSchemeMatch" visibility="private" complexity="2" crap="2" count="20"/>
      <line num="182" type="stmt" count="20"/>
      <line num="183" type="stmt" count="3"/>
      <line num="185" type="stmt" count="17"/>
      <line num="197" type="method" name="getOrNull" visibility="private" complexity="2" crap="2" count="19"/>
      <line num="198" type="stmt" count="19"/>
      <line num="210" type="method" name="componentMatches" visibility="private" complexity="4" crap="4" count="14"/>
      <line num="213" type="stmt" count="14"/>
      <line num="216" type="stmt" count="10"/>
      <line num="217" type="stmt" count="6"/>
      <line num="218" type="stmt" count="2"/>
      <line num="219" type="stmt" count="5"/>
      <line num="220" type="stmt" count="3"/>
      <line num="222" type="stmt" count="4"/>
      <line num="223" type="stmt" count="4"/>
      <line num="224" type="stmt" count="4"/>
      <line num="226" type="stmt" count="14"/>
      <line num="238" type="method" name="fetch_access_token" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" 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="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="270" 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="278" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="292" type="method" name="verify_request" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="306" type="method" name="checkSourceIP" visibility="private" complexity="2" crap="6" 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="311" type="stmt" count="0"/>
      <line num="312" type="stmt" count="0"/>
      <line num="313" type="stmt" count="0"/>
      <metrics loc="317" ncloc="208" classes="1" methods="9" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="125" coveredstatements="54" elements="134" coveredelements="57"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Backend/MWOAuthSignatureMethodRsaSha1.php">
      <class name="MediaWiki\Extension\OAuth\Backend\MWOAuthSignatureMethodRsaSha1" namespace="global">
        <metrics complexity="7" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="0" elements="17" coveredelements="0"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" 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="42" type="method" name="fetch_public_cert" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="54" type="method" name="fetch_private_cert" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <metrics loc="61" ncloc="41" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="0" elements="17" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Backend/MWOAuthToken.php">
      <class name="MediaWiki\Extension\OAuth\Backend\MWOAuthToken" namespace="global">
        <metrics complexity="4" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="8" coveredelements="0"/>
      </class>
      <line num="17" type="method" name="addVerifyCode" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="24" type="method" name="getVerifyCode" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="31" type="method" name="addAccessKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="38" type="method" name="getAccessKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <metrics loc="42" ncloc="28" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="8" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Backend/NormalizedOAuthException.php">
      <class name="MediaWiki\Extension\OAuth\Backend\NormalizedOAuthException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="16" 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/OAuth/src/Backend/OAuth1Consumer.php">
      <class name="MediaWiki\Extension\OAuth\Backend\OAuth1Consumer" namespace="global">
        <metrics complexity="5" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="0" elements="21" coveredelements="0"/>
      </class>
      <line num="35" type="method" name="authorize" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="51" type="stmt" 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="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="63" type="method" name="getOAuthVersion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="67" type="method" name="isConfidential" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <metrics loc="71" ncloc="43" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="0" elements="21" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Backend/UpdaterHooks.php">
      <class name="MediaWiki\Extension\OAuth\Backend\UpdaterHooks" namespace="global">
        <metrics complexity="5" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="77" coveredstatements="0" elements="79" coveredelements="0"/>
      </class>
      <line num="16" type="method" name="onLoadExtensionSchemaUpdates" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="29" 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"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" 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="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" 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="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" 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="70" 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="75" type="stmt" count="0"/>
      <line num="76" 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="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" 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="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" 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="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="114" type="method" name="getPath" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <metrics loc="122" ncloc="104" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="77" coveredstatements="0" elements="79" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Backend/UserMergeHook.php">
      <class name="MediaWiki\Extension\OAuth\Backend\UserMergeHook" namespace="global">
        <metrics complexity="4" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="17" coveredstatements="0" elements="19" coveredelements="0"/>
      </class>
      <line num="14" type="method" name="doUserIdMerge" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="15" type="stmt" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="32" type="method" name="onMergeAccountFromTo" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <metrics loc="42" ncloc="35" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="17" coveredstatements="0" elements="19" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Backend/Utils.php">
      <class name="MediaWiki\Extension\OAuth\Backend\Utils" namespace="global">
        <metrics complexity="58" methods="28" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="162" coveredstatements="0" elements="190" coveredelements="0"/>
      </class>
      <line num="42" type="method" name="isCentralWiki" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="49" type="method" name="getCentralWiki" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="65" type="method" name="getCentralWikiDB" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="73" type="method" name="getJwtIssuer" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" 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="90" type="method" name="getOAuthDB" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="108" type="method" name="getSessionCache" visibility="public" complexity="1" crap="2" 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="121" type="method" name="getNonceCache" visibility="public" complexity="1" crap="2" 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="134" type="method" name="getConsumerStateCounts" visibility="public" complexity="2" crap="6" 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="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="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="149" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="162" type="method" name="getHeaders" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="166" 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="175" type="stmt" count="0"/>
      <line num="183" type="method" name="hasOAuthHeaders" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="195" type="method" name="getCacheKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="205" type="method" name="runAutoMaintenance" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" 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="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" 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="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="227" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="242" type="method" name="getWikiIdName" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="261" type="method" name="getAllWikiNames" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="278" type="method" name="newMWOAuthServer" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="292" type="method" name="newMWOAuthDataStore" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="297" type="method" name="getCentralIdLookup" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="305" type="method" name="usingCentralIds" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="320" type="method" name="hmacDBSecret" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="334" type="method" name="getCentralUserTalk" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="352" type="method" name="grantsAreValid" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="354" type="stmt" count="0"/>
      <line num="355" type="stmt" count="0"/>
      <line num="356" type="stmt" count="0"/>
      <line num="357" type="stmt" count="0"/>
      <line num="358" type="stmt" count="0"/>
      <line num="359" type="stmt" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="371" type="method" name="locateUsersToNotify" visibility="public" complexity="11" crap="132" count="0"/>
      <line num="372" type="stmt" count="0"/>
      <line num="373" type="stmt" count="0"/>
      <line num="374" type="stmt" count="0"/>
      <line num="376" type="stmt" count="0"/>
      <line num="377" type="stmt" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <line num="380" type="stmt" count="0"/>
      <line num="381" type="stmt" count="0"/>
      <line num="382" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="385" type="stmt" count="0"/>
      <line num="387" type="stmt" count="0"/>
      <line num="388" type="stmt" count="0"/>
      <line num="389" type="stmt" count="0"/>
      <line num="390" type="stmt" count="0"/>
      <line num="391" type="stmt" count="0"/>
      <line num="392" type="stmt" count="0"/>
      <line num="394" type="stmt" count="0"/>
      <line num="395" type="stmt" count="0"/>
      <line num="397" type="stmt" count="0"/>
      <line num="399" type="stmt" count="0"/>
      <line num="407" type="method" name="getTagName" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="408" type="stmt" count="0"/>
      <line num="416" type="method" name="parseTagName" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="417" type="stmt" count="0"/>
      <line num="418" type="stmt" count="0"/>
      <line num="420" type="stmt" count="0"/>
      <line num="428" type="method" name="isReservedTagName" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="429" type="stmt" count="0"/>
      <line num="435" type="method" name="getErrorLink" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="436" type="stmt" count="0"/>
      <line num="437" type="stmt" count="0"/>
      <line num="438" type="stmt" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <line num="440" type="stmt" count="0"/>
      <line num="449" type="method" name="getOAuthAdmins" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="452" type="stmt" count="0"/>
      <line num="453" type="stmt" count="0"/>
      <line num="456" type="stmt" count="0"/>
      <line num="463" type="method" name="getOAuthUrlUtils" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="464" type="stmt" count="0"/>
      <line num="467" type="stmt" count="0"/>
      <line num="468" type="stmt" count="0"/>
      <line num="469" type="stmt" count="0"/>
      <line num="470" 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"/>
      <metrics loc="477" ncloc="334" classes="1" methods="28" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="162" coveredstatements="0" elements="190" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/BearerTokenValidator.php">
      <class name="MediaWiki\Extension\OAuth\BearerTokenValidator" namespace="global">
        <metrics complexity="4" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="10" elements="11" coveredelements="11"/>
      </class>
      <line num="16" type="method" name="validateAuthorization" visibility="public" complexity="4" crap="4" count="3"/>
      <line num="17" type="stmt" count="3"/>
      <line num="18" type="stmt" count="3"/>
      <line num="19" type="stmt" count="3"/>
      <line num="21" type="stmt" count="2"/>
      <line num="22" type="stmt" count="2"/>
      <line num="23" type="stmt" count="2"/>
      <line num="24" type="stmt" count="2"/>
      <line num="25" type="stmt" count="1"/>
      <line num="27" type="stmt" count="1"/>
      <line num="30" type="stmt" count="2"/>
      <metrics loc="34" ncloc="29" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="10" elements="11" coveredelements="11"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Control/ConsumerAcceptanceAccessControl.php">
      <class name="MediaWiki\Extension\OAuth\Control\ConsumerAcceptanceAccessControl" namespace="global">
        <metrics complexity="10" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="0" elements="22" coveredelements="0"/>
      </class>
      <line num="18" type="method" name="getId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="28" type="method" name="getWiki" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="37" type="method" name="getUserId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="46" type="method" name="getConsumerId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="55" type="method" name="getAccessToken" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="66" type="method" name="getAccessSecret" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="75" type="method" name="getGrants" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="84" type="method" name="getAccepted" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="94" type="method" name="getWikiName" visibility="public" complexity="1" crap="2" 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="103" type="method" name="getDAO" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <metrics loc="108" ncloc="54" classes="1" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="0" elements="22" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Control/ConsumerAcceptanceSubmitControl.php">
      <class name="MediaWiki\Extension\OAuth\Control\ConsumerAcceptanceSubmitControl" namespace="global">
        <metrics complexity="24" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="104" coveredstatements="0" elements="110" coveredelements="0"/>
      </class>
      <line num="45" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="54" type="method" name="getRequiredFields" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" 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="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" 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="70" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="77" type="method" name="checkBasePermissions" visibility="protected" complexity="4" crap="20" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="83" 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="90" type="stmt" count="0"/>
      <line num="94" type="method" name="processAction" visibility="protected" complexity="15" crap="240" 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="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="111" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="120" 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="128" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="130" 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="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" 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="161" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" 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="174" 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="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" 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="190" type="stmt" count="0"/>
      <line num="199" type="method" name="isOAuth2" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="206" type="method" name="removeOAuth2AccessTokens" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <metrics loc="212" ncloc="177" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="104" coveredstatements="0" elements="110" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Control/ConsumerAccessControl.php">
      <class name="MediaWiki\Extension\OAuth\Control\ConsumerAccessControl" namespace="global">
        <metrics complexity="28" methods="27" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="36" coveredstatements="0" elements="63" coveredelements="0"/>
      </class>
      <line num="21" type="method" name="getId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="31" type="method" name="getConsumerKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="40" type="method" name="getName" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="47" type="method" name="getOAuthVersion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="56" type="method" name="getUserId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="66" type="method" name="getVersion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="76" type="method" name="getCallbackUrl" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="87" type="method" name="getCallbackIsPrefix" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="97" type="method" name="getDescription" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="106" type="method" name="getEmail" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="117" type="method" name="getEmailAuthenticated" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="127" type="method" name="getDeveloperAgreement" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="139" type="method" name="getOwnerOnly" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="148" type="method" name="getWiki" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="157" type="method" name="getGrants" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="166" type="method" name="getRegistration" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="177" type="method" name="getSecretKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="186" type="method" name="getRsaKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="195" type="method" name="getRestrictions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="204" type="method" name="getStage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="213" type="method" name="getStageTimestamp" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="223" type="method" name="getDeleted" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="235" type="method" name="getUserName" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="248" type="method" name="getWikiName" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="258" type="method" name="getNameAndVersion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="270" type="method" name="isConfidential" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="277" type="method" name="getDAO" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <metrics loc="282" ncloc="133" classes="1" methods="27" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="36" coveredstatements="0" elements="63" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Control/ConsumerSubmitControl.php">
      <class name="MediaWiki\Extension\OAuth\Control\ConsumerSubmitControl" namespace="global">
        <metrics complexity="89" methods="7" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="347" coveredstatements="204" elements="354" coveredelements="208"/>
      </class>
      <line num="61" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="31"/>
      <line num="62" type="stmt" count="31"/>
      <line num="63" type="stmt" count="31"/>
      <line num="67" type="method" name="getRequiredFields" visibility="protected" complexity="1" crap="1" count="31"/>
      <line num="68" type="stmt" count="31"/>
      <line num="70" type="stmt" count="31"/>
      <line num="71" type="stmt" count="31"/>
      <line num="72" type="stmt" count="31"/>
      <line num="73" type="stmt" count="31"/>
      <line num="74" type="stmt" count="31"/>
      <line num="75" type="stmt" count="31"/>
      <line num="76" type="stmt" count="31"/>
      <line num="77" type="stmt" count="31"/>
      <line num="78" type="stmt" count="31"/>
      <line num="79" type="stmt" count="31"/>
      <line num="80" type="stmt" count="31"/>
      <line num="81" type="stmt" count="31"/>
      <line num="82" type="stmt" count="31"/>
      <line num="83" type="stmt" count="31"/>
      <line num="84" type="stmt" count="31"/>
      <line num="85" type="stmt" count="31"/>
      <line num="86" type="stmt" count="31"/>
      <line num="87" type="stmt" count="31"/>
      <line num="88" type="stmt" count="31"/>
      <line num="89" type="stmt" count="31"/>
      <line num="91" type="stmt" count="31"/>
      <line num="92" type="stmt" count="31"/>
      <line num="93" type="stmt" count="31"/>
      <line num="94" type="stmt" count="31"/>
      <line num="95" type="stmt" count="31"/>
      <line num="96" type="stmt" count="31"/>
      <line num="98" type="stmt" count="31"/>
      <line num="100" type="stmt" count="31"/>
      <line num="101" type="stmt" count="31"/>
      <line num="102" type="stmt" count="31"/>
      <line num="103" type="stmt" count="31"/>
      <line num="104" type="stmt" count="31"/>
      <line num="105" type="stmt" count="31"/>
      <line num="106" type="stmt" count="31"/>
      <line num="107" type="stmt" count="31"/>
      <line num="108" type="stmt" count="3"/>
      <line num="109" type="stmt" count="31"/>
      <line num="110" type="stmt" count="31"/>
      <line num="112" type="stmt" count="31"/>
      <line num="113" type="stmt" count="31"/>
      <line num="114" type="stmt" count="31"/>
      <line num="115" type="stmt" count="31"/>
      <line num="116" type="stmt" count="31"/>
      <line num="120" type="method" name="checkBasePermissions" visibility="protected" complexity="7" crap="9.36" count="29"/>
      <line num="122" type="stmt" count="29"/>
      <line num="123" type="stmt" count="29"/>
      <line num="124" type="stmt" count="29"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="29"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="29"/>
      <line num="129" type="stmt" count="0"/>
      <line num="130" type="stmt" count="29"/>
      <line num="132" type="stmt" count="0"/>
      <line num="134" type="stmt" count="29"/>
      <line num="138" type="method" name="processAction" visibility="protected" complexity="74" crap="904.73" count="24"/>
      <line num="139" type="stmt" count="24"/>
      <line num="140" type="stmt" count="24"/>
      <line num="141" type="stmt" count="24"/>
      <line num="144" type="stmt" count="24"/>
      <line num="145" type="stmt" count="24"/>
      <line num="146" type="stmt" count="24"/>
      <line num="147" type="stmt" count="0"/>
      <line num="149" type="stmt" count="24"/>
      <line num="151" type="stmt" count="24"/>
      <line num="154" type="stmt" count="24"/>
      <line num="155" type="stmt" count="24"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="24"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="24"/>
      <line num="161" type="stmt" count="0"/>
      <line num="164" type="stmt" count="24"/>
      <line num="165" type="stmt" count="24"/>
      <line num="166" type="stmt" count="24"/>
      <line num="167" type="stmt" count="0"/>
      <line num="170" type="stmt" count="24"/>
      <line num="171" type="stmt" count="24"/>
      <line num="172" type="stmt" count="24"/>
      <line num="173" type="stmt" count="0"/>
      <line num="176" type="stmt" count="24"/>
      <line num="177" type="stmt" count="24"/>
      <line num="178" type="stmt" count="24"/>
      <line num="179" type="stmt" count="24"/>
      <line num="180" type="stmt" count="24"/>
      <line num="181" type="stmt" count="24"/>
      <line num="182" type="stmt" count="24"/>
      <line num="183" type="stmt" count="24"/>
      <line num="184" type="stmt" count="24"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="190" type="stmt" count="24"/>
      <line num="191" type="stmt" count="7"/>
      <line num="192" type="stmt" count="7"/>
      <line num="193" type="stmt" count="7"/>
      <line num="194" type="stmt" count="7"/>
      <line num="196" type="stmt" count="17"/>
      <line num="200" type="stmt" count="24"/>
      <line num="201" type="stmt" count="24"/>
      <line num="202" type="stmt" count="24"/>
      <line num="203" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="24"/>
      <line num="206" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="208" type="stmt" count="24"/>
      <line num="209" type="stmt" count="24"/>
      <line num="211" type="stmt" count="24"/>
      <line num="212" type="stmt" count="24"/>
      <line num="213" type="stmt" count="24"/>
      <line num="214" type="stmt" count="24"/>
      <line num="215" type="stmt" count="24"/>
      <line num="216" type="stmt" count="24"/>
      <line num="219" type="stmt" count="24"/>
      <line num="220" type="stmt" count="24"/>
      <line num="221" type="stmt" count="24"/>
      <line num="222" type="stmt" count="24"/>
      <line num="223" type="stmt" count="24"/>
      <line num="224" type="stmt" count="24"/>
      <line num="225" type="stmt" count="24"/>
      <line num="226" type="stmt" count="24"/>
      <line num="227" type="stmt" count="24"/>
      <line num="228" type="stmt" count="24"/>
      <line num="229" type="stmt" count="24"/>
      <line num="230" type="stmt" count="24"/>
      <line num="231" type="stmt" count="24"/>
      <line num="232" type="stmt" count="24"/>
      <line num="233" type="stmt" count="24"/>
      <line num="234" type="stmt" count="24"/>
      <line num="235" type="stmt" count="24"/>
      <line num="236" type="stmt" count="24"/>
      <line num="238" type="stmt" count="24"/>
      <line num="239" type="stmt" count="24"/>
      <line num="240" type="stmt" count="24"/>
      <line num="241" type="stmt" count="24"/>
      <line num="242" type="stmt" count="24"/>
      <line num="244" type="stmt" count="7"/>
      <line num="245" type="stmt" count="17"/>
      <line num="246" type="stmt" count="1"/>
      <line num="247" type="stmt" count="1"/>
      <line num="250" type="stmt" count="24"/>
      <line num="251" type="stmt" count="24"/>
      <line num="252" type="stmt" count="24"/>
      <line num="254" type="stmt" count="16"/>
      <line num="255" type="stmt" count="16"/>
      <line num="260" type="stmt" count="24"/>
      <line num="261" type="stmt" count="24"/>
      <line num="262" type="stmt" count="7"/>
      <line num="263" type="stmt" count="7"/>
      <line num="264" type="stmt" count="7"/>
      <line num="265" type="stmt" count="7"/>
      <line num="266" type="stmt" count="7"/>
      <line num="267" type="stmt" count="7"/>
      <line num="268" type="stmt" count="7"/>
      <line num="269" type="stmt" count="7"/>
      <line num="270" type="stmt" count="7"/>
      <line num="271" type="stmt" count="7"/>
      <line num="272" type="stmt" count="7"/>
      <line num="273" type="stmt" count="7"/>
      <line num="274" type="stmt" count="7"/>
      <line num="275" type="stmt" count="7"/>
      <line num="276" type="stmt" count="7"/>
      <line num="277" type="stmt" count="7"/>
      <line num="280" type="stmt" count="4"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="291" type="stmt" count="24"/>
      <line num="292" type="stmt" count="2"/>
      <line num="293" type="stmt" count="2"/>
      <line num="294" type="stmt" count="0"/>
      <line num="297" type="stmt" count="2"/>
      <line num="298" type="stmt" count="2"/>
      <line num="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="2"/>
      <line num="301" type="stmt" count="0"/>
      <line num="303" type="stmt" count="2"/>
      <line num="304" type="stmt" count="2"/>
      <line num="306" type="stmt" count="0"/>
      <line num="307" type="stmt" count="2"/>
      <line num="308" type="stmt" count="2"/>
      <line num="309" type="stmt" count="0"/>
      <line num="310" type="stmt" count="2"/>
      <line num="311" type="stmt" count="0"/>
      <line num="314" type="stmt" count="2"/>
      <line num="315" type="stmt" count="2"/>
      <line num="316" type="stmt" count="2"/>
      <line num="317" type="stmt" count="2"/>
      <line num="318" type="stmt" count="0"/>
      <line num="319" type="stmt" count="2"/>
      <line num="320" type="stmt" count="2"/>
      <line num="323" type="stmt" count="2"/>
      <line num="324" type="stmt" count="2"/>
      <line num="325" type="stmt" count="2"/>
      <line num="328" type="stmt" count="2"/>
      <line num="329" type="stmt" count="2"/>
      <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="335" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <line num="347" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="350" type="stmt" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="354" type="stmt" count="0"/>
      <line num="358" type="stmt" count="2"/>
      <line num="359" type="stmt" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <line num="361" 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="369" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="371" type="stmt" count="0"/>
      <line num="372" 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="376" 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="382" type="stmt" count="0"/>
      <line num="385" 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="391" type="stmt" count="0"/>
      <line num="392" type="stmt" count="0"/>
      <line num="393" type="stmt" count="0"/>
      <line num="396" type="stmt" count="0"/>
      <line num="397" type="stmt" count="0"/>
      <line num="398" type="stmt" count="0"/>
      <line num="399" type="stmt" count="0"/>
      <line num="400" type="stmt" count="0"/>
      <line num="401" type="stmt" count="0"/>
      <line num="402" type="stmt" count="0"/>
      <line num="403" 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="409" type="stmt" count="0"/>
      <line num="410" type="stmt" count="0"/>
      <line num="411" type="stmt" count="0"/>
      <line num="412" 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="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="425" type="stmt" count="0"/>
      <line num="428" type="stmt" count="0"/>
      <line num="429" type="stmt" count="0"/>
      <line num="430" type="stmt" count="0"/>
      <line num="431" type="stmt" count="0"/>
      <line num="432" type="stmt" count="0"/>
      <line num="434" type="stmt" count="0"/>
      <line num="435" type="stmt" count="0"/>
      <line num="436" type="stmt" count="0"/>
      <line num="437" type="stmt" count="0"/>
      <line num="438" 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="444" type="stmt" count="0"/>
      <line num="447" type="stmt" count="0"/>
      <line num="448" type="stmt" count="0"/>
      <line num="449" type="stmt" count="0"/>
      <line num="452" 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="458" type="stmt" count="0"/>
      <line num="459" type="stmt" count="0"/>
      <line num="460" 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="464" type="stmt" count="0"/>
      <line num="465" type="stmt" count="0"/>
      <line num="466" type="stmt" count="0"/>
      <line num="469" type="stmt" count="0"/>
      <line num="470" type="stmt" count="0"/>
      <line num="471" type="stmt" count="0"/>
      <line num="472" 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="480" type="stmt" count="0"/>
      <line num="489" type="method" name="getLogTitle" visibility="protected" complexity="1" crap="1" count="24"/>
      <line num="490" type="stmt" count="24"/>
      <line num="492" type="stmt" count="24"/>
      <line num="502" type="method" name="makeLogEntry" visibility="protected" complexity="1" crap="1" count="24"/>
      <line num="505" type="stmt" count="24"/>
      <line num="506" type="stmt" count="24"/>
      <line num="507" type="stmt" count="24"/>
      <line num="508" type="stmt" count="24"/>
      <line num="509" type="stmt" count="24"/>
      <line num="510" type="stmt" count="24"/>
      <line num="511" type="stmt" count="24"/>
      <line num="512" type="stmt" count="24"/>
      <line num="513" type="stmt" count="24"/>
      <line num="515" type="stmt" count="24"/>
      <line num="516" type="stmt" count="24"/>
      <line num="517" type="stmt" count="24"/>
      <line num="518" type="stmt" count="24"/>
      <line num="519" type="stmt" count="24"/>
      <line num="520" type="stmt" count="24"/>
      <line num="521" type="stmt" count="24"/>
      <line num="522" type="stmt" count="24"/>
      <line num="531" type="method" name="notify" visibility="protected" complexity="4" crap="4.11" count="18"/>
      <line num="532" type="stmt" count="18"/>
      <line num="533" type="stmt" count="0"/>
      <line num="534" type="stmt" count="18"/>
      <line num="535" type="stmt" count="0"/>
      <line num="536" type="stmt" count="18"/>
      <line num="538" type="stmt" count="0"/>
      <line num="541" type="stmt" count="18"/>
      <line num="542" type="stmt" count="18"/>
      <line num="543" type="stmt" count="18"/>
      <line num="544" type="stmt" count="18"/>
      <line num="545" type="stmt" count="18"/>
      <line num="546" type="stmt" count="18"/>
      <line num="547" type="stmt" count="18"/>
      <line num="548" type="stmt" count="18"/>
      <line num="549" type="stmt" count="18"/>
      <line num="550" type="stmt" count="18"/>
      <metrics loc="553" ncloc="488" classes="1" methods="7" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="347" coveredstatements="204" elements="354" coveredelements="208"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Control/ConsumerValidator.php">
      <class name="MediaWiki\Extension\OAuth\Control\ConsumerValidator" namespace="global">
        <metrics complexity="85" methods="13" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="293" coveredstatements="284" elements="306" coveredelements="294"/>
      </class>
      <line num="70" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="83"/>
      <line num="74" type="stmt" count="83"/>
      <line num="90" type="method" name="validateFields" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="91" type="stmt" count="3"/>
      <line num="92" type="stmt" count="3"/>
      <line num="93" type="stmt" count="3"/>
      <line num="94" type="stmt" count="3"/>
      <line num="95" type="stmt" count="3"/>
      <line num="96" type="stmt" count="3"/>
      <line num="99" type="stmt" count="3"/>
      <line num="107" type="method" name="validateFieldsAndThrow" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="108" type="stmt" count="2"/>
      <line num="109" type="stmt" count="2"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="131" type="method" name="getValidatorCallbacks" visibility="public" complexity="25" crap="25" count="62"/>
      <line num="132" type="stmt" count="62"/>
      <line num="133" type="stmt" count="5"/>
      <line num="134" type="stmt" count="62"/>
      <line num="135" type="stmt" count="62"/>
      <line num="136" type="stmt" count="5"/>
      <line num="137" type="stmt" count="3"/>
      <line num="139" type="stmt" count="2"/>
      <line num="141" type="stmt" count="62"/>
      <line num="143" type="stmt" count="62"/>
      <line num="144" type="stmt" count="62"/>
      <line num="145" type="stmt" count="62"/>
      <line num="146" type="stmt" count="62"/>
      <line num="147" type="stmt" count="6"/>
      <line num="148" type="stmt" count="6"/>
      <line num="150" type="stmt" count="1"/>
      <line num="151" type="stmt" count="5"/>
      <line num="152" type="stmt" count="1"/>
      <line num="154" type="stmt" count="4"/>
      <line num="155" type="stmt" count="62"/>
      <line num="156" type="stmt" count="62"/>
      <line num="157" type="stmt" count="3"/>
      <line num="158" type="stmt" count="3"/>
      <line num="159" type="stmt" count="3"/>
      <line num="160" type="stmt" count="3"/>
      <line num="161" type="stmt" count="3"/>
      <line num="162" type="stmt" count="2"/>
      <line num="163" type="stmt" count="3"/>
      <line num="164" type="stmt" count="62"/>
      <line num="165" type="stmt" count="62"/>
      <line num="166" type="stmt" count="3"/>
      <line num="167" type="stmt" count="1"/>
      <line num="169" type="stmt" count="2"/>
      <line num="171" type="stmt" count="2"/>
      <line num="172" type="stmt" count="1"/>
      <line num="174" type="stmt" count="1"/>
      <line num="175" type="stmt" count="1"/>
      <line num="177" type="stmt" count="1"/>
      <line num="178" type="stmt" count="62"/>
      <line num="179" type="stmt" count="62"/>
      <line num="180" type="stmt" count="62"/>
      <line num="181" type="stmt" count="62"/>
      <line num="182" type="stmt" count="3"/>
      <line num="183" type="stmt" count="62"/>
      <line num="184" type="stmt" count="62"/>
      <line num="185" type="stmt" count="2"/>
      <line num="186" type="stmt" count="1"/>
      <line num="187" type="stmt" count="2"/>
      <line num="188" type="stmt" count="2"/>
      <line num="189" type="stmt" count="62"/>
      <line num="191" type="stmt" count="62"/>
      <line num="192" type="stmt" count="5"/>
      <line num="193" type="stmt" count="2"/>
      <line num="194" type="stmt" count="5"/>
      <line num="195" type="stmt" count="62"/>
      <line num="196" type="stmt" count="62"/>
      <line num="197" type="stmt" count="3"/>
      <line num="198" type="stmt" count="1"/>
      <line num="199" type="stmt" count="3"/>
      <line num="200" type="stmt" count="62"/>
      <line num="201" type="stmt" count="62"/>
      <line num="202" type="stmt" count="62"/>
      <line num="204" type="stmt" count="3"/>
      <line num="205" type="stmt" count="3"/>
      <line num="206" type="stmt" count="3"/>
      <line num="208" type="stmt" count="2"/>
      <line num="210" type="stmt" count="1"/>
      <line num="212" type="stmt" count="62"/>
      <line num="213" type="stmt" count="62"/>
      <line num="214" type="stmt" count="5"/>
      <line num="215" type="stmt" count="2"/>
      <line num="216" type="stmt" count="2"/>
      <line num="217" type="stmt" count="1"/>
      <line num="219" type="stmt" count="1"/>
      <line num="221" type="stmt" count="4"/>
      <line num="222" type="stmt" count="0"/>
      <line num="224" type="stmt" count="4"/>
      <line num="225" type="stmt" count="4"/>
      <line num="226" type="stmt" count="1"/>
      <line num="228" type="stmt" count="3"/>
      <line num="229" type="stmt" count="0"/>
      <line num="232" type="stmt" count="3"/>
      <line num="233" type="stmt" count="62"/>
      <line num="235" type="stmt" count="62"/>
      <line num="236" type="stmt" count="6"/>
      <line num="237" type="stmt" count="2"/>
      <line num="239" type="stmt" count="4"/>
      <line num="240" type="stmt" count="1"/>
      <line num="242" type="stmt" count="3"/>
      <line num="243" type="stmt" count="3"/>
      <line num="244" type="stmt" count="1"/>
      <line num="245" type="stmt" count="1"/>
      <line num="247" type="stmt" count="2"/>
      <line num="248" type="stmt" count="2"/>
      <line num="249" type="stmt" count="1"/>
      <line num="251" type="stmt" count="1"/>
      <line num="252" type="stmt" count="62"/>
      <line num="253" type="stmt" count="62"/>
      <line num="254" type="stmt" count="2"/>
      <line num="255" type="stmt" count="62"/>
      <line num="257" type="stmt" count="62"/>
      <line num="258" type="stmt" count="62"/>
      <line num="259" type="stmt" count="4"/>
      <line num="260" type="stmt" count="1"/>
      <line num="264" type="stmt" count="3"/>
      <line num="265" type="stmt" count="1"/>
      <line num="268" type="stmt" count="2"/>
      <line num="269" type="stmt" count="1"/>
      <line num="271" type="stmt" count="1"/>
      <line num="272" type="stmt" count="62"/>
      <line num="273" type="stmt" count="62"/>
      <line num="290" type="method" name="expandConsumerData" visibility="public" complexity="15" crap="15.22" count="21"/>
      <line num="292" type="stmt" count="21"/>
      <line num="293" type="stmt" count="1"/>
      <line num="295" type="stmt" count="20"/>
      <line num="296" type="stmt" count="20"/>
      <line num="297" type="stmt" count="2"/>
      <line num="299" type="stmt" count="18"/>
      <line num="300" type="stmt" count="18"/>
      <line num="301" type="stmt" count="18"/>
      <line num="304" type="stmt" count="18"/>
      <line num="305" type="stmt" count="18"/>
      <line num="307" type="stmt" count="18"/>
      <line num="308" type="stmt" count="18"/>
      <line num="310" type="stmt" count="13"/>
      <line num="311" type="stmt" count="13"/>
      <line num="312" type="stmt" count="1"/>
      <line num="314" type="stmt" count="12"/>
      <line num="315" type="stmt" count="12"/>
      <line num="316" type="stmt" count="6"/>
      <line num="317" type="stmt" count="6"/>
      <line num="318" type="stmt" count="6"/>
      <line num="321" type="stmt" count="6"/>
      <line num="322" type="stmt" count="6"/>
      <line num="324" type="stmt" count="6"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="331" type="stmt" count="6"/>
      <line num="332" type="stmt" count="6"/>
      <line num="333" type="stmt" count="6"/>
      <line num="334" type="stmt" count="6"/>
      <line num="335" type="stmt" count="6"/>
      <line num="337" type="stmt" count="1"/>
      <line num="338" type="stmt" count="1"/>
      <line num="341" type="stmt" count="5"/>
      <line num="342" type="stmt" count="5"/>
      <line num="343" type="stmt" count="5"/>
      <line num="344" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="348" type="stmt" count="5"/>
      <line num="349" type="stmt" count="5"/>
      <line num="350" type="stmt" count="5"/>
      <line num="360" type="method" name="validateCallbackUrl" visibility="private" complexity="18" crap="18.12" count="14"/>
      <line num="361" type="stmt" count="14"/>
      <line num="362" type="stmt" count="14"/>
      <line num="363" type="stmt" count="14"/>
      <line num="365" type="stmt" count="14"/>
      <line num="366" type="stmt" count="1"/>
      <line num="367" type="stmt" count="13"/>
      <line num="368" type="stmt" count="1"/>
      <line num="371" type="stmt" count="12"/>
      <line num="372" type="stmt" count="12"/>
      <line num="373" type="stmt" count="12"/>
      <line num="374" type="stmt" count="1"/>
      <line num="376" type="stmt" count="11"/>
      <line num="378" type="stmt" count="11"/>
      <line num="379" type="stmt" count="4"/>
      <line num="382" type="stmt" count="2"/>
      <line num="383" type="stmt" count="2"/>
      <line num="384" type="stmt" count="2"/>
      <line num="385" type="stmt" count="2"/>
      <line num="390" type="stmt" count="2"/>
      <line num="391" type="stmt" count="1"/>
      <line num="392" type="stmt" count="1"/>
      <line num="393" type="stmt" count="1"/>
      <line num="394" type="stmt" count="1"/>
      <line num="396" type="stmt" count="7"/>
      <line num="398" type="stmt" count="1"/>
      <line num="399" type="stmt" count="1"/>
      <line num="400" type="stmt" count="1"/>
      <line num="401" type="stmt" count="6"/>
      <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="6"/>
      <line num="408" type="stmt" count="6"/>
      <line num="409" type="stmt" count="6"/>
      <line num="410" type="stmt" count="6"/>
      <line num="414" type="stmt" count="2"/>
      <line num="415" type="stmt" count="1"/>
      <line num="416" type="stmt" count="1"/>
      <line num="417" type="stmt" count="2"/>
      <line num="418" type="stmt" count="2"/>
      <line num="419" type="stmt" count="2"/>
      <line num="421" type="stmt" count="5"/>
      <line num="434" type="method" name="isSecureContext" visibility="private" complexity="9" crap="9" count="5"/>
      <line num="435" type="stmt" count="5"/>
      <line num="436" type="stmt" count="2"/>
      <line num="439" type="stmt" count="3"/>
      <line num="440" type="stmt" count="3"/>
      <line num="441" type="stmt" count="3"/>
      <line num="442" type="stmt" count="3"/>
      <line num="443" type="stmt" count="3"/>
      <line num="447" type="stmt" count="3"/>
      <line num="448" type="stmt" count="3"/>
      <line num="449" type="stmt" count="3"/>
      <line num="451" type="stmt" count="2"/>
      <line num="454" type="stmt" count="1"/>
      <line num="457" type="method" name="getErrorStatus" visibility="private" complexity="1" crap="1" count="21"/>
      <line num="458" type="stmt" count="21"/>
      <line num="461" type="method" name="getGenericErrorStatus" visibility="private" complexity="2" crap="2" count="11"/>
      <line num="462" type="stmt" count="11"/>
      <line num="463" type="stmt" count="9"/>
      <line num="465" type="stmt" count="2"/>
      <line num="469" type="method" name="getTooLongErrorStatus" visibility="private" complexity="1" crap="1" count="7"/>
      <line num="470" type="stmt" count="7"/>
      <line num="473" type="method" name="getStatusFormatter" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="474" type="stmt" count="1"/>
      <line num="489" type="method" name="getConsumerFields" visibility="private" complexity="6" crap="6" count="18"/>
      <line num="495" type="stmt" count="18"/>
      <line num="496" type="stmt" count="18"/>
      <line num="499" type="stmt" count="18"/>
      <line num="500" type="stmt" count="18"/>
      <line num="501" type="stmt" count="18"/>
      <line num="502" type="stmt" count="18"/>
      <line num="503" type="stmt" count="18"/>
      <line num="504" type="stmt" count="18"/>
      <line num="505" type="stmt" count="18"/>
      <line num="506" type="stmt" count="18"/>
      <line num="509" type="stmt" count="18"/>
      <line num="510" type="stmt" count="18"/>
      <line num="511" type="stmt" count="18"/>
      <line num="512" type="stmt" count="18"/>
      <line num="513" type="stmt" count="18"/>
      <line num="514" type="stmt" count="18"/>
      <line num="515" type="stmt" count="18"/>
      <line num="516" type="stmt" count="18"/>
      <line num="517" type="stmt" count="18"/>
      <line num="518" type="stmt" count="18"/>
      <line num="519" type="stmt" count="18"/>
      <line num="520" type="stmt" count="18"/>
      <line num="521" type="stmt" count="18"/>
      <line num="522" type="stmt" count="18"/>
      <line num="523" type="stmt" count="18"/>
      <line num="524" type="stmt" count="18"/>
      <line num="525" type="stmt" count="18"/>
      <line num="527" type="stmt" count="18"/>
      <line num="528" type="stmt" count="18"/>
      <line num="529" type="stmt" count="18"/>
      <line num="530" type="stmt" count="18"/>
      <line num="531" type="stmt" count="18"/>
      <line num="532" type="stmt" count="18"/>
      <line num="533" type="stmt" count="18"/>
      <line num="534" type="stmt" count="18"/>
      <line num="535" type="stmt" count="18"/>
      <line num="537" type="stmt" count="18"/>
      <line num="538" type="stmt" count="10"/>
      <line num="539" type="stmt" count="10"/>
      <line num="540" type="stmt" count="8"/>
      <line num="541" type="stmt" count="8"/>
      <line num="544" type="stmt" count="8"/>
      <line num="545" type="stmt" count="8"/>
      <line num="546" type="stmt" count="5"/>
      <line num="547" type="stmt" count="5"/>
      <line num="548" type="stmt" count="3"/>
      <line num="553" type="stmt" count="18"/>
      <line num="554" type="stmt" count="5"/>
      <line num="555" type="stmt" count="5"/>
      <line num="556" type="stmt" count="5"/>
      <line num="557" type="stmt" count="5"/>
      <line num="558" type="stmt" count="5"/>
      <line num="560" type="stmt" count="13"/>
      <line num="561" type="stmt" count="13"/>
      <line num="562" type="stmt" count="13"/>
      <line num="563" type="stmt" count="13"/>
      <line num="564" type="stmt" count="13"/>
      <line num="565" type="stmt" count="13"/>
      <line num="572" type="stmt" count="18"/>
      <line num="573" type="stmt" count="18"/>
      <line num="574" type="stmt" count="18"/>
      <line num="575" type="stmt" count="18"/>
      <line num="576" type="stmt" count="18"/>
      <line num="577" type="stmt" count="18"/>
      <line num="583" type="method" name="raiseInvalidConfigError" visibility="private" complexity="1" crap="1" count="16"/>
      <line num="584" type="stmt" count="16"/>
      <line num="585" type="stmt" count="16"/>
      <line num="586" type="stmt" count="16"/>
      <line num="587" type="stmt" count="16"/>
      <line num="588" type="stmt" count="16"/>
      <metrics loc="592" ncloc="475" classes="1" methods="13" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="293" coveredstatements="284" elements="306" coveredelements="294"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Control/DAOAccessControl.php">
      <class name="MediaWiki\Extension\OAuth\Control\DAOAccessControl" namespace="global">
        <metrics complexity="16" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="0" elements="30" coveredelements="0"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="37" type="method" name="wrap" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="50" type="method" name="getDAO" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="61" type="method" name="escapeForWikitext" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="76" type="method" name="escapeForHtml" 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="92" type="method" name="get" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="93" 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="99" type="stmt" count="0"/>
      <line num="108" type="method" name="userCanAccess" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <metrics loc="117" ncloc="68" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="0" elements="30" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Control/SubmitControl.php">
      <class name="MediaWiki\Extension\OAuth\Control\SubmitControl" namespace="global">
        <metrics complexity="45" methods="12" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="104" coveredstatements="65" elements="116" coveredelements="70"/>
      </class>
      <line num="39" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="31"/>
      <line num="40" type="stmt" count="31"/>
      <line num="41" type="stmt" count="31"/>
      <line num="47" type="method" name="setInputParameters" visibility="public" complexity="1" crap="1" count="29"/>
      <line num="48" type="stmt" count="29"/>
      <line num="60" type="method" name="submit" visibility="public" complexity="4" crap="4.10" count="29"/>
      <line num="61" type="stmt" count="29"/>
      <line num="62" type="stmt" count="29"/>
      <line num="63" type="stmt" count="0"/>
      <line num="66" type="stmt" count="29"/>
      <line num="67" type="stmt" count="29"/>
      <line num="68" type="stmt" count="29"/>
      <line num="70" type="stmt" count="0"/>
      <line num="73" type="stmt" count="29"/>
      <line num="74" type="stmt" count="29"/>
      <line num="75" type="stmt" count="6"/>
      <line num="78" type="stmt" count="24"/>
      <line num="90" type="method" name="registerValidators" visibility="public" complexity="3" crap="3" count="31"/>
      <line num="91" type="stmt" count="31"/>
      <line num="92" type="stmt" count="3"/>
      <line num="94" type="stmt" count="2"/>
      <line num="96" type="stmt" count="3"/>
      <line num="97" type="stmt" count="3"/>
      <line num="98" type="stmt" count="3"/>
      <line num="99" type="stmt" count="3"/>
      <line num="101" type="stmt" count="31"/>
      <line num="102" type="stmt" count="31"/>
      <line num="103" type="stmt" count="31"/>
      <line num="104" type="stmt" count="31"/>
      <line num="105" type="stmt" count="31"/>
      <line num="106" type="stmt" count="31"/>
      <line num="120" type="method" name="validateFieldInternal" visibility="public" complexity="7" crap="8.14" count="3"/>
      <line num="121" type="stmt" count="3"/>
      <line num="124" type="stmt" count="0"/>
      <line num="126" type="stmt" count="3"/>
      <line num="127" type="stmt" count="0"/>
      <line num="129" type="stmt" count="3"/>
      <line num="130" type="stmt" count="3"/>
      <line num="132" type="stmt" count="3"/>
      <line num="134" type="stmt" count="3"/>
      <line num="135" type="stmt" count="3"/>
      <line num="136" type="stmt" count="3"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="3"/>
      <line num="139" type="stmt" count="0"/>
      <line num="141" type="stmt" count="3"/>
      <line num="152" type="method" name="getDefaultValidationError" visibility="private" complexity="6" crap="42" 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="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="181" type="method" name="getValidationResult" visibility="private" complexity="10" crap="11.56" count="31"/>
      <line num="182" type="stmt" count="31"/>
      <line num="183" type="stmt" count="26"/>
      <line num="185" type="stmt" count="31"/>
      <line num="186" type="stmt" count="31"/>
      <line num="187" type="stmt" count="31"/>
      <line num="188" type="stmt" count="31"/>
      <line num="189" type="stmt" count="7"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="193" type="stmt" count="7"/>
      <line num="194" type="stmt" count="7"/>
      <line num="197" type="stmt" count="3"/>
      <line num="200" type="stmt" count="0"/>
      <line num="203" type="stmt" count="3"/>
      <line num="204" type="stmt" count="2"/>
      <line num="207" type="stmt" count="6"/>
      <line num="209" type="stmt" count="9"/>
      <line num="210" type="stmt" count="9"/>
      <line num="213" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="248" type="method" name="validateFields" visibility="protected" complexity="8" crap="9.21" count="29"/>
      <line num="249" type="stmt" count="29"/>
      <line num="250" type="stmt" count="29"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="29"/>
      <line num="253" type="stmt" count="29"/>
      <line num="255" type="stmt" count="0"/>
      <line num="257" type="stmt" count="29"/>
      <line num="258" type="stmt" count="29"/>
      <line num="260" type="stmt" count="29"/>
      <line num="261" type="stmt" count="29"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="29"/>
      <line num="265" type="stmt" count="6"/>
      <line num="268" type="stmt" count="24"/>
      <line num="285" type="method" name="failure" visibility="protected" complexity="1" crap="1" count="6"/>
      <line num="286" type="stmt" count="6"/>
      <line num="287" type="stmt" count="6"/>
      <line num="288" type="stmt" count="6"/>
      <line num="295" type="method" name="success" visibility="protected" complexity="1" crap="1" count="29"/>
      <line num="296" type="stmt" count="29"/>
      <line num="299" type="method" name="getIrrevocableGrants" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="314" type="method" name="getAcceptedConsumerGrants" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="315" type="stmt" count="0"/>
      <line num="316" type="stmt" count="0"/>
      <line num="317" 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="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <metrics loc="326" ncloc="204" classes="1" methods="12" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="104" coveredstatements="65" elements="116" coveredelements="70"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Control/Workflow.php">
      <class name="MediaWiki\Extension\OAuth\Control\Workflow" namespace="global">
        <metrics complexity="10" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="18" elements="21" coveredelements="19"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="24" type="stmt" count="9"/>
      <line num="33" type="method" name="consumerCanBeAutoApproved" visibility="public" complexity="9" crap="9.01" count="9"/>
      <line num="34" type="stmt" count="9"/>
      <line num="35" type="stmt" count="9"/>
      <line num="37" type="stmt" count="0"/>
      <line num="40" type="stmt" count="9"/>
      <line num="42" type="stmt" count="8"/>
      <line num="43" type="stmt" count="6"/>
      <line num="44" type="stmt" count="6"/>
      <line num="45" type="stmt" count="4"/>
      <line num="47" type="stmt" count="3"/>
      <line num="51" type="stmt" count="5"/>
      <line num="52" type="stmt" count="2"/>
      <line num="53" type="stmt" count="2"/>
      <line num="54" type="stmt" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="60" type="stmt" count="4"/>
      <line num="61" type="stmt" count="1"/>
      <line num="64" type="stmt" count="3"/>
      <line num="67" type="stmt" count="6"/>
      <metrics loc="71" ncloc="58" classes="1" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="18" elements="21" coveredelements="19"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Entity/AccessTokenEntity.php">
      <class name="MediaWiki\Extension\OAuth\Entity\AccessTokenEntity" namespace="global">
        <metrics complexity="33" methods="16" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="91" coveredstatements="51" elements="107" coveredelements="59"/>
      </class>
      <line num="51" type="method" name="__construct" visibility="public" complexity="8" crap="9.30" count="2"/>
      <line num="57" type="stmt" count="2"/>
      <line num="58" type="stmt" count="2"/>
      <line num="59" type="stmt" count="2"/>
      <line num="61" type="stmt" count="2"/>
      <line num="62" type="stmt" count="2"/>
      <line num="63" type="stmt" count="2"/>
      <line num="64" type="stmt" count="1"/>
      <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="1"/>
      <line num="72" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="76" type="stmt" count="2"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="0"/>
      <line num="80" type="stmt" count="1"/>
      <line num="82" type="stmt" count="2"/>
      <line num="83" type="stmt" count="2"/>
      <line num="87" type="stmt" count="2"/>
      <line num="90" type="method" name="__toString" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="91" type="stmt" count="1"/>
      <line num="94" type="method" name="toString" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="98" type="method" name="setIssuer" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="99" type="stmt" count="2"/>
      <line num="102" type="method" name="getIssuer" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="103" type="stmt" count="2"/>
      <line num="106" type="method" name="addClaim" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="107" type="stmt" count="1"/>
      <line num="110" type="method" name="getClaims" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="111" type="stmt" count="2"/>
      <line num="115" type="method" name="setPrivateKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" 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="130" type="method" name="setPrivateKeyFromConfig" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="131" 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="145" type="method" name="getApproval" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="149" type="method" name="isOwnerOnly" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="150" type="stmt" count="1"/>
      <line num="154" type="method" name="setJwtConfiguration" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="155" type="stmt" count="1"/>
      <line num="164" type="method" name="setApprovalFromClientScopesUser" visibility="private" complexity="7" crap="19.34" count="2"/>
      <line num="167" type="stmt" count="2"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="171" type="stmt" count="2"/>
      <line num="172" type="stmt" count="1"/>
      <line num="175" type="stmt" count="2"/>
      <line num="176" type="stmt" count="2"/>
      <line num="177" type="stmt" count="2"/>
      <line num="178" type="stmt" count="2"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" 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="198" type="method" name="confirmClientUsable" visibility="private" complexity="2" crap="3.19" count="2"/>
      <line num="199" type="stmt" count="2"/>
      <line num="201" type="stmt" count="2"/>
      <line num="202" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="209" type="method" name="convertToJWT" visibility="private" complexity="2" crap="2.00" count="1"/>
      <line num="215" type="stmt" count="1"/>
      <line num="216" type="stmt" count="1"/>
      <line num="217" type="stmt" count="1"/>
      <line num="218" type="stmt" count="1"/>
      <line num="219" type="stmt" count="1"/>
      <line num="220" type="stmt" count="1"/>
      <line num="221" type="stmt" count="1"/>
      <line num="222" type="stmt" count="1"/>
      <line num="224" type="stmt" count="1"/>
      <line num="225" type="stmt" count="0"/>
      <line num="228" type="stmt" count="1"/>
      <line num="229" type="stmt" count="1"/>
      <line num="230" type="stmt" count="1"/>
      <line num="231" type="stmt" count="1"/>
      <line num="234" type="method" name="getUserIdentifierForJwt" visibility="private" complexity="3" crap="3" count="1"/>
      <line num="235" type="stmt" count="1"/>
      <line num="238" type="stmt" count="1"/>
      <line num="244" type="stmt" count="1"/>
      <line num="246" type="stmt" count="1"/>
      <line num="250" type="stmt" count="1"/>
      <line num="251" type="stmt" count="1"/>
      <metrics loc="255" ncloc="213" classes="1" methods="16" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="91" coveredstatements="51" elements="107" coveredelements="59"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Entity/AuthCodeEntity.php">
      <class name="MediaWiki\Extension\OAuth\Entity\AuthCodeEntity" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="0" elements="9" coveredelements="0"/>
      </class>
      <line num="16" type="method" name="jsonSerialize" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <metrics loc="27" ncloc="27" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="0" elements="9" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Entity/ClaimEntity.php">
      <class name="MediaWiki\Extension\OAuth\Entity\ClaimEntity" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="3" elements="6" coveredelements="6"/>
      </class>
      <line num="7" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="11" type="stmt" count="3"/>
      <line num="13" type="method" name="getName" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="14" type="stmt" count="3"/>
      <line num="17" type="method" name="getValue" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="18" type="stmt" count="3"/>
      <metrics loc="22" ncloc="22" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="3" elements="6" coveredelements="6"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Entity/ClientEntity.php">
      <class name="MediaWiki\Extension\OAuth\Entity\ClientEntity" namespace="global">
        <metrics complexity="23" methods="14" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="48" coveredstatements="27" elements="62" coveredelements="33"/>
      </class>
      <line num="43" type="method" name="getRedirectUri" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="47" type="method" name="isConfidential" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="51" type="method" name="getIdentifier" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="58" type="method" name="setIdentifier" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="67" type="method" name="getAllowedGrants" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="77" type="method" name="getScopes" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="89" type="method" name="getUser" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="90" type="stmt" count="1"/>
      <line num="91" type="stmt" count="1"/>
      <line num="92" type="stmt" count="1"/>
      <line num="100" type="method" name="validate" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="112" type="method" name="getOAuthVersion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="120" type="method" name="isSecretValid" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="125" type="method" name="isGrantAllowed" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="137" type="method" name="authorize" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="158" type="method" name="getOwnerOnlyAccessToken" visibility="public" complexity="5" crap="5.51" count="1"/>
      <line num="161" type="stmt" count="1"/>
      <line num="163" type="stmt" count="1"/>
      <line num="164" type="stmt" count="1"/>
      <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="173" type="stmt" count="1"/>
      <line num="174" type="stmt" count="1"/>
      <line num="175" type="stmt" count="0"/>
      <line num="178" type="stmt" count="1"/>
      <line num="180" type="stmt" count="1"/>
      <line num="181" type="stmt" count="1"/>
      <line num="182" type="stmt" count="1"/>
      <line num="183" type="stmt" count="0"/>
      <line num="185" type="stmt" count="1"/>
      <line num="186" type="stmt" count="1"/>
      <line num="187" type="stmt" count="1"/>
      <line num="188" type="stmt" count="1"/>
      <line num="189" type="stmt" count="1"/>
      <line num="191" type="stmt" count="1"/>
      <line num="193" type="stmt" count="1"/>
      <line num="202" type="method" name="getVerifiedScopes" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <metrics loc="206" ncloc="141" classes="1" methods="14" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="48" coveredstatements="27" elements="62" coveredelements="33"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Entity/MWClientEntityInterface.php">
      <metrics loc="16" ncloc="10" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Entity/RefreshTokenEntity.php">
      <class name="MediaWiki\Extension\OAuth\Entity\RefreshTokenEntity" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="9" coveredelements="0"/>
      </class>
      <line num="21" type="method" name="getGraceExpiry" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="30" type="method" name="jsonSerialize" visibility="public" complexity="1" crap="2" 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"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <metrics loc="40" ncloc="29" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="9" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Entity/ScopeEntity.php">
      <class name="MediaWiki\Extension\OAuth\Entity\ScopeEntity" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="4" coveredelements="0"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="23" type="method" name="jsonSerialize" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <metrics loc="27" ncloc="19" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="4" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Entity/UserEntity.php">
      <class name="MediaWiki\Extension\OAuth\Entity\UserEntity" namespace="global">
        <metrics complexity="10" methods="6" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="5" elements="18" coveredelements="8"/>
      </class>
      <line num="25" type="method" name="newFromMWUser" visibility="public" complexity="3" crap="3" count="1"/>
      <line num="26" type="stmt" count="1"/>
      <line num="28" type="stmt" count="1"/>
      <line num="29" type="stmt" count="1"/>
      <line num="37" type="method" name="newFromCentralId" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="46" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="54" type="method" name="getIdentifier" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="55" type="stmt" count="1"/>
      <line num="58" type="method" name="getCentralId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="65" type="method" name="getMWUser" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <metrics loc="71" ncloc="44" classes="1" methods="6" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="5" elements="18" coveredelements="8"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Frontend/EchoHooks.php">
      <class name="MediaWiki\Extension\OAuth\Frontend\EchoHooks" namespace="global">
        <metrics complexity="3" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="0" elements="15" coveredelements="0"/>
      </class>
      <line num="12" type="method" name="onBeforeCreateEchoEvent" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="15" type="stmt" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <metrics loc="40" ncloc="36" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="0" elements="15" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Frontend/EchoOAuthStageChangePresentationModel.php">
      <class name="MediaWiki\Extension\OAuth\Frontend\EchoOAuthStageChangePresentationModel" namespace="global">
        <metrics complexity="22" methods="12" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="49" coveredstatements="0" elements="61" coveredelements="0"/>
      </class>
      <line num="31" type="method" name="getDefinition" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="54" type="method" name="canRender" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="60" type="method" name="getHeaderMessage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="67" type="method" name="getSubjectMessage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="74" type="method" name="getBodyMessage" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="80" type="method" name="getIconType" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="85" type="method" name="getPrimaryLink" visibility="public" complexity="3" crap="12" 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="91" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" 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="107" type="method" name="getSecondaryLinks" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="114" type="method" name="getConsumer" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="122" type="method" name="getOwnerName" visibility="protected" complexity="3" crap="12" 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="128" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="138" type="method" name="getConsumerName" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="146" type="method" name="getConsumerStage" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <metrics loc="151" ncloc="118" classes="1" methods="12" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="49" coveredstatements="0" elements="61" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Frontend/OAuthLogFormatter.php">
      <class name="MediaWiki\Extension\OAuth\Frontend\OAuthLogFormatter" namespace="global">
        <metrics complexity="13" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="42" coveredstatements="0" elements="46" coveredelements="0"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="37" type="method" name="getMessageParameters" visibility="protected" complexity="4" crap="20" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="58" type="method" name="getConsumerLink" visibility="protected" complexity="2" crap="6" 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="73" type="method" name="makeUserLink" visibility="protected" complexity="6" crap="42" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" 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="83" 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="89" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" 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="100" 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"/>
      <metrics loc="108" ncloc="93" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="42" coveredstatements="0" elements="46" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Frontend/Pagers/ListConsumersPager.php">
      <class name="MediaWiki\Extension\OAuth\Frontend\Pagers\ListConsumersPager" namespace="global">
        <metrics complexity="16" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="37" coveredstatements="0" elements="44" coveredelements="0"/>
      </class>
      <line num="35" type="method" name="__construct" visibility="public" complexity="8" crap="72" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" 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="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="75" type="method" name="getTitle" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="83" type="method" name="formatRow" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="90" type="method" name="getStartBody" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="101" type="method" name="getEndBody" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="112" type="method" name="getQueryInfo" visibility="public" complexity="1" crap="2" 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="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="123" type="method" name="getIndexField" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <metrics loc="127" ncloc="90" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="37" coveredstatements="0" elements="44" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Frontend/Pagers/ListMyConsumersPager.php">
      <class name="MediaWiki\Extension\OAuth\Frontend\Pagers\ListMyConsumersPager" namespace="global">
        <metrics complexity="11" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="0" elements="31" coveredelements="0"/>
      </class>
      <line num="33" type="method" name="__construct" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="54" type="method" name="getTitle" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="62" type="method" name="formatRow" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="69" type="method" name="getStartBody" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="80" type="method" name="getEndBody" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="91" type="method" name="getQueryInfo" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" 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="102" type="method" name="getIndexField" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <metrics loc="106" ncloc="71" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="0" elements="31" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Frontend/Pagers/ManageConsumersPager.php">
      <class name="MediaWiki\Extension\OAuth\Frontend\Pagers\ManageConsumersPager" namespace="global">
        <metrics complexity="11" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="0" elements="31" coveredelements="0"/>
      </class>
      <line num="33" type="method" name="__construct" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="54" type="method" name="getTitle" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="62" type="method" name="formatRow" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="69" type="method" name="getStartBody" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="80" type="method" name="getEndBody" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="91" type="method" name="getQueryInfo" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" 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="102" type="method" name="getIndexField" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <metrics loc="106" ncloc="71" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="0" elements="31" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Frontend/Pagers/ManageMyGrantsPager.php">
      <class name="MediaWiki\Extension\OAuth\Frontend\Pagers\ManageMyGrantsPager" namespace="global">
        <metrics complexity="11" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="32" coveredelements="0"/>
      </class>
      <line num="32" type="method" name="__construct" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="54" type="method" name="getTitle" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="62" type="method" name="formatRow" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="69" type="method" name="getStartBody" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="80" type="method" name="getEndBody" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="91" type="method" name="getQueryInfo" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" 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="102" type="method" name="getIndexField" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <metrics loc="106" ncloc="71" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="32" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Frontend/SpecialPages/SpecialMWOAuth.php">
      <class name="MediaWiki\Extension\OAuth\Frontend\SpecialPages\SpecialMWOAuth" namespace="global">
        <metrics complexity="112" methods="17" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="540" coveredstatements="0" elements="557" coveredelements="0"/>
      </class>
      <line num="62" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="72" type="method" name="doesWrites" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="77" type="method" name="getLocalName" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="87" type="method" name="execute" visibility="public" complexity="49" crap="2450" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="97" 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="103" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" 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="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="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="141" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" 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="155" 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="164" type="stmt" count="0"/>
      <line num="166" 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="173" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="185" 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="193" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" 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="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="210" 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="220" type="stmt" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" 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="244" type="stmt" count="0"/>
      <line num="248" 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="253" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="264" 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="279" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="291" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="307" 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="311" type="stmt" count="0"/>
      <line num="312" 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="319" type="stmt" count="0"/>
      <line num="321" 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="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="335" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <line num="350" type="stmt" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="355" type="stmt" count="0"/>
      <line num="356" type="stmt" count="0"/>
      <line num="357" type="stmt" count="0"/>
      <line num="358" type="stmt" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="365" 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="371" type="stmt" count="0"/>
      <line num="372" type="stmt" count="0"/>
      <line num="373" 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="382" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="385" type="stmt" count="0"/>
      <line num="387" type="stmt" count="0"/>
      <line num="388" type="stmt" count="0"/>
      <line num="389" type="stmt" count="0"/>
      <line num="390" type="stmt" count="0"/>
      <line num="391" type="stmt" count="0"/>
      <line num="392" type="stmt" count="0"/>
      <line num="393" type="stmt" count="0"/>
      <line num="395" type="stmt" count="0"/>
      <line num="396" type="stmt" count="0"/>
      <line num="397" type="stmt" count="0"/>
      <line num="398" type="stmt" count="0"/>
      <line num="399" 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="409" type="stmt" count="0"/>
      <line num="410" type="stmt" count="0"/>
      <line num="412" type="stmt" count="0"/>
      <line num="413" 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="422" type="stmt" count="0"/>
      <line num="429" type="method" name="showCancelPage" visibility="protected" complexity="4" crap="20" count="0"/>
      <line num="430" type="stmt" count="0"/>
      <line num="431" type="stmt" count="0"/>
      <line num="432" type="stmt" count="0"/>
      <line num="433" type="stmt" count="0"/>
      <line num="434" type="stmt" count="0"/>
      <line num="435" type="stmt" count="0"/>
      <line num="436" type="stmt" count="0"/>
      <line num="437" type="stmt" count="0"/>
      <line num="438" type="stmt" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <line num="442" type="stmt" count="0"/>
      <line num="444" 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="450" type="stmt" count="0"/>
      <line num="452" 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="457" type="stmt" count="0"/>
      <line num="458" type="stmt" count="0"/>
      <line num="471" type="method" name="outputJWT" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="472" type="stmt" count="0"/>
      <line num="473" type="stmt" count="0"/>
      <line num="475" type="stmt" count="0"/>
      <line num="478" type="stmt" count="0"/>
      <line num="479" type="stmt" count="0"/>
      <line num="480" type="stmt" count="0"/>
      <line num="489" type="method" name="handleAuthorizationForm" visibility="protected" complexity="28" crap="812" count="0"/>
      <line num="490" type="stmt" count="0"/>
      <line num="492" type="stmt" count="0"/>
      <line num="493" type="stmt" count="0"/>
      <line num="494" type="stmt" count="0"/>
      <line num="496" type="stmt" count="0"/>
      <line num="498" type="stmt" count="0"/>
      <line num="499" type="stmt" count="0"/>
      <line num="502" type="stmt" count="0"/>
      <line num="503" type="stmt" count="0"/>
      <line num="504" type="stmt" count="0"/>
      <line num="505" type="stmt" count="0"/>
      <line num="506" type="stmt" count="0"/>
      <line num="508" type="stmt" count="0"/>
      <line num="509" type="stmt" count="0"/>
      <line num="510" type="stmt" count="0"/>
      <line num="511" type="stmt" count="0"/>
      <line num="512" type="stmt" count="0"/>
      <line num="513" type="stmt" count="0"/>
      <line num="514" type="stmt" count="0"/>
      <line num="515" type="stmt" count="0"/>
      <line num="516" type="stmt" count="0"/>
      <line num="517" type="stmt" count="0"/>
      <line num="518" type="stmt" count="0"/>
      <line num="519" type="stmt" count="0"/>
      <line num="520" type="stmt" count="0"/>
      <line num="521" type="stmt" count="0"/>
      <line num="522" type="stmt" count="0"/>
      <line num="523" type="stmt" count="0"/>
      <line num="524" type="stmt" count="0"/>
      <line num="525" type="stmt" count="0"/>
      <line num="526" type="stmt" count="0"/>
      <line num="529" type="stmt" count="0"/>
      <line num="534" type="stmt" count="0"/>
      <line num="535" type="stmt" count="0"/>
      <line num="537" type="stmt" count="0"/>
      <line num="538" type="stmt" count="0"/>
      <line num="539" type="stmt" count="0"/>
      <line num="540" type="stmt" count="0"/>
      <line num="541" type="stmt" count="0"/>
      <line num="542" type="stmt" count="0"/>
      <line num="550" type="stmt" count="0"/>
      <line num="551" type="stmt" count="0"/>
      <line num="552" type="stmt" count="0"/>
      <line num="553" type="stmt" count="0"/>
      <line num="554" type="stmt" count="0"/>
      <line num="556" type="stmt" count="0"/>
      <line num="557" type="stmt" count="0"/>
      <line num="558" type="stmt" count="0"/>
      <line num="559" type="stmt" count="0"/>
      <line num="561" type="stmt" count="0"/>
      <line num="562" type="stmt" count="0"/>
      <line num="563" type="stmt" count="0"/>
      <line num="564" type="stmt" count="0"/>
      <line num="566" type="stmt" count="0"/>
      <line num="569" type="stmt" count="0"/>
      <line num="570" type="stmt" count="0"/>
      <line num="571" type="stmt" count="0"/>
      <line num="573" type="stmt" count="0"/>
      <line num="574" type="stmt" count="0"/>
      <line num="575" type="stmt" count="0"/>
      <line num="576" type="stmt" count="0"/>
      <line num="577" type="stmt" count="0"/>
      <line num="578" type="stmt" count="0"/>
      <line num="579" type="stmt" count="0"/>
      <line num="580" type="stmt" count="0"/>
      <line num="581" type="stmt" count="0"/>
      <line num="582" type="stmt" count="0"/>
      <line num="583" type="stmt" count="0"/>
      <line num="584" type="stmt" count="0"/>
      <line num="586" type="stmt" count="0"/>
      <line num="587" type="stmt" count="0"/>
      <line num="588" type="stmt" count="0"/>
      <line num="589" type="stmt" count="0"/>
      <line num="590" type="stmt" count="0"/>
      <line num="591" type="stmt" count="0"/>
      <line num="602" type="stmt" count="0"/>
      <line num="603" type="stmt" count="0"/>
      <line num="604" type="stmt" count="0"/>
      <line num="605" type="stmt" count="0"/>
      <line num="606" type="stmt" count="0"/>
      <line num="607" type="stmt" count="0"/>
      <line num="608" type="stmt" count="0"/>
      <line num="609" type="stmt" count="0"/>
      <line num="611" type="stmt" count="0"/>
      <line num="612" type="stmt" count="0"/>
      <line num="614" type="stmt" count="0"/>
      <line num="615" type="stmt" count="0"/>
      <line num="616" type="stmt" count="0"/>
      <line num="619" type="stmt" count="0"/>
      <line num="620" type="stmt" count="0"/>
      <line num="621" type="stmt" count="0"/>
      <line num="622" type="stmt" count="0"/>
      <line num="623" type="stmt" count="0"/>
      <line num="629" type="stmt" count="0"/>
      <line num="632" type="stmt" count="0"/>
      <line num="635" type="stmt" count="0"/>
      <line num="637" type="stmt" count="0"/>
      <line num="638" type="stmt" count="0"/>
      <line num="640" type="stmt" count="0"/>
      <line num="641" type="stmt" count="0"/>
      <line num="642" type="stmt" count="0"/>
      <line num="643" type="stmt" count="0"/>
      <line num="644" type="stmt" count="0"/>
      <line num="645" type="stmt" count="0"/>
      <line num="646" type="stmt" count="0"/>
      <line num="647" type="stmt" count="0"/>
      <line num="648" type="stmt" count="0"/>
      <line num="649" type="stmt" count="0"/>
      <line num="650" type="stmt" count="0"/>
      <line num="651" type="stmt" count="0"/>
      <line num="652" type="stmt" count="0"/>
      <line num="653" type="stmt" count="0"/>
      <line num="654" type="stmt" count="0"/>
      <line num="655" type="stmt" count="0"/>
      <line num="656" type="stmt" count="0"/>
      <line num="657" type="stmt" count="0"/>
      <line num="659" type="stmt" count="0"/>
      <line num="664" type="stmt" count="0"/>
      <line num="667" type="stmt" count="0"/>
      <line num="668" type="stmt" count="0"/>
      <line num="669" type="stmt" count="0"/>
      <line num="670" type="stmt" count="0"/>
      <line num="671" type="stmt" count="0"/>
      <line num="674" type="stmt" count="0"/>
      <line num="675" type="stmt" count="0"/>
      <line num="677" type="stmt" count="0"/>
      <line num="678" type="stmt" count="0"/>
      <line num="679" type="stmt" count="0"/>
      <line num="680" type="stmt" count="0"/>
      <line num="681" type="stmt" count="0"/>
      <line num="683" type="stmt" count="0"/>
      <line num="684" type="stmt" count="0"/>
      <line num="685" type="stmt" count="0"/>
      <line num="686" type="stmt" count="0"/>
      <line num="687" type="stmt" count="0"/>
      <line num="690" type="stmt" count="0"/>
      <line num="695" type="method" name="redirectToREST" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="696" type="stmt" count="0"/>
      <line num="697" type="stmt" count="0"/>
      <line num="698" type="stmt" count="0"/>
      <line num="699" type="stmt" count="0"/>
      <line num="700" type="stmt" count="0"/>
      <line num="701" type="stmt" count="0"/>
      <line num="702" type="stmt" count="0"/>
      <line num="703" type="stmt" count="0"/>
      <line num="704" type="stmt" count="0"/>
      <line num="705" type="stmt" count="0"/>
      <line num="707" type="stmt" count="0"/>
      <line num="708" type="stmt" count="0"/>
      <line num="709" type="stmt" count="0"/>
      <line num="712" type="stmt" count="0"/>
      <line num="713" type="stmt" count="0"/>
      <line num="714" type="stmt" count="0"/>
      <line num="715" type="stmt" count="0"/>
      <line num="716" type="stmt" count="0"/>
      <line num="718" type="stmt" count="0"/>
      <line num="719" type="stmt" count="0"/>
      <line num="720" type="stmt" count="0"/>
      <line num="721" type="stmt" count="0"/>
      <line num="722" type="stmt" count="0"/>
      <line num="729" type="method" name="getRequestValidators" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="730" type="stmt" count="0"/>
      <line num="731" type="stmt" count="0"/>
      <line num="732" type="stmt" count="0"/>
      <line num="733" type="stmt" count="0"/>
      <line num="734" type="stmt" count="0"/>
      <line num="735" type="stmt" count="0"/>
      <line num="736" type="stmt" count="0"/>
      <line num="737" type="stmt" count="0"/>
      <line num="738" type="stmt" count="0"/>
      <line num="739" type="stmt" count="0"/>
      <line num="740" type="stmt" count="0"/>
      <line num="741" type="stmt" count="0"/>
      <line num="742" type="stmt" count="0"/>
      <line num="743" type="stmt" count="0"/>
      <line num="744" type="stmt" count="0"/>
      <line num="745" type="stmt" count="0"/>
      <line num="746" type="stmt" count="0"/>
      <line num="747" type="stmt" count="0"/>
      <line num="748" type="stmt" count="0"/>
      <line num="749" type="stmt" count="0"/>
      <line num="750" type="stmt" count="0"/>
      <line num="751" type="stmt" count="0"/>
      <line num="752" type="stmt" count="0"/>
      <line num="753" type="stmt" count="0"/>
      <line num="754" type="stmt" count="0"/>
      <line num="755" type="stmt" count="0"/>
      <line num="756" type="stmt" count="0"/>
      <line num="757" type="stmt" count="0"/>
      <line num="758" type="stmt" count="0"/>
      <line num="759" type="stmt" count="0"/>
      <line num="760" type="stmt" count="0"/>
      <line num="761" type="stmt" count="0"/>
      <line num="762" type="stmt" count="0"/>
      <line num="763" type="stmt" count="0"/>
      <line num="764" type="stmt" count="0"/>
      <line num="765" type="stmt" count="0"/>
      <line num="766" type="stmt" count="0"/>
      <line num="767" type="stmt" count="0"/>
      <line num="769" type="stmt" count="0"/>
      <line num="770" type="stmt" count="0"/>
      <line num="771" type="stmt" count="0"/>
      <line num="772" type="stmt" count="0"/>
      <line num="773" type="stmt" count="0"/>
      <line num="774" type="stmt" count="0"/>
      <line num="775" type="stmt" count="0"/>
      <line num="776" type="stmt" count="0"/>
      <line num="777" type="stmt" count="0"/>
      <line num="778" type="stmt" count="0"/>
      <line num="779" type="stmt" count="0"/>
      <line num="780" type="stmt" count="0"/>
      <line num="783" type="stmt" count="0"/>
      <line num="793" type="method" name="getRequestedGrants" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="794" type="stmt" count="0"/>
      <line num="795" type="stmt" count="0"/>
      <line num="797" type="stmt" count="0"/>
      <line num="804" type="method" name="showError" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="805" type="stmt" count="0"/>
      <line num="806" type="stmt" count="0"/>
      <line num="807" type="stmt" count="0"/>
      <line num="808" type="stmt" count="0"/>
      <line num="809" type="stmt" count="0"/>
      <line num="810" type="stmt" count="0"/>
      <line num="811" type="stmt" count="0"/>
      <line num="812" type="stmt" count="0"/>
      <line num="813" type="stmt" count="0"/>
      <line num="814" type="stmt" count="0"/>
      <line num="822" type="method" name="returnToken" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="823" type="stmt" count="0"/>
      <line num="824" type="stmt" count="0"/>
      <line num="825" type="stmt" count="0"/>
      <line num="826" type="stmt" count="0"/>
      <line num="827" type="stmt" count="0"/>
      <line num="828" type="stmt" count="0"/>
      <line num="829" type="stmt" count="0"/>
      <line num="830" type="stmt" count="0"/>
      <line num="831" type="stmt" count="0"/>
      <line num="832" type="stmt" count="0"/>
      <line num="834" type="stmt" count="0"/>
      <line num="835" type="stmt" count="0"/>
      <line num="836" type="stmt" count="0"/>
      <line num="837" type="stmt" count="0"/>
      <line num="838" type="stmt" count="0"/>
      <line num="839" type="stmt" count="0"/>
      <line num="840" type="stmt" count="0"/>
      <line num="841" type="stmt" count="0"/>
      <line num="842" type="stmt" count="0"/>
      <line num="843" type="stmt" count="0"/>
      <line num="844" type="stmt" count="0"/>
      <line num="845" type="stmt" count="0"/>
      <line num="846" type="stmt" count="0"/>
      <line num="847" type="stmt" count="0"/>
      <line num="848" type="stmt" count="0"/>
      <line num="849" type="stmt" count="0"/>
      <line num="850" type="stmt" count="0"/>
      <line num="851" type="stmt" count="0"/>
      <line num="852" type="stmt" count="0"/>
      <line num="853" type="stmt" count="0"/>
      <line num="854" type="stmt" count="0"/>
      <line num="855" type="stmt" count="0"/>
      <line num="864" type="method" name="showResponse" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="865" type="stmt" count="0"/>
      <line num="866" type="stmt" count="0"/>
      <line num="867" type="stmt" count="0"/>
      <line num="869" type="stmt" count="0"/>
      <line num="871" type="stmt" count="0"/>
      <line num="872" type="stmt" count="0"/>
      <line num="873" type="stmt" count="0"/>
      <line num="874" type="stmt" count="0"/>
      <line num="875" type="stmt" count="0"/>
      <line num="876" type="stmt" count="0"/>
      <line num="877" type="stmt" count="0"/>
      <line num="879" type="stmt" count="0"/>
      <line num="881" type="stmt" count="0"/>
      <line num="882" type="stmt" count="0"/>
      <line num="883" type="stmt" count="0"/>
      <line num="892" type="method" name="useRealNames" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="893" type="stmt" count="0"/>
      <line num="894" type="stmt" count="0"/>
      <line num="903" type="method" name="determineOAuthVersion" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="904" type="stmt" count="0"/>
      <line num="906" type="stmt" count="0"/>
      <line num="913" type="method" name="assertOAuthVersion" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="914" type="stmt" count="0"/>
      <line num="915" type="stmt" count="0"/>
      <line num="916" type="stmt" count="0"/>
      <line num="917" type="stmt" count="0"/>
      <line num="918" type="stmt" count="0"/>
      <line num="922" type="method" name="makePrivacyLink" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="924" type="stmt" count="0"/>
      <line num="926" type="stmt" count="0"/>
      <line num="931" type="stmt" count="0"/>
      <line num="934" type="stmt" count="0"/>
      <line num="935" type="stmt" count="0"/>
      <line num="938" type="stmt" count="0"/>
      <line num="939" type="stmt" count="0"/>
      <line num="940" type="stmt" count="0"/>
      <line num="941" type="stmt" count="0"/>
      <metrics loc="944" ncloc="783" classes="1" methods="17" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="540" coveredstatements="0" elements="557" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Frontend/SpecialPages/SpecialMWOAuthConsumerRegistration.php">
      <class name="MediaWiki\Extension\OAuth\Frontend\SpecialPages\SpecialMWOAuthConsumerRegistration" namespace="global">
        <metrics complexity="77" methods="10" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="584" coveredstatements="447" elements="594" coveredelements="452"/>
      </class>
      <line num="50" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="21"/>
      <line num="56" type="stmt" count="21"/>
      <line num="60" type="method" name="doesWrites" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="65" type="method" name="userCanExecute" visibility="public" complexity="1" crap="1" count="18"/>
      <line num="66" type="stmt" count="18"/>
      <line num="70" type="method" name="displayRestrictionError" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="75" type="method" name="execute" visibility="public" complexity="39" crap="70.63" count="18"/>
      <line num="76" type="stmt" count="18"/>
      <line num="77" type="stmt" count="18"/>
      <line num="78" type="stmt" count="18"/>
      <line num="80" type="stmt" count="18"/>
      <line num="81" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="84" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <line num="89" type="stmt" count="1"/>
      <line num="92" type="stmt" count="17"/>
      <line num="94" type="stmt" count="16"/>
      <line num="96" type="stmt" count="15"/>
      <line num="97" type="stmt" count="15"/>
      <line num="98" type="stmt" count="15"/>
      <line num="99" type="stmt" count="15"/>
      <line num="103" type="stmt" count="15"/>
      <line num="104" type="stmt" count="15"/>
      <line num="105" type="stmt" count="15"/>
      <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="113" type="stmt" count="15"/>
      <line num="115" type="stmt" count="15"/>
      <line num="116" type="stmt" count="15"/>
      <line num="117" type="stmt" count="0"/>
      <line num="119" type="stmt" count="15"/>
      <line num="123" type="stmt" count="15"/>
      <line num="124" type="stmt" count="15"/>
      <line num="125" type="stmt" count="15"/>
      <line num="127" type="stmt" count="15"/>
      <line num="128" type="stmt" count="1"/>
      <line num="132" type="stmt" count="14"/>
      <line num="133" type="stmt" count="5"/>
      <line num="134" type="stmt" count="1"/>
      <line num="137" type="stmt" count="4"/>
      <line num="138" type="stmt" count="1"/>
      <line num="139" type="stmt" count="1"/>
      <line num="142" type="stmt" count="3"/>
      <line num="143" type="stmt" count="3"/>
      <line num="144" type="stmt" count="3"/>
      <line num="145" type="stmt" count="1"/>
      <line num="146" type="stmt" count="1"/>
      <line num="147" type="stmt" count="2"/>
      <line num="148" type="stmt" count="1"/>
      <line num="149" type="stmt" count="1"/>
      <line num="151" type="stmt" count="1"/>
      <line num="153" type="stmt" count="1"/>
      <line num="154" type="stmt" count="9"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="159" 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="164" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" 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="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="9"/>
      <line num="177" type="stmt" count="3"/>
      <line num="178" type="stmt" count="1"/>
      <line num="181" type="stmt" count="2"/>
      <line num="182" type="stmt" count="2"/>
      <line num="183" type="stmt" count="2"/>
      <line num="184" type="stmt" count="1"/>
      <line num="185" type="stmt" count="1"/>
      <line num="186" type="stmt" count="1"/>
      <line num="187" type="stmt" count="1"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="1"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="1"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="198" type="stmt" count="1"/>
      <line num="200" type="stmt" count="1"/>
      <line num="201" type="stmt" count="1"/>
      <line num="202" type="stmt" count="1"/>
      <line num="203" type="stmt" count="1"/>
      <line num="204" type="stmt" count="1"/>
      <line num="205" type="stmt" count="1"/>
      <line num="206" type="stmt" count="1"/>
      <line num="207" type="stmt" count="1"/>
      <line num="208" type="stmt" count="1"/>
      <line num="209" type="stmt" count="1"/>
      <line num="210" type="stmt" count="1"/>
      <line num="211" type="stmt" count="1"/>
      <line num="212" type="stmt" count="1"/>
      <line num="213" type="stmt" count="1"/>
      <line num="214" type="stmt" count="1"/>
      <line num="215" type="stmt" count="1"/>
      <line num="216" type="stmt" count="1"/>
      <line num="217" type="stmt" count="1"/>
      <line num="218" type="stmt" count="1"/>
      <line num="219" type="stmt" count="1"/>
      <line num="220" type="stmt" count="1"/>
      <line num="221" type="stmt" count="1"/>
      <line num="222" type="stmt" count="1"/>
      <line num="223" type="stmt" count="1"/>
      <line num="224" type="stmt" count="1"/>
      <line num="225" type="stmt" count="1"/>
      <line num="226" type="stmt" count="1"/>
      <line num="227" type="stmt" count="1"/>
      <line num="228" type="stmt" count="1"/>
      <line num="229" type="stmt" count="1"/>
      <line num="230" type="stmt" count="1"/>
      <line num="231" type="stmt" count="1"/>
      <line num="232" type="stmt" count="1"/>
      <line num="237" type="stmt" count="1"/>
      <line num="238" type="stmt" count="1"/>
      <line num="239" type="stmt" count="1"/>
      <line num="240" type="stmt" count="1"/>
      <line num="241" type="stmt" count="1"/>
      <line num="242" type="stmt" count="1"/>
      <line num="243" type="stmt" count="1"/>
      <line num="244" type="stmt" count="1"/>
      <line num="245" type="stmt" count="1"/>
      <line num="246" type="stmt" count="1"/>
      <line num="247" type="stmt" count="1"/>
      <line num="248" type="stmt" count="1"/>
      <line num="249" type="stmt" count="1"/>
      <line num="250" type="stmt" count="1"/>
      <line num="251" type="stmt" count="1"/>
      <line num="252" type="stmt" count="1"/>
      <line num="253" type="stmt" count="1"/>
      <line num="254" type="stmt" count="1"/>
      <line num="255" type="stmt" count="1"/>
      <line num="256" type="stmt" count="1"/>
      <line num="257" type="stmt" count="1"/>
      <line num="258" type="stmt" count="1"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="1"/>
      <line num="262" type="stmt" count="1"/>
      <line num="263" type="stmt" count="1"/>
      <line num="264" type="stmt" count="1"/>
      <line num="265" type="stmt" count="1"/>
      <line num="266" type="stmt" count="1"/>
      <line num="268" type="stmt" count="1"/>
      <line num="269" type="stmt" count="1"/>
      <line num="271" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="273" 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="278" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="284" 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="291" 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="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="306" type="stmt" count="1"/>
      <line num="308" type="stmt" count="1"/>
      <line num="309" type="stmt" count="1"/>
      <line num="310" type="stmt" count="1"/>
      <line num="311" type="stmt" count="1"/>
      <line num="312" type="stmt" count="1"/>
      <line num="313" type="stmt" count="1"/>
      <line num="314" type="stmt" count="1"/>
      <line num="315" type="stmt" count="1"/>
      <line num="316" type="stmt" count="1"/>
      <line num="318" type="stmt" count="1"/>
      <line num="319" type="stmt" count="7"/>
      <line num="322" type="stmt" count="6"/>
      <line num="323" type="stmt" count="6"/>
      <line num="324" type="stmt" count="5"/>
      <line num="325" type="stmt" count="5"/>
      <line num="326" type="stmt" count="5"/>
      <line num="328" type="stmt" count="1"/>
      <line num="331" type="stmt" count="6"/>
      <line num="332" type="stmt" count="0"/>
      <line num="334" type="stmt" count="6"/>
      <line num="336" type="stmt" count="1"/>
      <line num="339" type="stmt" count="12"/>
      <line num="341" type="stmt" count="12"/>
      <line num="351" type="method" name="addSubtitleLinks" visibility="protected" complexity="9" crap="9" count="12"/>
      <line num="352" type="stmt" count="12"/>
      <line num="353" type="stmt" count="12"/>
      <line num="354" type="stmt" count="3"/>
      <line num="355" type="stmt" count="1"/>
      <line num="356" type="stmt" count="1"/>
      <line num="357" type="stmt" count="1"/>
      <line num="358" type="stmt" count="1"/>
      <line num="359" type="stmt" count="1"/>
      <line num="360" type="stmt" count="2"/>
      <line num="361" type="stmt" count="1"/>
      <line num="362" type="stmt" count="1"/>
      <line num="363" type="stmt" count="1"/>
      <line num="364" type="stmt" count="1"/>
      <line num="365" type="stmt" count="1"/>
      <line num="368" type="stmt" count="9"/>
      <line num="369" type="stmt" count="9"/>
      <line num="370" type="stmt" count="9"/>
      <line num="371" type="stmt" count="9"/>
      <line num="372" type="stmt" count="9"/>
      <line num="373" type="stmt" count="9"/>
      <line num="374" type="stmt" count="9"/>
      <line num="375" type="stmt" count="9"/>
      <line num="377" type="stmt" count="12"/>
      <line num="378" type="stmt" count="7"/>
      <line num="379" type="stmt" count="7"/>
      <line num="380" type="stmt" count="7"/>
      <line num="381" type="stmt" count="7"/>
      <line num="383" type="stmt" count="6"/>
      <line num="385" type="stmt" count="12"/>
      <line num="386" type="stmt" count="1"/>
      <line num="387" type="stmt" count="1"/>
      <line num="388" type="stmt" count="1"/>
      <line num="389" type="stmt" count="1"/>
      <line num="392" type="stmt" count="12"/>
      <line num="394" type="stmt" count="12"/>
      <line num="395" type="stmt" count="12"/>
      <line num="396" type="stmt" count="12"/>
      <line num="397" type="stmt" count="12"/>
      <line num="398" type="stmt" count="12"/>
      <line num="399" type="stmt" count="12"/>
      <line num="401" type="stmt" count="12"/>
      <line num="402" type="stmt" count="12"/>
      <line num="403" type="stmt" count="12"/>
      <line num="411" type="method" name="formatRow" visibility="public" complexity="5" crap="5" count="5"/>
      <line num="412" type="stmt" count="5"/>
      <line num="413" type="stmt" count="5"/>
      <line num="414" type="stmt" count="5"/>
      <line num="415" type="stmt" count="5"/>
      <line num="417" type="stmt" count="5"/>
      <line num="418" type="stmt" count="5"/>
      <line num="419" type="stmt" count="5"/>
      <line num="420" type="stmt" count="5"/>
      <line num="421" type="stmt" count="5"/>
      <line num="422" type="stmt" count="5"/>
      <line num="423" type="stmt" count="5"/>
      <line num="424" type="stmt" count="5"/>
      <line num="425" type="stmt" count="5"/>
      <line num="426" type="stmt" count="5"/>
      <line num="427" type="stmt" count="5"/>
      <line num="428" type="stmt" count="5"/>
      <line num="429" type="stmt" count="5"/>
      <line num="430" type="stmt" count="5"/>
      <line num="433" type="stmt" count="5"/>
      <line num="435" type="stmt" count="5"/>
      <line num="436" type="stmt" count="5"/>
      <line num="438" type="stmt" count="5"/>
      <line num="439" type="stmt" count="5"/>
      <line num="441" type="stmt" count="5"/>
      <line num="442" type="stmt" count="5"/>
      <line num="443" type="stmt" count="3"/>
      <line num="444" type="stmt" count="2"/>
      <line num="445" type="stmt" count="5"/>
      <line num="446" type="stmt" count="5"/>
      <line num="447" type="stmt" count="5"/>
      <line num="448" type="stmt" count="5"/>
      <line num="449" type="stmt" count="5"/>
      <line num="450" type="stmt" count="5"/>
      <line num="451" type="stmt" count="5"/>
      <line num="452" type="stmt" count="5"/>
      <line num="453" type="stmt" count="5"/>
      <line num="454" type="stmt" count="5"/>
      <line num="455" type="stmt" count="5"/>
      <line num="456" type="stmt" count="5"/>
      <line num="457" type="stmt" count="0"/>
      <line num="458" type="stmt" count="0"/>
      <line num="459" type="stmt" count="0"/>
      <line num="463" type="stmt" count="5"/>
      <line num="464" type="stmt" count="5"/>
      <line num="465" type="stmt" count="5"/>
      <line num="466" type="stmt" count="5"/>
      <line num="467" type="stmt" count="5"/>
      <line num="468" type="stmt" count="5"/>
      <line num="469" type="stmt" count="5"/>
      <line num="470" type="stmt" count="5"/>
      <line num="471" type="stmt" count="5"/>
      <line num="473" type="stmt" count="5"/>
      <line num="477" type="stmt" count="5"/>
      <line num="478" type="stmt" count="5"/>
      <line num="479" type="stmt" count="5"/>
      <line num="480" type="stmt" count="5"/>
      <line num="481" type="stmt" count="5"/>
      <line num="484" type="stmt" count="5"/>
      <line num="485" type="stmt" count="5"/>
      <line num="486" type="stmt" count="5"/>
      <line num="487" type="stmt" count="5"/>
      <line num="488" type="stmt" count="5"/>
      <line num="489" type="stmt" count="5"/>
      <line num="490" type="stmt" count="5"/>
      <line num="491" type="stmt" count="5"/>
      <line num="492" type="stmt" count="5"/>
      <line num="494" type="stmt" count="5"/>
      <line num="496" type="stmt" count="5"/>
      <line num="498" type="stmt" count="5"/>
      <line num="502" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="503" type="stmt" count="0"/>
      <line num="513" type="method" name="proposeOAuth" visibility="private" complexity="16" crap="20.14" count="2"/>
      <line num="514" type="stmt" count="2"/>
      <line num="515" type="stmt" count="0"/>
      <line num="517" type="stmt" count="2"/>
      <line num="518" type="stmt" count="2"/>
      <line num="520" type="stmt" count="2"/>
      <line num="521" type="stmt" count="2"/>
      <line num="522" type="stmt" count="2"/>
      <line num="523" type="stmt" count="2"/>
      <line num="524" type="stmt" count="2"/>
      <line num="525" type="stmt" count="2"/>
      <line num="526" type="stmt" count="2"/>
      <line num="527" type="stmt" count="2"/>
      <line num="528" type="stmt" count="2"/>
      <line num="529" type="stmt" count="2"/>
      <line num="530" type="stmt" count="2"/>
      <line num="531" type="stmt" count="2"/>
      <line num="532" type="stmt" count="2"/>
      <line num="533" type="stmt" count="2"/>
      <line num="534" type="stmt" count="2"/>
      <line num="535" type="stmt" count="2"/>
      <line num="536" type="stmt" count="2"/>
      <line num="537" type="stmt" count="2"/>
      <line num="538" type="stmt" count="2"/>
      <line num="539" type="stmt" count="2"/>
      <line num="540" type="stmt" count="2"/>
      <line num="541" type="stmt" count="2"/>
      <line num="542" type="stmt" count="2"/>
      <line num="543" type="stmt" count="2"/>
      <line num="544" type="stmt" count="2"/>
      <line num="545" type="stmt" count="2"/>
      <line num="546" type="stmt" count="2"/>
      <line num="547" type="stmt" count="2"/>
      <line num="548" type="stmt" count="2"/>
      <line num="549" type="stmt" count="2"/>
      <line num="550" type="stmt" count="2"/>
      <line num="551" type="stmt" count="2"/>
      <line num="552" type="stmt" count="2"/>
      <line num="553" type="stmt" count="2"/>
      <line num="558" type="stmt" count="2"/>
      <line num="559" type="stmt" count="2"/>
      <line num="560" type="stmt" count="2"/>
      <line num="561" type="stmt" count="2"/>
      <line num="562" type="stmt" count="2"/>
      <line num="563" type="stmt" count="2"/>
      <line num="564" type="stmt" count="2"/>
      <line num="565" type="stmt" count="2"/>
      <line num="566" type="stmt" count="2"/>
      <line num="567" type="stmt" count="2"/>
      <line num="568" type="stmt" count="2"/>
      <line num="569" type="stmt" count="2"/>
      <line num="570" type="stmt" count="2"/>
      <line num="571" type="stmt" count="2"/>
      <line num="572" type="stmt" count="2"/>
      <line num="573" type="stmt" count="2"/>
      <line num="574" type="stmt" count="2"/>
      <line num="575" type="stmt" count="2"/>
      <line num="576" type="stmt" count="2"/>
      <line num="577" type="stmt" count="2"/>
      <line num="578" type="stmt" count="2"/>
      <line num="579" type="stmt" count="2"/>
      <line num="580" type="stmt" count="2"/>
      <line num="581" type="stmt" count="2"/>
      <line num="582" type="stmt" count="2"/>
      <line num="583" type="stmt" count="2"/>
      <line num="584" type="stmt" count="2"/>
      <line num="585" type="stmt" count="2"/>
      <line num="586" type="stmt" count="2"/>
      <line num="587" type="stmt" count="2"/>
      <line num="588" type="stmt" count="2"/>
      <line num="589" type="stmt" count="2"/>
      <line num="590" type="stmt" count="2"/>
      <line num="591" type="stmt" count="2"/>
      <line num="592" type="stmt" count="2"/>
      <line num="593" type="stmt" count="2"/>
      <line num="594" type="stmt" count="2"/>
      <line num="595" type="stmt" count="2"/>
      <line num="596" type="stmt" count="2"/>
      <line num="597" type="stmt" count="2"/>
      <line num="598" type="stmt" count="2"/>
      <line num="599" type="stmt" count="2"/>
      <line num="600" type="stmt" count="2"/>
      <line num="601" type="stmt" count="2"/>
      <line num="602" type="stmt" count="2"/>
      <line num="603" type="stmt" count="2"/>
      <line num="604" type="stmt" count="2"/>
      <line num="605" type="stmt" count="2"/>
      <line num="606" type="stmt" count="2"/>
      <line num="607" type="stmt" count="2"/>
      <line num="608" type="stmt" count="2"/>
      <line num="609" type="stmt" count="2"/>
      <line num="610" type="stmt" count="2"/>
      <line num="611" type="stmt" count="2"/>
      <line num="612" type="stmt" count="2"/>
      <line num="613" type="stmt" count="2"/>
      <line num="614" type="stmt" count="2"/>
      <line num="615" type="stmt" count="2"/>
      <line num="616" type="stmt" count="2"/>
      <line num="617" type="stmt" count="2"/>
      <line num="618" type="stmt" count="2"/>
      <line num="619" type="stmt" count="2"/>
      <line num="620" type="stmt" count="2"/>
      <line num="621" type="stmt" count="2"/>
      <line num="622" type="stmt" count="2"/>
      <line num="623" type="stmt" count="2"/>
      <line num="624" type="stmt" count="2"/>
      <line num="627" type="stmt" count="2"/>
      <line num="628" type="stmt" count="2"/>
      <line num="629" type="stmt" count="2"/>
      <line num="630" type="stmt" count="2"/>
      <line num="632" type="stmt" count="2"/>
      <line num="633" type="stmt" count="2"/>
      <line num="634" type="stmt" count="2"/>
      <line num="635" type="stmt" count="2"/>
      <line num="636" type="stmt" count="2"/>
      <line num="637" type="stmt" count="2"/>
      <line num="638" type="stmt" count="2"/>
      <line num="639" type="stmt" count="2"/>
      <line num="641" type="stmt" count="2"/>
      <line num="642" type="stmt" count="2"/>
      <line num="643" type="stmt" count="2"/>
      <line num="644" type="stmt" count="2"/>
      <line num="645" type="stmt" count="2"/>
      <line num="646" type="stmt" count="2"/>
      <line num="647" type="stmt" count="2"/>
      <line num="648" type="stmt" count="2"/>
      <line num="649" type="stmt" count="2"/>
      <line num="650" type="stmt" count="2"/>
      <line num="651" type="stmt" count="2"/>
      <line num="652" type="stmt" count="2"/>
      <line num="653" type="stmt" count="2"/>
      <line num="654" type="stmt" count="2"/>
      <line num="655" type="stmt" count="2"/>
      <line num="656" type="stmt" count="2"/>
      <line num="657" type="stmt" count="2"/>
      <line num="658" type="stmt" count="2"/>
      <line num="659" type="stmt" count="2"/>
      <line num="660" type="stmt" count="2"/>
      <line num="661" type="stmt" count="2"/>
      <line num="662" type="stmt" count="2"/>
      <line num="663" type="stmt" count="2"/>
      <line num="664" type="stmt" count="2"/>
      <line num="665" type="stmt" count="2"/>
      <line num="666" type="stmt" count="2"/>
      <line num="667" type="stmt" count="2"/>
      <line num="668" type="stmt" count="2"/>
      <line num="670" type="stmt" count="2"/>
      <line num="671" type="stmt" count="2"/>
      <line num="672" type="stmt" count="2"/>
      <line num="673" type="stmt" count="2"/>
      <line num="674" type="stmt" count="2"/>
      <line num="675" type="stmt" count="2"/>
      <line num="676" type="stmt" count="2"/>
      <line num="677" type="stmt" count="2"/>
      <line num="678" type="stmt" count="2"/>
      <line num="679" type="stmt" count="2"/>
      <line num="680" type="stmt" count="2"/>
      <line num="681" type="stmt" count="2"/>
      <line num="682" type="stmt" count="2"/>
      <line num="683" type="stmt" count="2"/>
      <line num="684" type="stmt" count="2"/>
      <line num="685" type="stmt" count="2"/>
      <line num="686" type="stmt" count="2"/>
      <line num="687" type="stmt" count="2"/>
      <line num="688" type="stmt" count="2"/>
      <line num="689" type="stmt" count="2"/>
      <line num="690" type="stmt" count="2"/>
      <line num="691" type="stmt" count="2"/>
      <line num="692" type="stmt" count="2"/>
      <line num="693" type="stmt" count="2"/>
      <line num="694" type="stmt" count="2"/>
      <line num="695" type="stmt" count="2"/>
      <line num="698" type="stmt" count="2"/>
      <line num="699" type="stmt" count="0"/>
      <line num="700" type="stmt" count="0"/>
      <line num="701" type="stmt" count="0"/>
      <line num="702" type="stmt" count="0"/>
      <line num="703" type="stmt" count="0"/>
      <line num="704" type="stmt" count="0"/>
      <line num="705" type="stmt" count="0"/>
      <line num="706" type="stmt" count="0"/>
      <line num="707" type="stmt" count="0"/>
      <line num="708" type="stmt" count="0"/>
      <line num="709" type="stmt" count="0"/>
      <line num="712" type="stmt" count="0"/>
      <line num="713" type="stmt" count="0"/>
      <line num="714" type="stmt" count="0"/>
      <line num="715" type="stmt" count="0"/>
      <line num="716" type="stmt" count="0"/>
      <line num="718" type="stmt" count="0"/>
      <line num="720" type="stmt" count="0"/>
      <line num="721" type="stmt" count="0"/>
      <line num="722" type="stmt" count="0"/>
      <line num="723" type="stmt" count="0"/>
      <line num="724" type="stmt" count="0"/>
      <line num="725" type="stmt" count="0"/>
      <line num="729" type="stmt" count="2"/>
      <line num="730" type="stmt" count="2"/>
      <line num="731" type="stmt" count="2"/>
      <line num="733" type="stmt" count="2"/>
      <line num="734" type="stmt" count="2"/>
      <line num="735" type="stmt" count="2"/>
      <line num="736" type="stmt" count="2"/>
      <line num="737" type="stmt" count="2"/>
      <line num="738" type="stmt" count="2"/>
      <line num="740" type="stmt" count="0"/>
      <line num="742" type="stmt" count="0"/>
      <line num="743" type="stmt" count="0"/>
      <line num="744" type="stmt" count="0"/>
      <line num="747" type="stmt" count="0"/>
      <line num="748" type="stmt" count="0"/>
      <line num="751" type="stmt" count="0"/>
      <line num="752" type="stmt" count="0"/>
      <line num="753" type="stmt" count="2"/>
      <line num="754" type="stmt" count="2"/>
      <line num="755" type="stmt" count="2"/>
      <line num="756" type="stmt" count="2"/>
      <line num="757" type="stmt" count="0"/>
      <line num="758" type="stmt" count="0"/>
      <line num="759" type="stmt" count="0"/>
      <line num="761" type="stmt" count="2"/>
      <line num="762" type="stmt" count="2"/>
      <line num="765" type="stmt" count="2"/>
      <line num="768" type="stmt" count="2"/>
      <line num="769" type="stmt" count="2"/>
      <line num="771" type="stmt" count="0"/>
      <line num="772" type="stmt" count="0"/>
      <line num="773" type="stmt" count="0"/>
      <line num="774" type="stmt" count="0"/>
      <line num="775" type="stmt" count="0"/>
      <line num="776" type="stmt" count="0"/>
      <line num="777" type="stmt" count="0"/>
      <line num="778" type="stmt" count="0"/>
      <line num="779" type="stmt" count="0"/>
      <line num="780" type="stmt" count="0"/>
      <line num="781" type="stmt" count="0"/>
      <line num="784" type="stmt" count="0"/>
      <line num="785" type="stmt" count="0"/>
      <line num="786" type="stmt" count="0"/>
      <line num="787" type="stmt" count="0"/>
      <line num="788" type="stmt" count="0"/>
      <line num="789" type="stmt" count="0"/>
      <line num="790" type="stmt" count="0"/>
      <line num="791" type="stmt" count="0"/>
      <line num="792" type="stmt" count="0"/>
      <line num="794" type="stmt" count="0"/>
      <line num="797" type="stmt" count="0"/>
      <line num="798" type="stmt" count="0"/>
      <line num="799" type="stmt" count="0"/>
      <line num="800" type="stmt" count="0"/>
      <line num="804" type="stmt" count="0"/>
      <line num="805" type="stmt" count="0"/>
      <line num="806" type="stmt" count="0"/>
      <line num="808" type="stmt" count="0"/>
      <line num="818" type="method" name="fillDefaultFields" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="820" type="stmt" count="0"/>
      <line num="821" type="stmt" count="0"/>
      <line num="822" type="stmt" count="0"/>
      <line num="823" type="stmt" count="0"/>
      <line num="824" type="stmt" count="0"/>
      <line num="825" type="stmt" count="0"/>
      <line num="826" type="stmt" count="0"/>
      <line num="827" type="stmt" count="0"/>
      <line num="828" type="stmt" count="0"/>
      <line num="829" type="stmt" count="0"/>
      <line num="831" type="stmt" count="0"/>
      <line num="836" type="stmt" count="0"/>
      <line num="837" type="stmt" count="0"/>
      <line num="840" type="stmt" count="0"/>
      <metrics loc="843" ncloc="764" classes="1" methods="10" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="584" coveredstatements="447" elements="594" coveredelements="452"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Frontend/SpecialPages/SpecialMWOAuthListConsumers.php">
      <class name="MediaWiki\Extension\OAuth\Frontend\SpecialPages\SpecialMWOAuthListConsumers" namespace="global">
        <metrics complexity="50" methods="12" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="249" coveredstatements="0" elements="261" coveredelements="0"/>
      </class>
      <line num="42" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="50" type="method" name="execute" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="79" type="method" name="showConsumerInfo" visibility="protected" complexity="16" crap="272" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" 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="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="105" 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="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="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" 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="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="133" type="stmt" count="0"/>
      <line num="134" 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="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="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="149" 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="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="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="168" type="method" name="showConsumerListForm" visibility="protected" complexity="2" crap="6" 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="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="181" 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="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="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="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" 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="204" 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="214" type="method" name="showConsumerList" visibility="protected" complexity="4" crap="20" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="217" 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="222" type="stmt" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="247" type="method" name="formatRow" visibility="public" complexity="8" crap="72" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" 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="255" type="stmt" 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="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="272" 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="279" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="284" 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="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="307" type="stmt" count="0"/>
      <line num="310" type="stmt" count="0"/>
      <line num="311" type="stmt" count="0"/>
      <line num="312" 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="317" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="326" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="334" type="method" name="addNavigationSubtitle" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="335" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <line num="347" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="350" type="stmt" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="354" type="stmt" count="0"/>
      <line num="365" type="method" name="updateLink" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="371" 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="376" type="stmt" count="0"/>
      <line num="377" type="stmt" count="0"/>
      <line num="380" type="stmt" count="0"/>
      <line num="390" type="method" name="manageConsumerLink" visibility="private" complexity="3" crap="12" 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="397" type="stmt" count="0"/>
      <line num="398" type="stmt" count="0"/>
      <line num="399" type="stmt" count="0"/>
      <line num="400" type="stmt" count="0"/>
      <line num="403" type="stmt" count="0"/>
      <line num="414" type="method" name="manageMyGrantsLink" visibility="private" complexity="2" crap="6" 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="426" type="stmt" count="0"/>
      <line num="434" type="method" name="userGrantedAcceptance" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="435" type="stmt" count="0"/>
      <line num="436" type="stmt" count="0"/>
      <line num="437" type="stmt" count="0"/>
      <line num="438" type="stmt" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <line num="440" type="stmt" count="0"/>
      <line num="441" type="stmt" count="0"/>
      <line num="443" type="stmt" count="0"/>
      <line num="444" 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="452" type="stmt" count="0"/>
      <line num="453" type="stmt" count="0"/>
      <line num="455" type="stmt" count="0"/>
      <metrics loc="458" ncloc="392" classes="1" methods="12" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="249" coveredstatements="0" elements="261" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Frontend/SpecialPages/SpecialMWOAuthManageConsumers.php">
      <class name="MediaWiki\Extension\OAuth\Frontend\SpecialPages\SpecialMWOAuthManageConsumers" namespace="global">
        <metrics complexity="63" methods="12" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="346" coveredstatements="0" elements="358" coveredelements="0"/>
      </class>
      <line num="69" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="78" type="method" name="getRestriction" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="83" type="method" name="doesWrites" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="88" type="method" name="execute" visibility="public" complexity="14" crap="210" 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="93" 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="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="119" 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="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="138" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="154" type="method" name="addQueueSubtitleLinks" visibility="protected" complexity="5" crap="30" 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="160" type="stmt" count="0"/>
      <line num="161" type="stmt" 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="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="176" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="181" 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="186" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="197" type="method" name="showMainHub" visibility="protected" complexity="4" crap="20" count="0"/>
      <line num="198" 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="203" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="206" 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="212" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="221" 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="227" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="252" type="method" name="handleConsumerForm" visibility="protected" complexity="12" crap="156" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="267" 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="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="277" type="stmt" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="284" 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="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="304" type="stmt" 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="308" type="stmt" count="0"/>
      <line num="309" type="stmt" count="0"/>
      <line num="311" type="stmt" count="0"/>
      <line num="312" 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="317" type="stmt" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="328" 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="335" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="347" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="350" type="stmt" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="356" type="stmt" count="0"/>
      <line num="357" type="stmt" count="0"/>
      <line num="358" type="stmt" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="364" 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="369" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="371" type="stmt" count="0"/>
      <line num="372" type="stmt" count="0"/>
      <line num="373" type="stmt" count="0"/>
      <line num="381" type="method" name="getInfoTableOptions" visibility="protected" complexity="11" crap="132" count="0"/>
      <line num="382" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="385" type="stmt" count="0"/>
      <line num="386" type="stmt" count="0"/>
      <line num="387" type="stmt" count="0"/>
      <line num="388" type="stmt" count="0"/>
      <line num="389" type="stmt" count="0"/>
      <line num="390" type="stmt" count="0"/>
      <line num="391" type="stmt" count="0"/>
      <line num="392" 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="400" type="stmt" count="0"/>
      <line num="401" type="stmt" count="0"/>
      <line num="402" type="stmt" count="0"/>
      <line num="403" 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="412" 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="425" type="stmt" count="0"/>
      <line num="426" type="stmt" count="0"/>
      <line num="427" type="stmt" count="0"/>
      <line num="428" type="stmt" count="0"/>
      <line num="429" type="stmt" count="0"/>
      <line num="430" type="stmt" count="0"/>
      <line num="431" type="stmt" count="0"/>
      <line num="432" type="stmt" count="0"/>
      <line num="433" type="stmt" count="0"/>
      <line num="434" type="stmt" count="0"/>
      <line num="437" type="stmt" count="0"/>
      <line num="439" type="stmt" 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="444" 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="448" type="stmt" count="0"/>
      <line num="449" type="stmt" count="0"/>
      <line num="450" type="stmt" count="0"/>
      <line num="451" type="stmt" count="0"/>
      <line num="455" type="stmt" count="0"/>
      <line num="456" type="stmt" count="0"/>
      <line num="457" 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="470" type="method" name="formatCallbackUrl" visibility="protected" complexity="5" crap="30" count="0"/>
      <line num="471" type="stmt" count="0"/>
      <line num="472" 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="478" type="stmt" count="0"/>
      <line num="479" type="stmt" count="0"/>
      <line num="480" type="stmt" count="0"/>
      <line num="483" type="stmt" count="0"/>
      <line num="484" type="stmt" count="0"/>
      <line num="486" type="stmt" count="0"/>
      <line num="487" type="stmt" count="0"/>
      <line num="488" type="stmt" count="0"/>
      <line num="494" type="method" name="showConsumerList" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="495" type="stmt" count="0"/>
      <line num="496" type="stmt" count="0"/>
      <line num="497" type="stmt" count="0"/>
      <line num="498" type="stmt" count="0"/>
      <line num="499" type="stmt" count="0"/>
      <line num="504" type="stmt" count="0"/>
      <line num="507" type="stmt" count="0"/>
      <line num="508" type="stmt" count="0"/>
      <line num="517" type="method" name="formatRow" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="518" type="stmt" count="0"/>
      <line num="519" type="stmt" count="0"/>
      <line num="520" type="stmt" count="0"/>
      <line num="521" type="stmt" count="0"/>
      <line num="523" type="stmt" count="0"/>
      <line num="524" type="stmt" count="0"/>
      <line num="526" type="stmt" count="0"/>
      <line num="527" type="stmt" count="0"/>
      <line num="528" type="stmt" count="0"/>
      <line num="529" type="stmt" count="0"/>
      <line num="531" type="stmt" count="0"/>
      <line num="532" type="stmt" count="0"/>
      <line num="534" type="stmt" count="0"/>
      <line num="535" type="stmt" count="0"/>
      <line num="536" type="stmt" count="0"/>
      <line num="538" type="stmt" count="0"/>
      <line num="540" type="stmt" count="0"/>
      <line num="541" type="stmt" count="0"/>
      <line num="542" type="stmt" count="0"/>
      <line num="543" type="stmt" count="0"/>
      <line num="544" type="stmt" count="0"/>
      <line num="545" type="stmt" count="0"/>
      <line num="546" type="stmt" count="0"/>
      <line num="547" type="stmt" count="0"/>
      <line num="548" type="stmt" count="0"/>
      <line num="549" type="stmt" count="0"/>
      <line num="550" type="stmt" count="0"/>
      <line num="551" type="stmt" count="0"/>
      <line num="552" type="stmt" count="0"/>
      <line num="553" type="stmt" count="0"/>
      <line num="554" type="stmt" count="0"/>
      <line num="555" type="stmt" count="0"/>
      <line num="556" type="stmt" count="0"/>
      <line num="557" type="stmt" count="0"/>
      <line num="558" type="stmt" count="0"/>
      <line num="562" type="stmt" count="0"/>
      <line num="563" type="stmt" count="0"/>
      <line num="564" type="stmt" count="0"/>
      <line num="565" type="stmt" count="0"/>
      <line num="566" type="stmt" count="0"/>
      <line num="567" type="stmt" count="0"/>
      <line num="568" type="stmt" count="0"/>
      <line num="569" type="stmt" count="0"/>
      <line num="570" type="stmt" count="0"/>
      <line num="571" type="stmt" count="0"/>
      <line num="573" type="stmt" count="0"/>
      <line num="574" type="stmt" count="0"/>
      <line num="575" type="stmt" count="0"/>
      <line num="576" type="stmt" count="0"/>
      <line num="577" type="stmt" count="0"/>
      <line num="580" type="stmt" count="0"/>
      <line num="581" type="stmt" count="0"/>
      <line num="582" type="stmt" count="0"/>
      <line num="583" type="stmt" count="0"/>
      <line num="584" type="stmt" count="0"/>
      <line num="585" type="stmt" count="0"/>
      <line num="587" type="stmt" count="0"/>
      <line num="589" type="stmt" count="0"/>
      <line num="591" type="stmt" count="0"/>
      <line num="595" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="596" type="stmt" count="0"/>
      <metrics loc="600" ncloc="511" classes="1" methods="12" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="346" coveredstatements="0" elements="358" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Frontend/SpecialPages/SpecialMWOAuthManageMyGrants.php">
      <class name="MediaWiki\Extension\OAuth\Frontend\SpecialPages\SpecialMWOAuthManageMyGrants" namespace="global">
        <metrics complexity="30" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="202" coveredstatements="0" elements="211" coveredelements="0"/>
      </class>
      <line num="39" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="48" type="method" name="getRestriction" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="53" type="method" name="doesWrites" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="58" type="method" name="execute" visibility="public" complexity="8" crap="72" 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="62" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="100" type="method" name="addSubtitleLinks" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="101" 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="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="122" 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="138" type="method" name="handleConsumerForm" visibility="protected" complexity="11" crap="132" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" 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="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="152" 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="160" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" 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="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="181" 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="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="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="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" 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="204" 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="209" 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="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" 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="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="227" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" 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="245" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="266" type="method" name="showConsumerList" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="269" 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="277" type="stmt" count="0"/>
      <line num="286" type="method" name="formatRow" visibility="public" complexity="2" crap="6" 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="293" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="304" type="stmt" 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="308" type="stmt" count="0"/>
      <line num="310" type="stmt" count="0"/>
      <line num="311" 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="317" type="stmt" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="338" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <metrics loc="342" ncloc="303" classes="1" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="202" coveredstatements="0" elements="211" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Frontend/UIHooks.php">
      <class name="MediaWiki\Extension\OAuth\Frontend\UIHooks" namespace="global">
        <metrics complexity="20" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="105" coveredstatements="0" elements="111" coveredelements="0"/>
      </class>
      <line num="38" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="49" type="method" name="onGetPreferences" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" 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="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" 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="76" 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="81" 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="89" type="stmt" count="0"/>
      <line num="99" type="method" name="onMessagesPreLoad" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" 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="129" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="142" type="method" name="onSpecialPageAfterExecute" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="149" 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="158" 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="166" 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="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="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="189" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="200" type="method" name="onSpecialPageBeforeFormDisplay" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" 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="213" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="223" type="method" name="onLoginFormValidErrorMessages" visibility="public" complexity="1" crap="2" 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="227" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <metrics loc="232" ncloc="194" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="105" coveredstatements="0" elements="111" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Frontend/UIUtils.php">
      <class name="MediaWiki\Extension\OAuth\Frontend\UIUtils" namespace="global">
        <metrics complexity="4" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="0" elements="14" coveredelements="0"/>
      </class>
      <line num="22" type="method" name="generateInfoTable" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" type="stmt" 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="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"/>
      <line num="35" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <metrics loc="40" ncloc="28" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="0" elements="14" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/HookRunner.php">
      <class name="MediaWiki\Extension\OAuth\HookRunner" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="7" coveredelements="7"/>
      </class>
      <line num="11" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="12" type="stmt" count="1"/>
      <line num="20" type="method" name="onOAuthClaimStoreGetClaims" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="23" type="stmt" count="1"/>
      <line num="24" type="stmt" count="1"/>
      <line num="25" type="stmt" count="1"/>
      <line num="26" type="stmt" count="1"/>
      <metrics loc="29" ncloc="23" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="7" coveredelements="7"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Lib/OAuthConsumer.php">
      <class name="MediaWiki\Extension\OAuth\Lib\OAuthConsumer" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="4" elements="6" coveredelements="6"/>
      </class>
      <line num="34" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <line num="40" type="method" name="__toString" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <metrics loc="44" ncloc="20" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="4" elements="6" coveredelements="6"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Lib/OAuthDataStore.php">
      <class name="MediaWiki\Extension\OAuth\Lib\OAuthDataStore" namespace="global">
        <metrics complexity="5" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="10" coveredelements="0"/>
      </class>
      <line num="30" type="method" name="lookup_consumer" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="34" type="method" name="lookup_token" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="38" type="method" name="lookup_nonce" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="42" type="method" name="new_request_token" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="46" type="method" name="new_access_token" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <metrics loc="54" ncloc="22" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="10" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Lib/OAuthException.php">
      <class name="MediaWiki\Extension\OAuth\Lib\OAuthException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="37" ncloc="9" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Lib/OAuthRequest.php">
      <class name="MediaWiki\Extension\OAuth\Lib\OAuthRequest" namespace="global">
        <metrics complexity="47" methods="19" coveredmethods="19" conditionals="0" coveredconditionals="0" statements="105" coveredstatements="105" elements="124" coveredelements="124"/>
      </class>
      <line num="51" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="20"/>
      <line num="52" type="stmt" count="20"/>
      <line num="53" type="stmt" count="20"/>
      <line num="54" type="stmt" count="20"/>
      <line num="55" type="stmt" count="20"/>
      <line num="56" type="stmt" count="20"/>
      <line num="57" type="stmt" count="20"/>
      <line num="58" type="stmt" count="20"/>
      <line num="59" type="stmt" count="20"/>
      <line num="60" type="stmt" count="20"/>
      <line num="66" type="method" name="from_request" visibility="public" complexity="11" crap="11" count="15"/>
      <line num="67" type="stmt" count="15"/>
      <line num="68" type="stmt" count="15"/>
      <line num="69" type="stmt" count="15"/>
      <line num="75" type="stmt" count="15"/>
      <line num="77" type="stmt" count="15"/>
      <line num="80" type="stmt" count="15"/>
      <line num="84" type="stmt" count="15"/>
      <line num="85" type="stmt" count="15"/>
      <line num="86" type="stmt" count="15"/>
      <line num="87" type="stmt" count="15"/>
      <line num="89" type="stmt" count="12"/>
      <line num="90" type="stmt" count="12"/>
      <line num="95" type="stmt" count="15"/>
      <line num="96" type="stmt" count="15"/>
      <line num="97" type="stmt" count="15"/>
      <line num="98" type="stmt" count="15"/>
      <line num="99" type="stmt" count="15"/>
      <line num="101" type="stmt" count="3"/>
      <line num="102" type="stmt" count="3"/>
      <line num="106" type="stmt" count="15"/>
      <line num="112" type="method" name="from_consumer_and_token" visibility="public" complexity="3" crap="3" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="115" type="stmt" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <line num="126" type="stmt" count="1"/>
      <line num="129" type="method" name="set_parameter" visibility="public" complexity="4" crap="4" count="3"/>
      <line num="130" type="stmt" count="3"/>
      <line num="132" type="stmt" count="1"/>
      <line num="135" type="stmt" count="1"/>
      <line num="138" type="stmt" count="1"/>
      <line num="140" type="stmt" count="3"/>
      <line num="144" type="method" name="get_parameter" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="145" type="stmt" count="6"/>
      <line num="148" type="method" name="get_parameters" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="149" type="stmt" count="4"/>
      <line num="152" type="method" name="unset_parameter" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="153" type="stmt" count="1"/>
      <line num="160" type="method" name="get_signable_parameters" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="162" type="stmt" count="4"/>
      <line num="166" type="stmt" count="4"/>
      <line num="167" type="stmt" count="3"/>
      <line num="170" type="stmt" count="4"/>
      <line num="180" type="method" name="get_signature_base_string" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="181" type="stmt" count="3"/>
      <line num="182" type="stmt" count="3"/>
      <line num="183" type="stmt" count="3"/>
      <line num="184" type="stmt" count="3"/>
      <line num="185" type="stmt" count="3"/>
      <line num="187" type="stmt" count="3"/>
      <line num="189" type="stmt" count="3"/>
      <line num="195" type="method" name="get_normalized_http_method" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="196" type="stmt" count="5"/>
      <line num="203" type="method" name="get_normalized_http_url" visibility="public" complexity="6" crap="6" count="7"/>
      <line num="204" type="stmt" count="7"/>
      <line num="206" type="stmt" count="7"/>
      <line num="207" type="stmt" count="7"/>
      <line num="208" type="stmt" count="7"/>
      <line num="209" type="stmt" count="7"/>
      <line num="211" type="stmt" count="7"/>
      <line num="212" type="stmt" count="1"/>
      <line num="215" type="stmt" count="7"/>
      <line num="221" type="method" name="to_url" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="222" type="stmt" count="2"/>
      <line num="223" type="stmt" count="2"/>
      <line num="224" type="stmt" count="2"/>
      <line num="225" type="stmt" count="2"/>
      <line num="228" type="stmt" count="2"/>
      <line num="234" type="method" name="to_postdata" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="235" type="stmt" count="4"/>
      <line num="243" type="method" name="to_header" visibility="public" complexity="6" crap="6" count="2"/>
      <line num="244" type="stmt" count="2"/>
      <line num="245" type="stmt" count="2"/>
      <line num="246" type="stmt" count="1"/>
      <line num="247" type="stmt" count="1"/>
      <line num="249" type="stmt" count="2"/>
      <line num="251" type="stmt" count="2"/>
      <line num="252" type="stmt" count="2"/>
      <line num="253" type="stmt" count="2"/>
      <line num="254" type="stmt" count="1"/>
      <line num="256" type="stmt" count="2"/>
      <line num="257" type="stmt" count="1"/>
      <line num="259" type="stmt" count="1"/>
      <line num="260" type="stmt" count="1"/>
      <line num="261" type="stmt" count="1"/>
      <line num="262" type="stmt" count="1"/>
      <line num="263" type="stmt" count="1"/>
      <line num="266" type="stmt" count="1"/>
      <line num="269" type="method" name="__toString" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="270" type="stmt" count="1"/>
      <line num="273" type="method" name="sign_request" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="274" type="stmt" count="1"/>
      <line num="275" type="stmt" count="1"/>
      <line num="276" type="stmt" count="1"/>
      <line num="277" type="stmt" count="1"/>
      <line num="278" type="stmt" count="1"/>
      <line num="279" type="stmt" count="1"/>
      <line num="280" type="stmt" count="1"/>
      <line num="283" type="method" name="build_signature" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="284" type="stmt" count="2"/>
      <line num="286" type="stmt" count="2"/>
      <line num="292" type="method" name="generate_timestamp" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="293" type="stmt" count="1"/>
      <line num="299" type="method" name="generate_nonce" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="300" type="stmt" count="1"/>
      <line num="301" type="stmt" count="1"/>
      <line num="303" type="stmt" count="1"/>
      <metrics loc="306" ncloc="217" classes="1" methods="19" coveredmethods="19" conditionals="0" coveredconditionals="0" statements="105" coveredstatements="105" elements="124" coveredelements="124"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Lib/OAuthServer.php">
      <class name="MediaWiki\Extension\OAuth\Lib\OAuthServer" namespace="global">
        <metrics complexity="30" methods="12" coveredmethods="12" conditionals="0" coveredconditionals="0" statements="111" coveredstatements="111" elements="123" coveredelements="123"/>
      </class>
      <line num="53" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="22"/>
      <line num="54" type="stmt" count="22"/>
      <line num="55" type="stmt" count="22"/>
      <line num="62" type="method" name="add_signature_method" visibility="public" complexity="1" crap="1" count="22"/>
      <line num="63" type="stmt" count="22"/>
      <line num="75" type="method" name="fetch_request_token" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="76" type="stmt" count="2"/>
      <line num="78" type="stmt" count="2"/>
      <line num="81" type="stmt" count="2"/>
      <line num="83" type="stmt" count="2"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <line num="89" type="stmt" count="1"/>
      <line num="99" type="method" name="fetch_access_token" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="100" type="stmt" count="3"/>
      <line num="102" type="stmt" count="3"/>
      <line num="105" type="stmt" count="3"/>
      <line num="107" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="122" type="method" name="verify_request" visibility="public" complexity="1" crap="1" count="17"/>
      <line num="123" type="stmt" count="17"/>
      <line num="124" type="stmt" count="16"/>
      <line num="125" type="stmt" count="14"/>
      <line num="126" type="stmt" count="11"/>
      <line num="128" type="stmt" count="2"/>
      <line num="129" type="stmt" count="2"/>
      <line num="130" type="stmt" count="2"/>
      <line num="131" type="stmt" count="2"/>
      <line num="143" type="method" name="get_version" visibility="protected" complexity="3" crap="3" count="22"/>
      <line num="144" type="stmt" count="22"/>
      <line num="145" type="stmt" count="22"/>
      <line num="148" type="stmt" count="1"/>
      <line num="150" type="stmt" count="22"/>
      <line num="151" type="stmt" count="1"/>
      <line num="154" type="stmt" count="21"/>
      <line num="164" type="method" name="get_signature_method" visibility="private" complexity="4" crap="4" count="9"/>
      <line num="165" type="stmt" count="9"/>
      <line num="166" type="stmt" count="9"/>
      <line num="167" type="stmt" count="9"/>
      <line num="169" type="stmt" count="9"/>
      <line num="172" type="stmt" count="1"/>
      <line num="175" type="stmt" count="8"/>
      <line num="176" type="stmt" count="1"/>
      <line num="177" type="stmt" count="1"/>
      <line num="178" type="stmt" count="1"/>
      <line num="179" type="stmt" count="1"/>
      <line num="180" type="stmt" count="1"/>
      <line num="181" type="stmt" count="1"/>
      <line num="184" type="stmt" count="7"/>
      <line num="195" type="method" name="get_consumer" visibility="protected" complexity="4" crap="4" count="21"/>
      <line num="196" type="stmt" count="21"/>
      <line num="197" type="stmt" count="21"/>
      <line num="198" type="stmt" count="21"/>
      <line num="200" type="stmt" count="21"/>
      <line num="201" type="stmt" count="1"/>
      <line num="203" type="stmt" count="20"/>
      <line num="204" type="stmt" count="20"/>
      <line num="205" type="stmt" count="20"/>
      <line num="206" type="stmt" count="1"/>
      <line num="209" type="stmt" count="19"/>
      <line num="221" type="method" name="get_token" visibility="protected" complexity="3" crap="3" count="17"/>
      <line num="222" type="stmt" count="17"/>
      <line num="223" type="stmt" count="17"/>
      <line num="224" type="stmt" count="17"/>
      <line num="226" type="stmt" count="17"/>
      <line num="227" type="stmt" count="17"/>
      <line num="228" type="stmt" count="17"/>
      <line num="229" type="stmt" count="17"/>
      <line num="230" type="stmt" count="17"/>
      <line num="231" type="stmt" count="17"/>
      <line num="232" type="stmt" count="5"/>
      <line num="235" type="stmt" count="12"/>
      <line num="247" type="method" name="check_signature" visibility="protected" complexity="5" crap="5" count="14"/>
      <line num="252" type="stmt" count="14"/>
      <line num="253" type="stmt" count="14"/>
      <line num="254" type="stmt" count="14"/>
      <line num="255" type="stmt" count="14"/>
      <line num="257" type="stmt" count="14"/>
      <line num="258" type="stmt" count="11"/>
      <line num="260" type="stmt" count="9"/>
      <line num="261" type="stmt" count="7"/>
      <line num="262" type="stmt" count="7"/>
      <line num="263" type="stmt" count="7"/>
      <line num="264" type="stmt" count="7"/>
      <line num="265" type="stmt" count="7"/>
      <line num="266" type="stmt" count="7"/>
      <line num="267" type="stmt" count="7"/>
      <line num="269" type="stmt" count="7"/>
      <line num="270" type="stmt" count="3"/>
      <line num="271" type="stmt" count="3"/>
      <line num="272" type="stmt" count="3"/>
      <line num="274" type="stmt" count="3"/>
      <line num="275" type="stmt" count="3"/>
      <line num="276" type="stmt" count="3"/>
      <line num="277" type="stmt" count="3"/>
      <line num="278" type="stmt" count="3"/>
      <line num="280" type="stmt" count="3"/>
      <line num="281" type="stmt" count="3"/>
      <line num="292" type="method" name="check_timestamp" visibility="private" complexity="3" crap="3" count="14"/>
      <line num="293" type="stmt" count="14"/>
      <line num="294" type="stmt" count="1"/>
      <line num="295" type="stmt" count="1"/>
      <line num="296" type="stmt" count="1"/>
      <line num="300" type="stmt" count="13"/>
      <line num="301" type="stmt" count="13"/>
      <line num="302" type="stmt" count="2"/>
      <line num="303" type="stmt" count="2"/>
      <line num="304" type="stmt" count="2"/>
      <line num="318" type="method" name="check_nonce" visibility="private" complexity="3" crap="3" count="11"/>
      <line num="319" type="stmt" count="11"/>
      <line num="320" type="stmt" count="1"/>
      <line num="321" type="stmt" count="1"/>
      <line num="322" type="stmt" count="1"/>
      <line num="326" type="stmt" count="10"/>
      <line num="327" type="stmt" count="10"/>
      <line num="328" type="stmt" count="10"/>
      <line num="329" type="stmt" count="10"/>
      <line num="330" type="stmt" count="10"/>
      <line num="331" type="stmt" count="10"/>
      <line num="332" type="stmt" count="10"/>
      <line num="333" type="stmt" count="1"/>
      <metrics loc="338" ncloc="206" classes="1" methods="12" coveredmethods="12" conditionals="0" coveredconditionals="0" statements="111" coveredstatements="111" elements="123" coveredelements="123"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Lib/OAuthSignatureMethod.php">
      <class name="MediaWiki\Extension\OAuth\Lib\OAuthSignatureMethod" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="8" coveredelements="0"/>
      </class>
      <line num="41" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="71" type="method" name="check_signature" visibility="public" complexity="1" crap="2" 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="77" type="stmt" count="0"/>
      <metrics loc="80" ncloc="29" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="8" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Lib/OAuthSignatureMethodHmacSha1.php">
      <class name="MediaWiki\Extension\OAuth\Lib\OAuthSignatureMethodHmacSha1" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="12" elements="14" coveredelements="14"/>
      </class>
      <line num="37" type="method" name="get_name" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="38" type="stmt" count="1"/>
      <line num="41" type="method" name="build_signature" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="42" type="stmt" count="2"/>
      <line num="43" type="stmt" count="2"/>
      <line num="44" type="stmt" count="2"/>
      <line num="46" type="stmt" count="2"/>
      <line num="47" type="stmt" count="2"/>
      <line num="48" type="stmt" count="2"/>
      <line num="49" type="stmt" count="2"/>
      <line num="51" type="stmt" count="2"/>
      <line num="52" type="stmt" count="2"/>
      <line num="53" type="stmt" count="2"/>
      <line num="55" type="stmt" count="2"/>
      <metrics loc="58" ncloc="27" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="12" elements="14" coveredelements="14"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Lib/OAuthSignatureMethodPlaintext.php">
      <class name="MediaWiki\Extension\OAuth\Lib\OAuthSignatureMethodPlaintext" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="11" coveredelements="0"/>
      </class>
      <line num="35" type="method" name="get_name" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="48" type="method" name="build_signature" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <metrics loc="61" ncloc="23" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="11" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Lib/OAuthSignatureMethodRsaSha1.php">
      <class name="MediaWiki\Extension\OAuth\Lib\OAuthSignatureMethodRsaSha1" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="16" coveredelements="16"/>
      </class>
      <line num="38" type="method" name="get_name" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="56" type="method" name="build_signature" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="72" type="method" name="check_signature" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="73" type="stmt" count="1"/>
      <line num="75" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="84" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <metrics loc="89" ncloc="41" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="16" coveredelements="16"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Lib/OAuthToken.php">
      <class name="MediaWiki\Extension\OAuth\Lib\OAuthToken" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="6" elements="9" coveredelements="9"/>
      </class>
      <line num="38" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="39" type="stmt" count="2"/>
      <line num="40" type="stmt" count="2"/>
      <line num="47" type="method" name="to_string" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="48" type="stmt" count="2"/>
      <line num="49" type="stmt" count="2"/>
      <line num="50" type="stmt" count="2"/>
      <line num="53" type="method" name="__toString" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="54" type="stmt" count="1"/>
      <metrics loc="57" ncloc="24" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="6" elements="9" coveredelements="9"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Lib/OAuthUtil.php">
      <class name="MediaWiki\Extension\OAuth\Lib\OAuthUtil" namespace="global">
        <metrics complexity="28" methods="6" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="86" coveredstatements="75" elements="92" coveredelements="78"/>
      </class>
      <line num="32" type="method" name="urlencode_rfc3986" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="33" type="stmt" count="2"/>
      <line num="34" type="stmt" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="42" type="stmt" count="2"/>
      <line num="43" type="stmt" count="2"/>
      <line num="44" type="stmt" count="2"/>
      <line num="45" type="stmt" count="2"/>
      <line num="46" type="stmt" count="2"/>
      <line num="47" type="stmt" count="2"/>
      <line num="49" type="stmt" count="1"/>
      <line num="58" type="method" name="urldecode_rfc3986" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="59" type="stmt" count="3"/>
      <line num="67" type="method" name="split_header" visibility="public" complexity="6" crap="6" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="72" type="stmt" count="1"/>
      <line num="73" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="75" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <line num="91" type="method" name="get_headers" visibility="public" complexity="7" crap="9.58" count="1"/>
      <line num="92" type="stmt" count="1"/>
      <line num="95" 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="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="115" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="126" type="stmt" count="1"/>
      <line num="127" type="stmt" count="1"/>
      <line num="128" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="136" type="stmt" count="1"/>
      <line num="142" type="method" name="parse_parameters" visibility="public" complexity="6" crap="6.01" count="1"/>
      <line num="143" type="stmt" count="1"/>
      <line num="144" type="stmt" count="0"/>
      <line num="147" type="stmt" count="1"/>
      <line num="149" type="stmt" count="1"/>
      <line num="150" type="stmt" count="1"/>
      <line num="151" type="stmt" count="1"/>
      <line num="152" type="stmt" count="1"/>
      <line num="153" type="stmt" count="1"/>
      <line num="155" type="stmt" count="1"/>
      <line num="159" type="stmt" count="1"/>
      <line num="162" type="stmt" count="1"/>
      <line num="165" type="stmt" count="1"/>
      <line num="167" type="stmt" count="1"/>
      <line num="171" type="stmt" count="1"/>
      <line num="174" type="method" name="build_http_query" visibility="public" complexity="5" crap="5.01" count="1"/>
      <line num="175" type="stmt" count="1"/>
      <line num="176" type="stmt" count="1"/>
      <line num="177" type="stmt" count="1"/>
      <line num="178" type="stmt" count="1"/>
      <line num="179" type="stmt" count="0"/>
      <line num="183" type="stmt" count="1"/>
      <line num="184" type="stmt" count="1"/>
      <line num="185" type="stmt" count="1"/>
      <line num="189" type="stmt" count="1"/>
      <line num="191" type="stmt" count="1"/>
      <line num="192" type="stmt" count="1"/>
      <line num="193" type="stmt" count="1"/>
      <line num="197" type="stmt" count="1"/>
      <line num="198" type="stmt" count="1"/>
      <line num="199" type="stmt" count="1"/>
      <line num="202" type="stmt" count="1"/>
      <line num="207" type="stmt" count="1"/>
      <metrics loc="210" ncloc="151" classes="1" methods="6" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="86" coveredstatements="75" elements="92" coveredelements="78"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/MWOA.php">
      <class name="MWOA" namespace="global">
        <metrics complexity="6" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="0" elements="20" coveredelements="0"/>
      </class>
      <line num="21" type="method" name="srv" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="25" type="method" name="sessionCache" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="29" type="method" name="nonceCache" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="46" type="method" name="decryptAccessToken" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" 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="67" type="method" name="decryptRefreshToken" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="78" type="method" name="clientSecret" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <metrics loc="83" ncloc="48" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="0" elements="20" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/MWServicesHookHandler.php">
      <class name="MediaWiki\Extension\OAuth\MWServicesHookHandler" namespace="global">
        <metrics complexity="5" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="10" coveredelements="0"/>
      </class>
      <line num="14" type="method" name="onMediaWikiServices" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <metrics loc="31" ncloc="25" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="10" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/OAuthConfigNames.php">
      <class name="MediaWiki\Extension\OAuth\OAuthConfigNames" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="10" ncloc="9" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/OAuthServices.php">
      <class name="MediaWiki\Extension\OAuth\OAuthServices" namespace="global">
        <metrics complexity="8" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="0" elements="16" coveredelements="0"/>
      </class>
      <line num="15" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="16" type="stmt" count="0"/>
      <line num="21" type="method" name="wrap" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="25" type="method" name="getAccessTokenRepository" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="29" type="method" name="getConfig" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="33" type="method" name="getConsumerRepository" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="37" type="method" name="getConsumerAcceptanceRepository" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="41" type="method" name="getConsumerValidator" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="45" type="method" name="getWorkflow" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <metrics loc="50" ncloc="47" classes="1" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="0" elements="16" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Repository/AccessTokenRepository.php">
      <class name="MediaWiki\Extension\OAuth\Repository\AccessTokenRepository" namespace="global">
        <metrics complexity="15" methods="10" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="51" coveredstatements="39" elements="61" coveredelements="45"/>
      </class>
      <line num="31" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="34" type="stmt" count="3"/>
      <line num="45" type="method" name="getNewToken" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="52" type="stmt" count="1"/>
      <line num="53" type="stmt" count="1"/>
      <line num="54" type="stmt" count="1"/>
      <line num="55" type="stmt" count="1"/>
      <line num="63" type="method" name="persistNewAccessToken" visibility="public" complexity="2" crap="2.01" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="0"/>
      <line num="70" type="stmt" count="1"/>
      <line num="72" type="stmt" count="1"/>
      <line num="73" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="75" type="stmt" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="82" type="method" name="revokeAccessToken" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="84" type="stmt" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <line num="88" type="stmt" count="1"/>
      <line num="98" type="method" name="isAccessTokenRevoked" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="99" type="stmt" count="2"/>
      <line num="100" type="stmt" count="2"/>
      <line num="101" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="111" type="method" name="deleteForApprovalId" visibility="public" complexity="1" crap="2" 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="116" type="stmt" count="0"/>
      <line num="125" type="method" name="getApprovalId" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="139" type="method" name="getDB" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="140" type="stmt" count="2"/>
      <line num="143" type="method" name="getRowById" visibility="private" complexity="1" crap="1" count="2"/>
      <line num="144" type="stmt" count="2"/>
      <line num="145" type="stmt" count="2"/>
      <line num="146" type="stmt" count="2"/>
      <line num="147" type="stmt" count="2"/>
      <line num="148" type="stmt" count="2"/>
      <line num="149" type="stmt" count="2"/>
      <line num="152" type="method" name="getDbDataFromTokenEntity" visibility="private" complexity="3" crap="3.07" count="1"/>
      <line num="153" type="stmt" count="1"/>
      <line num="154" type="stmt" count="1"/>
      <line num="155" type="stmt" count="0"/>
      <line num="157" type="stmt" count="1"/>
      <line num="158" type="stmt" count="1"/>
      <line num="159" type="stmt" count="1"/>
      <line num="160" type="stmt" count="1"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="1"/>
      <line num="163" type="stmt" count="1"/>
      <metrics loc="167" ncloc="127" classes="1" methods="10" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="51" coveredstatements="39" elements="61" coveredelements="45"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Repository/ArrayConsumerRepository.php">
      <class name="MediaWiki\Extension\OAuth\Repository\ArrayConsumerRepository" namespace="global">
        <metrics complexity="34" methods="13" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="76" coveredstatements="64" elements="89" coveredelements="73"/>
      </class>
      <line num="37" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="14"/>
      <line num="41" type="stmt" count="14"/>
      <line num="44" type="method" name="newFromRow" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="49" type="method" name="getByKey" visibility="public" complexity="2" crap="2" count="11"/>
      <line num="50" type="stmt" count="11"/>
      <line num="51" type="stmt" count="11"/>
      <line num="52" type="stmt" count="4"/>
      <line num="53" type="stmt" count="4"/>
      <line num="55" type="stmt" count="11"/>
      <line num="59" type="method" name="getById" visibility="public" complexity="3" crap="3" count="9"/>
      <line num="60" type="stmt" count="9"/>
      <line num="61" type="stmt" count="7"/>
      <line num="62" type="stmt" count="7"/>
      <line num="65" type="stmt" count="7"/>
      <line num="69" type="method" name="getByNameVersionUser" visibility="public" complexity="5" crap="5" count="1"/>
      <line num="75" type="stmt" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="98" type="method" name="save" visibility="public" complexity="3" crap="3" count="7"/>
      <line num="99" type="stmt" count="7"/>
      <line num="100" type="stmt" count="1"/>
      <line num="103" type="stmt" count="6"/>
      <line num="106" type="stmt" count="6"/>
      <line num="109" type="stmt" count="6"/>
      <line num="110" type="stmt" count="6"/>
      <line num="111" type="stmt" count="6"/>
      <line num="115" type="method" name="delete" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="116" type="stmt" count="3"/>
      <line num="117" type="stmt" count="1"/>
      <line num="119" type="stmt" count="2"/>
      <line num="120" type="stmt" count="2"/>
      <line num="121" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <line num="137" type="method" name="addConsumer" visibility="public" complexity="4" crap="6.74" count="7"/>
      <line num="138" type="stmt" count="7"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="142" type="stmt" count="7"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="147" type="stmt" count="7"/>
      <line num="148" type="stmt" count="0"/>
      <line num="150" type="stmt" count="7"/>
      <line num="165" type="method" name="addConsumerArray" visibility="public" complexity="3" crap="3.17" count="4"/>
      <line num="167" type="stmt" count="4"/>
      <line num="168" type="stmt" count="4"/>
      <line num="169" type="stmt" count="4"/>
      <line num="170" type="stmt" count="4"/>
      <line num="171" type="stmt" count="4"/>
      <line num="172" type="stmt" count="4"/>
      <line num="173" type="stmt" count="4"/>
      <line num="174" type="stmt" count="4"/>
      <line num="175" type="stmt" count="4"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="180" type="stmt" count="4"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="184" type="stmt" count="4"/>
      <line num="203" type="method" name="addConfigurationArray" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="204" type="stmt" count="1"/>
      <line num="205" type="stmt" count="1"/>
      <line num="211" type="method" name="iterateConsumerData" visibility="private" complexity="3" crap="3" count="9"/>
      <line num="212" type="stmt" count="9"/>
      <line num="213" type="stmt" count="8"/>
      <line num="214" type="stmt" count="8"/>
      <line num="216" type="stmt" count="2"/>
      <line num="218" type="stmt" count="8"/>
      <line num="222" type="method" name="initializeConsumer" visibility="private" complexity="4" crap="4.07" count="4"/>
      <line num="223" type="stmt" count="4"/>
      <line num="224" type="stmt" count="4"/>
      <line num="226" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="230" type="stmt" count="4"/>
      <line num="231" type="stmt" count="1"/>
      <line num="232" type="stmt" count="1"/>
      <line num="233" type="stmt" count="1"/>
      <line num="236" type="stmt" count="4"/>
      <line num="237" type="stmt" count="4"/>
      <line num="238" type="stmt" count="4"/>
      <line num="239" type="stmt" count="4"/>
      <line num="242" type="method" name="assignId" visibility="private" complexity="1" crap="1" count="6"/>
      <line num="243" type="stmt" count="6"/>
      <line num="244" type="stmt" count="6"/>
      <metrics loc="248" ncloc="169" classes="1" methods="13" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="76" coveredstatements="64" elements="89" coveredelements="73"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Repository/AuthCodeRepository.php">
      <class name="MediaWiki\Extension\OAuth\Repository\AuthCodeRepository" namespace="global">
        <metrics complexity="7" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="16" coveredstatements="11" elements="21" coveredelements="15"/>
      </class>
      <line num="16" type="method" name="getNewAuthCode" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="17" type="stmt" count="2"/>
      <line num="27" type="method" name="persistNewAuthCode" visibility="public" complexity="3" crap="3.65" count="1"/>
      <line num="28" type="stmt" count="1"/>
      <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="34" type="stmt" count="1"/>
      <line num="35" type="stmt" count="0"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="48" type="method" name="revokeAuthCode" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="59" type="method" name="isAuthCodeRevoked" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="60" type="stmt" count="2"/>
      <line num="68" type="method" name="getCacheKeyType" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="69" type="stmt" count="2"/>
      <metrics loc="72" ncloc="47" classes="1" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="16" coveredstatements="11" elements="21" coveredelements="15"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Repository/CacheRepository.php">
      <class name="MediaWiki\Extension\OAuth\Repository\CacheRepository" namespace="global">
        <metrics complexity="7" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="0" elements="15" coveredelements="0"/>
      </class>
      <line num="10" type="method" name="factory" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="11" type="stmt" count="0"/>
      <line num="14" type="stmt" count="0"/>
      <line num="17" type="method" name="__construct" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="35" type="method" name="getCacheKey" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="44" type="method" name="get" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="54" type="method" name="set" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="62" type="method" name="delete" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="72" type="method" name="has" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <metrics loc="76" ncloc="43" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="0" elements="15" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Repository/ClaimStore.php">
      <class name="MediaWiki\Extension\OAuth\Repository\ClaimStore" namespace="global">
        <metrics complexity="13" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="33" coveredstatements="31" elements="37" coveredelements="34"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="23" type="stmt" count="10"/>
      <line num="24" type="stmt" count="10"/>
      <line num="25" type="stmt" count="10"/>
      <line num="32" type="method" name="getClaims" visibility="public" complexity="8" crap="8.05" count="10"/>
      <line num="38" type="stmt" count="10"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="43" type="stmt" count="10"/>
      <line num="44" type="stmt" count="10"/>
      <line num="47" type="stmt" count="1"/>
      <line num="49" type="stmt" count="9"/>
      <line num="51" type="stmt" count="10"/>
      <line num="52" type="stmt" count="10"/>
      <line num="53" type="stmt" count="10"/>
      <line num="55" type="stmt" count="10"/>
      <line num="56" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="62" type="stmt" count="10"/>
      <line num="63" type="stmt" count="9"/>
      <line num="66" type="stmt" count="10"/>
      <line num="67" type="stmt" count="10"/>
      <line num="72" type="stmt" count="10"/>
      <line num="73" type="stmt" count="10"/>
      <line num="74" type="stmt" count="10"/>
      <line num="81" type="method" name="claimEntityListToMap" visibility="private" complexity="2" crap="2" count="10"/>
      <line num="82" type="stmt" count="10"/>
      <line num="83" type="stmt" count="10"/>
      <line num="84" type="stmt" count="10"/>
      <line num="86" type="stmt" count="10"/>
      <line num="93" type="method" name="claimMapToEntityList" visibility="private" complexity="2" crap="2" count="10"/>
      <line num="94" type="stmt" count="10"/>
      <line num="95" type="stmt" count="10"/>
      <line num="96" type="stmt" count="10"/>
      <line num="98" type="stmt" count="10"/>
      <metrics loc="101" ncloc="84" classes="1" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="33" coveredstatements="31" elements="37" coveredelements="34"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Repository/ClientRepositoryAdapter.php">
      <class name="MediaWiki\Extension\OAuth\Repository\ClientRepositoryAdapter" namespace="global">
        <metrics complexity="6" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="11" elements="14" coveredelements="14"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="19" type="stmt" count="5"/>
      <line num="22" type="method" name="getClientEntity" visibility="public" complexity="2" crap="2" count="5"/>
      <line num="23" type="stmt" count="5"/>
      <line num="24" type="stmt" count="5"/>
      <line num="25" type="stmt" count="3"/>
      <line num="27" type="stmt" count="2"/>
      <line num="36" type="method" name="validateClient" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="41" type="stmt" count="2"/>
      <line num="42" type="stmt" count="2"/>
      <line num="43" type="stmt" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <metrics loc="50" ncloc="40" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="11" elements="14" coveredelements="14"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Repository/CompositeConsumerRepository.php">
      <class name="MediaWiki\Extension\OAuth\Repository\CompositeConsumerRepository" namespace="global">
        <metrics complexity="13" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="15" elements="22" coveredelements="22"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="15"/>
      <line num="20" type="stmt" count="15"/>
      <line num="23" type="method" name="newFromRow" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="24" type="stmt" count="2"/>
      <line num="26" type="stmt" count="2"/>
      <line num="30" type="method" name="getById" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="31" type="stmt" count="3"/>
      <line num="32" type="stmt" count="3"/>
      <line num="36" type="method" name="getByKey" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="37" type="stmt" count="3"/>
      <line num="38" type="stmt" count="3"/>
      <line num="42" type="method" name="getByNameVersionUser" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="48" type="stmt" count="3"/>
      <line num="49" type="stmt" count="3"/>
      <line num="53" type="method" name="save" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="54" type="stmt" count="2"/>
      <line num="55" type="stmt" count="1"/>
      <line num="56" type="stmt" count="2"/>
      <line num="60" type="method" name="delete" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="61" type="stmt" count="2"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="2"/>
      <metrics loc="67" ncloc="55" classes="1" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="15" elements="22" coveredelements="22"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Repository/ConsumerAcceptanceRepositoryInterface.php">
      <metrics loc="79" ncloc="34" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Repository/ConsumerRepositoryInterface.php">
      <metrics loc="84" ncloc="33" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Repository/DatabaseConsumerAcceptanceRepository.php">
      <class name="MediaWiki\Extension\OAuth\Repository\DatabaseConsumerAcceptanceRepository" namespace="global">
        <metrics complexity="14" methods="7" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="38" coveredstatements="35" elements="45" coveredelements="39"/>
      </class>
      <line num="26" type="method" name="newFromRow" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="27" type="stmt" count="6"/>
      <line num="31" type="method" name="getById" visibility="public" complexity="3" crap="3.01" count="4"/>
      <line num="32" type="stmt" count="4"/>
      <line num="33" type="stmt" count="4"/>
      <line num="34" type="stmt" count="4"/>
      <line num="35" type="stmt" count="4"/>
      <line num="36" type="stmt" count="4"/>
      <line num="37" type="stmt" count="4"/>
      <line num="38" type="stmt" count="0"/>
      <line num="40" type="stmt" count="4"/>
      <line num="41" type="stmt" count="4"/>
      <line num="45" type="method" name="getByToken" visibility="public" complexity="3" crap="3.01" count="2"/>
      <line num="49" type="stmt" count="2"/>
      <line num="50" type="stmt" count="2"/>
      <line num="51" type="stmt" count="2"/>
      <line num="52" type="stmt" count="2"/>
      <line num="53" type="stmt" count="2"/>
      <line num="54" type="stmt" count="2"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="2"/>
      <line num="58" type="stmt" count="2"/>
      <line num="62" type="method" name="getByUserConsumerWiki" visibility="public" complexity="3" crap="3.00" count="3"/>
      <line num="68" type="stmt" count="3"/>
      <line num="69" type="stmt" count="3"/>
      <line num="70" type="stmt" count="3"/>
      <line num="71" type="stmt" count="3"/>
      <line num="72" type="stmt" count="3"/>
      <line num="73" type="stmt" count="3"/>
      <line num="74" type="stmt" count="3"/>
      <line num="75" type="stmt" count="3"/>
      <line num="76" type="stmt" count="3"/>
      <line num="77" type="stmt" count="3"/>
      <line num="78" type="stmt" count="3"/>
      <line num="79" type="stmt" count="0"/>
      <line num="81" type="stmt" count="3"/>
      <line num="82" type="stmt" count="3"/>
      <line num="86" type="method" name="save" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="87" type="stmt" count="6"/>
      <line num="91" type="method" name="delete" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="92" type="stmt" count="2"/>
      <line num="95" type="method" name="getDb" visibility="private" complexity="2" crap="2" count="9"/>
      <line num="96" type="stmt" count="9"/>
      <line num="97" type="stmt" count="9"/>
      <line num="98" type="stmt" count="9"/>
      <metrics loc="102" ncloc="88" classes="1" methods="7" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="38" coveredstatements="35" elements="45" coveredelements="39"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Repository/DatabaseConsumerRepository.php">
      <class name="MediaWiki\Extension\OAuth\Repository\DatabaseConsumerRepository" namespace="global">
        <metrics complexity="19" methods="8" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="33" coveredstatements="32" elements="41" coveredelements="39"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="29" type="stmt" count="8"/>
      <line num="30" type="stmt" count="8"/>
      <line num="34" type="method" name="newFromRow" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="39" type="method" name="getById" visibility="public" complexity="6" crap="6" count="6"/>
      <line num="40" type="stmt" count="6"/>
      <line num="41" type="stmt" count="6"/>
      <line num="42" type="stmt" count="2"/>
      <line num="44" type="stmt" count="6"/>
      <line num="45" type="stmt" count="6"/>
      <line num="46" type="stmt" count="6"/>
      <line num="49" type="stmt" count="6"/>
      <line num="50" type="stmt" count="2"/>
      <line num="52" type="stmt" count="6"/>
      <line num="53" type="stmt" count="6"/>
      <line num="54" type="stmt" count="6"/>
      <line num="56" type="stmt" count="6"/>
      <line num="60" type="method" name="getByKey" visibility="public" complexity="6" crap="6" count="2"/>
      <line num="64" type="stmt" count="2"/>
      <line num="65" type="stmt" count="2"/>
      <line num="66" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="73" type="stmt" count="2"/>
      <line num="74" type="stmt" count="1"/>
      <line num="76" type="stmt" count="2"/>
      <line num="77" type="stmt" count="2"/>
      <line num="78" type="stmt" count="2"/>
      <line num="80" type="stmt" count="2"/>
      <line num="84" type="method" name="getByNameVersionUser" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="90" type="stmt" count="1"/>
      <line num="94" type="method" name="save" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="95" type="stmt" count="7"/>
      <line num="99" type="method" name="delete" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="100" type="stmt" count="2"/>
      <line num="103" type="method" name="getDb" visibility="private" complexity="2" crap="2" count="7"/>
      <line num="104" type="stmt" count="7"/>
      <line num="105" type="stmt" count="7"/>
      <line num="106" type="stmt" count="7"/>
      <metrics loc="110" ncloc="96" classes="1" methods="8" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="33" coveredstatements="32" elements="41" coveredelements="39"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Repository/Hook/OAuthClaimStoreGetClaimsHook.php">
      <metrics loc="24" ncloc="13" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Repository/RefreshTokenRepository.php">
      <class name="MediaWiki\Extension\OAuth\Repository\RefreshTokenRepository" namespace="global">
        <metrics complexity="13" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="36" coveredstatements="0" elements="43" coveredelements="0"/>
      </class>
      <line num="17" type="method" name="factory" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="23" type="method" name="__construct" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="33" type="method" name="getNewRefreshToken" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="42" type="method" name="persistNewRefreshToken" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" 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="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="63" type="method" name="revokeRefreshToken" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" 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="73" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="88" type="method" name="isRefreshTokenRevoked" visibility="public" complexity="3" crap="12" 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="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="105" 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="115" type="method" name="getCacheKeyType" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <metrics loc="119" ncloc="87" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="36" coveredstatements="0" elements="43" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Repository/ScopeRepository.php">
      <class name="MediaWiki\Extension\OAuth\Repository\ScopeRepository" namespace="global">
        <metrics complexity="12" methods="5" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="40" coveredstatements="5" elements="45" coveredelements="7"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="27" type="stmt" count="1"/>
      <line num="28" type="stmt" count="1"/>
      <line num="34" type="method" name="getAllowedScopes" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="41" type="method" name="getScopeEntityByIdentifier" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="62" type="method" name="finalizeScopes" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" 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="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" 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="100" type="stmt" count="0"/>
      <line num="101" 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="119" type="method" name="replaceDefaultScope" visibility="private" complexity="2" crap="6" 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="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <metrics loc="133" ncloc="99" classes="1" methods="5" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="40" coveredstatements="5" elements="45" coveredelements="7"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/ResourceServer.php">
      <class name="MediaWiki\Extension\OAuth\ResourceServer" namespace="global">
        <metrics complexity="26" methods="15" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="70" coveredstatements="0" elements="85" coveredelements="0"/>
      </class>
      <line num="35" type="method" name="factory" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="43" type="method" name="__construct" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="61" type="method" name="isOAuth2Request" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="78" type="method" name="verify" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="79" type="stmt" 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="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="94" type="method" name="getUser" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="102" type="method" name="getClient" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="111" type="method" name="getScopes" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="121" type="method" name="getAccessTokenId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="133" type="method" name="isScopeAllowed" visibility="public" complexity="2" crap="6" 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="140" type="stmt" count="0"/>
      <line num="148" type="method" name="setVerifiedInfo" visibility="public" complexity="1" crap="2" 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="152" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="162" type="method" name="setUser" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" 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="174" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="189" type="method" name="setClient" visibility="private" complexity="3" crap="12" 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="195" type="stmt" count="0"/>
      <line num="201" type="method" name="setScopes" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="204" 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="217" type="method" name="setAccessTokenId" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="224" type="method" name="assertVerified" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <metrics loc="233" ncloc="161" classes="1" methods="15" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="70" coveredstatements="0" elements="85" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Response.php">
      <class name="MediaWiki\Extension\OAuth\Response" namespace="global">
        <metrics complexity="6" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="0" elements="24" coveredelements="0"/>
      </class>
      <line num="25" type="method" name="withProtocolVersion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="46" type="method" name="withHeader" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="68" type="method" name="withAddedHeader" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="86" type="method" name="withoutHeader" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="105" type="method" name="withBody" visibility="public" complexity="1" crap="2" 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="131" type="method" name="withStatus" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <metrics loc="137" ncloc="48" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="0" elements="24" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Rest/Handler/AbstractClientHandler.php">
      <class name="MediaWiki\Extension\OAuth\Rest\Handler\AbstractClientHandler" namespace="global">
        <metrics complexity="13" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="59" coveredstatements="0" elements="63" coveredelements="0"/>
      </class>
      <line num="28" type="method" name="execute" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" 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="58" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" 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="70" type="stmt" count="0"/>
      <line num="87" type="method" name="getParamMapping" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="88" 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="92" type="stmt" count="0"/>
      <line num="93" 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="104" type="method" name="getUnifiedParams" visibility="protected" complexity="5" crap="30" count="0"/>
      <line num="105" 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="111" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="122" 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="131" type="stmt" count="0"/>
      <line num="137" type="method" name="getSupportedRequestTypes" visibility="public" complexity="1" crap="2" 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="141" type="stmt" count="0"/>
      <metrics loc="144" ncloc="111" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="59" coveredstatements="0" elements="63" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Rest/Handler/AccessToken.php">
      <class name="MediaWiki\Extension\OAuth\Rest\Handler\AccessToken" namespace="global">
        <metrics complexity="8" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="81" coveredstatements="75" elements="86" coveredelements="79"/>
      </class>
      <line num="27" type="method" name="getSupportedRequestTypes" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="28" type="stmt" count="3"/>
      <line num="29" type="stmt" count="3"/>
      <line num="30" type="stmt" count="3"/>
      <line num="36" type="method" name="execute" visibility="public" complexity="4" crap="4.84" count="3"/>
      <line num="37" type="stmt" count="3"/>
      <line num="40" type="stmt" count="3"/>
      <line num="41" type="stmt" count="2"/>
      <line num="43" type="stmt" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="3"/>
      <line num="50" type="stmt" count="3"/>
      <line num="51" 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="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="63" type="method" name="getBodyParamSettings" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="64" type="stmt" count="3"/>
      <line num="65" type="stmt" count="3"/>
      <line num="66" type="stmt" count="3"/>
      <line num="67" type="stmt" count="3"/>
      <line num="68" type="stmt" count="3"/>
      <line num="69" type="stmt" count="3"/>
      <line num="70" type="stmt" count="3"/>
      <line num="71" type="stmt" count="3"/>
      <line num="72" type="stmt" count="3"/>
      <line num="73" type="stmt" count="3"/>
      <line num="74" type="stmt" count="3"/>
      <line num="75" type="stmt" count="3"/>
      <line num="76" type="stmt" count="3"/>
      <line num="77" type="stmt" count="3"/>
      <line num="78" type="stmt" count="3"/>
      <line num="79" type="stmt" count="3"/>
      <line num="80" type="stmt" count="3"/>
      <line num="81" type="stmt" count="3"/>
      <line num="82" type="stmt" count="3"/>
      <line num="83" type="stmt" count="3"/>
      <line num="84" type="stmt" count="3"/>
      <line num="85" type="stmt" count="3"/>
      <line num="86" type="stmt" count="3"/>
      <line num="87" type="stmt" count="3"/>
      <line num="88" type="stmt" count="3"/>
      <line num="89" type="stmt" count="3"/>
      <line num="90" type="stmt" count="3"/>
      <line num="91" type="stmt" count="3"/>
      <line num="92" type="stmt" count="3"/>
      <line num="93" type="stmt" count="3"/>
      <line num="94" type="stmt" count="3"/>
      <line num="95" type="stmt" count="3"/>
      <line num="96" type="stmt" count="3"/>
      <line num="97" type="stmt" count="3"/>
      <line num="98" type="stmt" count="3"/>
      <line num="99" type="stmt" count="3"/>
      <line num="100" type="stmt" count="3"/>
      <line num="101" type="stmt" count="3"/>
      <line num="102" type="stmt" count="3"/>
      <line num="103" type="stmt" count="3"/>
      <line num="104" type="stmt" count="3"/>
      <line num="105" type="stmt" count="3"/>
      <line num="106" type="stmt" count="3"/>
      <line num="107" type="stmt" count="3"/>
      <line num="108" type="stmt" count="3"/>
      <line num="109" type="stmt" count="3"/>
      <line num="110" type="stmt" count="3"/>
      <line num="111" type="stmt" count="3"/>
      <line num="112" type="stmt" count="3"/>
      <line num="113" type="stmt" count="3"/>
      <line num="114" type="stmt" count="3"/>
      <line num="115" type="stmt" count="3"/>
      <line num="116" type="stmt" count="3"/>
      <line num="117" type="stmt" count="3"/>
      <line num="123" type="method" name="getGrantType" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <line num="126" type="stmt" count="1"/>
      <line num="133" type="method" name="getGrantClass" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="134" type="stmt" count="1"/>
      <line num="135" type="stmt" count="1"/>
      <line num="136" type="stmt" count="1"/>
      <line num="137" type="stmt" count="1"/>
      <line num="138" type="stmt" count="1"/>
      <line num="139" type="stmt" count="1"/>
      <metrics loc="142" ncloc="121" classes="1" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="81" coveredstatements="75" elements="86" coveredelements="79"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Rest/Handler/AuthenticationHandler.php">
      <class name="MediaWiki\Extension\OAuth\Rest\Handler\AuthenticationHandler" namespace="global">
        <metrics complexity="22" methods="11" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="75" coveredstatements="0" elements="86" coveredelements="0"/>
      </class>
      <line num="34" type="method" name="factory" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="41" type="method" name="__construct" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="52" type="method" name="needsReadAccess" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="61" type="method" name="needsWriteAccess" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="69" type="method" name="getAuthorizationProvider" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="70" 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="78" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="83" type="method" name="validate" visibility="public" complexity="5" crap="30" 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="89" type="stmt" count="0"/>
      <line num="91" 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="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="108" type="stmt" count="0"/>
      <line num="115" type="method" name="queueError" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="127" type="method" name="getQueryParamsCgi" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="140" type="method" name="errorResponse" visibility="protected" complexity="3" crap="12" 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="147" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" 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="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" 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="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="170" type="method" name="getLocalizedErrorMessage" visibility="private" complexity="3" crap="12" 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="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="181" 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="186" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="195" type="method" name="detectExtraneousBodyFields" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <metrics loc="213" ncloc="162" classes="1" methods="11" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="75" coveredstatements="0" elements="86" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Rest/Handler/Authorize.php">
      <class name="MediaWiki\Extension\OAuth\Rest\Handler\Authorize" namespace="global">
        <metrics complexity="28" methods="11" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="182" coveredstatements="155" elements="193" coveredelements="163"/>
      </class>
      <line num="36" type="method" name="execute" visibility="public" complexity="9" crap="16.11" count="8"/>
      <line num="37" type="stmt" count="8"/>
      <line num="40" type="stmt" count="8"/>
      <line num="41" type="stmt" count="0"/>
      <line num="43" type="stmt" count="8"/>
      <line num="44" type="stmt" count="8"/>
      <line num="45" type="stmt" count="8"/>
      <line num="49" type="stmt" count="8"/>
      <line num="50" type="stmt" count="2"/>
      <line num="53" type="stmt" count="6"/>
      <line num="54" type="stmt" count="6"/>
      <line num="56" type="stmt" count="6"/>
      <line num="58" type="stmt" count="4"/>
      <line num="59" type="stmt" count="4"/>
      <line num="60" type="stmt" count="0"/>
      <line num="63" type="stmt" count="4"/>
      <line num="64" type="stmt" 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="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="75" type="stmt" count="4"/>
      <line num="76" type="stmt" count="4"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="82" type="stmt" count="3"/>
      <line num="83" type="stmt" count="2"/>
      <line num="84" type="stmt" count="2"/>
      <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="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="94" type="method" name="setValidScopes" visibility="protected" complexity="2" crap="2.50" count="4"/>
      <line num="96" type="stmt" count="4"/>
      <line num="99" type="stmt" count="4"/>
      <line num="100" type="stmt" count="4"/>
      <line num="102" type="stmt" count="4"/>
      <line num="103" type="stmt" count="4"/>
      <line num="104" type="stmt" count="4"/>
      <line num="105" type="stmt" count="4"/>
      <line num="108" type="stmt" count="0"/>
      <line num="110" 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="119" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="120" type="stmt" count="8"/>
      <line num="121" type="stmt" count="8"/>
      <line num="122" type="stmt" count="8"/>
      <line num="123" type="stmt" count="8"/>
      <line num="124" type="stmt" count="8"/>
      <line num="125" type="stmt" count="8"/>
      <line num="126" type="stmt" count="8"/>
      <line num="127" type="stmt" count="8"/>
      <line num="128" type="stmt" count="8"/>
      <line num="129" type="stmt" count="8"/>
      <line num="130" type="stmt" count="8"/>
      <line num="131" type="stmt" count="8"/>
      <line num="132" type="stmt" count="8"/>
      <line num="133" type="stmt" count="8"/>
      <line num="134" type="stmt" count="8"/>
      <line num="135" type="stmt" count="8"/>
      <line num="136" type="stmt" count="8"/>
      <line num="137" type="stmt" count="8"/>
      <line num="138" type="stmt" count="8"/>
      <line num="139" type="stmt" count="8"/>
      <line num="140" type="stmt" count="8"/>
      <line num="141" type="stmt" count="8"/>
      <line num="142" type="stmt" count="8"/>
      <line num="143" type="stmt" count="8"/>
      <line num="144" type="stmt" count="8"/>
      <line num="145" type="stmt" count="8"/>
      <line num="146" type="stmt" count="8"/>
      <line num="147" type="stmt" count="8"/>
      <line num="148" type="stmt" count="8"/>
      <line num="149" type="stmt" count="8"/>
      <line num="150" type="stmt" count="8"/>
      <line num="151" type="stmt" count="8"/>
      <line num="152" type="stmt" count="8"/>
      <line num="153" type="stmt" count="8"/>
      <line num="154" type="stmt" count="8"/>
      <line num="155" type="stmt" count="8"/>
      <line num="156" type="stmt" count="8"/>
      <line num="157" type="stmt" count="8"/>
      <line num="158" type="stmt" count="8"/>
      <line num="159" type="stmt" count="8"/>
      <line num="160" type="stmt" count="8"/>
      <line num="161" type="stmt" count="8"/>
      <line num="162" type="stmt" count="8"/>
      <line num="163" type="stmt" count="8"/>
      <line num="164" type="stmt" count="8"/>
      <line num="165" type="stmt" count="8"/>
      <line num="166" type="stmt" count="8"/>
      <line num="167" type="stmt" count="8"/>
      <line num="168" type="stmt" count="8"/>
      <line num="169" type="stmt" count="8"/>
      <line num="170" type="stmt" count="8"/>
      <line num="171" type="stmt" count="8"/>
      <line num="172" type="stmt" count="8"/>
      <line num="173" type="stmt" count="8"/>
      <line num="174" type="stmt" count="8"/>
      <line num="175" type="stmt" count="8"/>
      <line num="176" type="stmt" count="8"/>
      <line num="177" type="stmt" count="8"/>
      <line num="178" type="stmt" count="8"/>
      <line num="179" type="stmt" count="8"/>
      <line num="180" type="stmt" count="8"/>
      <line num="181" type="stmt" count="8"/>
      <line num="182" type="stmt" count="8"/>
      <line num="183" type="stmt" count="8"/>
      <line num="184" type="stmt" count="8"/>
      <line num="185" type="stmt" count="8"/>
      <line num="186" type="stmt" count="8"/>
      <line num="187" type="stmt" count="8"/>
      <line num="188" type="stmt" count="8"/>
      <line num="189" type="stmt" count="8"/>
      <line num="190" type="stmt" count="8"/>
      <line num="191" type="stmt" count="8"/>
      <line num="192" type="stmt" count="8"/>
      <line num="193" type="stmt" count="8"/>
      <line num="199" type="method" name="getSpecialPageQueryParameters" visibility="private" complexity="2" crap="2" count="5"/>
      <line num="200" type="stmt" count="5"/>
      <line num="201" type="stmt" count="5"/>
      <line num="203" type="stmt" count="5"/>
      <line num="204" type="stmt" count="5"/>
      <line num="205" type="stmt" count="5"/>
      <line num="208" type="method" name="getApprovalRedirectResponse" visibility="private" complexity="1" crap="1" count="3"/>
      <line num="209" type="stmt" count="3"/>
      <line num="210" type="stmt" count="3"/>
      <line num="211" type="stmt" count="3"/>
      <line num="212" type="stmt" count="3"/>
      <line num="213" type="stmt" count="3"/>
      <line num="214" type="stmt" count="3"/>
      <line num="215" type="stmt" count="3"/>
      <line num="216" type="stmt" count="3"/>
      <line num="217" type="stmt" count="3"/>
      <line num="218" type="stmt" count="3"/>
      <line num="219" type="stmt" count="3"/>
      <line num="220" type="stmt" count="3"/>
      <line num="230" type="method" name="getUselangFromUiLocales" visibility="private" complexity="5" crap="5" count="5"/>
      <line num="231" type="stmt" count="5"/>
      <line num="232" type="stmt" count="5"/>
      <line num="233" type="stmt" count="5"/>
      <line num="234" type="stmt" count="2"/>
      <line num="235" type="stmt" count="2"/>
      <line num="239" type="stmt" count="2"/>
      <line num="240" type="stmt" count="2"/>
      <line num="241" type="stmt" count="2"/>
      <line num="244" type="stmt" count="3"/>
      <line num="247" type="method" name="getLoginRedirectResponse" visibility="private" complexity="1" crap="1" count="2"/>
      <line num="248" type="stmt" count="2"/>
      <line num="249" type="stmt" count="2"/>
      <line num="250" type="stmt" count="2"/>
      <line num="251" type="stmt" count="2"/>
      <line num="252" type="stmt" count="2"/>
      <line num="253" type="stmt" count="2"/>
      <line num="254" type="stmt" count="2"/>
      <line num="255" type="stmt" count="2"/>
      <line num="259" type="method" name="getGrantType" visibility="protected" complexity="1" crap="1" count="6"/>
      <line num="260" type="stmt" count="6"/>
      <line num="267" type="method" name="getGrantClass" visibility="protected" complexity="1" crap="1" count="6"/>
      <line num="268" type="stmt" count="6"/>
      <line num="269" type="stmt" count="6"/>
      <line num="270" type="stmt" count="6"/>
      <line num="271" type="stmt" count="6"/>
      <line num="277" type="method" name="checkApproval" visibility="private" complexity="4" crap="4.25" count="1"/>
      <line num="279" type="stmt" count="1"/>
      <line num="283" type="stmt" count="1"/>
      <line num="287" type="stmt" count="1"/>
      <line num="288" type="stmt" count="1"/>
      <line num="289" type="stmt" count="1"/>
      <line num="290" type="stmt" count="1"/>
      <line num="291" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="295" type="stmt" count="1"/>
      <line num="296" type="stmt" count="0"/>
      <line num="300" type="stmt" count="1"/>
      <line num="301" type="stmt" count="1"/>
      <line num="302" type="stmt" count="1"/>
      <line num="303" type="stmt" count="1"/>
      <line num="304" type="stmt" count="0"/>
      <line num="307" type="stmt" count="1"/>
      <line num="314" type="method" name="getFlatScopes" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="315" type="stmt" count="1"/>
      <line num="316" type="stmt" count="1"/>
      <line num="317" type="stmt" count="1"/>
      <metrics loc="320" ncloc="275" classes="1" methods="11" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="182" coveredstatements="155" elements="193" coveredelements="163"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Rest/Handler/ListClients.php">
      <class name="MediaWiki\Extension\OAuth\Rest\Handler\ListClients" namespace="global">
        <metrics complexity="14" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="97" coveredstatements="95" elements="103" coveredelements="100"/>
      </class>
      <line num="54" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="57" type="stmt" count="5"/>
      <line num="62" type="method" name="needsWriteAccess" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="70" type="method" name="run" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="71" type="stmt" count="4"/>
      <line num="73" type="stmt" count="4"/>
      <line num="74" type="stmt" count="4"/>
      <line num="76" type="stmt" count="4"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="81" type="stmt" count="3"/>
      <line num="83" type="stmt" count="3"/>
      <line num="87" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="88" type="stmt" count="4"/>
      <line num="89" type="stmt" count="4"/>
      <line num="90" type="stmt" count="4"/>
      <line num="91" type="stmt" count="4"/>
      <line num="92" type="stmt" count="4"/>
      <line num="93" type="stmt" count="4"/>
      <line num="94" type="stmt" count="4"/>
      <line num="95" type="stmt" count="4"/>
      <line num="96" type="stmt" count="4"/>
      <line num="97" type="stmt" count="4"/>
      <line num="98" type="stmt" count="4"/>
      <line num="99" type="stmt" count="4"/>
      <line num="100" type="stmt" count="4"/>
      <line num="101" type="stmt" count="4"/>
      <line num="102" type="stmt" count="4"/>
      <line num="103" type="stmt" count="4"/>
      <line num="104" type="stmt" count="4"/>
      <line num="105" type="stmt" count="4"/>
      <line num="106" type="stmt" count="4"/>
      <line num="107" type="stmt" count="4"/>
      <line num="108" type="stmt" count="4"/>
      <line num="109" type="stmt" count="4"/>
      <line num="110" type="stmt" count="4"/>
      <line num="117" type="method" name="getDbResults" visibility="private" complexity="2" crap="2" count="3"/>
      <line num="118" type="stmt" count="3"/>
      <line num="120" type="stmt" count="3"/>
      <line num="121" type="stmt" count="3"/>
      <line num="122" type="stmt" count="3"/>
      <line num="124" type="stmt" count="3"/>
      <line num="125" type="stmt" count="3"/>
      <line num="126" type="stmt" count="3"/>
      <line num="127" type="stmt" count="3"/>
      <line num="130" type="stmt" count="3"/>
      <line num="131" type="stmt" count="3"/>
      <line num="132" type="stmt" count="3"/>
      <line num="133" type="stmt" count="3"/>
      <line num="134" type="stmt" count="3"/>
      <line num="135" type="stmt" count="3"/>
      <line num="136" type="stmt" count="3"/>
      <line num="137" type="stmt" count="3"/>
      <line num="138" type="stmt" count="3"/>
      <line num="140" type="stmt" count="3"/>
      <line num="141" type="stmt" count="3"/>
      <line num="142" type="stmt" count="3"/>
      <line num="143" type="stmt" count="3"/>
      <line num="144" type="stmt" count="3"/>
      <line num="145" type="stmt" count="3"/>
      <line num="147" type="stmt" count="3"/>
      <line num="148" type="stmt" count="3"/>
      <line num="149" type="stmt" count="3"/>
      <line num="150" type="stmt" count="3"/>
      <line num="157" type="method" name="processDbResults" visibility="private" complexity="7" crap="7.01" count="3"/>
      <line num="158" type="stmt" count="3"/>
      <line num="159" type="stmt" count="3"/>
      <line num="160" type="stmt" count="3"/>
      <line num="161" type="stmt" count="3"/>
      <line num="163" type="stmt" count="3"/>
      <line num="165" type="stmt" count="2"/>
      <line num="167" type="stmt" count="2"/>
      <line num="168" type="stmt" count="2"/>
      <line num="169" type="stmt" count="2"/>
      <line num="170" type="stmt" count="2"/>
      <line num="172" type="stmt" count="2"/>
      <line num="173" type="stmt" count="0"/>
      <line num="176" type="stmt" count="2"/>
      <line num="177" type="stmt" count="2"/>
      <line num="178" type="stmt" count="2"/>
      <line num="179" type="stmt" count="2"/>
      <line num="180" type="stmt" count="2"/>
      <line num="181" type="stmt" count="2"/>
      <line num="182" type="stmt" count="2"/>
      <line num="184" type="stmt" count="2"/>
      <line num="185" type="stmt" count="2"/>
      <line num="186" type="stmt" count="2"/>
      <line num="187" type="stmt" count="2"/>
      <line num="188" type="stmt" count="2"/>
      <line num="189" type="stmt" count="2"/>
      <line num="191" type="stmt" count="2"/>
      <line num="192" type="stmt" count="1"/>
      <line num="195" type="stmt" count="2"/>
      <line num="196" type="stmt" count="2"/>
      <line num="198" type="stmt" count="2"/>
      <line num="199" type="stmt" count="0"/>
      <line num="202" type="stmt" count="2"/>
      <line num="203" type="stmt" count="2"/>
      <line num="204" type="stmt" count="2"/>
      <line num="208" type="stmt" count="2"/>
      <line num="211" type="stmt" count="3"/>
      <metrics loc="214" ncloc="193" classes="1" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="97" coveredstatements="95" elements="103" coveredelements="100"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Rest/Handler/RequestClient.php">
      <class name="MediaWiki\Extension\OAuth\Rest\Handler\RequestClient" namespace="global">
        <metrics complexity="14" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="109" coveredstatements="106" elements="115" coveredelements="111"/>
      </class>
      <line num="22" type="method" name="getFixedParams" visibility="protected" complexity="1" crap="1" count="9"/>
      <line num="23" type="stmt" count="9"/>
      <line num="24" type="stmt" count="9"/>
      <line num="25" type="stmt" count="9"/>
      <line num="26" type="stmt" count="9"/>
      <line num="27" type="stmt" count="9"/>
      <line num="28" type="stmt" count="9"/>
      <line num="29" type="stmt" count="9"/>
      <line num="30" type="stmt" count="9"/>
      <line num="36" type="method" name="getBodyParamSettings" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="37" type="stmt" count="12"/>
      <line num="38" type="stmt" count="12"/>
      <line num="39" type="stmt" count="12"/>
      <line num="40" type="stmt" count="12"/>
      <line num="41" type="stmt" count="12"/>
      <line num="42" type="stmt" count="12"/>
      <line num="43" type="stmt" count="12"/>
      <line num="44" type="stmt" count="12"/>
      <line num="45" type="stmt" count="12"/>
      <line num="46" type="stmt" count="12"/>
      <line num="47" type="stmt" count="12"/>
      <line num="48" type="stmt" count="12"/>
      <line num="49" type="stmt" count="12"/>
      <line num="50" type="stmt" count="12"/>
      <line num="51" type="stmt" count="12"/>
      <line num="52" type="stmt" count="12"/>
      <line num="53" type="stmt" count="12"/>
      <line num="54" type="stmt" count="12"/>
      <line num="55" type="stmt" count="12"/>
      <line num="56" type="stmt" count="12"/>
      <line num="57" type="stmt" count="12"/>
      <line num="58" type="stmt" count="12"/>
      <line num="59" type="stmt" count="12"/>
      <line num="60" type="stmt" count="12"/>
      <line num="61" type="stmt" count="12"/>
      <line num="62" type="stmt" count="12"/>
      <line num="63" type="stmt" count="12"/>
      <line num="64" type="stmt" count="12"/>
      <line num="65" type="stmt" count="12"/>
      <line num="66" type="stmt" count="12"/>
      <line num="67" type="stmt" count="12"/>
      <line num="68" type="stmt" count="12"/>
      <line num="69" type="stmt" count="12"/>
      <line num="70" type="stmt" count="12"/>
      <line num="71" type="stmt" count="12"/>
      <line num="72" type="stmt" count="12"/>
      <line num="73" type="stmt" count="12"/>
      <line num="74" type="stmt" count="12"/>
      <line num="75" type="stmt" count="12"/>
      <line num="76" type="stmt" count="12"/>
      <line num="77" type="stmt" count="12"/>
      <line num="78" type="stmt" count="12"/>
      <line num="79" type="stmt" count="12"/>
      <line num="80" type="stmt" count="12"/>
      <line num="81" type="stmt" count="12"/>
      <line num="82" type="stmt" count="12"/>
      <line num="83" type="stmt" count="12"/>
      <line num="84" type="stmt" count="12"/>
      <line num="85" type="stmt" count="12"/>
      <line num="86" type="stmt" count="12"/>
      <line num="87" type="stmt" count="12"/>
      <line num="88" type="stmt" count="12"/>
      <line num="89" type="stmt" count="12"/>
      <line num="90" type="stmt" count="12"/>
      <line num="91" type="stmt" count="12"/>
      <line num="92" type="stmt" count="12"/>
      <line num="93" type="stmt" count="12"/>
      <line num="94" type="stmt" count="12"/>
      <line num="95" type="stmt" count="12"/>
      <line num="96" type="stmt" count="12"/>
      <line num="97" type="stmt" count="12"/>
      <line num="98" type="stmt" count="12"/>
      <line num="99" type="stmt" count="12"/>
      <line num="100" type="stmt" count="12"/>
      <line num="101" type="stmt" count="12"/>
      <line num="102" type="stmt" count="12"/>
      <line num="103" type="stmt" count="12"/>
      <line num="104" type="stmt" count="12"/>
      <line num="105" type="stmt" count="12"/>
      <line num="106" type="stmt" count="12"/>
      <line num="107" type="stmt" count="12"/>
      <line num="108" type="stmt" count="12"/>
      <line num="109" type="stmt" count="12"/>
      <line num="110" type="stmt" count="12"/>
      <line num="116" type="method" name="getUnifiedParams" visibility="protected" complexity="1" crap="1" count="9"/>
      <line num="117" type="stmt" count="9"/>
      <line num="118" type="stmt" count="9"/>
      <line num="127" type="method" name="adjustScopes" visibility="private" complexity="4" crap="4" count="9"/>
      <line num="128" type="stmt" count="9"/>
      <line num="129" type="stmt" count="9"/>
      <line num="131" type="stmt" count="9"/>
      <line num="132" type="stmt" count="3"/>
      <line num="133" type="stmt" count="9"/>
      <line num="135" type="stmt" count="9"/>
      <line num="136" type="stmt" count="1"/>
      <line num="138" type="stmt" count="9"/>
      <line num="139" type="stmt" count="1"/>
      <line num="142" type="stmt" count="9"/>
      <line num="143" type="stmt" count="8"/>
      <line num="145" type="stmt" count="9"/>
      <line num="147" type="stmt" count="9"/>
      <line num="155" type="method" name="findAndRemoveScope" visibility="private" complexity="2" crap="2" count="9"/>
      <line num="156" type="stmt" count="9"/>
      <line num="157" type="stmt" count="9"/>
      <line num="158" type="stmt" count="9"/>
      <line num="160" type="stmt" count="2"/>
      <line num="162" type="stmt" count="2"/>
      <line num="168" type="method" name="validate" visibility="public" complexity="5" crap="6.97" count="12"/>
      <line num="169" type="stmt" count="12"/>
      <line num="171" type="stmt" count="9"/>
      <line num="174" type="stmt" count="9"/>
      <line num="175" type="stmt" count="9"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <metrics loc="183" ncloc="156" classes="1" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="109" coveredstatements="106" elements="115" coveredelements="111"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Rest/Handler/ResetClientSecret.php">
      <class name="MediaWiki\Extension\OAuth\Rest\Handler\ResetClientSecret" namespace="global">
        <metrics complexity="7" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="45" coveredstatements="42" elements="49" coveredelements="45"/>
      </class>
      <line num="20" type="method" name="getFixedParams" visibility="protected" complexity="1" crap="1" count="7"/>
      <line num="21" type="stmt" count="7"/>
      <line num="22" type="stmt" count="7"/>
      <line num="23" type="stmt" count="7"/>
      <line num="24" type="stmt" count="7"/>
      <line num="25" type="stmt" count="7"/>
      <line num="26" type="stmt" count="7"/>
      <line num="32" type="method" name="getUnifiedParams" visibility="protected" complexity="4" crap="4.04" count="7"/>
      <line num="33" type="stmt" count="7"/>
      <line num="34" type="stmt" count="7"/>
      <line num="36" type="stmt" count="7"/>
      <line num="37" type="stmt" count="7"/>
      <line num="38" type="stmt" count="7"/>
      <line num="39" type="stmt" count="7"/>
      <line num="40" type="stmt" count="7"/>
      <line num="41" type="stmt" count="7"/>
      <line num="42" type="stmt" count="3"/>
      <line num="43" type="stmt" count="3"/>
      <line num="44" type="stmt" count="3"/>
      <line num="47" type="stmt" count="4"/>
      <line num="49" type="stmt" count="4"/>
      <line num="50" type="stmt" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="52" type="stmt" count="1"/>
      <line num="53" type="stmt" count="3"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" type="stmt" count="3"/>
      <line num="60" type="stmt" count="3"/>
      <line num="66" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="67" type="stmt" count="8"/>
      <line num="68" type="stmt" count="8"/>
      <line num="69" type="stmt" count="8"/>
      <line num="70" type="stmt" count="8"/>
      <line num="71" type="stmt" count="8"/>
      <line num="72" type="stmt" count="8"/>
      <line num="73" type="stmt" count="8"/>
      <line num="74" type="stmt" count="8"/>
      <line num="80" type="method" name="getBodyParamSettings" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="81" type="stmt" count="7"/>
      <line num="82" type="stmt" count="7"/>
      <line num="83" type="stmt" count="7"/>
      <line num="84" type="stmt" count="7"/>
      <line num="85" type="stmt" count="7"/>
      <line num="86" type="stmt" count="7"/>
      <line num="87" type="stmt" count="7"/>
      <line num="88" type="stmt" count="7"/>
      <line num="89" type="stmt" count="7"/>
      <metrics loc="93" ncloc="81" classes="1" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="45" coveredstatements="42" elements="49" coveredelements="45"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Rest/Handler/Resource.php">
      <class name="MediaWiki\Extension\OAuth\Rest\Handler\Resource" namespace="global">
        <metrics complexity="14" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="45" coveredstatements="0" elements="55" coveredelements="0"/>
      </class>
      <line num="36" type="method" name="factory" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="45" type="method" name="__construct" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="54" type="method" name="needsReadAccess" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="61" type="method" name="needsWriteAccess" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="68" type="method" name="execute" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="85" type="method" name="getByType" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="86" 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="92" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="106" type="method" name="getProfile" visibility="private" complexity="2" crap="6" 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="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="131" type="method" name="getScopes" visibility="private" complexity="1" crap="2" 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="143" type="method" name="respond" visibility="private" complexity="1" crap="2" 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="151" type="method" name="getParamSettings" visibility="public" complexity="1" crap="2" 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"/>
      <metrics loc="162" ncloc="110" classes="1" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="45" coveredstatements="0" elements="55" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/ServiceWiring.php">
      <line num="20" type="stmt" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" 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"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" 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="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <metrics loc="66" ncloc="65" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="38" coveredstatements="0" elements="38" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/SessionProvider.php">
      <class name="MediaWiki\Extension\OAuth\SessionProvider" namespace="global">
        <metrics complexity="83" methods="20" coveredmethods="11" conditionals="0" coveredconditionals="0" statements="290" coveredstatements="176" elements="310" coveredelements="187"/>
      </class>
      <line num="62" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="67" type="stmt" count="8"/>
      <line num="70" type="method" name="postInitSetup" visibility="protected" complexity="1" crap="1" count="8"/>
      <line num="71" type="stmt" count="8"/>
      <line num="73" type="stmt" count="8"/>
      <line num="75" type="stmt" count="8"/>
      <line num="77" type="stmt" count="8"/>
      <line num="79" type="stmt" count="8"/>
      <line num="83" type="method" name="provideSessionInfo" visibility="public" complexity="32" crap="72.57" count="7"/>
      <line num="84" type="stmt" count="7"/>
      <line num="85" type="stmt" count="7"/>
      <line num="87" type="stmt" count="6"/>
      <line num="91" type="stmt" count="6"/>
      <line num="92" type="stmt" count="6"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="113" type="stmt" count="6"/>
      <line num="114" type="stmt" count="6"/>
      <line num="115" type="stmt" count="6"/>
      <line num="116" type="stmt" count="6"/>
      <line num="117" type="stmt" count="6"/>
      <line num="119" type="stmt" count="6"/>
      <line num="120" type="stmt" count="6"/>
      <line num="121" type="stmt" count="6"/>
      <line num="122" type="stmt" count="6"/>
      <line num="124" type="stmt" count="6"/>
      <line num="125" type="stmt" count="5"/>
      <line num="126" type="stmt" count="5"/>
      <line num="127" type="stmt" count="4"/>
      <line num="128" type="stmt" count="4"/>
      <line num="129" type="stmt" count="4"/>
      <line num="130" 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="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="146" type="stmt" count="4"/>
      <line num="148" type="stmt" count="4"/>
      <line num="149" type="stmt" count="4"/>
      <line num="150" type="stmt" count="4"/>
      <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="158" type="stmt" count="4"/>
      <line num="160" type="stmt" count="3"/>
      <line num="161" type="stmt" count="3"/>
      <line num="162" type="stmt" count="2"/>
      <line num="163" type="stmt" count="2"/>
      <line num="164" type="stmt" count="2"/>
      <line num="165" type="stmt" count="2"/>
      <line num="166" type="stmt" count="5"/>
      <line num="168" type="stmt" count="1"/>
      <line num="169" type="stmt" count="1"/>
      <line num="170" type="stmt" count="1"/>
      <line num="173" type="stmt" count="5"/>
      <line num="174" type="stmt" count="5"/>
      <line num="175" type="stmt" count="5"/>
      <line num="176" type="stmt" count="5"/>
      <line num="177" type="stmt" count="5"/>
      <line num="178" type="stmt" count="5"/>
      <line num="180" type="stmt" count="5"/>
      <line num="182" type="stmt" count="5"/>
      <line num="183" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="187" type="stmt" count="5"/>
      <line num="189" type="stmt" count="5"/>
      <line num="190" type="stmt" count="0"/>
      <line num="196" type="stmt" count="5"/>
      <line num="197" type="stmt" count="5"/>
      <line num="199" type="stmt" count="5"/>
      <line num="200" type="stmt" count="0"/>
      <line num="203" type="stmt" count="5"/>
      <line num="204" type="stmt" count="1"/>
      <line num="205" type="stmt" count="1"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="212" type="stmt" count="5"/>
      <line num="213" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="216" type="stmt" count="5"/>
      <line num="217" 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="225" type="stmt" count="5"/>
      <line num="226" type="stmt" count="5"/>
      <line num="227" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="5"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="238" type="stmt" count="5"/>
      <line num="241" type="stmt" count="5"/>
      <line num="242" type="stmt" count="5"/>
      <line num="243" type="stmt" count="5"/>
      <line num="244" type="stmt" count="5"/>
      <line num="245" type="stmt" count="5"/>
      <line num="246" type="stmt" count="5"/>
      <line num="247" type="stmt" count="5"/>
      <line num="248" type="stmt" count="5"/>
      <line num="249" type="stmt" count="5"/>
      <line num="250" type="stmt" count="5"/>
      <line num="252" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="257" type="stmt" count="5"/>
      <line num="258" type="stmt" count="5"/>
      <line num="260" type="stmt" count="5"/>
      <line num="261" type="stmt" count="5"/>
      <line num="262" type="stmt" count="5"/>
      <line num="263" type="stmt" count="5"/>
      <line num="264" type="stmt" count="5"/>
      <line num="265" type="stmt" count="5"/>
      <line num="266" type="stmt" count="5"/>
      <line num="267" type="stmt" count="5"/>
      <line num="268" type="stmt" count="5"/>
      <line num="269" type="stmt" count="5"/>
      <line num="270" type="stmt" count="5"/>
      <line num="271" type="stmt" count="5"/>
      <line num="272" type="stmt" count="5"/>
      <line num="273" type="stmt" count="5"/>
      <line num="274" type="stmt" count="5"/>
      <line num="276" type="stmt" count="5"/>
      <line num="277" type="stmt" count="3"/>
      <line num="280" type="stmt" count="5"/>
      <line num="293" type="method" name="provideSessionInfoWithJwtCookie" visibility="private" complexity="5" crap="5" count="3"/>
      <line num="294" type="stmt" count="3"/>
      <line num="295" type="stmt" count="3"/>
      <line num="296" type="stmt" count="3"/>
      <line num="302" type="stmt" count="3"/>
      <line num="303" type="stmt" count="3"/>
      <line num="304" type="stmt" count="3"/>
      <line num="305" type="stmt" count="3"/>
      <line num="306" type="stmt" count="3"/>
      <line num="307" type="stmt" count="3"/>
      <line num="308" type="stmt" count="3"/>
      <line num="309" type="stmt" count="3"/>
      <line num="310" type="stmt" count="3"/>
      <line num="311" type="stmt" count="3"/>
      <line num="312" type="stmt" count="2"/>
      <line num="313" type="stmt" count="2"/>
      <line num="314" type="stmt" count="2"/>
      <line num="315" type="stmt" count="2"/>
      <line num="317" type="stmt" count="3"/>
      <line num="321" type="stmt" count="3"/>
      <line num="322" type="stmt" count="3"/>
      <line num="323" type="stmt" count="3"/>
      <line num="324" type="stmt" count="3"/>
      <line num="327" type="stmt" count="3"/>
      <line num="336" type="method" name="getOAuthVersionFromRequest" visibility="private" complexity="3" crap="3" count="7"/>
      <line num="337" type="stmt" count="7"/>
      <line num="338" type="stmt" count="3"/>
      <line num="340" type="stmt" count="7"/>
      <line num="341" type="stmt" count="5"/>
      <line num="344" type="stmt" count="6"/>
      <line num="353" type="method" name="verifyOAuth2Request" visibility="private" complexity="2" crap="2" count="5"/>
      <line num="354" type="stmt" count="5"/>
      <line num="355" type="stmt" count="5"/>
      <line num="356" type="stmt" count="5"/>
      <line num="357" type="stmt" count="5"/>
      <line num="359" type="stmt" count="5"/>
      <line num="360" type="stmt" count="5"/>
      <line num="361" type="stmt" count="5"/>
      <line num="362" type="stmt" count="5"/>
      <line num="363" type="stmt" count="5"/>
      <line num="364" type="stmt" count="5"/>
      <line num="365" type="stmt" count="4"/>
      <line num="366" type="stmt" count="4"/>
      <line num="367" type="stmt" count="5"/>
      <line num="368" type="stmt" count="5"/>
      <line num="370" type="stmt" count="5"/>
      <line num="371" type="stmt" count="4"/>
      <line num="374" type="stmt" count="1"/>
      <line num="378" type="method" name="mergeMetadata" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="382" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="387" type="method" name="sessionWasAttachedToRequest" visibility="public" complexity="4" crap="4" count="3"/>
      <line num="389" type="stmt" count="3"/>
      <line num="390" type="stmt" count="3"/>
      <line num="391" type="stmt" count="3"/>
      <line num="392" type="stmt" count="3"/>
      <line num="393" type="stmt" count="3"/>
      <line num="394" type="stmt" count="3"/>
      <line num="395" type="stmt" count="3"/>
      <line num="396" type="stmt" count="3"/>
      <line num="397" type="stmt" count="3"/>
      <line num="398" type="stmt" count="3"/>
      <line num="401" type="stmt" count="3"/>
      <line num="402" type="stmt" count="3"/>
      <line num="404" type="stmt" count="1"/>
      <line num="405" type="stmt" count="1"/>
      <line num="406" type="stmt" count="1"/>
      <line num="407" type="stmt" count="1"/>
      <line num="408" type="stmt" count="1"/>
      <line num="409" type="stmt" count="1"/>
      <line num="414" type="method" name="preventSessionsForUser" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="415" type="stmt" count="0"/>
      <line num="416" type="stmt" count="0"/>
      <line num="418" 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="425" type="stmt" count="0"/>
      <line num="426" type="stmt" count="0"/>
      <line num="427" type="stmt" count="0"/>
      <line num="428" type="stmt" count="0"/>
      <line num="429" type="stmt" count="0"/>
      <line num="430" type="stmt" count="0"/>
      <line num="431" type="stmt" count="0"/>
      <line num="432" type="stmt" count="0"/>
      <line num="433" type="stmt" count="0"/>
      <line num="436" type="stmt" count="0"/>
      <line num="437" type="stmt" count="0"/>
      <line num="438" type="stmt" count="0"/>
      <line num="439" type="stmt" 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="449" type="method" name="getVaryHeaders" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="450" type="stmt" count="0"/>
      <line num="451" type="stmt" count="0"/>
      <line num="452" type="stmt" count="0"/>
      <line num="460" type="method" name="getSessionData" visibility="private" complexity="5" crap="30" 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="464" type="stmt" count="0"/>
      <line num="465" type="stmt" count="0"/>
      <line num="467" type="stmt" count="0"/>
      <line num="470" type="stmt" count="0"/>
      <line num="471" type="stmt" count="0"/>
      <line num="472" type="stmt" count="0"/>
      <line num="476" type="stmt" count="0"/>
      <line num="480" type="method" name="getAllowedUserRights" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="481" type="stmt" count="0"/>
      <line num="482" type="stmt" count="0"/>
      <line num="484" type="stmt" count="0"/>
      <line num="485" type="stmt" count="0"/>
      <line num="486" type="stmt" count="0"/>
      <line num="490" type="stmt" count="0"/>
      <line num="491" type="stmt" count="0"/>
      <line num="494" type="method" name="getRestrictions" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="495" type="stmt" count="0"/>
      <line num="497" type="stmt" count="0"/>
      <line num="498" type="stmt" count="0"/>
      <line num="499" type="stmt" count="0"/>
      <line num="500" type="stmt" count="0"/>
      <line num="501" type="stmt" count="0"/>
      <line num="502" type="stmt" count="0"/>
      <line num="505" type="stmt" count="0"/>
      <line num="516" type="method" name="onApiCheckCanExecute" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="518" type="stmt" count="0"/>
      <line num="519" type="stmt" count="0"/>
      <line num="522" type="stmt" count="0"/>
      <line num="523" type="stmt" count="0"/>
      <line num="524" type="stmt" count="0"/>
      <line num="525" type="stmt" count="0"/>
      <line num="526" type="stmt" count="0"/>
      <line num="527" type="stmt" count="0"/>
      <line num="528" type="stmt" count="0"/>
      <line num="532" type="stmt" count="0"/>
      <line num="541" type="method" name="onRecentChange_save" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="542" type="stmt" count="2"/>
      <line num="543" type="stmt" count="2"/>
      <line num="544" type="stmt" count="1"/>
      <line num="546" type="stmt" count="2"/>
      <line num="554" type="method" name="getPublicConsumerId" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="555" type="stmt" count="0"/>
      <line num="556" type="stmt" count="0"/>
      <line num="557" type="stmt" count="0"/>
      <line num="559" type="stmt" count="0"/>
      <line num="575" type="method" name="onMarkPatrolled" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="582" type="stmt" count="4"/>
      <line num="583" type="stmt" count="4"/>
      <line num="584" type="stmt" count="2"/>
      <line num="586" type="stmt" count="4"/>
      <line num="594" type="method" name="safeAgainstCsrf" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="595" type="stmt" count="1"/>
      <line num="601" type="method" name="shouldUseJwtCookie" visibility="private" complexity="5" crap="5" count="5"/>
      <line num="611" type="stmt" count="5"/>
      <line num="612" type="stmt" count="5"/>
      <line num="613" type="stmt" count="5"/>
      <line num="614" type="stmt" count="5"/>
      <line num="615" type="stmt" count="5"/>
      <line num="616" type="stmt" count="5"/>
      <line num="617" type="stmt" count="5"/>
      <line num="618" type="stmt" count="5"/>
      <line num="621" type="method" name="getJwtClaimOverrides" visibility="protected" complexity="1" crap="1" count="3"/>
      <line num="622" type="stmt" count="3"/>
      <line num="623" type="stmt" count="3"/>
      <line num="624" type="stmt" count="3"/>
      <metrics loc="628" ncloc="495" classes="1" methods="20" coveredmethods="11" conditionals="0" coveredconditionals="0" statements="290" coveredstatements="176" elements="310" coveredelements="187"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/Setup.php">
      <class name="MediaWiki\Extension\OAuth\Setup" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="6" coveredelements="0"/>
      </class>
      <line num="23" type="method" name="onTestCanonicalRedirect" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="27" type="method" name="isOAuthRequest" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <metrics loc="34" ncloc="23" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="6" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/OAuth/src/UserStatementProvider.php">
      <class name="MediaWiki\Extension\OAuth\UserStatementProvider" namespace="global">
        <metrics complexity="10" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="52" coveredstatements="38" elements="56" coveredelements="40"/>
      </class>
      <line num="34" type="method" name="factory" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="58" type="method" name="__construct" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="79" type="method" name="getUserStatement" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="84" type="stmt" count="1"/>
      <line num="89" type="stmt" count="1"/>
      <line num="92" type="stmt" count="1"/>
      <line num="95" type="stmt" count="1"/>
      <line num="96" type="stmt" count="1"/>
      <line num="100" type="stmt" count="1"/>
      <line num="102" type="stmt" count="1"/>
      <line num="110" type="method" name="getUserProfile" visibility="public" complexity="7" crap="7.02" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <line num="125" type="stmt" count="1"/>
      <line num="126" type="stmt" count="1"/>
      <line num="127" type="stmt" count="1"/>
      <line num="128" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="133" type="stmt" count="1"/>
      <line num="134" type="stmt" count="1"/>
      <line num="141" type="stmt" count="1"/>
      <line num="142" type="stmt" count="1"/>
      <line num="143" type="stmt" count="1"/>
      <line num="144" type="stmt" count="1"/>
      <line num="147" type="stmt" count="0"/>
      <line num="150" type="stmt" count="1"/>
      <metrics loc="153" ncloc="105" classes="1" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="52" coveredstatements="38" elements="56" coveredelements="40"/>
    </file>
    <metrics files="110" loc="17940" ncloc="13476" classes="100" methods="717" coveredmethods="192" conditionals="0" coveredconditionals="0" statements="7039" coveredstatements="2489" elements="7756" coveredelements="2681"/>
  </project>
</coverage>
