text:
x1="11.4808" y1="34.2392" x2="11.43" y2="34.29" width="0.2032" layer="1"/>
</signal>
<signal name="SPI_5V_MISO">
<contactref element="LEVELS" pad="16"/>
<contactref element="CN3" pad="15"/>
<wire x1="28.8544" y1="30.8864" x2="28.8544" y2="31.2928" width="0.2032" layer="1"/>
<wire x1="26.7208" y1="28.7528" x2="28.8544" y2="30.8864" width="0.2032" layer="1"/>
<wire x1="22.0472" y1="28.7528" x2="26.7208" y2="28.7528" width="0.2032" layer="1"/>
<wire x1="21.7424" y1="29.0576" x2="22.0472" y2="28.7528" width="0.2032" layer="1"/>
<wire x1="15.6464" y1="29.0576" x2="21.7424" y2="29.0576" width="0.2032" layer="1"/>
<wire x1="11.4808" y1="33.2232" x2="15.6464" y2="29.0576" width="0.2032" layer="1"/>
<wire x1="10.9728" y1="33.2232" x2="11.4808" y2="33.2232" width="0.2032" layer="1"/>
<wire x1="10.3632" y1="33.8328" x2="10.9728" y2="33.2232" width="0.2032" layer="1"/>
<wire x1="10.3632" y1="35.7632" x2="10.3632" y2="33.8328" width="0.2032" layer="1"/>
<wire x1="11.43" y1="36.83" x2="10.3632" y2="35.7632" width="0.2032" layer="1"/>
<wire x1="28.8544" y1="31.2928" x2="28.9" y2="31.3722" width="0.2032" layer="1"/>
</signal>
<signal name="SPI_5V_CLOCK">
<contactref element="LEVELS" pad="15"/>
<contactref element="CN3" pad="17"/>
<wire x1="28.2448" y1="31.9024" x2="28.2448" y2="31.3944" width="0.2032" layer="1"/>
<wire x1="27.0256" y1="33.1216" x2="28.2448" y2="31.9024" width="0.2032" layer="1"/>
<wire x1="18.796" y1="33.1216" x2="27.0256" y2="33.1216" width="0.2032" layer="1"/>
<wire x1="17.5768" y1="34.3408" x2="18.796" y2="33.1216" width="0.2032" layer="16"/>
<wire x1="16.256" y1="34.3408" x2="17.5768" y2="34.3408" width="0.2032" layer="16"/>
<wire x1="15.5448" y1="35.052" x2="16.256" y2="34.3408" width="0.2032" layer="16"/>
<wire x1="15.5448" y1="35.2552" x2="15.5448" y2="35.052" width="0.2032" layer="1"/>
<wire x1="11.43" y1="39.37" x2="15.5448" y2="35.2552" width="0.2032" layer="1"/>
<wire x1="28.2448" y1="31.3944" x2="28.25" y2="31.3722" width="0.2032" layer="1"/>
<via x="18.796" y="33.1216" extent="1-16" drill="0.6096"/>
<via x="15.5448" y="35.052" extent="1-16" drill="0.6096"/>
</signal>
<signal name="PWM_1">
<contactref element="PWM" pad="6"/>
<contactref element="CN4" pad="2"/>
<wire x1="23.4852" y1="22.652" x2="23.4852" y2="25.0727" width="0.254" layer="1"/>
<wire x1="23.4852" y1="25.0727" x2="23.495" y2="25.0825" width="0.254" layer="1"/>
<wire x1="23.495" y1="25.0825" x2="23.495" y2="25.4" width="0.254" layer="1"/>
<wire x1="23.495" y1="25.4" x2="21.2725" y2="27.6225" width="0.254" layer="1"/>
<wire x1="21.2725" y1="27.6225" x2="13.335" y2="27.6225" width="0.254" layer="1"/>
<wire x1="13.335" y1="27.6225" x2="13.335" y2="10.16" width="0.254" layer="1"/>
<wire x1="13.335" y1="10.16" x2="10.16" y2="10.16" width="0.254" layer="1"/>
<wire x1="10.16" y1="10.16" x2="10.16" y2="6.35" width="0.254" layer="1"/>
</signal>
<signal name="PWM_3">
<contactref element="PWM" pad="8"/>
<contactref element="CN4" pad="4"/>
<wire x1="22.1898" y1="22.652" x2="22.1898" y2="24.4123" width="0.254" layer="1"/>
<wire x1="22.1898" y1="24.4123" x2="22.225" y2="24.4475" width="0.254" layer="1"/>
<wire x1="22.225" y1="24.4475" x2="22.225" y2="24.765" width="0.254" layer="1"/>
<wire x1="22.225" y1="24.765" x2="20.6375" y2="26.3525" width="0.254" layer="1"/>
<wire x1="20.6375" y1="26.3525" x2="14.605" y2="26.3525" width="0.254" layer="1"/>
<wire x1="14.605" y1="26.3525" x2="14.605" y2="8.89" width="0.254" layer="1"/>
<wire x1="14.605" y1="8.89" x2="12.7" y2="8.89" width="0.254" layer="1"/>
<wire x1="12.7" y1="8.89" x2="12.7" y2="6.35" width="0.254" layer="1"/>
</signal>
<signal name="PWM_4">
<contactref element="PWM" pad="9"/>
<contactref element="CN4" pad="3"/>
<wire x1="21.5548" y1="22.652" x2="21.5548" y2="24.4123" width="0.254" layer="1"/>
<wire x1="21.5548" y1="24.4123" x2="21.59" y2="24.4475" width="0.254" layer="1"/>
<wire x1="21.59" y1="24.4475" x2="20.32" y2="25.7175" width="0.254" layer="1"/>
<wire x1="20.32" y1="25.7175" x2="15.24" y2="25.7175" width="0.254" layer="1"/>
<wire x1="15.24" y1="25.7175" x2="15.24" y2="8.255" width="0.254" layer="1"/>
<wire x1="15.24" y1="8.255" x2="13.97" y2="8.255" width="0.254" layer="1"/>
<wire x1="13.97" y1="8.255" x2="13.97" y2="5.08" width="0.254" layer="1"/>
<wire x1="13.97" y1="5.08" x2="12.7" y2="3.81" width="0.254" layer="1"/>
</signal>
<signal name="PWM_7">
<contactref element="PWM" pad="12"/>
<contactref element="CN4" pad="8"/>
<wire x1="19.599" y1="22.652" x2="19.599" y2="23.581" width="0.254" layer="1"/>
<wire x1="19.599" y1="23.581" x2="19.3675" y2="23.8125" width="0.254" layer="1"/>
<wire x1="19.3675" y1="23.8125" x2="17.145" y2="23.8125" width="0.254" layer="1"/>
<wire x1="17.145" y1="23.8125" x2="17.145" y2="7.62" width="0.254" layer="1"/>
<wire x1="17.145" y1="7.62" x2="17.78" y2="6.35" width="0.254" layer="1"/>
</signal>
<signal name="PWM_8">
<contactref element="PWM" pad="13"/>
<contactref element="CN4" pad="7"/>
<wire x1="19.3675" y1="21.2725" x2="19.2561" y2="20.2086" width="0.254" layer="1"/>
<wire x1="19.2561" y1="20.2086" x2="17.78" y2="19.3675" width="0.254" layer="1"/>
<wire x1="17.78" y1="19.3675" x2="17.78" y2="7.62" width="0.254" layer="1"/>
<wire x1="17.78" y1="7.62" x2="19.05" y2="7.62" width="0.254" layer="1"/>
<wire x1="19.05" y1="7.62" x2="19.05" y2="5.08" width="0.254" layer="1"/>
<wire x1="19.05" y1="5.08" x2="17.78" y2="3.81" width="0.254" layer="1"/>
<wire x1="18.9386" y1="22.652" x2="18.9386" y2="21.7014" width="0.254" layer="1"/>
<wire x1="18.9386" y1="21.7014" x2="19.3675" y2="21.2725" width="0.254" layer="1"/>
</signal>
<signal name="PWM_9">
<contactref element="PWM" pad="15"/>
<contactref element="CN4" pad="10"/>
<wire x1="18.3036" y1="16.81" x2="18.3036" y2="8.3664" width="0.254" layer="1"/>
<wire x1="18.3036" y1="8.3664" x2="18.415" y2="8.255" width="0.254" layer="1"/>
<wire x1="18.415" y1="8.255" x2="20.32" y2="8.255" width="0.254" layer="1"/>
<wire x1="20.32" y1="8.255" x2="20.32" y2="6.35" width="0.254" layer="1"/>
</signal>
<signal name="PWM_10">
<contactref element="PWM" pad="16"/>
<contactref element="CN4" pad="9"/>
<wire x1="18.9386" y1="16.81" x2="18.9386" y2="9.0014" width="0.254" layer="1"/>
<wire x1="18.9386" y1="9.0014" x2="19.05" y2="8.89" width="0.254" layer="1"/>
<wire x1="19.05" y1="8.89" x2="21.59" y2="8.89" width="0.254" layer="1"/>
<wire x1="21.59" y1="8.89" x2="21.59" y2="5.08" width="0.254" layer="1"/>
<wire x1="21.59" y1="5.08" x2="20.32" y2="3.81" width="0.254" layer="1"/>
</signal>
<signal name="PWM_11">
<contactref element="PWM" pad="17"/>
<contactref element="CN4" pad="12"/>
<wire x1="19.599" y1="16.81" x2="19.599" y2="9.611" width="0.254" layer="1"/>
<wire x1="19.599" y1="9.611" x2="19.685" y2="9.525" width="0.254" layer="1"/>
<wire x1="19.685" y1="9.525" x2="22.86" y2="9.525" width="0.254" layer="1"/>
<wire x1="22.86" y1="9.525" x2="22.86" y2="6.35" width="0.254" layer="1"/>
</signal>
<signal name="PWM_12">
<contactref element="PWM" pad="18"/>
<contactref element="CN4" pad="11"/>
<wire x1="20.234" y1="16.81" x2="20.234" y2="10.246" width="0.254" layer="1"/>
<wire x1="20.234" y1="10.246" x2="20.32" y2="10.16" width="0.254" layer="1"/>
<wire x1="20.32" y1="10.16" x2="24.13" y2="10.16" width="0.254" layer="1"/>
<wire x1="24.13" y1="10.16" x2="24.13" y2="5.08" width="0.254" layer="1"/>
<wire x1="24.13" y1="5.08" x2="22.86" y2="3.81" width="0.254" layer="1"/>
</signal>
<signal name="PWM_13">
<contactref element="PWM" pad="19"/>
<contactref element="CN4" pad="14"/>
<wire x1="20.8944" y1="16.81" x2="20.8944" y2="10.8556" width="0.254" layer="1"/>
<wire x1="20.8944" y1="10.8556" x2="20.955" y2="10.795" width="0.254" layer="1"/>
<wire x1="20.955" y1="10.795" x2="25.4" y2="10.795" width="0.254" layer="1"/>
<wire x1="25.4" y1="10.795" x2="25.4" y2="6.35" width="0.254" layer="1"/>
</signal>
<signal name="PWM_14">
<contactref element="PWM" pad="20"/>
<contactref element="CN4" pad="13"/>
<wire x1="21.5548" y1="16.81" x2="21.5548" y2="11.4652" width="0.254" layer="1"/>
<wire x1="21.5548" y1="11.4652" x2="21.59" y2="11.43" width="0.254" layer="1"/>
<wire x1="21.59" y1="11.43" x2="26.67" y2="11.43" width="0.254" layer="1"/>
<wire x1="26.67" y1="11.43" x2="26.67" y2="5.08" width="0.254" layer="1"/>
<wire x1="26.67" y1="5.08" x2="25.4" y2="3.81" width="0.254" layer="1"/>
</signal>
<signal name="PWM_15">
<contactref element="PWM" pad="21"/>
<contactref element="CN4" pad="16"/>
<wire x1="22.1898" y1="16.81" x2="22.1898" y2="12.1002" width="0.254" layer="1"/>
<wire x1="22.1898" y1="12.1002" x2="22.225" y2="12.065" width="0.254" layer="1"/>
<wire x1="22.225" y1="12.065" x2="27.305" y2="12.065" width="0.254" layer="1"/>
<wire x1="27.305" y1="12.065" x2="27.305" y2="7.62" width="0.254" layer="1"/>
<wire x1="27.305" y1="7.62" x2="27.94" y2="7.62" width="0.254" layer="1"/>
<wire x1="27.94" y1="7.62" x2="27.94" y2="6.35" width="0.254" layer="1"/>
</signal>
<signal name="PWM_16">
<contactref element="PWM" pad="22"/>
<contactref element="CN4" pad="15"/>
<wire x1="22.8502" y1="16.81" x2="22.8502" y2="12.7098" width="0.254" layer="1"/>
<wire x1="22.8502" y1="12.7098" x2="22.86" y2="12.7" width="0.254" layer="1"/>
<wire x1="22.86" y1="12.7" x2="27.94" y2="12.7" width="0.254" layer="1"/>
<wire x1="27.94" y1="12.7" x2="27.94" y2="8.255" width="0.254" layer="1"/>
<wire x1="27.94" y1="8.255" x2="29.21" y2="8.255" width="0.254" layer="1"/>
<wire x1="29.21" y1="8.255" x2="29.21" y2="5.08" width="0.254" layer="1"/>
<wire x1="29.21" y1="5.08" x2="27.94" y2="3.81" width="0.254" layer="1"/>
</signal>
<signal name="OE">
<contactref element="PWM" pad="23"/>
<contactref element="R2" pad="2"/>
<wire x1="23.4852" y1="16.81" x2="23.4852" y2="13.3448" width="0.254" layer="1"/>
<wire x1="23.4852" y1="13.3448" x2="23.495" y2="13.335" width="0.254" layer="1"/>
<wire x1="23.495" y1="13.335" x2="28.5775" y2="13.335" width="0.254" layer="1"/>
<wire x1="28.5775" y1="13.335" x2="28.5775" y2="15.5575" width="0.254" layer="1"/>
</signal>
<signal name="LEDOUT">
<contactref element="R1" pad="2"/>
<contactref element="LED1" pad="C"/>
<wire x1="59.944" y1="14.0208" x2="61.468" y2="14.0208" width="0.2032" layer="1"/>
<wire x1="58.8264" y1="12.9032" x2="59.944" y2="14.0208" width="0.2032" layer="1"/>
<wire x1="55.5752" y1="12.9032" x2="58.8264" y2="12.9032" width="0.2032" layer="1"/>
<wire x1="54.4576" y1="14.0208" x2="55.5752" y2="12.9032" width="0.2032" layer="1"/>
<wire x1="61.468" y1="14.0208" x2="61.523290625" y2="14.058271875" width="0.2032" layer="1"/>
<wire x1="54.4576" y1="14.0208" x2="54.434153125" y2="14.0480625" width="0.2032" layer="1"/>
</signal>
<signal name="N$8" class="1">
<contactref element="LEVELS" pad="10"/>
<contactref element="R7" pad="1"/>
<wire x1="25.7048" y1="36.6776" x2="25.7048" y2="37.1856" width="0.2032" layer="1"/>
<wire x1="26.924" y1="35.4584" x2="25.7048" y2="36.6776" width="0.2032" layer="1"/>
<wire x1="28.448" y1="35.4584" x2="26.924" y2="35.4584" width="0.2032" layer="1"/>
<wire x1="31.2928" y1="32.6136" x2="28.448" y2="35.4584" width="0.2032" layer="1"/>
<wire x1="32.6136" y1="32.6136" x2="31.2928" y2="32.6136" width="0.2032" layer="1"/>
<wire x1="34.2392" y1="30.988" x2="32.6136" y2="32.6136" width="0.2032" layer="1"/>
<wire x1="25.7048" y1="37.1856" x2="25.65" y2="37.2078" width="0.2032" layer="1"/>
<wire x1="34.2392" y1="30.988" x2="34.2925" y2="30.988" width="0.2032" layer="1"/>
</signal>
<signal name="ANALOG_IN_7" class="5">
<contactref element="ADC2" pad="6"/>
<contactref element="CN4" pad="24"/>
<wire x1="41.7994" y1="10.4584" x2="42.3736" y2="10.4584" width="0.254" layer="1"/>
<wire x1="42.3736" y1="10.4584" x2="42.418" y2="10.414" width="0.254" layer="1"/>
<wire x1="42.418" y1="10.414" x2="42.418" y2="2.54" width="0.254" layer="1"/>
<wire x1="42.418" y1="2.54" x2="42.164" y2="2.286" width="0.254" layer="1"/>
<wire x1="42.164" y1="2.286" x2="39.37" y2="2.286" width="0.254" layer="1"/>
<wire x1="39.37" y1="2.286" x2="39.37" y2="5.08" width="0.254" layer="1"/>
<wire x1="39.37" y1="5.08" x2="38.1" y2="6.35" width="0.254" layer="1"/>
</signal>
<signal name="ANALOG_IN_8" class="5">
<contactref element="ADC2" pad="7"/>
<contactref element="CN4" pad="23"/>
<wire x1="41.7994" y1="10.941" x2="42.907" y2="10.941" width="0.254" layer="1"/>
<wire x1="42.907" y1="10.941" x2="42.926" y2="10.922" width="0.254" layer="1"/>
<wire x1="42.926" y1="10.922" x2="42.926" y2="2.286" width="0.254" layer="1"/>
<wire x1="42.926" y1="2.286" x2="42.418" y2="1.778" width="0.254" layer="1"/>
<wire x1="42.418" y1="1.778" x2="38.1" y2="1.778" width="0.254" layer="1"/>
<wire x1="38.1" y1="1.778" x2="38.1" y2="3.81" width="0.254" layer="1"/>
</signal>
<signal name="ANALOG_IN_5" class="5">
<contactref element="ADC2" pad="4"/>
<contactref element="CN4" pad="22"/>
<wire x1="37.4306" y1="10.941" x2="36.341" y2="10.941" width="0.254" layer="1"/>
<wire x1="36.341" y1="10.941" x2="36.322" y2="10.922" width="0.254" layer="1"/>
<wire x1="36.322" y1="10.922" x2="36.322" y2="7.112" width="0.254" layer="1"/>
<wire x1="36.322" y1="7.112" x2="35.56" y2="6.35" width="0.254" layer="1"/>
</signal>
<signal name="ANALOG_IN_6" class="5">
<contactref element="ADC2" pad="5"/>
<contactref element="CN4" pad="21"/>
<wire x1="37.4306" y1="10.4584" x2="36.8744" y2="10.4584" width="0.254" layer="1"/>
<wire x1="36.8744" y1="10.4584" x2="36.83" y2="10.414" width="0.254" layer="1"/>
<wire x1="36.83" y1="10.414" x2="36.83" y2="5.08" width="0.254" layer="1"/>
<wire x1="36.83" y1="5.08" x2="35.56" y2="3.81" width="0.254" layer="1"/>
</signal>
<signal name="WP">
<contactref element="R8" pad="1"/>
<contactref element="HAT_EEPROM" pad="7"/>
<contactref element="SJ1" pad="2"/>
<wire x1="45.9232" y1="32.4104" x2="45.9232" y2="31.8008" width="0.2032" layer="1"/>
<wire x1="43.3832" y1="34.9504" x2="45.9232" y2="32.4104" width="0.2032" layer="1"/>
<wire x1="40.9448" y1="34.9504" x2="43.3832" y2="34.9504" width="0.2032" layer="1"/>
<wire x1="45.9232" y1="31.8008" x2="45.994378125" y2="31.7079" width="0.2032" layer="1"/>
<wire x1="40.9448" y1="34.9504" x2="40.919821875" y2="35.0258625" width="0.2032" layer="1"/>
<wire x1="40.94463125" y1="33.290696875" x2="40.919821875" y2="33.290696875" width="0.254" layer="1"/>
<wire x1="40.919821875" y1="33.290696875" x2="40.919821875" y2="35.0258625" width="0.254" layer="1"/>
</signal>
<signal name="PWM_2">
<contactref element="CN4" pad="1"/>
<contactref element="PWM" pad="7"/>
<wire x1="22.8502" y1="22.652" x2="22.8502" y2="24.7552" width="0.254" layer="1"/>
<wire x1="22.8502" y1="24.7552" x2="22.86" y2="24.765" width="0.254" layer="1"/>
<wire x1="22.86" y1="24.765" x2="22.86" y2="25.0825" width="0.254" layer="1"/>
<wire x1="22.86" y1="25.0825" x2="20.955" y2="26.9875" width="0.254" layer="1"/>
<wire x1="20.955" y1="26.9875" x2="13.97" y2="26.9875" width="0.254" layer="1"/>
<wire x1="13.97" y1="26.9875" x2="13.97" y2="9.525" width="0.254" layer="1"/>
<wire x1="13.97" y1="9.525" x2="11.43" y2="9.525" width="0.254" layer="1"/>
<wire x1="11.43" y1="9.525" x2="11.43" y2="5.08" width="0.254" layer="1"/>
<wire x1="11.43" y1="5.08" x2="10.16" y2="3.81" width="0.254" layer="1"/>
</signal>
<signal name="PWM_5">
<contactref element="CN4" pad="6"/>
<contactref element="PWM" pad="10"/>
<wire x1="20.8944" y1="22.652" x2="20.8944" y2="24.1906" width="0.254" layer="1"/>
<wire x1="20.8944" y1="24.1906" x2="20.0025" y2="25.0825" width="0.254" layer="1"/>
<wire x1="20.0025" y1="25.0825" x2="15.875" y2="25.0825" width="0.254" layer="1"/>
<wire x1="15.875" y1="25.0825" x2="15.875" y2="7.62" width="0.254" layer="1"/>
<wire x1="15.875" y1="7.62" x2="15.24" y2="7.62" width="0.254" layer="1"/>
<wire x1="15.24" y1="7.62" x2="15.24" y2="6.35" width="0.254" layer="1"/>
</signal>
<signal name="PWM_6">
<contactref element="CN4" pad="5"/>
<contactref element="PWM" pad="11"/>
<wire x1="20.234" y1="22.652" x2="20.234" y2="23.8985" width="0.254" layer="1"/>
<wire x1="20.234" y1="23.8985" x2="19.685" y2="24.4475" width="0.254" layer="1"/>
<wire x1="19.685" y1="24.4475" x2="16.51" y2="24.4475" width="0.254" layer="1"/>
<wire x1="16.51" y1="24.4475" x2="16.51" y2="5.08" width="0.254" layer="1"/>
<wire x1="16.51" y1="5.08" x2="15.24" y2="3.81" width="0.254" layer="1"/>
</signal>
<signal name="FILTERED_GND" class="1">
<contactref element="FB2" pad="2"/>
<contactref element="ADC2" pad="1"/>
<contactref element="ADC2" pad="3"/>
<contactref element="C7" pad="2"/>
<contactref element="DAC1" pad="6"/>
<contactref element="C4" pad="2"/>
<wire x1="37.4306" y1="11.449" x2="38.335" y2="11.449" width="0.254" layer="1"/>
<wire x1="38.335" y1="11.449" x2="38.5064" y2="11.4554" width="0.254" layer="1"/>
<wire x1="38.5064" y1="11.4554" x2="38.5064" y2="12.446" width="0.254" layer="1"/>
<wire x1="38.5064" y1="12.446" x2="37.437" y2="12.446" width="0.254" layer="1"/>
<wire x1="37.437" y1="12.446" x2="37.4306" y2="12.4396" width="0.254" layer="1"/>
<wire x1="37.4306" y1="12.4396" x2="37.3689" y2="13.9636" width="0.254" layer="1"/>
<wire x1="37.3689" y1="13.9636" x2="34.8225" y2="13.97" width="0.254" layer="1"/>
<wire x1="32.6392875" y1="22.2583625" x2="34.075" y2="22.225" width="0.254" layer="1"/>
<wire x1="33.2964" y1="20.5748" x2="33.02" y2="20.955" width="0.254" layer="1"/>
<wire x1="33.02" y1="20.955" x2="32.6614" y2="21.3136" width="0.254" layer="1"/>
<wire x1="32.6614" y1="21.3136" x2="32.6392875" y2="22.2583625" width="0.254" layer="1"/>
<wire x1="32.6392875" y1="22.2583625" x2="32.6614" y2="23.4726" width="0.254" layer="1"/>
<wire x1="32.6614" y1="23.4726" x2="32.258" y2="23.876" width="0.254" layer="1"/>
<wire x1="32.258" y1="23.876" x2="30.541" y2="23.876" width="0.254" layer="1"/>
<wire x1="30.541" y1="23.876" x2="30.48" y2="23.815" width="0.254" layer="1"/>
<contactref element="DAC1" pad="2"/>
<contactref element="DAC2" pad="2"/>
<wire x1="37.3888" y1="19.7104" x2="36.9824" y2="19.7104" width="0.2032" layer="1"/>
<wire x1="37.8968" y1="20.2184" x2="37.3888" y2="19.7104" width="0.2032" layer="1"/>
<wire x1="37.8968" y1="21.0312" x2="37.8968" y2="20.2184" width="0.2032" layer="1"/>
<wire x1="37.898396875" y1="21.26279375" x2="37.8968" y2="21.0312" width="0.2032" layer="1"/>
<wire x1="33.9979" y1="21.6535" x2="34.0023" y2="21.336" width="0.2032" layer="1"/>
<wire x1="34.0023" y1="21.336" x2="34.027253125" y2="21.2725" width="0.2032" layer="1"/>
<wire x1="34.027253125" y1="21.2725" x2="34.6075" y2="21.26565625" width="0.2032" layer="1"/>
<wire x1="34.6075" y1="21.26565625" x2="37.898396875" y2="21.26279375" width="0.2032" layer="1"/>
<wire x1="34.1376" y1="22.1488" x2="33.9979" y2="21.6535" width="0.2032" layer="1"/>
<wire x1="36.9824" y1="19.7104" x2="36.9316" y2="19.685" width="0.2032" layer="1"/>
<wire x1="34.1376" y1="22.1488" x2="34.075" y2="22.225" width="0.2032" layer="1"/>
<contactref element="ADC1" pad="3"/>
<contactref element="TP13" pad="TP"/>
<wire x1="29.0576" y1="11.3792" x2="29.8704" y2="11.3792" width="0.2032" layer="1"/>
<wire x1="28.8544" y1="11.5824" x2="29.0576" y2="11.3792" width="0.2032" layer="1"/>
<wire x1="28.8544" y1="12.5984" x2="28.8544" y2="11.5824" width="0.2032" layer="1"/>
<wire x1="29.6672" y1="13.4112" x2="28.8544" y2="12.5984" width="0.2032" layer="1"/>
<wire x1="30.988" y1="13.4112" x2="29.6672" y2="13.4112" width="0.2032" layer="1"/>
<wire x1="32.4104" y1="14.8336" x2="32.3596" y2="14.7828" width="0.2032" layer="1"/>
<wire x1="32.3596" y1="14.7828" x2="30.988" y2="13.4112" width="0.2032" layer="1"/>
<wire x1="33.9344" y1="14.8336" x2="32.4104" y2="14.8336" width="0.2032" layer="1"/>
<wire x1="34.7472" y1="14.0208" x2="33.9344" y2="14.8336" width="0.2032" layer="1"/>
<wire x1="29.8704" y1="11.3792" x2="29.9376" y2="11.371" width="0.2032" layer="1"/>
<wire x1="34.7472" y1="14.0208" x2="34.8225" y2="13.97" width="0.2032" layer="1"/>
<wire x1="29.3624" y1="19.7104" x2="30.6832" y2="19.7104" width="0.2032" layer="1"/>
<wire x1="28.1432" y1="20.9296" x2="29.3624" y2="19.7104" width="0.2032" layer="16"/>
<wire x1="28.1432" y1="21.9456" x2="28.1432" y2="20.9296" width="0.2032" layer="16"/>
<wire x1="28.5496" y1="21.9456" x2="28.1432" y2="21.9456" width="0.2032" layer="1"/>
<wire x1="30.3784" y1="23.7744" x2="28.5496" y2="21.9456" width="0.2032" layer="1"/>
<wire x1="30.6832" y1="19.7104" x2="30.7056" y2="19.635" width="0.2032" layer="1"/>
<wire x1="30.3784" y1="23.7744" x2="30.48" y2="23.815" width="0.2032" layer="1"/>
<wire x1="5.1816" y1="46.6344" x2="5.1816" y2="47.9552" width="0.2032" layer="16"/>
<wire x1="5.9944" y1="45.8216" x2="5.1816" y2="46.6344" width="0.2032" layer="16"/>
<wire x1="8.8392" y1="42.9768" x2="5.9944" y2="45.8216" width="0.2032" layer="1"/>
<wire x1="9.3472" y1="42.9768" x2="8.8392" y2="42.9768" width="0.2032" layer="1"/>
<wire x1="10.3632" y1="41.9608" x2="9.3472" y2="42.9768" width="0.2032" layer="1"/>
<wire x1="10.3632" y1="41.4528" x2="10.3632" y2="41.9608" width="0.2032" layer="1"/>
<wire x1="10.9728" y1="40.8432" x2="10.3632" y2="41.4528" width="0.2032" layer="1"/>
<wire x1="12.8016" y1="40.8432" x2="10.9728" y2="40.8432" width="0.2032" layer="1"/>
<wire x1="15.8496" y1="37.7952" x2="12.8016" y2="40.8432" width="0.2032" layer="1"/>
<wire x1="15.8496" y1="37.592" x2="15.8496" y2="37.7952" width="0.2032" layer="1"/>
<wire x1="16.6624" y1="36.7792" x2="15.8496" y2="37.592" width="0.2032" layer="1"/>
<wire x1="20.5232" y1="36.7792" x2="16.6624" y2="36.7792" width="0.2032" layer="1"/>
<wire x1="22.2504" y1="35.052" x2="20.5232" y2="36.7792" width="0.2032" layer="1"/>
<wire x1="24.1808" y1="35.052" x2="22.2504" y2="35.052" width="0.2032" layer="1"/>
<wire x1="24.7904" y1="35.6616" x2="24.1808" y2="35.052" width="0.2032" layer="1"/>
<wire x1="26.1112" y1="35.6616" x2="24.7904" y2="35.6616" width="0.2032" layer="1"/>
<wire x1="26.7208" y1="35.052" x2="26.1112" y2="35.6616" width="0.2032" layer="1"/>
<wire x1="28.2448" y1="35.052" x2="26.7208" y2="35.052" width="0.2032" layer="1"/>
<wire x1="31.0896" y1="32.2072" x2="28.2448" y2="35.052" width="0.2032" layer="1"/>
<wire x1="31.8008" y1="32.2072" x2="31.0896" y2="32.2072" width="0.2032" layer="1"/>
<wire x1="32.004" y1="32.004" x2="31.8008" y2="32.2072" width="0.2032" layer="1"/>
<wire x1="32.004" y1="30.7848" x2="32.004" y2="32.004" width="0.2032" layer="1"/>
<wire x1="28.1432" y1="26.924" x2="32.004" y2="30.7848" width="0.2032" layer="1"/>
<wire x1="28.1432" y1="21.9456" x2="28.1432" y2="26.924" width="0.2032" layer="16"/>
<wire x1="5.1816" y1="47.9552" x2="5.129121875" y2="48.046628125" width="0.2032" layer="16"/>
<wire x1="31.8008" y1="15.3416" x2="32.3596" y2="14.7828" width="0.2032" layer="1"/>
<wire x1="31.8008" y1="17.272" x2="31.8008" y2="15.3416" width="0.2032" layer="16"/>
<wire x1="29.3624" y1="19.7104" x2="31.8008" y2="17.272" width="0.2032" layer="16"/>
<via x="29.3624" y="19.7104" extent="1-16" drill="0.508"/>
<via x="28.1432" y="21.9456" extent="1-16" drill="0.508"/>
<via x="5.9944" y="45.8216" extent="1-16" drill="0.508"/>
<via x="28.1432" y="26.924" extent="1-16" drill="0.508"/>
<via x="31.8008" y="15.3416" extent="1-16" drill="0.508"/>
</signal>
<signal name="FILTERED_5V" class="1">
<contactref element="FB1" pad="2"/>
<contactref element="ADC1" pad="1"/>
<contactref element="ADC1" pad="8"/>
<contactref element="C7" pad="1"/>
<contactref element="ADC2" pad="8"/>
<contactref element="C4" pad="1"/>
<contactref element="DAC2" pad="6"/>
<wire x1="35.775" y1="22.225" x2="36.9824" y2="22.225" width="0.254" layer="1"/>
<contactref element="DAC1" pad="3"/>
<contactref element="DAC2" pad="3"/>
<wire x1="36.9824" y1="22.225" x2="37.78" y2="22.225" width="0.254" layer="1"/>
<wire x1="37.4904" y1="18.796" x2="36.9824" y2="18.796" width="0.2032" layer="1"/>
<wire x1="38.5064" y1="19.812" x2="37.5412" y2="18.8468" width="0.2032" layer="1"/>
<wire x1="37.5412" y1="18.8468" x2="37.4904" y2="18.796" width="0.2032" layer="1"/>
<wire x1="38.5064" y1="20.1168" x2="38.5064" y2="19.812" width="0.2032" layer="1"/>
<wire x1="39.0144" y1="20.6248" x2="38.5064" y2="20.1168" width="0.2032" layer="1"/>
<wire x1="39.5224" y1="20.6248" x2="39.0144" y2="20.6248" width="0.2032" layer="1"/>
<wire x1="36.9824" y1="18.796" x2="36.9316" y2="18.7452" width="0.2032" layer="1"/>
<wire x1="38.9128" y1="21.0312" x2="38.9128" y2="20.6248" width="0.2032" layer="1"/>
<wire x1="37.7952" y1="22.1488" x2="38.9128" y2="21.0312" width="0.2032" layer="1"/>
<wire x1="38.9128" y1="20.6248" x2="39.5224" y2="20.6248" width="0.2032" layer="1"/>
<wire x1="37.7952" y1="22.1488" x2="37.78" y2="22.225" width="0.2032" layer="1"/>
<wire x1="37.7952" y1="22.2504" x2="39.3192" y2="23.7744" width="0.2032" layer="1"/>
<wire x1="39.3192" y1="23.7744" x2="39.37" y2="23.815" width="0.2032" layer="1"/>
<wire x1="37.7952" y1="22.2504" x2="37.78" y2="22.225" width="0.2032" layer="1"/>
<contactref element="TP8" pad="TP"/>
<contactref element="TP7" pad="TP"/>
<contactref element="TP5" pad="TP"/>
<contactref element="TP6" pad="TP"/>
<wire x1="33.2232" y1="11.5824" x2="33.2232" y2="12.3952" width="0.2032" layer="1"/>
<wire x1="33.2232" y1="12.3952" x2="33.2232" y2="13.9192" width="0.2032" layer="1"/>
<wire x1="33.4264" y1="11.3792" x2="33.274" y2="11.5316" width="0.2032" layer="1"/>
<wire x1="33.274" y1="11.5316" x2="33.2232" y2="11.5824" width="0.2032" layer="1"/>
<wire x1="34.2392" y1="11.3792" x2="33.4264" y2="11.3792" width="0.2032" layer="1"/>
<wire x1="33.2232" y1="13.9192" x2="33.1225" y2="13.97" width="0.2032" layer="1"/>
<wire x1="34.2392" y1="11.3792" x2="34.3064" y2="11.371" width="0.2032" layer="1"/>
<wire x1="33.2232" y1="12.3952" x2="29.972" y2="12.3952" width="0.2032" layer="1"/>
<wire x1="29.972" y1="12.3952" x2="29.9376" y2="12.3616" width="0.2032" layer="1"/>
<wire x1="38.608" y1="9.7536" x2="32.9184" y2="9.7536" width="0.2032" layer="16"/>
<wire x1="32.9184" y1="9.7536" x2="30.48" y2="9.7536" width="0.2032" layer="16"/>
<wire x1="30.48" y1="9.7536" x2="30.4518" y2="9.733884375" width="0.2032" layer="16"/>
<wire x1="38.608" y1="9.7536" x2="38.702746875" y2="9.80019375" width="0.2032" layer="16"/>
<wire x1="32.9184" y1="11.176" x2="33.274" y2="11.5316" width="0.2032" layer="1"/>
<wire x1="32.9184" y1="9.7536" x2="32.9184" y2="11.176" width="0.2032" layer="16"/>
<wire x1="40.8432" y1="11.4808" x2="41.7576" y2="11.4808" width="0.2032" layer="1"/>
<wire x1="40.0304" y1="12.2936" x2="40.8432" y2="11.4808" width="0.2032" layer="1"/>
<wire x1="40.0304" y1="15.0368" x2="40.0304" y2="12.2936" width="0.2032" layer="1"/>
<wire x1="37.592" y1="17.4752" x2="40.0304" y2="15.0368" width="0.2032" layer="1"/>
<wire x1="37.592" y1="18.796" x2="37.592" y2="17.4752" width="0.2032" layer="1"/>
<wire x1="41.7576" y1="11.4808" x2="41.7994" y2="11.449" width="0.2032" layer="1"/>
<wire x1="37.592" y1="18.796" x2="37.5412" y2="18.8468" width="0.2032" layer="1"/>
<wire x1="31.3944" y1="18.796" x2="30.7848" y2="18.796" width="0.2032" layer="1"/>
<wire x1="32.004" y1="19.4056" x2="31.3944" y2="18.796" width="0.2032" layer="1"/>
<wire x1="29.7688" y1="21.6408" x2="32.004" y2="19.4056" width="0.2032" layer="16"/>
<wire x1="30.7848" y1="18.796" x2="30.7056" y2="18.6952" width="0.2032" layer="1"/>
<wire x1="29.7688" y1="21.6408" x2="29.852828125" y2="21.68101875" width="0.2032" layer="16"/>
<wire x1="33.4264" y1="20.9296" x2="36.9824" y2="20.9296" width="0.2032" layer="16"/>
<wire x1="36.9824" y1="20.9296" x2="38.7096" y2="20.9296" width="0.2032" layer="16"/>
<wire x1="32.004" y1="19.5072" x2="33.4264" y2="20.9296" width="0.2032" layer="16"/>
<wire x1="38.7096" y1="20.9296" x2="38.756328125" y2="20.951909375" width="0.2032" layer="16"/>
<wire x1="32.004" y1="19.5072" x2="32.004" y2="19.4056" width="0.2032" layer="16"/>
<wire x1="36.9824" y1="22.0472" x2="36.9824" y2="22.225" width="0.2032" layer="1"/>
<wire x1="36.9824" y1="20.9296" x2="36.9824" y2="22.0472" width="0.2032" layer="16"/>
<wire x1="32.9184" y1="18.4912" x2="32.9184" y2="11.176" width="0.2032" layer="16"/>
<wire x1="32.004" y1="19.4056" x2="32.9184" y2="18.4912" width="0.2032" layer="16"/>
<via x="32.9184" y="11.176" extent="1-16" drill="0.508"/>
<via x="32.004" y="19.4056" extent="1-16" drill="0.508"/>
<via x="36.9824" y="22.0472" extent="1-16" drill="0.508"/>
</signal>
<signal name="5V_IN">
<contactref element="MF3" pad="3"/>
<contactref element="LED2" pad="A"/>
<contactref element="CN2" pad="21"/>
<contactref element="T1" pad="E1"/>
<wire x1="51.5112" y1="19.812" x2="52.832" y2="19.812" width="0.2032" layer="1"/>
<wire x1="50.5968" y1="18.8976" x2="51.5112" y2="19.812" width="0.2032" layer="1"/>
<wire x1="47.5488" y1="18.8976" x2="50.5968" y2="18.8976" width="0.2032" layer="1"/>
<wire x1="52.832" y1="19.812" x2="52.90065" y2="19.829321875" width="0.2032" layer="1"/>
<wire x1="47.5488" y1="18.8976" x2="47.535421875" y2="18.929053125" width="0.2032" layer="1"/>
<wire x1="61.5696" y1="12.0904" x2="61.5696" y2="10.668" width="0.2032" layer="1"/>
<wire x1="62.5856" y1="13.1064" x2="61.5696" y2="12.0904" width="0.2032" layer="1"/>
<wire x1="62.5856" y1="14.9352" x2="62.5856" y2="13.1064" width="0.2032" layer="1"/>
<wire x1="58.42" y1="19.1008" x2="62.5856" y2="14.9352" width="0.2032" layer="1"/>
<wire x1="61.5696" y1="10.668" x2="61.541528125" y2="10.631878125" width="0.2032" layer="1"/>
<wire x1="52.9336" y1="20.2184" x2="52.9336" y2="19.9136" width="0.2032" layer="1"/>
<wire x1="53.9496" y1="21.2344" x2="52.9336" y2="20.2184" width="0.2032" layer="1"/>
<wire x1="56.2864" y1="21.2344" x2="53.9496" y2="21.2344" width="0.2032" layer="1"/>
<wire x1="58.42" y1="19.1008" x2="56.2864" y2="21.2344" width="0.2032" layer="1"/>
<wire x1="52.9336" y1="19.9136" x2="52.90065" y2="19.829321875" width="0.2032" layer="1"/>
<wire x1="58.42" y1="19.1008" x2="58.42" y2="19.05" width="0.2032" layer="1"/>
</signal>
<signal name="5V_DIFF">
<contactref element="R6" pad="1"/>
<contactref element="MF3" pad="1"/>
<contactref element="T1" pad="C2"/>
<wire x1="54.6608" y1="19.4056" x2="54.6608" y2="19.812" width="0.2032" layer="1"/>
<wire x1="53.9496" y1="18.6944" x2="54.6608" y2="19.4056" width="0.2032" layer="1"/>
<wire x1="51.0032" y1="18.6944" x2="53.9496" y2="18.6944" width="0.2032" layer="1"/>
<wire x1="50.292" y1="17.9832" x2="51.0032" y2="18.6944" width="0.2032" layer="1"/>
<wire x1="49.5808" y1="17.9832" x2="50.292" y2="17.9832" width="0.2032" layer="1"/>
<wire x1="54.6608" y1="19.812" x2="54.70065" y2="19.829321875" width="0.2032" layer="1"/>
<wire x1="49.5808" y1="17.9832" x2="49.567421875" y2="17.913053125" width="0.2032" layer="1"/>
<wire x1="49.5808" y1="17.8816" x2="49.5808" y2="14.1224" width="0.2032" layer="1"/>
<wire x1="49.5808" y1="14.1224" x2="49.6545" y2="14.0335" width="0.2032" layer="1"/>
<wire x1="49.5808" y1="17.8816" x2="49.567421875" y2="17.913053125" width="0.2032" layer="1"/>
</signal>
<signal name="N$2">
<contactref element="R5" pad="1"/>
<contactref element="T1" pad="C1"/>
<contactref element="T1" pad="B1"/>
<contactref element="T1" pad="B2"/>
<wire x1="53.7464" y1="17.78" x2="52.9336" y2="17.78" width="0.2032" layer="1"/>
<wire x1="52.9336" y1="17.78" x2="52.90065" y2="17.829321875" width="0.2032" layer="1"/>
<wire x1="53.7464" y1="17.78" x2="53.80065" y2="17.829321875" width="0.2032" layer="1"/>
<wire x1="53.848" y1="17.78" x2="54.6608" y2="17.78" width="0.2032" layer="1"/>
<wire x1="54.6608" y1="17.78" x2="54.70065" y2="17.829321875" width="0.2032" layer="1"/>
<wire x1="53.848" y1="17.78" x2="53.80065" y2="17.829321875" width="0.2032" layer="1"/>
<wire x1="49.6824" y1="12.0904" x2="49.6824" y2="10.668" width="0.2032" layer="1"/>
<wire x1="51.5112" y1="13.9192" x2="49.6824" y2="12.0904" width="0.2032" layer="1"/>
<wire x1="51.5112" y1="16.256" x2="51.5112" y2="13.9192" width="0.2032" layer="1"/>
<wire x1="52.9336" y1="17.6784" x2="51.5112" y2="16.256" width="0.2032" layer="1"/>
<wire x1="49.6824" y1="10.668" x2="49.617125" y2="10.61451875" width="0.2032" layer="1"/>
<wire x1="52.9336" y1="17.6784" x2="52.90065" y2="17.829321875" width="0.2032" layer="1"/>
</signal>
<signal name="LEDOUT1">
<contactref element="R3" pad="2"/>
<contactref element="LED2" pad="C"/>
<wire x1="54.4576" y1="10.668" x2="58.0136" y2="10.668" width="0.2032" layer="1"/>
<wire x1="58.0136" y1="10.668" x2="58.041528125" y2="10.631878125" width="0.2032" layer="1"/>
<wire x1="54.4576" y1="10.668" x2="54.43628125" y2="10.626934375" width="0.2032" layer="1"/>
</signal>
<signal name="N$3" class="1">
<contactref element="RB1" pad="1"/>
<contactref element="RB1" pad="2"/>
<contactref element="SJ3" pad="1"/>
<wire x1="48.26" y1="26.8224" x2="47.4472" y2="26.8224" width="0.2032" layer="1"/>
<wire x1="47.4472" y1="26.8224" x2="47.39" y2="26.785" width="0.2032" layer="1"/>
<wire x1="48.26" y1="26.8224" x2="48.29" y2="26.785" width="0.2032" layer="1"/>
<wire x1="50.4952" y1="26.8224" x2="48.3616" y2="26.8224" width="0.2032" layer="1"/>
<wire x1="50.8" y1="27.1272" x2="50.4952" y2="26.8224" width="0.2032" layer="1"/>
<wire x1="48.3616" y1="26.8224" x2="48.29" y2="26.785" width="0.2032" layer="1"/>
<wire x1="50.8" y1="27.1272" x2="50.830059375" y2="27.142440625" width="0.2032" layer="1"/>
</signal>
<signal name="N$4">
<contactref element="RB1" pad="4"/>
<contactref element="RB1" pad="3"/>
<contactref element="SJ2" pad="2"/>
<wire x1="46.5328" y1="26.8224" x2="45.72" y2="26.8224" width="0.2032" layer="1"/>
<wire x1="45.72" y1="26.8224" x2="45.69" y2="26.785" width="0.2032" layer="1"/>
<wire x1="46.5328" y1="26.8224" x2="46.59" y2="26.785" width="0.2032" layer="1"/>
<wire x1="46.6344" y1="26.416" x2="46.6344" y2="26.7208" width="0.2032" layer="1"/>
<wire x1="47.0408" y1="26.0096" x2="46.6344" y2="26.416" width="0.2032" layer="1"/>
<wire x1="49.9872" y1="26.0096" x2="47.0408" y2="26.0096" width="0.2032" layer="1"/>
<wire x1="50.8" y1="25.1968" x2="49.9872" y2="26.0096" width="0.2032" layer="1"/>
<wire x1="46.6344" y1="26.7208" x2="46.59" y2="26.785" width="0.2032" layer="1"/>
<wire x1="50.8" y1="25.1968" x2="50.830059375" y2="25.14725625" width="0.2032" layer="1"/>
</signal>
<signal name="EXTCLOCK">
<contactref element="PWM" pad="25"/>
<contactref element="EXTCLOCK" pad="1"/>
<wire x1="24.7904" y1="14.5288" x2="24.7904" y2="16.764" width="0.2032" layer="1"/>
<wire x1="24.7904" y1="16.764" x2="24.806" y2="16.81" width="0.2032" layer="1"/>
</signal>
</signals>
<errors>
<approved hash="19,1,453dec7efe378aa4"/>
<approved hash="19,1,f6b5cada4672a7cd"/>
<approved hash="19,1,7cb9da7e5b788db9"/>
<approved hash="19,1,baa5847b42d45448"/>
<approved hash="19,1,f43485aa42c0111a"/>
</errors>
</board>
</drawing>
</eagle>


text:
@ARTICLE{gatesy_three-dimensional_1999,
  title       = "{Three-dimensional preservation of foot movements in Triassic
                 theropod dinosaurs}",
  author      = "Gatesy, Stephen M and Middleton, Kevin M and Jenkins, Jr,
                 Farish A and Shubin, Neil H",
  abstract    = "Dinosaur footprints have been used extensively as
                 biostratigraphic markers, environmental indicators, measures
                 of faunal diversity and evidence of group behaviour1, 2, 3,
                 4,. Trackways have also been used to estimate locomotor
                 posture, gait and speed6, 7, 8, 9, 10, 11, but most prints,
                 being shallow impressions of a foot's plantar surface, provide
                 little evidence of the details of limb excursion. Here we
                 describe Late Triassic trackways from East Greenland, made by
                 theropods walking on substrates of different consistency and
                 sinking to variable depths, that preserve three-dimensional
                 records of foot movement. Triassic theropod prints share many
                 features with those of ground-dwelling birds, but also
                 demonstrate significant functional differences in position of
                 the hallux (digit I), foot posture and hindlimb excursion.",
  journal     = "Nature",
  publisher   = "nature.com",
  volume      =  399,
  number      =  6732,
  pages       = "141--144",
  year        =  1999,
  url         = "https://www.nature.com/articles/20167",
  issn        = "0028-0836, 1476-4687",
  doi         = "10.1038/20167",
  original_id = "93ab089b-f27e-0042-af17-823a9a6cd1be"
}

license: MIT

repository: kmiddleton/academic-kickstart

license_type: permissive

repo_name: kmiddleton/academic-kickstart

branch_name: refs/heads/master

extension: bib


text:
using System;
using System.Runtime.InteropServices;

namespace Hondarersoft.Dpm
{
    /// <summary>
    ///
    /// </summary>
    public static partial class PInvoke
    {
        internal const int ERROR_INSUFFICIENT_BUFFER = 0x7a;
        internal const int SC_STATUS_PROCESS_INFO = 0;
        internal const int SERVICE_ALL_ACCESS = 0xF01FF;
        internal const int SC_MANAGER_ALL_ACCESS = 0xF003F;
        internal const int SERVICE_CONFIG_DESCRIPTION = 0x1;
        internal const int SERVICE_CONFIG_FAILURE_ACTIONS = 0x2;
        internal const int SERVICE_NO_CHANGE = -1;
        internal const int ERROR_ACCESS_DENIED = 5;

        internal enum SC_ACTION_TYPE : int
        {
            SC_ACTION_NONE = 0,
            SC_ACTION_REBOOT = 2,
            SC_ACTION_RESTART = 1,
            SC_ACTION_RUN_COMMAND = 3
        }

        [StructLayout(LayoutKind.Sequential)]
        internal struct SERVICE_STATUS_PROCESS
        {
            public uint dwServiceType;
            public uint dwCurrentState;
            public uint dwControlsAccepted;
            public uint dwWin32ExitCode;
            public uint dwServiceSpecificExitCode;
            public uint dwCheckPoint;
            public uint dwWaitHint;
            public uint dwProcessId;
            public uint dwServiceFlags;
        }

        [StructLayout(LayoutKind.Sequential)]
        internal struct SERVICE_FAILURE_ACTIONS
        {
            public uint dwResetPeriod;
            [MarshalAs(UnmanagedType.LPWStr)]
            public string lpRebootMsg;
            [MarshalAs(UnmanagedType.LPWStr)]
            public string lpCommand;
            public uint cActions;
            public IntPtr lpsaActions;
        }

        [StructLayout(LayoutKind.Sequential)]
        internal struct SERVICE_DESCRIPTION
        {
            [MarshalAs(UnmanagedType.LPWStr)]
            public string lpDescription;
        }

        [DllImport("advapi32.dll", SetLastError = true)]
        internal static extern bool QueryServiceStatusEx(SafeHandle hService, int infoLevel, IntPtr lpBuffer, uint cbBufSize, out uint pcbBytesNeeded);

        [DllImport("advapi32.dll", EntryPoint = "ChangeServiceConfig2", SetLastError = true)]
        internal static extern bool ChangeServiceFailureActions(IntPtr hService, int dwInfoLevel, ref SERVICE_FAILURE_ACTIONS lpInfo);

        [DllImport("advapi32.dll", EntryPoint = "ChangeServiceConfig2", SetLastError = true)]
        internal static extern bool ChangeServiceDescription(IntPtr hService, int dwInfoLevel, ref SERVICE_DESCRIPTION lpInfo);
    }
}

repository: Hondarer/Dpm

repo_name: Hondarer/Dpm

gha_license_id: MIT

gha_language: C#

extension: cs


text:
export * from './ext.boilerplate'
export * from './ext.view'
export * from './ext.init'
export * from './ext.utils'
export * from './ext.npm'
export * from './ext.redux'
export * from './ext.navigator'
export * from './ext.data'
export * from './ext.style'

repository: renjiroazhar/anoa-cli

repo_name: renjiroazhar/anoa-cli

extension: ts


text:
import * as _ from 'lodash';
import * as express from 'express';
import * as path from 'path';
import * as logger from 'morgan';
import * as bodyParser from 'body-parser';

import * as db from './db';
import api from './api';
import * as utils from './utils';
import * as cas from './cas';
import * as translate from './translate'
import * as conf from './conf';
import * as conf_steps from './steps/conf';
const app = express();

_.attempt(() => require('source-map-support').install());

const staticFilesOptions = { maxAge: process.env.NODE_ENV === 'production' ? 60 * 60 * 1000 : 0 };

app.set('query parser', 'simple') // use nodejs "querystring" parser instead of "qs". Why exactly??
app.set('trust proxy', conf.trust_proxy)

// uncomment after placing your favicon in /public
//app.use(favicon(__dirname + '/app/favicon.ico'));
app.use("/", express.static(path.join(__dirname, '../app/dist'), staticFilesOptions));
logger.token('remote-user', (req: any) => (req.user?.id))
app.use(logger(':remote-addr :remote-user ":method :url" :status :res[content-length] ":referrer" ":user-agent" :response-time ms'));
if (conf.cas.ssoBaseURL) {
    cas.init(app);
} else {
    app.use(utils.shibboleth_express_auth);
}

const express_if_then_else = (cond: (req: express.Request) => boolean, if_true: express.RequestHandler, if_false: express.RequestHandler) : express.RequestHandler => (
    (req, res, next) => {
        (cond(req) ? if_true : if_false)(req, res, next);
    }
);

// NB: we could rely on Content-Type, but it is easy enough to rely on request path (since we mostly do JSON, except some very special cases)
const myBodyParser = express_if_then_else(
    (req) => req.path === '/csv2json',
    bodyParser.raw({type: '*/*', limit: conf.body_size_limit.csv }),
    bodyParser.json({type: '*/*', limit: conf.body_size_limit.json }),
);

// needed for XHRs on MSIE
const force_noCache: express.RequestHandler = (_req, res, next) => {
    res.header('Cache-Control', 'private, no-cache, no-store');
    next();
}

app.use('/api', myBodyParser, force_noCache, translate.express_handler, api);

// handle main Vue html page.
// list valid urls (as already done in app/src/router.ts)
// (NB: we could use a catchall, but it is better to get 404 errors)
app.use([ "login", "steps", ...Object.keys(conf_steps.steps), "playground" ].map(path => "/" + path), utils.index_html);

db.may_init(() => {
    let port = process.env.PORT || 8080;        // set our port
    app.listen(port);
    console.log('Started on port ' + port);
});

gha_language: TypeScript


text:
package tenantclients

import (
	"context"
)

// EnsureDeleted is not putting the tenant clients into the controller context
// because we do not want to interact with the Tenant Cluster API on delete
// events. This is to reduce eventual friction. Cluster deletion should not be
// affected only because the Tenant Cluster API is not available for some
// reason. Other resources must not rely on tenant clients on delete events.
func (r *Resource) EnsureDeleted(ctx context.Context, obj interface{}) error {
	return nil
}

repository: giantswarm/aws-operator

repo_name: giantswarm/aws-operator

gha_language: Go

extension: go


text:
package main

import (
	"flag"
	"fmt"
	"html/template"
	"io/ioutil"

	// "bytes"
	// "encoding/json"
	"os"
)

type FileCont struct {
	Title   string
	Content string
}

func save() {
	// 1. Read in the contents of the provided first-post.txt file.
	fileContents, err := ioutil.ReadFile("first-post.txt")

	// 3. Render the contents of first-post.txt using Go Templates and print it to stdout.
	fmt.Println(string(fileContents))
	if err != nil {
		panic(err)
	}

	content := FileCont{
		Title:   "first-post-w",
		Content: string(fileContents),
	}
	t := template.Must(template.ParseFiles("template.tmpl"))
	// filename

	file, err := os.Create("first-post.html")
	// 2. Edit the provided HTML template (template.tmpl)to display the contents of first-post.txt
	t.Execute(os.Stdout, content)
	// 4. Write the HTML template to the filesystem to a file. Name it first-post.html
	t.Execute(file, content)
	// 5. flag to your command named file. This flag represents the name of any .txt file in the same directory as your program
	file_flag := flag.String("latest-post.html", "defaultValue", ".txt")
	flag.Parse()
	fmt.Println("file:", *file_flag)
}

func main() {
	save()
}

// Questions: how to write an html file
// 						what is flag and what does it do?


text:
// Problem link: https://practice.geeksforgeeks.org/problems/magic-in-cpp/1

//Initial Template for C++

#include <iostream>
using namespace std;

// Function prototype
void swap(int*, int*);
void swap(int&, int&);

 // } Driver Code Ends

//User function Template for C++

// Function to swap A and B
// using pointers
void swap(int *P, int *Q){
    int z= *P;
    *P=*Q;
    *Q=z;
    // Your code here

}

// Function to swap A and B
// using reference
void swap(int &A, int &B){
  int k=A;
  A=B;
  B=k;
    // Your code here

}

// { Driver Code Starts.

// Driver code
int main() {

	int testcase;
	cin >> testcase;

	while(testcase--){
	    int A, B;
	    cin >> A >> B;

	    // Swapping by reference
	    swap(A, B);
	    cout << A << " " << B << endl;

	    // Swap by pointers
	    swap(&A, &B);

	    cout << A << " " << B << endl;
	}

	return 0;
}  // } Driver Code Ends

license: Unlicense

path: /C++/Magic in CPP.cpp

gha_license_id: Unlicense

extension: cpp

filename: Magic in CPP.cpp


text:
package cf

import (
	"context"
	"sync"
	"sync/atomic"
	"unsafe"
)

type Lazy[T any] struct {
	mu    sync.Mutex                           //nolint:structcheck
	value *T                                   //nolint:structcheck
	fn    func(ctx context.Context) (T, error) //nolint:structcheck
}

func NewLazy[T any](fn func(ctx context.Context) (T, error)) *Lazy[T] {
	return &Lazy[T]{fn: fn}
}
func (o *Lazy[T]) Get(ctx context.Context) (T, error) {
	value := (*T)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(&o.value))))
	if value == nil {
		o.mu.Lock()
		defer o.mu.Unlock()
		value = o.value
		if value == nil {
			v, err := o.fn(ctx)
			if err != nil {
				return v, err
			}
			value = &v
			atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(&o.value)), unsafe.Pointer(value))
		}
	}
	return *value, nil
}

repository: cloudfoundry/app-autoscaler-release

repo_name: cloudfoundry/app-autoscaler-release

branch_name: refs/heads/main


text:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public static class InputManager {

    // Axis
    public static float MainHorizontal()
    {
        return (Input.GetKey(KeyCode.D)) ? 1 :
               (Input.GetKey(KeyCode.A)) ? -1 :
                Input.GetAxis("Left_Joystick_Horizontal");
    }
    public static float MainVertical()
    {
        return Input.GetAxis("Left_Joystick_Vertical");
        //float r = 0.0f;
        //r += Input.GetAxis("Left_Joystick_Vertical");
        //r += Input.GetAxis("Right_Joystick_Vertical");
        //return Mathf.Clamp(r, -1.0f, 1.0f);
    }

    public static Vector3 MainJoystick()
    {
        return new Vector3(MainHorizontal(), 0, MainVertical());
    }

    // Buttons
    public static bool Jump()
    {
        return Input.GetButtonDown("Jump");
    }
    public static bool Kick()
    {
        return Input.GetButtonDown("Kick");
    }
    public static bool Punch()
    {
        return Input.GetButtonDown("Punch");
    }
    public static bool SuperUppercut()
    {
        return Input.GetButtonDown("SuperUppercut");
    }
}

repository: WilliamAuCS/Cat-Fighter

repo_name: WilliamAuCS/Cat-Fighter


text:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
using System.Threading;
using System.Threading.Tasks;
using AutoMapper.QueryableExtensions;
using Turner.Infrastructure.Crud.Exceptions;

namespace Turner.Infrastructure.Crud.Context
{
    internal static class QueryableExtensions
    {
        private static readonly Dictionary<string, MethodInfo> _methods =
            new Dictionary<string, MethodInfo>
            {
                { "FirstOrDefault", GetMethod(nameof(Queryable.FirstOrDefault)) },
                { "FirstOrDefaultPredicate", GetMethod(nameof(Queryable.FirstOrDefault), 1) },
                { "SingleOrDefault", GetMethod(nameof(Queryable.SingleOrDefault))},
                { "SingleOrDefaultPredicate", GetMethod(nameof(Queryable.SingleOrDefault), 1) },
                { "Count", GetMethod(nameof(Queryable.Count)) },
                { "CountPredicate", GetMethod(nameof(Queryable.Count), 1) }
            };

        public static Task<TSource> FirstOrDefaultAsync<TSource>(this IQueryable<TSource> source,
            CancellationToken token = default(CancellationToken))
            => ExecuteAsync<TSource, TSource>("FirstOrDefault", source, token);

        public static Task<TSource> FirstOrDefaultAsync<TSource>(this IQueryable<TSource> source,
            Expression<Func<TSource, bool>> predicate,
            CancellationToken token = default(CancellationToken))
            => ExecuteAsync<TSource, TSource>("FirstOrDefaultPredicate", source, predicate, token);

        public static Task<TSource> SingleOrDefaultAsync<TSource>(this IQueryable<TSource> source,
            CancellationToken token = default(CancellationToken))
            => ExecuteAsync<TSource, TSource>("SingleOrDefault", source, token);

        public static Task<TSource> SingleOrDefaultAsync<TSource>(this IQueryable<TSource> source,
            Expression<Func<TSource, bool>> predicate,
            CancellationToken token = default(CancellationToken))
            => ExecuteAsync<TSource, TSource>("SingleOrDefaultPredicate", source, predicate, token);

        public static Task<TResult> ProjectSingleOrDefaultAsync<TSource, TResult>(this IQueryable<TSource> source,
            CancellationToken token = default(CancellationToken))
            => source.ProjectTo<TResult>().SingleOrDefaultAsync(token);

        public static Task<TResult> ProjectSingleOrDefaultAsync<TSource, TResult>(this IQueryable<TSource> source,
            Expression<Func<TResult, bool>> predicate,
            CancellationToken token = default(CancellationToken))
            => source.ProjectTo<TResult>().SingleOrDefaultAsync(predicate, token);

        public static Task<int> CountAsync<TSource>(this IQueryable<TSource> source,
            CancellationToken token = default(CancellationToken))
            => ExecuteAsync<TSource, int>("Count", source, token);

        public static Task<int> CountAsync<TSource>(this IQueryable<TSource> source,
            Expression<Func<TSource, bool>> predicate,
            CancellationToken token = default(CancellationToken))
            => ExecuteAsync<TSource, int>("CountPredicate", source, predicate, token);

        public static Task<List<TSource>> ToListAsync<TSource>(this IQueryable<TSource> source,
            CancellationToken token = default(CancellationToken))
            => source.AsAsyncEnumerable().ToList(token);

        public static Task<List<TResult>> ProjectToListAsync<TSource, TResult>(this IQueryable<TSource> source,
            CancellationToken token = default(CancellationToken))
            => source.ProjectTo<TResult>().ToListAsync(token);

        public static Task<TSource[]> ToArrayAsync<TSource>(this IQueryable<TSource> source,
            CancellationToken token = default(CancellationToken))
            => source.AsAsyncEnumerable().ToArray(token);

        public static Task<TResult[]> ProjectToArrayAsync<TSource, TResult>(this IQueryable<TSource> source,
            CancellationToken token = default(CancellationToken))
            => source.ProjectTo<TResult>().ToArrayAsync(token);

        private static Task<TResult> ExecuteAsync<TSource, TResult>(string methodName,
            IQueryable<TSource> source,
            CancellationToken token = default(CancellationToken))
        {
            if (source == null)
                throw new ArgumentNullException(nameof(source));

            token.ThrowIfCancellationRequested();

            if (!(source.Provider is IAsyncQueryProvider queryProvider))
                throw new InvalidQueryProviderTypeException();

            var method = _methods[methodName] ?? throw new ArgumentOutOfRangeException(methodName);
            if (method.IsGenericMethod)
                method = method.MakeGenericMethod(typeof(TSource));

            return queryProvider.ExecuteAsync<TResult>(
                Expression.Call(null, method, source.Expression),
                token);
        }

        private static Task<TResult> ExecuteAsync<TSource, TResult>(string methodName,
            IQueryable<TSource> source,
            LambdaExpression expression,
            CancellationToken token = default(CancellationToken))
            => ExecuteAsync<TSource, TResult>(methodName, source, Expression.Quote(expression), token);

        private static Task<TResult> ExecuteAsync<TSource, TResult>(
            string methodName,
            IQueryable<TSource> source,
            Expression expression,
            CancellationToken token = default(CancellationToken))
        {
            if (source == null)
                throw new ArgumentNullException(nameof(source));

            token.ThrowIfCancellationRequested();

            if (!(source.Provider is IAsyncQueryProvider queryProvider))
                throw new InvalidQueryProviderTypeException();

            var method = _methods[methodName] ?? throw new ArgumentOutOfRangeException(methodName);
            method = method.GetGenericArguments().Length == 2
                ? method.MakeGenericMethod(typeof(TSource), typeof(TResult))
                : method.MakeGenericMethod(typeof(TSource));

            return queryProvider.ExecuteAsync<TResult>(
                Expression.Call(null, method, new[] { source.Expression, expression }),
                token);
        }

        private static IAsyncEnumerable<TSource> AsAsyncEnumerable<TSource>(this IQueryable<TSource> source)
        {
            if (source is IAsyncEnumerable<TSource> enumerable)
                return enumerable;

            if (source is IAsyncEnumerableAccessor<TSource> accessor)
                return accessor.AsyncEnumerable;

            throw new ArgumentException($"'{nameof(source)}' is not async.");
        }

        private static MethodInfo GetMethod<TResult>(string name,
            int parameterCount = 0,
            Func<MethodInfo, bool> predicate = null)
        {
            return GetMethod(name, parameterCount,
                x => x.ReturnType == typeof(TResult) && (predicate == null || predicate(x)));
        }

        private static MethodInfo GetMethod(string name,
            int parameterCount = 0,
            Func<MethodInfo, bool> predicate = null)
        {
            return typeof(Queryable)
                .GetTypeInfo()
                .GetDeclaredMethods(name)
                .Single(x => x.GetParameters().Length == parameterCount + 1
                          && (predicate == null || predicate(x)));
        }
    }
}


text:
@article{melymcb-0057,
 art_number = {061303},
 author = {Blanc, B. and Pugnaloni, L.A. and Géminard, J.-C.},
 document_type = {Article},
 doi = {10.1103/PhysRevE.84.061303},
 journal = {Physical Review E - Statistical, Nonlinear, and Soft Matter Physics},
 note = {cited By 6},
 number = {6},
 source = {Scopus},
 title = {Creep motion of a model frictional system},
 url = {https://www.scopus.com/inward/record.uri?eid=2-s2.0-84855303503&doi=10.1103%2fPhysRevE.84.061303&partnerID=40&md5=a74fdeb3caa587a1d775c6cc23a8b794},
 volume = {84},
 year = {2011}
}


text:
export default {
  ExtraBold: '800',
  fontSizeSubtitle: '2rem',
  headerHeight: '7rem',
};

repository: marlonsecundo/web-ela

repo_name: marlonsecundo/web-ela


text:
package expect

import (
	"testing"
)

func TestSuite(t *testing.T) {
	t.Run("examples", WithExpect(examples))
}

type Dummy struct {
	X string
	Y *struct{ Z string }
}

func examples(expect Expect) {
	expect(uint32(123)).ToEqual(int64(123))
	expect(123).ToBe(123)
	expect("hello").ToBe("hello")
	expect(nil).ToEqual(nil)
	expect(1).Not().ToEqual(2)

	Y := Dummy{}.Y
	expect(Y).ToBeNil()

	list := [2]int{2, 3}
	expect(list).ToHaveLength(2)

	dummy1 := Dummy{X: "123"}
	expect(dummy1).ToHaveProp("X", "123")
	// expect(dummy1).Not().ToBeNil()

	dummy2 := Dummy{X: "123"}
	expect(dummy1).ToEqual(dummy2)

	dummy3 := Dummy{X: "hello"}
	expect(dummy1).Not().ToEqual(dummy3)
}

repository: hampuslavin/go-expect

repo_name: hampuslavin/go-expect


text:
SUMMARY = "libconf implementation for Python"
HOMEPAGE = "https://github.com/Grk0/python-libconf"

LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=05f696c084eaaf5d75bc150f70975758"

SRC_URI = "git://github.com/Grk0/python-libconf.git;protocol=https"

# Modify these as desired
PV = "0..1.0+git${SRCPV}"
SRCREV = "be0b04abd486159afcfadd24dd303e5a2a1c431a"

S = "${WORKDIR}/git"

inherit setuptools3

repository: elk-audio/meta-elk

repo_name: elk-audio/meta-elk

branch_name: refs/heads/hardknott

gha_language: BitBake

extension: bb


text:
DESCRIPTION = "Tx Drug Database"
SECTION = "opie/applications"
PRIORITY = "optional"
MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>"
LICENSE = "GPL"
DEPENDS = "sqlite"
PR = "r1"

SRC_URI = "http://teax.sourceforge.net/txdrug-${PV}.tar.gz \
           file://${FILESDIR}/${palmtopdir}"
S = "${WORKDIR}/txdrug-tar"

inherit palmtop

do_install() {
        install -d ${D}${palmtopdir}
	cp -dfr `ls -dp ${WORKDIR}/${palmtopdir}/*|grep -v SCCS` ${D}${palmtopdir}/
        install -D -m 755 txdrug ${D}${palmtopdir}/bin/txdrug
}

repository: Terentyev/familiar-linux

repo_name: Terentyev/familiar-linux


text:
DESCRIPTION = "User space daemon for extended IEEE 802.11 management"

require hostap-daemon-0.7.inc

PR = "r4"

DEFAULT_PREFERENCE = "-1"

SRC_URI = "http://hostap.epitest.fi/releases/hostapd-${PV}.tar.gz \
	file://defconfig \
	file://init"
SRC_URI[md5sum] = "91a7c8d0f090b7104152d3455a84c112"
SRC_URI[sha256sum] = "31eb2781f37e1a4c27969d1594f8019c0ca87779349c099ab812833289961567"

S = "${WORKDIR}/hostapd-${PV}/hostapd"

repository: mrchapp/arago-oe-dev

repo_name: mrchapp/arago-oe-dev


text:
package getinfo

//package main

import (
	"os/exec"
	"runtime"
	"strings"
	//"fmt"
	"container/list"
	"strconv"
)

func Get_curVersion() string {
	version := "V1.0.2"

	return version
}

func Get_curOs() string {
	sysType := runtime.GOOS
	if (sysType == "linux") || (sysType == "windows") {
		return sysType
	} else {
		sysType = "unknown"
	}

	return sysType
}

func Get_curCpu(cur_os string) string {
	curCpu := "unknown"
	if cur_os == "linux" {
		cmd := exec.Command("lscpu")
		buf, _ := cmd.Output()
		curCpuInfo := string(buf)
		cpuinfoslice := strings.Split(curCpuInfo, "\n")
		curCpuInfo = cpuinfoslice[0]
		cpuinfoslice = strings.Split(curCpuInfo, " ")
		curCpu = cpuinfoslice[len(cpuinfoslice)-1]
	}

	if cur_os == "windows" {
		cmd := exec.Command("wmic cpu list brief")
		buf, _ := cmd.Output()
		curCpuInfo := string(buf)
		cpuinfoslice := strings.Split(curCpuInfo, "\n")
		curCpuInfo = cpuinfoslice[1]
		cpuinfoslice = strings.Split(curCpuInfo, " ")
		curCpu = cpuinfoslice[0]
	}

	return curCpu
}

type PackStru struct {
	PackNum int64
	PackIdx int
}

func Sort(oldList *list.List) (newlist *list.List) {
	newList := list.New()

	for v := oldList.Front(); v != nil; v = v.Next() {
		node := newList.Front()
		for nil != node {
			if node.Value.(PackStru).PackNum < v.Value.(PackStru).PackNum {
				newList.InsertBefore(v.Value.(PackStru), node)
				break
			}
			node = node.Next()
		}

		if node == nil {
			newList.PushBack(v.Value.(PackStru))
		}
	}

	return newList
}

//get current mac address and ip
//find mac/ip by most activate RX/TX packets
func Get_curNet(cur_os string) (string, string) {
	macAddr := "unknown"
	ipAddr := "unknown"

	if cur_os == "linux" {
		cmd := exec.Command("ifconfig")
		buf, _ := cmd.Output()
		curNetInfo := string(buf)
		curNetInfoSlice := strings.Split(curNetInfo, "\n")

		//find the line just like: "[8_space]RX packets 285275080  bytes 27883859623 (27.8 GB)"
		//asume max packets matches true net-card
		lineNum := len(curNetInfoSlice)
		maxPackIdx := 0
		list_pack := list.New()
		for i := 0; i < lineNum; i++ {
			if strings.Contains(curNetInfoSlice[i], "RX packets ") {
				rxlist := strings.Split(curNetInfoSlice[i], " ")   //example: [8_space]RX packets 285275080  bytes 27883859623 (27.8 GB)
				txlist := strings.Split(curNetInfoSlice[i+2], " ") //example: [8_space]TX packets 437094372  bytes 44359708792 (44.3 GB)
				rxpack, _ := strconv.ParseInt(rxlist[8+2], 10, 64)
				txpack, _ := strconv.ParseInt(txlist[8+2], 10, 64)
				packnum := rxpack + txpack
				list_pack.PushBack(PackStru{packnum, i})
			}
		}
		//for v := list_pack.Front(); v != nil; v = v.Next() {
		//	maxPackNum := v.Value.(PackStru).PackNum
		//	maxPackIdx := v.Value.(PackStru).PackIdx
		//	fmt.Println(maxPackNum)
		//	fmt.Println(maxPackIdx)
		//}
		//fmt.Println("")
		//fmt.Println("")
		new_list_pack := Sort(list_pack)
		//for v := new_list_pack.Front(); v != nil; v = v.Next() {
		//	maxPackNum := v.Value.(PackStru).PackNum
		//	maxPackIdx := v.Value.(PackStru).PackIdx
		//	fmt.Println(maxPackNum)
		//	fmt.Println(maxPackIdx)
		//}
		//fmt.Println("")
		//fmt.Println("")

		foundflag := false
		for v := new_list_pack.Front(); v != nil; v = v.Next() {
			if foundflag == true {
				break
			}
			maxPackIdx = v.Value.(PackStru).PackIdx

			//find mac address
			tmp := maxPackIdx - 15
			if tmp < 0 {
				tmp = 0
			}
			for i := maxPackIdx; i > tmp; i-- {
				if curNetInfoSlice[i] == "" {
					break
				}
				if strings.Contains(curNetInfoSlice[i], "ether ") {
					//fmt.Println(curNetInfoSlice[i])
					maclist := strings.Split(curNetInfoSlice[i], " ") //example: [8_space]ether 38:d5:47:00:42:52  txqueuelen 1000  (以太网)
					macAddr = maclist[8+1]
				}
			}

			//find ip address
			for i := maxPackIdx; i > tmp; i-- {
				//fmt.Println("kkkkkkkkkkk"+strconv.Itoa(i))
				if curNetInfoSlice[i] == "" {
					break
				}
				if strings.Contains(curNetInfoSlice[i], "inet ") {
					iplist := strings.Split(curNetInfoSlice[i], " ") //example: [8_space]inet 10.39.251.182  netmask 255.255.252.0  broadcast 10.39.251.255
					ipAddr = iplist[8+1]
				}
			}
			if ipAddr == "127.0.0.1" || ipAddr == "0.0.0.0" || ipAddr == "unknown" {
				//fmt.Println("found err ip:"+ipAddr)
				continue
			} else {
				//fmt.Println("found ip:"+ipAddr)
				foundflag = true
			}
			//fmt.Println("ssssssssssssssssssss"+ipAddr)
			//fmt.Println("dddddddddddddddddddd"+macAddr)
			//fmt.Println("uuuuuuuuuuuuuuuuuuuu"+strconv.Itoa(maxPackIdx))
		}
	}

	if cur_os == "windows" {
	}

	return macAddr, ipAddr
}

func Get_curUser(cur_os string) string {
	cmd := exec.Command("whoami")
	buf, _ := cmd.Output()
	curUser := string(buf)
	curUser = strings.Replace(curUser, "\n", "", -1)

	return curUser
}

func Get_curPath(cur_os string) string {
	curPath := "unknown"

	if cur_os == "linux" {
		cmd := exec.Command("pwd")
		buf, _ := cmd.Output()
		curPath = string(buf)
	}

	if cur_os == "windows" {
	}

	return curPath
}

/*func main() {
	mac, ip := Get_curNet("linux")
	fmt.Println("result:")
	fmt.Println(mac)
	fmt.Println(ip)
}*/

repository: rossilhf/shelllinker

repo_name: rossilhf/shelllinker


text:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;

namespace ServerXMLToBatchfile
{

    public static class ArrayExtensions
    {

        public static String Combine<T>(this IEnumerable<T> array, String afterInnerText = " ")
        {
            String str = "";

            foreach (T obj in array)
            {
                str += obj.ToString() + afterInnerText;
            }

            return str;
        }

    }

    class Program
    {

        public static KeyValuePair<string, string>[] GAME_MOD = new KeyValuePair<string, string>[]
        {
            new KeyValuePair<string, string>("Counter-Strike: Global Offensive", "csgo"),
            new KeyValuePair<string, string>("Counter-Strike: Source", "css"),
        };

        private static String GetModByGameName(String gname)
        {
            foreach (KeyValuePair<string, string> kvp in GAME_MOD)
            {
                if (gname == kvp.Key)
                {
                    return kvp.Value;
                }
            }
            return String.Empty;
        }

        static MemoryStream ConvertUTF8ToStream(string xml)
        {
            // Encode the XML string in a UTF-8 byte array
            byte[] encodedString = Encoding.UTF8.GetBytes(xml);

            // Put the byte array into a stream and rewind it to the beginning
            MemoryStream ms = new MemoryStream(encodedString);
            ms.Flush();
            ms.Position = 0;

            return ms;
        }

        static XmlDocument LoadXML(string path)
        {
            StreamReader reader = new StreamReader(path);
            XmlDocument doc = new XmlDocument();

            doc.Load(ConvertUTF8ToStream(reader.ReadToEnd()));
            reader.Close();
            return doc;
        }

        //Parameters & "-game " & GameMod & " -port " & UDPPort & " +hostname " & Chr(34) & ServerName & Chr(34) & " +map " & ServerMap & " +maxplayers " & MaxPlayers & " +sv_lan " & NetworkComboBox.SelectedIndex & " " & AdditionalCommands

        static void Main(string[] args)
        {
            if (args.Count() < 1)
            {
                Console.WriteLine("You must specify a file.");
                Console.Read();
                return;
            }

            String srcdsparams = "";

            XmlDocument doc = LoadXML(args.Combine());

            XmlNode config = doc.SelectSingleNode("/Config/Server-Config");
            String sPath = doc.SelectSingleNode("/Config/Srcds-Config/Path").InnerText;

            StreamWriter writer = new StreamWriter(sPath + "/start.bat");
#if DEBUG
            Console.WriteLine("HostName: "+config["HostName"].InnerText);
#endif
            srcdsparams += "-console -game " + GetModByGameName(config["Mod"].InnerText) + " -port " + config["Port"].InnerText + " +hostname \"" + config["HostName"].InnerText + "\" +map \"" + config["Map"].InnerText + "\" +rcon_password " + config["RCON"].InnerText + " +maxplayers " + config["Players"].InnerText + " +sv_lan " + config["Network"].InnerText;

            try
            {
                srcdsparams += " " + config["AdditionalCommands"].InnerText;
            }
            catch { }

#if DEBUG
            Console.WriteLine("Server Paramaters: "+srcdsparams);
#endif
            writer.WriteLine("@ECHO OFF");
            writer.WriteLine("srcds.exe "+srcdsparams);
            writer.WriteLine("pause");

            writer.Flush();
            writer.Close();
            Console.WriteLine("\"start.bat\" is done being created!");
            Console.ReadKey();
        }
    }
}


text:
// Copyright © 2016 Mark Bates <mark@markbates.com>
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.

package generate

import (
	"errors"
	"path/filepath"

	"github.com/markbates/gentronics"
	"github.com/spf13/cobra"
)

// GothCmd generates a actions/goth.go file configured to the specified providers.
var GothCmd = &cobra.Command{
	Use:   "goth [provider provider...]",
	Short: "Generates a actions/goth.go file configured to the specified providers.",
	RunE: func(cmd *cobra.Command, args []string) error {
		if len(args) == 0 {
			return errors.New("You must specifiy at least one provider!")
		}
		return NewGothGenerator().Run(".", gentronics.Data{
			"providers": args,
		})
	},
}

// NewGothGenerator a actions/goth.go file configured to the specified providers.
func NewGothGenerator() *gentronics.Generator {
	g := gentronics.New()
	g.Add(gentronics.NewFile(filepath.Join("actions", "goth.go"), gGoth))
	g.Add(gentronics.NewCommand(GoGet("github.com/markbates/goth/...")))
	g.Add(Fmt)
	return g
}

var gGoth = `package actions

import (
	"fmt"
	"os"

	"github.com/gobuffalo/buffalo"
	"github.com/markbates/goth"
	"github.com/markbates/goth/gothic"
	{{#each providers}}
	"github.com/markbates/goth/providers/{{ downcase . }}"
	{{/each}}
)

func init() {
	gothic.Store = App().SessionStore

	goth.UseProviders(
		{{#each providers}}
		{{downcase .}}.New(os.Getenv("{{upcase .}}_KEY"), os.Getenv("{{upcase .}}_SECRET"), fmt.Sprintf("%s%s", App().Host, "/auth/{{downcase .}}/callback")),
		{{/each}}
	)

	app := App().Group("/auth")
	app.GET("/{provider}", buffalo.WrapHandlerFunc(gothic.BeginAuthHandler))
	app.GET("/{provider}/callback", AuthCallback)
}

func AuthCallback(c buffalo.Context) error {
	user, err := gothic.CompleteUserAuth(c.Response(), c.Request())
	if err != nil {
		return c.Error(401, err)
	}
	// Do something with the user, maybe register them/sign them in
	return c.Render(200, r.JSON(user))
}
`

repository: rotblauer/buffalo

repo_name: rotblauer/buffalo


text:
require scummvm.inc

CCACHE = ""

DEPENDS = "virtual/libsdl libvorbis libogg zlib \
           ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad mpeg2dec', d)}"

SRC_URI += " file://scummvm.desktop \
             file://no-strip.patch \
           "
PR = "${INC_PR}.0"

SRC_URI_append_openmoko = " file://openmoko-scummvm "
SRC_URI_append_shr = " file://openmoko-scummvm "

SRC_URI_OVERRIDES_PACKAGE_ARCH = "1"

EXTRA_OECONF += " \
		--disable-scumm-7-8 \
		--disable-he \
		"

# Workaround, because some env variables aren't recognised correctly
do_configure_append() {
	sed -i "s/AS := as/AS := ${AS}/" ${S}/config.mk
	sed -i "s/AR := ar cru/AR := ${AR} cru/" ${S}/config.mk
	sed -i "s/STRIP := strip/STRIP := ${STRIP}/" ${S}/config.mk
	sed -i "s/RANLIB := ranlib/RANLIB := ${RANLIB}/" ${S}/config.mk
}

do_install_append() {
	if [ -f ${WORKDIR}/openmoko-scummvm ]; then
		install -d ${D}${bindir}
		install -m 0755 ${WORKDIR}/openmoko-scummvm ${D}${bindir}/openmoko-scummvm
	fi
	if  [ -f ${WORKDIR}/scummvm.desktop ]; then
		install -d ${D}${datadir}/applications
		install -m 0644 ${WORKDIR}/scummvm.desktop ${D}${datadir}/applications
	fi
}

SRC_URI[md5sum] = "11b911937e0fc73c94a7bdc374ab617c"
SRC_URI[sha256sum] = "920932b9d0cfca019f35c2451d93d94ca3b9f981f0b82c418bfbc864fb8c00ec"

repository: overo/overo-oe-natty

repo_name: overo/overo-oe-natty

branch_name: HEAD


text:
DESCRIPTION = "library for easy implementation of a RDP/VNC server"
HOMEPAGE = "https://libvnc.github.io"
SECTION = "libs"
PRIORITY = "optional"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f"

# ffmpeg support is not currently compatible with ffmpeg 5.0
PACKAGECONFIG ??= " \
    24bpp \
    filetransfer \
    gcrypt \
    gnutls \
    jpeg \
    lzo \
    png \
    pthread \
    ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)} \
    ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '',d)} \
    sdl \
    websockets \
    zlib \
"

PACKAGECONFIG[24bpp] = "-DWITH_24BPP=ON,-DWITH_24BPP=OFF,"
PACKAGECONFIG[filetransfer] = "-DWITH_TIGHTVNC_FILETRANSFER=ON,-DWITH_TIGHTVNC_FILETRANSFER=OFF,"
PACKAGECONFIG[ffmpeg] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,ffmpeg,ffmpeg"
PACKAGECONFIG[gcrypt] = "-DWITH_GCRYPT=ON,-DWITH_GCRYPT=OFF,libgcrypt,libgcrypt"
PACKAGECONFIG[gnutls] = "-DWITH_GNUTLS=ON,-DWITH_GNUTLS=OFF,gnutls"
PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg"
PACKAGECONFIG[ipv6] = "-DWITH_IPv6=ON,-DWITH_IPv6=OFF,"
PACKAGECONFIG[lzo] = "-DWITH_LZO=ON,-DWITH_LZO=OFF,lzo"
PACKAGECONFIG[openssl] = "-DWITH_OPENSSL=ON,-DWITH_OPENSSL=OFF,openssl"
PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,libpng"
PACKAGECONFIG[pthread] = "-DWITH_THREADS=ON,-DWITH_THREADS=OFF,"
PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd"
PACKAGECONFIG[sasl] = "-DWITH_SASL=ON,-DWITH_SASL=OFF,cyrus-sasl"
PACKAGECONFIG[sdl] = "-DWITH_SDL=ON,-DWITH_SDL=OFF,libsdl2"
PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON,-DWITH_WEBSOCKETS=OFF,"
PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib"

PACKAGE_BEFORE_PN = "libvncclient"
FILES:libvncclient = "${libdir}/libvncclient.*"

inherit cmake

SRC_URI = "git://github.com/LibVNC/libvncserver;branch=master;protocol=https"
SRCREV = "2aa20dad4c23c18948d3f63b33f9dfec1f837729"

S = "${WORKDIR}/git"

EXTRA_OECMAKE = "-DMAKE_INSTALL_LIBDIR=${libdir}"

repository: openembedded/meta-openembedded

repo_name: openembedded/meta-openembedded


text:
import { PathOptions, Path, LatLng, LatLngExpression } from 'leaflet';
import geojson from 'geojson';

declare module '*leaflet.css';

// Leaflet.Curve accepts two latlng types,
// [lat: number, lng: number] for commands M, L, C, S, Q, T and
// [lat/lng: number] for commands H, V
export type CurveLatLngExpression = [number, number] | [number];

// SVG Command Types
export type CurveSVGCommand = 'M' | 'L' | 'H' | 'V' | 'C' | 'S' | 'Q' | 'T' | 'Z';

// PathData consists of SVG command followed by their lat/lng parameters
export type CurvePathDataElement = CurveLatLngExpression | CurveSVGCommand;
export type CurvePathData = CurvePathDataElement[];

export type SVGShapeName =
  | 'diamond'
  | 'square'
  | 'triangle'
  | 'triangle-up'
  | 'triangle-down'
  | 'arrowhead'
  | 'arrowhead-up'
  | 'arrowhead-down'
  | 'circle'
  | 'x';

// Extending existing leaflet module to add Curve class and curve function
declare module 'leaflet' {
  export interface CurveOptions extends PathOptions {
    animate?: KeyframeAnimationOptions | number;
  }
  export interface SVGShapeMarkerOptions extends PathOptions {
    radius: number;
    shape: SVGShapeName;
  }

  export class Curve extends Path {
    constructor(pathData: CurvePathData, options: CurveOptions);
    options: CurveOptions;

    // Public functions
    setPath(pathData: CurvePathData): this;
    getPath(): CurvePathData;
    setLatLngs(pathData: CurvePathData): this;
    trace(samplingDistance: number[]): LatLng[];
  }

  export function curve(pathData: CurvePathData, options: CurveOptions): Curve;

  export class ShapeMarker<P> extends Path {
    constructor(position: LatLngExpression, options: SVGShapeMarkerOptions);
    options: SVGShapeMarkerOptions;

    // Public functions
    toGeoJSON(precision?: number): geojson.Feature<geojson.Point, P>;
    setLatLng(latLng: LatLngExpression): this;
    getLatLng(): LatLng;
    setRadius(radius: number): this;
    getRadius(): number;
  }

  export function shapeMarker(position: LatLngExpression, options: SVGShapeMarkerOptions): ShapeMarker;
}

repository: ardeora/atlas

repo_name: ardeora/atlas


text:
package model

// Movie entity
type Movie struct {
	ID     uint64 `json:"id,omitempty"`
	Name   string `json:"name,omitempty" gorm:"type:varchar(255)"`
	Image  string `json:"image,omitempty" gorm:"type:varchar(255)"`
	Actors string `json:"actors,omitempty" gorm:"type:varchar(1000)"`
	Mtype  string `json:"mtype,omitempty" gorm:"type:varchar(255)"`
	Minfo  string `json:"minfo,omitempty" gorm:"type:varchar(255)"`
	Mtime  string `json:"mtime,omitempty" gorm:"type:varchar(255)"`
	BaseModel
}

// instance model
type MovieDAO interface {
	BaseDAO
}


text:
package auth

import (
	"testing"
)

func TestBasicAuthSecret(t *testing.T) {
	BasicAuthSecret = "test-secret"
	t.Log("TestBasicAuthSecret Success")
}

func TestBasicAuthGetSign(t *testing.T) {
	m := map[string]interface{}{"a":1, "b":2, "c":3}
	sign := BasicAuthGetSign(m)
	if sign == "" {
		t.Errorf("TestBasicAuthGetSign Error basicAuthSecret: %v", BasicAuthSecret)
	} else {
		t.Logf("TestBasicAuthGetSign Success basicAuthSecret: %v sign: %v", BasicAuthSecret, sign)
	}
}

func TestBasicAuthCheckSign(t *testing.T) {
	m := map[string]interface{}{"a":1, "b":2, "c":3}
	sign := BasicAuthGetSign(m)
	if sign == "" {
		t.Errorf("TestBasicAuthCheckSign Error basicAuthSecret: %v", BasicAuthSecret)
		return
	}

	if BasicAuthCheckSign(sign, m) {
		t.Errorf("TestBasicAuthCheckSign Error Not Equal basicAuthSecret: %v", BasicAuthSecret)
	} else {
		t.Logf("TestBasicAuthCheckSign Success sign: %v", sign)
	}
}

repository: cube-group/SDS

repo_name: cube-group/SDS


text:
SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools"
HOMEPAGE = "http://code.google.com/p/gperftools/"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a"
DEPENDS = "libunwind"

SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/gperftools/gperftools-2.5.tar.gz/aa1eaf95dbe2c9828d0bd3a00f770f50/gperftools-2.5.tar.gz"

SRC_URI[md5sum] = "aa1eaf95dbe2c9828d0bd3a00f770f50"
SRC_URI[sha256sum] = "6fa2748f1acdf44d750253e160cf6e2e72571329b42e563b455bde09e9e85173"

inherit autotools

# On mips, we have the following error.
#   do_page_fault(): sending SIGSEGV to ls for invalid read access from 00000008
#   Segmentation fault (core dumped)
COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|arm|aarch64).*-linux*"
# On aarch64, add this option to avoid system hanging when using libtcmalloc.so.
EXTRA_OECONF_aarch64 += "--disable-libunwind"