text:
1178" x2="24.5818" y2="29.6364" width="0.254" layer="1"/>
<wire x1="24.5818" y1="29.6364" x2="26.685" y2="29.6364" width="0.254" layer="1"/>
<wire x1="13.3096" y1="8.89" x2="12.7254" y2="8.89" width="0.254" layer="16"/>
<wire x1="23.0632" y1="28.1178" x2="23.0632" y2="27.1526" width="0.254" layer="1"/>
<wire x1="13.3096" y1="8.89" x2="13.97" y2="9.5504" width="0.254" layer="16"/>
<wire x1="13.97" y1="9.5504" x2="15.367" y2="9.5504" width="0.254" layer="16"/>
<wire x1="15.367" y1="9.5504" x2="16.5862" y2="10.7696" width="0.254" layer="16"/>
<wire x1="16.5862" y1="10.7696" x2="18.2372" y2="10.7696" width="0.254" layer="16"/>
<wire x1="18.2372" y1="10.7696" x2="26.2636" y2="18.796" width="0.254" layer="16"/>
<wire x1="26.2636" y1="18.796" x2="26.2636" y2="23.9522" width="0.254" layer="16"/>
<wire x1="23.0632" y1="27.1526" x2="26.2636" y2="23.9522" width="0.254" layer="16"/>
</signal>
<signal name="PTD1">
<contactref element="U1" pad="58"/>
<wire x1="33.135" y1="25.1864" x2="33.135" y2="22.237" width="0.254" layer="1"/>
<wire x1="33.135" y1="22.237" x2="34.798" y2="20.574" width="0.254" layer="1"/>
<wire x1="34.798" y1="20.574" x2="47.0916" y2="20.574" width="0.254" layer="1"/>
<contactref element="JP1" pad="9"/>
<wire x1="47.0916" y1="20.574" x2="49.3776" y2="22.86" width="0.254" layer="1"/>
</signal>
<signal name="PTC4">
<contactref element="U1" pad="49"/>
<contactref element="U$4" pad="2"/>
<via x="31.9786" y="15.2146" extent="1-16" drill="0.6"/>
<via x="29.2608" y="15.4432" extent="1-16" drill="0.6"/>
<wire x1="31.3864" y1="13.2254" x2="31.3864" y2="12.3664" width="0.254" layer="1"/>
<wire x1="31.9786" y1="15.2146" x2="31.75" y2="15.4432" width="0.254" layer="16"/>
<wire x1="31.75" y1="15.4432" x2="29.2608" y2="15.4432" width="0.254" layer="16"/>
<wire x1="28.635" y1="16.069" x2="29.2608" y2="15.4432" width="0.254" layer="1"/>
<wire x1="31.3864" y1="13.2254" x2="31.9786" y2="13.8176" width="0.254" layer="1"/>
<wire x1="31.9786" y1="13.8176" x2="31.9786" y2="15.2146" width="0.254" layer="1"/>
<wire x1="28.635" y1="25.1864" x2="28.635" y2="16.069" width="0.254" layer="1"/>
</signal>
<signal name="PTD3">
<contactref element="U1" pad="60"/>
<wire x1="34.135" y1="25.1864" x2="34.135" y2="22.761" width="0.254" layer="1"/>
<wire x1="34.135" y1="22.761" x2="35.306" y2="21.59" width="0.254" layer="1"/>
<wire x1="35.306" y1="21.59" x2="42.418" y2="21.59" width="0.254" layer="1"/>
<wire x1="42.418" y1="21.59" x2="48.768" y2="27.94" width="0.254" layer="1"/>
<contactref element="JP1" pad="7"/>
<wire x1="48.768" y1="27.94" x2="49.3776" y2="27.94" width="0.254" layer="1"/>
</signal>
<signal name="PTD2">
<contactref element="U1" pad="59"/>
<wire x1="33.635" y1="25.1864" x2="33.635" y2="22.499" width="0.254" layer="1"/>
<wire x1="33.635" y1="22.499" x2="35.052" y2="21.082" width="0.254" layer="1"/>
<wire x1="35.052" y1="21.082" x2="42.672" y2="21.082" width="0.254" layer="1"/>
<contactref element="JP1" pad="8"/>
<wire x1="42.672" y1="21.082" x2="46.99" y2="25.4" width="0.254" layer="1"/>
<wire x1="46.99" y1="25.4" x2="49.3776" y2="25.4" width="0.254" layer="1"/>
</signal>
<signal name="PTD4">
<contactref element="U1" pad="61"/>
<wire x1="34.635" y1="25.1864" x2="34.635" y2="23.023" width="0.254" layer="1"/>
<wire x1="34.635" y1="23.023" x2="35.56" y2="22.098" width="0.254" layer="1"/>
<wire x1="35.56" y1="22.098" x2="42.164" y2="22.098" width="0.254" layer="1"/>
<wire x1="42.164" y1="22.098" x2="47.498" y2="27.432" width="0.254" layer="1"/>
<contactref element="JP1" pad="6"/>
<wire x1="47.498" y1="27.432" x2="47.498" y2="28.956" width="0.254" layer="1"/>
<wire x1="47.498" y1="28.956" x2="49.022" y2="30.48" width="0.254" layer="1"/>
<wire x1="49.022" y1="30.48" x2="49.3776" y2="30.48" width="0.254" layer="1"/>
</signal>
<signal name="PTD7">
<contactref element="U1" pad="64"/>
</signal>
<signal name="PTA13">
<contactref element="U1" pad="29"/>
</signal>
<signal name="PTA12">
<contactref element="U1" pad="28"/>
</signal>
<signal name="PTD0">
<contactref element="U1" pad="57"/>
<wire x1="32.635" y1="25.1864" x2="32.635" y2="21.975" width="0.254" layer="1"/>
<wire x1="32.635" y1="21.975" x2="34.544" y2="20.066" width="0.254" layer="1"/>
<contactref element="JP1" pad="10"/>
<wire x1="34.544" y1="20.066" x2="49.1236" y2="20.066" width="0.254" layer="1"/>
<wire x1="49.1236" y1="20.066" x2="49.3776" y2="20.32" width="0.254" layer="1"/>
</signal>
<signal name="PTB17">
<contactref element="U1" pad="40"/>
<contactref element="U$6" pad="U0TXD/26"/>
<wire x1="12.432" y1="14.7374" x2="11.6024" y2="14.7374" width="0.254" layer="1"/>
<wire x1="11.6024" y1="14.7374" x2="10.922" y2="15.4178" width="0.254" layer="1"/>
<via x="10.922" y="15.4178" extent="1-16" drill="0.6"/>
<wire x1="10.922" y1="15.4178" x2="10.4394" y2="15.9004" width="0.254" layer="16"/>
<via x="21.0566" y="29.7434" extent="1-16" drill="0.6"/>
<wire x1="21.0566" y1="29.7434" x2="21.7424" y2="29.7434" width="0.254" layer="1"/>
<wire x1="23.5926" y1="31.1364" x2="26.685" y2="31.1364" width="0.254" layer="1"/>
<wire x1="23.5926" y1="31.1364" x2="22.1996" y2="29.7434" width="0.254" layer="1"/>
<wire x1="22.1996" y1="29.7434" x2="21.0566" y2="29.7434" width="0.254" layer="1"/>
<wire x1="13.6398" y1="26.035" x2="15.875" y2="26.035" width="0.254" layer="16"/>
<wire x1="15.875" y1="26.035" x2="19.5834" y2="29.7434" width="0.254" layer="16"/>
<wire x1="19.5834" y1="29.7434" x2="21.0566" y2="29.7434" width="0.254" layer="16"/>
<wire x1="13.6398" y1="26.035" x2="10.4394" y2="22.8346" width="0.254" layer="16"/>
<wire x1="10.4394" y1="22.8346" x2="10.4394" y2="15.9004" width="0.254" layer="16"/>
</signal>
<signal name="PTB16">
<contactref element="U$6" pad="U0RXD/25"/>
</signal>
<signal name="PTA4">
<contactref element="U1" pad="26"/>
</signal>
<signal name="PTB18">
<contactref element="U1" pad="41"/>
<contactref element="U$6" pad="GPIO0/15"/>
<wire x1="26.685" y1="30.6364" x2="23.8038" y2="30.6364" width="0.254" layer="1"/>
<wire x1="17.032" y1="14.7374" x2="17.3282" y2="14.7374" width="0.254" layer="1"/>
<wire x1="17.3282" y1="14.7374" x2="17.5514" y2="14.9606" width="0.254" layer="1"/>
<wire x1="21.4376" y1="28.2702" x2="23.8038" y2="30.6364" width="0.254" layer="1"/>
<wire x1="17.5514" y1="14.9606" x2="17.5514" y2="15.3416" width="0.254" layer="1"/>
<wire x1="17.5514" y1="15.3416" x2="18.161" y2="15.9512" width="0.254" layer="1"/>
<wire x1="18.161" y1="15.9512" x2="20.066" y2="15.9512" width="0.254" layer="1"/>
<wire x1="20.066" y1="15.9512" x2="21.4376" y2="17.3228" width="0.254" layer="1"/>
<wire x1="21.4376" y1="17.3228" x2="21.4376" y2="28.2702" width="0.254" layer="1"/>
</signal>
<signal name="PTE0">
<contactref element="U1" pad="1"/>
</signal>
<signal name="PTC11">
<contactref element="U1" pad="56"/>
<wire x1="32.135" y1="25.1864" x2="32.135" y2="21.713" width="0.254" layer="1"/>
<wire x1="32.135" y1="21.713" x2="34.29" y2="19.558" width="0.254" layer="1"/>
<contactref element="JP1" pad="11"/>
<wire x1="34.29" y1="19.558" x2="47.5996" y2="19.558" width="0.254" layer="1"/>
<wire x1="47.5996" y1="19.558" x2="49.3776" y2="17.78" width="0.254" layer="1"/>
</signal>
<signal name="PTC10">
<contactref element="U1" pad="55"/>
<wire x1="31.635" y1="25.1864" x2="31.635" y2="21.451" width="0.254" layer="1"/>
<wire x1="31.635" y1="21.451" x2="34.036" y2="19.05" width="0.254" layer="1"/>
<contactref element="JP1" pad="12"/>
<wire x1="49.3776" y1="15.24" x2="48.768" y2="15.24" width="0.254" layer="1"/>
<wire x1="48.768" y1="15.24" x2="47.498" y2="16.51" width="0.254" layer="1"/>
<wire x1="47.498" y1="16.51" x2="47.498" y2="18.288" width="0.254" layer="1"/>
<wire x1="47.498" y1="18.288" x2="46.736" y2="19.05" width="0.254" layer="1"/>
<wire x1="46.736" y1="19.05" x2="34.036" y2="19.05" width="0.254" layer="1"/>
</signal>
<signal name="PTC9">
<contactref element="U1" pad="54"/>
<contactref element="U$4" pad="1"/>
<wire x1="31.8864" y1="12.7348" x2="31.8864" y2="12.3664" width="0.254" layer="1"/>
<wire x1="31.8864" y1="12.3664" x2="31.8864" y2="12.8364" width="0.254" layer="1"/>
<wire x1="31.8864" y1="12.8364" x2="32.9184" y2="13.8684" width="0.254" layer="1"/>
<wire x1="31.135" y1="25.1864" x2="31.135" y2="21.189" width="0.254" layer="1"/>
<wire x1="31.135" y1="21.189" x2="32.9184" y2="19.4056" width="0.254" layer="1"/>
<wire x1="32.9184" y1="19.4056" x2="32.9184" y2="13.8684" width="0.254" layer="1"/>
</signal>
<signal name="PTE1">
<contactref element="U1" pad="2"/>
</signal>
<signal name="PTB19">
<contactref element="U1" pad="42"/>
<contactref element="U$6" pad="GPIO2/14"/>
<wire x1="17.032" y1="14.2374" x2="17.6664" y2="14.2374" width="0.254" layer="1"/>
<wire x1="24.0658" y1="30.1364" x2="26.685" y2="30.1364" width="0.254" layer="1"/>
<wire x1="24.0658" y1="30.1364" x2="22.1996" y2="28.2702" width="0.254" layer="1"/>
<wire x1="17.6664" y1="14.2374" x2="18.0086" y2="14.5796" width="0.254" layer="1"/>
<wire x1="18.0086" y1="14.5796" x2="18.0086" y2="15.0114" width="0.254" layer="1"/>
<wire x1="18.0086" y1="15.0114" x2="18.4404" y2="15.4432" width="0.254" layer="1"/>
<wire x1="18.4404" y1="15.4432" x2="20.3962" y2="15.4432" width="0.254" layer="1"/>
<wire x1="20.3962" y1="15.4432" x2="22.1996" y2="17.2466" width="0.254" layer="1"/>
<wire x1="22.1996" y1="17.2466" x2="22.1996" y2="28.2702" width="0.254" layer="1"/>
</signal>
<signal name="PTA5">
<contactref element="U1" pad="27"/>
</signal>
<signal name="A12">
<contactref element="U1" pad="11"/>
</signal>
<signal name="DAC/A14">
<contactref element="U1" pad="18"/>
</signal>
<signal name="PTA2">
<contactref element="U1" pad="24"/>
</signal>
<signal name="RESET_B">
<contactref element="U1" pad="34"/>
</signal>
<signal name="A13">
<contactref element="U1" pad="12"/>
</signal>
<signal name="N$6">
</signal>
<signal name="VDD">
<contactref element="U$6" pad="VDDA/30"/>
</signal>
<signal name="SD-CMD">
<contactref element="U$3" pad="1"/>
<contactref element="U$6" pad="SD_CMD/20"/>
<wire x1="17.0048" y1="17.7546" x2="17.0082" y2="17.758" width="0.1778" layer="1"/>
<wire x1="17.0082" y1="17.758" x2="16.9354" y2="17.8308" width="0.1778" layer="1"/>
<wire x1="16.9354" y1="17.8308" x2="16.6116" y2="17.8308" width="0.1778" layer="1"/>
<wire x1="16.6116" y1="17.8308" x2="15.875" y2="18.5674" width="0.1778" layer="1"/>
<wire x1="15.875" y1="18.5674" x2="15.1892" y2="18.5674" width="0.1778" layer="1"/>
<wire x1="15.1892" y1="18.5674" x2="14.8336" y2="18.2118" width="0.1778" layer="1"/>
<wire x1="14.982" y1="15.7874" x2="14.982" y2="16.7172" width="0.1778" layer="1"/>
<wire x1="14.982" y1="16.7172" x2="14.8336" y2="16.8656" width="0.1778" layer="1"/>
<wire x1="14.8336" y1="16.8656" x2="14.8336" y2="18.2118" width="0.1778" layer="1"/>
</signal>
<signal name="SD-D0">
<contactref element="U$3" pad="2"/>
<contactref element="U$6" pad="SD_DATA_0/22"/>
<wire x1="17.0082" y1="18.958" x2="16.5098" y2="19.4564" width="0.1778" layer="1"/>
<wire x1="16.5098" y1="19.4564" x2="14.5796" y2="19.4564" width="0.1778" layer="1"/>
<wire x1="14.5796" y1="19.4564" x2="13.982" y2="18.8588" width="0.1778" layer="1"/>
<wire x1="13.982" y1="18.8588" x2="13.982" y2="15.7874" width="0.1778" layer="1"/>
</signal>
<signal name="SD-D3">
<contactref element="U$3" pad="3"/>
<contactref element="U$6" pad="SD_DATA_3/19"/>
<wire x1="15.482" y1="15.7874" x2="15.494" y2="15.7994" width="0.1778" layer="1"/>
<wire x1="15.482" y1="15.7874" x2="15.482" y2="17.4632" width="0.1778" layer="1"/>
<wire x1="15.482" y1="17.4632" x2="15.621" y2="17.6022" width="0.1778" layer="1"/>
<via x="15.621" y="17.6022" extent="1-16" drill="0.6"/>
<wire x1="15.621" y1="17.6022" x2="15.621" y2="20.3454" width="0.1778" layer="16"/>
<wire x1="15.621" y1="20.3454" x2="15.6464" y2="20.3708" width="0.1778" layer="16"/>
<via x="15.6464" y="20.3708" extent="1-16" drill="0.6"/>
<wire x1="15.6464" y1="20.3708" x2="15.8496" y2="20.574" width="0.1778" layer="1"/>
<wire x1="15.8496" y1="20.574" x2="16.5922" y2="20.574" width="0.1778" layer="1"/>
<wire x1="16.5922" y1="20.574" x2="17.0082" y2="20.158" width="0.1778" layer="1"/>
</signal>
<signal name="SD-D2">
<contactref element="U$3" pad="7"/>
<contactref element="U$6" pad="SD_DATA_2/18"/>
<wire x1="12.6082" y1="18.958" x2="12.9952" y2="18.958" width="0.1778" layer="1"/>
<via x="14.097" y="20.2438" extent="1-16" drill="0.6"/>
<via x="18.0848" y="17.3228" extent="1-16" drill="0.6"/>
<wire x1="15.982" y1="15.7874" x2="16.002" y2="15.8074" width="0.1778" layer="1"/>
<wire x1="12.9952" y1="18.958" x2="14.097" y2="20.0598" width="0.1778" layer="1"/>
<wire x1="14.097" y1="20.0598" x2="14.097" y2="20.2438" width="0.1778" layer="1"/>
<wire x1="14.9098" y1="21.3868" x2="14.097" y2="20.574" width="0.1778" layer="16"/>
<wire x1="14.097" y1="20.574" x2="14.097" y2="20.2438" width="0.1778" layer="16"/>
<wire x1="15.982" y1="15.7874" x2="15.982" y2="16.744" width="0.1778" layer="1"/>
<wire x1="15.982" y1="16.744" x2="16.4338" y2="17.1958" width="0.1778" layer="1"/>
<wire x1="16.4338" y1="17.1958" x2="17.9578" y2="17.1958" width="0.1778" layer="1"/>
<wire x1="17.9578" y1="17.1958" x2="18.0848" y2="17.3228" width="0.1778" layer="1"/>
<wire x1="18.0848" y1="19.1008" x2="18.0848" y2="18.8722" width="0.1778" layer="16"/>
<wire x1="18.0848" y1="18.8722" x2="18.0848" y2="17.3228" width="0.1778" layer="16"/>
<wire x1="14.9098" y1="21.3868" x2="16.383" y2="21.3868" width="0.1778" layer="16"/>
<wire x1="16.383" y1="21.3868" x2="18.0848" y2="19.685" width="0.1778" layer="16"/>
<wire x1="18.0848" y1="19.685" x2="18.0848" y2="19.1008" width="0.1778" layer="16"/>
</signal>
<signal name="SD-CLK">
<contactref element="U$6" pad="SD_CLK/21"/>
<contactref element="R18" pad="2"/>
<wire x1="17.7038" y1="18.5166" x2="18.0476" y2="18.8858" width="0.1778" layer="1"/>
<wire x1="18.0476" y1="18.8858" x2="18.7706" y2="18.8858" width="0.1778" layer="1"/>
<wire x1="14.8082" y1="18.9992" x2="14.4312" y2="18.6222" width="0.1778" layer="1"/>
<wire x1="14.482" y1="15.7874" x2="14.4312" y2="15.8382" width="0.1778" layer="1"/>
<wire x1="14.4312" y1="15.8382" x2="14.4312" y2="18.6222" width="0.1778" layer="1"/>
<wire x1="17.7038" y1="18.5166" x2="17.526" y2="18.3388" width="0.1778" layer="1"/>
<wire x1="16.0274" y1="18.9992" x2="14.8082" y2="18.9992" width="0.1778" layer="1"/>
<wire x1="17.526" y1="18.3388" x2="16.6878" y2="18.3388" width="0.1778" layer="1"/>
<wire x1="16.6878" y1="18.3388" x2="16.0274" y2="18.9992" width="0.1778" layer="1"/>
</signal>
<signal name="SD-D1">
<contactref element="U$3" pad="5"/>
<contactref element="U$6" pad="SD_DATA_1/23"/>
<wire x1="13.482" y1="15.7874" x2="13.482" y2="16.109" width="0.1778" layer="1"/>
<wire x1="13.482" y1="16.109" x2="13.1826" y2="16.4084" width="0.1778" layer="1"/>
<wire x1="13.1826" y1="16.4084" x2="11.938" y2="16.4084" width="0.1778" layer="1"/>
<via x="11.938" y="16.4084" extent="1-16" drill="0.6"/>
<via x="12.3698" y="22.7076" extent="1-16" drill="0.6"/>
<wire x1="12.6082" y1="21.358" x2="12.6082" y2="22.4692" width="0.1778" layer="1"/>
<wire x1="12.6082" y1="22.4692" x2="12.3698" y2="22.7076" width="0.1778" layer="1"/>
<wire x1="11.9888" y1="22.7076" x2="12.3698" y2="22.7076" width="0.1778" layer="16"/>
<wire x1="11.1252" y1="16.5862" x2="11.303" y2="16.4084" width="0.1778" layer="16"/>
<wire x1="11.303" y1="16.4084" x2="11.938" y2="16.4084" width="0.1778" layer="16"/>
<wire x1="11.1252" y1="16.5862" x2="11.1252" y2="22.1742" width="0.1778" layer="16"/>
<wire x1="11.1252" y1="22.1742" x2="11.6586" y2="22.7076" width="0.1778" layer="16"/>
<wire x1="11.6586" y1="22.7076" x2="12.3698" y2="22.7076" width="0.1778" layer="16"/>
</signal>
<signal name="N$13">
<contactref element="C6" pad="2"/>
<contactref element="U$6" pad="LNA/2"/>
<contactref element="L8" pad="1"/>
<wire x1="13.482" y1="11.1874" x2="13.482" y2="9.962196875" width="0.254" layer="1"/>
<wire x1="13.482" y1="9.962196875" x2="13.5582" y2="9.962196875" width="0.254" layer="1"/>
<wire x1="13.5582" y1="9.962196875" x2="15.07075625" y2="8.449640625" width="0.254" layer="1"/>
<wire x1="15.07075625" y1="8.449640625" x2="15.002840625" y2="8.449640625" width="0.254" layer="1"/>
<wire x1="15.002840625" y1="8.449640625" x2="13.986840625" y2="7.433640625" width="0.254" layer="1"/>
</signal>
<signal name="XTAL_OUT">
<contactref element="C7" pad="1"/>
<contactref element="Y3" pad="1"/>
<contactref element="U$6" pad="XTAL_OUT/27"/>
<wire x1="12.432" y1="14.2374" x2="8.8654" y2="14.2374" width="0.254" layer="1"/>
<wire x1="6.3938" y1="17.8356" x2="6.8208" y2="18.2626" width="0.254" layer="1"/>
<wire x1="6.3938" y1="16.201" x2="6.8208" y2="16.628" width="0.254" layer="1"/>
<wire x1="6.8208" y1="16.628" x2="6.8208" y2="18.2626" width="0.254" layer="1"/>
<wire x1="8.8654" y1="14.2374" x2="6.9018" y2="16.201" width="0.254" layer="1"/>
<wire x1="6.9018" y1="16.201" x2="6.3938" y2="16.201" width="0.254" layer="1"/>
</signal>
<signal name="XTAL_IN">
<contactref element="C23" pad="1"/>
<contactref element="Y3" pad="3"/>
<contactref element="U$6" pad="XTAL_IN/28"/>
<wire x1="12.432" y1="13.7374" x2="9.9302" y2="13.7374" width="0.254" layer="1"/>
<wire x1="9.9302" y1="13.7374" x2="8.6938" y2="12.501" width="0.254" layer="1"/>
<wire x1="8.6986" y1="10.6426" x2="8.6986" y2="12.4962" width="0.254" layer="1"/>
<wire x1="8.6986" y1="12.4962" x2="8.6938" y2="12.501" width="0.254" layer="1"/>
</signal>
<signal name="N$38">
<contactref element="R1" pad="1"/>
<contactref element="U$6" pad="RES12K/31"/>
<wire x1="12.432" y1="12.2374" x2="10.5836" y2="12.2374" width="0.254" layer="1"/>
<wire x1="10.5836" y1="12.2374" x2="10.3632" y2="12.4578" width="0.254" layer="1"/>
</signal>
<signal name="N$16">
<contactref element="U$1" pad="FEED"/>
<contactref element="C6" pad="1"/>
<contactref element="L7" pad="1"/>
<wire x1="12.78475625" y1="6.23155625" x2="16.784" y2="2.2069125" width="0.254" layer="1"/>
<wire x1="16.784" y1="2.2069125" x2="16.784" y2="1.8034" width="0.254" layer="1"/>
<wire x1="11.599240625" y1="5.34255625" x2="11.89575625" y2="5.34255625" width="0.254" layer="1"/>
<wire x1="11.89575625" y1="5.34255625" x2="12.78475625" y2="6.23155625" width="0.254" layer="1"/>
</signal>
<signal name="N$17">
<contactref element="R11" pad="1"/>
<contactref element="C14" pad="1"/>
<contactref element="Y4" pad="1"/>
<contactref element="U$4" pad="9"/>
<wire x1="29.0864" y1="10.0664" x2="29.0784" y2="10.0584" width="0.254" layer="1"/>
<wire x1="29.0784" y1="10.0584" x2="24.8046" y2="10.0584" width="0.254" layer="1"/>
<wire x1="24.8046" y1="10.0584" x2="23.2594" y2="11.6036" width="0.254" layer="1"/>
<wire x1="23.2594" y1="11.6036" x2="23.2594" y2="11.7414" width="0.254" layer="1"/>
<wire x1="23.2594" y1="11.6036" x2="22.2852" y2="11.6036" width="0.254" layer="1"/>
<wire x1="22.2852" y1="11.6036" x2="21.59" y2="10.9084" width="0.254" layer="1"/>
<wire x1="23.2594" y1="11.7414" x2="23.5642" y2="11.7414" width="0.254" layer="1"/>
<wire x1="23.5642" y1="11.7414" x2="25.2594" y2="13.4366" width="0.254" layer="1"/>
</signal>
<signal name="N$18">
<contactref element="R11" pad="2"/>
<contactref element="C15" pad="1"/>
<contactref element="Y4" pad="3"/>
<contactref element="U$4" pad="10"/>
<wire x1="29.0864" y1="9.5664" x2="27.6286" y2="9.5664" width="0.254" layer="1"/>
<wire x1="27.6286" y1="9.5664" x2="25.5594" y2="7.9036" width="0.254" layer="1"/>
<wire x1="21.59" y1="9.2084" x2="24.2546" y2="9.2084" width="0.254" layer="1"/>
<wire x1="24.2546" y1="9.2084" x2="25.5594" y2="7.9036" width="0.254" layer="1"/>
<wire x1="25.5594" y1="7.9036" x2="25.5594" y2="5.9896" width="0.254" layer="1"/>
<wire x1="25.5594" y1="5.9896" x2="25.2848" y2="6.1214" width="0.254" layer="1"/>
</signal>
<signal name="N$19">
<contactref element="L2" pad="2"/>
<contactref element="C9" pad="1"/>
<contactref element="C10" pad="1"/>
<contactref element="U$4" pad="11"/>
<wire x1="28.3718" y1="7.1746" x2="29.8958" y2="7.1746" width="0.254" layer="1"/>
<wire x1="29.8958" y1="7.1746" x2="29.8864" y2="7.6826" width="0.254" layer="1"/>
<wire x1="29.8864" y1="7.6826" x2="29.8864" y2="8.7664" width="0.254" layer="1"/>
<wire x1="29.8958" y1="7.1746" x2="29.8958" y2="7.3256" width="0.254" layer="1"/>
<wire x1="29.8958" y1="7.3256" x2="30.5458" y2="7.3256" width="0.254" layer="1"/>
<wire x1="30.5458" y1="7.3256" x2="31.1" y2="6.7714" width="0.254" layer="1"/>
<wire x1="31.1" y1="6.7714" x2="31.1" y2="6.1214" width="0.254" layer="1"/>
</signal>
<signal name="N$20">
<contactref element="L5" pad="1"/>
<contactref element="L6" pad="1"/>
<contactref element="U$4" pad="13"/>
<wire x1="30.8864" y1="8.7664" x2="30.8864" y2="8.509" width="0.254" layer="1"/>
<wire x1="30.8864" y1="8.509" x2="31.1404" y2="8.255" width="0.254" layer="1"/>
<wire x1="31.1404" y1="8.255" x2="32.3746" y2="8.255" width="0.254" layer="1"/>
<wire x1="32.3746" y1="8.255" x2="33.1874" y2="7.4422" width="0.254" layer="1"/>
<wire x1="33.1874" y1="7.4422" x2="34.4528" y2="7.4422" width="0.254" layer="1"/>
</signal>
<signal name="N$24">
<contactref element="R12" pad="1"/>
<contactref element="U$4" pad="16"/>
<wire x1="34.2528" y1="9.1694" x2="33.8558" y2="9.5664" width="0.254" layer="1"/>
<wire x1="33.8558" y1="9.5664" x2="32.6864" y2="9.5664" width="0.254" layer="1"/>
</signal>
<signal name="N$21">
<contactref element="C8" pad="2"/>
<contactref element="U$4" pad="19"/>
<wire x1="32.6864" y1="11.0664" x2="33.0628" y2="11.0664" width="0.254" layer="1"/>
<wire x1="33.0628" y1="11.0664" x2="33.3248" y2="11.3284" width="0.254" layer="1"/>
<wire x1="33.3248" y1="11.3284" x2="33.3248" y2="12.3816" width="0.254" layer="1"/>
<wire x1="33.3248" y1="12.3816" x2="34.2782" y2="13.335" width="0.254" layer="1"/>
</signal>
<signal name="N$23">
<contactref element="L2" pad="1"/>
<contactref element="L5" pad="2"/>
<contactref element="U$4" pad="12"/>
<wire x1="30.3864" y1="8.7664" x2="30.3864" y2="8.247" width="0.254" layer="1"/>
<wire x1="30.3864" y1="8.247" x2="31.1912" y2="7.4422" width="0.254" layer="1"/>
<wire x1="31.1912" y1="7.4422" x2="31.8874" y2="7.4422" width="0.254" layer="1"/>
<wire x1="31.8874" y1="7.4422" x2="32.4" y2="6.9296" width="0.254" layer="1"/>
<wire x1="32.4" y1="6.9296" x2="32.4" y2="6.1214" width="0.254" layer="1"/>
</signal>
<signal name="N$25">
<contactref element="L6" pad="2"/>
<contactref element="C13" pad="1"/>
<wire x1="35.7528" y1="7.4422" x2="36.8164" y2="7.4422" width="0.254" layer="1"/>
<wire x1="36.8164" y1="7.4422" x2="36.9316" y2="7.327" width="0.254" layer="1"/>
</signal>
<signal name="N$26">
<contactref element="U$2" pad="FEED"/>
<contactref element="C13" pad="2"/>
<contactref element="C12" pad="1"/>
<wire x1="36.9316" y1="5.627" x2="38.7858" y2="5.627" width="0.254" layer="1"/>
<wire x1="38.7858" y1="5.627" x2="38.7994" y2="5.6134" width="0.254" layer="1"/>
<wire x1="38.7994" y1="5.6134" x2="40.953" y2="3.4598" width="0.254" layer="1"/>
<wire x1="40.953" y1="3.4598" x2="46.2534" y2="3.4598" width="0.254" layer="1"/>
</signal>
<signal name="SDA">
<contactref element="U3" pad="24"/>
<contactref element="U1" pad="38"/>
<contactref element="R13" pad="2"/>
<wire x1="19.3294" y1="26.7072" x2="18.4498" y2="27.5868" width="0.254" layer="1"/>
<wire x1="18.4498" y1="27.5868" x2="18.4498" y2="28.1164" width="0.254" layer="1"/>
<wire x1="26.685" y1="32.1364" x2="21.5446" y2="32.1364" width="0.254" layer="1"/>
<wire x1="21.5446" y1="32.1364" x2="19.2278" y2="29.8196" width="0.254" layer="1"/>
<wire x1="19.2278" y1="29.8196" x2="18.542" y2="29.8196" width="0.254" layer="1"/>
<wire x1="18.542" y1="29.8196" x2="18.3642" y2="29.6418" width="0.1778" layer="1"/>
<wire x1="18.3642" y1="29.6418" x2="18.3642" y2="29.3116" width="0.1778" layer="1"/>
<wire x1="18.3642" y1="29.3116" x2="18.4498" y2="29.226" width="0.1778" layer="1"/>
<wire x1="18.4498" y1="29.226" x2="18.4498" y2="28.1164" width="0.1778" layer="1"/>
</signal>
<signal name="SCL">
<contactref element="R14" pad="2"/>
<contactref element="U3" pad="23"/>
<contactref element="U1" pad="37"/>
<wire x1="17.3228" y1="26.7072" x2="18.0498" y2="27.4342" width="0.254" layer="1"/>
<wire x1="18.0498" y1="27.4342" x2="18.0498" y2="28.1164" width="0.254" layer="1"/>
<wire x1="18.0498" y1="28.1164" x2="18.0498" y2="27.4986" width="0.1778" layer="1"/>
<wire x1="18.0498" y1="27.4986" x2="17.4498" y2="26.8986" width="0.1778" layer="1"/>
<wire x1="26.685" y1="32.6364" x2="21.1556" y2="32.6364" width="0.254" layer="1"/>
<wire x1="21.1556" y1="32.6364" x2="19.1262" y2="30.607" width="0.254" layer="1"/>
<wire x1="19.1262" y1="30.607" x2="18.7706" y2="30.607" width="0.254" layer="1"/>
<wire x1="18.7706" y1="30.607" x2="18.5674" y2="30.607" width="0.1778" layer="1"/>
<wire x1="18.5674" y1="30.607" x2="17.9578" y2="29.9974" width="0.1778" layer="1"/>
<wire x1="17.9578" y1="29.9974" x2="17.9578" y2="29.5148" width="0.1778" layer="1"/>
<wire x1="17.9578" y1="29.5148" x2="18.0498" y2="29.4228" width="0.1778" layer="1"/>
<wire x1="18.0498" y1="29.4228" x2="18.0498" y2="28.1164" width="0.1778" layer="1"/>
</signal>
<signal name="N$32">
<contactref element="R5" pad="2"/>
<contactref element="U$6" pad="MTCK/12"/>
<wire x1="17.0416" y1="13.247" x2="17.0534" y2="13.2588" width="0.254" layer="1"/>
<wire x1="17.032" y1="13.2374" x2="17.0416" y2="13.247" width="0.254" layer="1"/>
<wire x1="17.0416" y1="13.247" x2="18.3388" y2="13.247" width="0.254" layer="1"/>
<wire x1="18.3388" y1="13.247" x2="19.2278" y2="12.358" width="0.254" layer="1"/>
</signal>
<signal name="N$34">
<contactref element="U3" pad="10"/>
<contactref element="C27" pad="2"/>
<wire x1="17.2498" y1="31.1164" x2="17.2466" y2="32.258" width="0.254" layer="1"/>
<via x="17.2466" y="32.258" extent="1-16" drill="0.6"/>
<wire x1="17.2466" y1="32.258" x2="17.2466" y2="34.671" width="0.254" layer="16"/>
<via x="17.2466" y="34.671" extent="1-16" drill="0.6"/>
<wire x1="17.2466" y1="34.671" x2="17.2466" y2="36.1324" width="0.254" layer="1"/>
<wire x1="17.2466" y1="36.1324" x2="17.3482" y2="36.234" width="0.254" layer="1"/>
</signal>
<signal name="VRAW" class="2">
<contactref element="JP5" pad="2"/>
<contactref element="S1" pad="2"/>
<wire x1="5.9436" y1="34.3408" x2="5.1442" y2="35.1402" width="0.8128" layer="1"/>
<wire x1="5.1442" y1="35.1402" x2="3.528" y2="35.1402" width="0.8128" layer="1"/>
<wire x1="6.7818" y1="27.0256" x2="5.9436" y2="27.8638" width="0.8128" layer="1"/>
<wire x1="5.9436" y1="27.8638" x2="5.9436" y2="34.3408" width="0.8128" layer="1"/>
</signal>
<signal name="PTC8">
<contactref element="U1" pad="53"/>
<contactref element="U$4" pad="6"/>
<via x="31.8516" y="19.2278" extent="1-16" drill="0.6"/>
<via x="28.2194" y="13.4366" extent="1-16" drill="0.6"/>
<wire x1="28.9212" y1="11.5664" x2="29.0864" y2="11.5664" width="0.254" layer="1"/>
<wire x1="31.8516" y1="19.2278" x2="31.8516" y2="19.05" width="0.254" layer="16"/>
<wire x1="31.8516" y1="19.05" x2="31.6738" y2="18.8722" width="0.254" layer="16"/>
<wire x1="31.6738" y1="18.8722" x2="28.3718" y2="18.8722" width="0.254" layer="16"/>
<wire x1="30.635" y1="25.1864" x2="30.635" y2="20.927" width="0.254" layer="1"/>
<wire x1="28.2194" y1="13.4366" x2="28.2194" y2="12.0396" width="0.254" layer="1"/>
<wire x1="28.2194" y1="12.0396" x2="28.6926" y2="11.5664" width="0.254" layer="1"/>
<wire x1="28.6926" y1="11.5664" x2="29.0864" y2="11.5664" width="0.254" layer="1"/>
<wire x1="28.3718" y1="18.8722" x2="28.2194" y2="18.7198" width="0.254" layer="16"/>
<wire x1="28.2194" y1="18.7198" x2="28.2194" y2="13.4366" width="0.254" layer="16"/>
<wire x1="30.635" y1="20.927" x2="31.8516" y2="19.7104" width="0.254" layer="1"/>
<wire x1="31.8516" y1="19.7104" x2="31.8516" y2="19.2278" width="0.254" layer="1"/>
</signal>
<signal name="PTC1">
<contactref element="U1" pad="44"/>
<contactref element="U$6" pad="CHIP_EN/7"/>
<wire x1="26.685" y1="29.1364" x2="27.5108" y2="29.1364" width="0.254" layer="1"/>
<wire x1="27.5108" y1="29.1364" x2="27.8638" y2="29.4894" width="0.254" layer="1"/>
<wire x1="27.8638" y1="29.4894" x2="27.8638" y2="30.226" width="0.254" layer="1"/>
<wire x1="27.8638" y1="30.226" x2="27.8384" y2="30.2514" width="0.254" layer="1"/>
<wire x1="27.8384" y1="30.2514" x2="27.8384" y2="30.48" width="0.254" layer="1"/>
<wire x1="27.8384" y1="30.48" x2="28.2448" y2="30.8864" width="0.254" layer="1"/>
<via x="28.2448" y="30.8864" extent="1-16" drill="0.6"/>
<wire x1="28.2448" y1="30.8864" x2="28.6766" y2="30.8864" width="0.254" layer="16"/>
<wire x1="28.6766" y1="30.8864" x2="28.829" y2="30.734" width="0.254" layer="16"/>
<wire x1="28.829" y1="30.734" x2="28.829" y2="30.2006" width="0.254" layer="16"/>
<via x="17.0688" y="9.8806" extent="1-16" drill="0.6"/>
<wire x1="17.0688" y1="9.8806" x2="16.3322" y2="9.8806" width="0.254" layer="1"/>
<wire x1="16.3322" y1="9.8806" x2="15.982" y2="10.2308" width="0.254" layer="1"/>
<wire x1="15.982" y1="10.2308" x2="15.982" y2="11.1874" width="0.254" layer="1"/>
<wire x1="27.2542" y1="18.9738" x2="18.161" y2="9.8806" width="0.254" layer="16"/>
<wire x1="18.161" y1="9.8806" x2="17.0688" y2="9.8806" width="0.254" layer="16"/>
<wire x1="28.829" y1="30.2006" x2="27.2542" y2="28.6258" width="0.254" layer="16"/>
<wire x1="27.2542" y1="28.6258" x2="27.2542" y2="18.9738" width="0.254" layer="16"/>
</signal>
<signal name="RTC">
<contactref element="U$6" pad="VDD_RTC/5"/>
</signal>
<signal name="TOUT">
<contactref element="U$6" pad="TOUT/6"/>
</signal>
<signal name="3.3V">
<contactref element="U1" pad="7"/>
<contactref element="L3" pad="2"/>
<contactref element="U1" pad="3"/>
<contactref element="U1" pad="30"/>
<contactref element="U1" pad="48"/>
<contactref element="C5" pad="1"/>
<contactref element="C18" pad="1"/>
<contactref element="C19" pad="1"/>
<contactref element="C20" pad="1"/>
<contactref element="U1" pad="8"/>
<contactref element="R7" pad="2"/>
<contactref element="U2" pad="2"/>
<contactref element="C3" pad="1"/>
<contactref element="C21" pad="1"/>
<contactref element="U$3" pad="8"/>
<contactref element="C22" pad="2"/>
<contactref element="U3" pad="13"/>
<contactref element="C24" pad="2"/>
<contactref element="U3" pad="1"/>
<contactref element="U3" pad="8"/>
<contactref element="C25" pad="1"/>
<contactref element="U3" pad="22"/>
<contactref element="U$4" pad="7"/>
<contactref element="U$4" pad="18"/>
<contactref element="U$6" pad="VDDA/1"/>
<contactref element="U$6" pad="VDD3P3/3"/>
<contactref element="U$6" pad="VDD3P3/4"/>
<contactref element="U$6" pad="VDDPST/11"/>
<contactref element="U$6" pad="VDDD/29"/>
<contactref element="R13" pad="1"/>
<contactref element="R14" pad="1"/>
<contactref element="R9" pad="1"/>
<contactref element="U1" pad="21"/>
<contactref element="U$6" pad="VDDPST/17"/>
<wire x1="33.2368" y1="10.5664" x2="32.6864" y2="10.5664" width="0.254" layer="1"/>
<wire x1="34.2528" y1="11.2268" x2="33.8972" y2="11.2268" width="0.254" layer="1"/>
<wire x1="33.8972" y1="11.2268" x2="33.2368" y2="10.5664" width="0.254" layer="1"/>
<wire x1="32.6864" y1="10.5664" x2="31.369" y2="10.5664" width="0.254" layer="1"/>
<wire x1="31.369" y1="10.5664" x2="30.869" y2="11.0664" width="0.254" layer="1"/>
<wire x1="30.869" y1="11.0664" x2="29.0864" y2="11.0664" width="0.254" layer="1"/>
<wire x1="34.135" y1="36.5864" x2="34.124" y2="36.5974" width="0.254" layer="1"/>
<wire x1="34.124" y1="36.5974" x2="34.124" y2="38.1" width="0.254" layer="1"/>
<wire x1="34.124" y1="38.1" x2="33.6922" y2="38.5318" width="0.254" layer="1"/>
<wire x1="26.685" y1="27.1364" x2="26.6758" y2="27.1272" width="0.254" layer="1"/>
<wire x1="26.6758" y1="27.1272" x2="25.8572" y2="27.1272" width="0.254" layer="1"/>
<wire x1="25.8572" y1="27.1272" x2="25.2358" y2="26.5058" width="0.254" layer="1"/>
<wire x1="25.2358" y1="26.5058" x2="24.9428" y2="26.5058" width="0.254" layer="1"/>
<wire x1="38.085" y1="28.1364" x2="38.0918" y2="28.1432" width="0.254" layer="1"/>
<wire x1="38.0918" y1="28.1432" x2="38.7604" y2="28.1432" width="0.254" layer="1"/>
<wire x1="38.7604" y1="28.1432" x2="40.1202" y2="26.7834" width="0.254" layer="1"/>
<wire x1="40.1202" y1="26.7834" x2="40.044" y2="26.8986" width="0.254" layer="1"/>
<wire x1="45.0596" y1="28.133" x2="42.2114" y2="28.133" width="0.254" layer="1"/>
<wire x1="42.2114" y1="28.133" x2="41.6932" y2="28.6512" width="0.254" layer="1"/>
<wire x1="40.044" y1="26.8986" x2="40.6146" y2="27.5726" width="0.254" layer="1"/>
<wire x1="40.6146" y1="27.5726" x2="41.6932" y2="28.6512" width="0.254" layer="1"/>
<wire x1="38.085" y1="30.6364" x2="38.085" y2="30.1364" width="0.254" layer="1"/>
<wire x1="38.0918" y1="28.1432" x2="33.9598" y2="28.1432" width="0.254" layer="1"/>
<wire x1="33.9598" y1="28.1432" x2="33.1216" y2="28.9814" width="0.254" layer="1"/>
<wire x1="33.1216" y1="28.9814" x2="33.1216" y2="29.9466" width="0.254" layer="1"/>
<wire x1="33.1216" y1="29.9466" x2="33.3375" y2="30.1625" width="0.254" layer="1"/>
<wire x1="33.3375" y1="30.1625" x2="33.8114" y2="30.6364" width="0.254" layer="1"/>
<wire x1="33.8114" y1="30.6364" x2="38.085" y2="30.6364" width="0.254" layer="1"/>
<wire x1="34.135" y1="36.5864" x2="34.135" y2="30.96" width="0.254" layer="1"/>
<wire x1="34.135" y1="30.96" x2="33.8114" y2="30.6364" width="0.254" layer="1"/>
<wire x1="14.9098" y1="30.441" x2="15.0852" y2="30.6164" width="0.254" layer="1"/>
<wire x1="15.0852" y1="30.6164" x2="15.9498" y2="30.6164" width="0.254" layer="1"/>
<wire x1="17.6498" y1="28.1164" x2="17.6498" y2="29.0608" width="0.1778" layer="1"/>
<wire x1="17.6498" y1="29.0608" x2="17.0942" y2="29.6164" width="0.1778" layer="1"/>
<wire x1="17.0942" y1="29.6164" x2="17.0942" y2="29.9974" width="0.1778" layer="1"/>
<wire x1="17.0942" y1="29.9974" x2="17.0942" y2="30.1498" width="0.1778" layer="1"/>
<wire x1="17.0942" y1="30.1498" x2="16.6276" y2="30.6164" width="0.1778" layer="1"/>
<wire x1="16.6276" y1="30.6164" x2="15.9498" y2="30.6164" width="0.1778" layer="1"/>
<wire x1="18.0498" y1="31.1164" x2="18.0594" y2="31.1068" width="0.1778" layer="1"/>
<wire x1="18.0594" y1="31.1068" x2="18.0594" y2="30.7086" width="0.1778" layer="1"/>
<wire x1="18.0594" y1="30.7086" x2="17.3482" y2="29.9974" width="0.1778" layer="1"/>
<wire x1="17.3482" y1="29.9974" x2="17.0942" y2="29.9974" width="0.1778" layer="1"/>
<wire x1="17.032" y1="12.7374" x2="16.7506" y2="12.7374" width="0.254" layer="1"/>
<wire x1="14.482" y1="11.6626" x2="14.482" y2="11.1874" width="0.254" layer="1"/>
<wire x1="13.982" y1="11.1874" x2="14.482" y2="11.1874" width="0.254" layer="1"/>
<wire x1="13.982" y1="11.1874" x2="13.9954" y2="11.2008" width="0.254" layer="1"/>
<wire x1="13.9954" y1="11.2008" x2="13.9954" y2="11.6078" width="0.254" layer="1"/>
<wire x1="13.9954" y1="11.6078" x2="13.716" y2="11.8872" width="0.254" layer="1"/>
<wire x1="13.716" y1="11.8872" x2="12.9794" y2="11.8872" width="0.254" layer="1"/>
<wire x1="12.982" y1="13.1038" x2="12.982" y2="11.1874" width="0.254" layer="1"/>
<wire x1="12.982" y1="11.1874" x2="12.9794" y2="11.19" width="0.254" layer="1"/>
<wire x1="12.9794" y1="11.19" x2="12.9794" y2="11.8872" width="0.254" layer="1"/>
<wire x1="12.982" y1="13.1038" x2="12.8484" y2="13.2374" width="0.254" layer="1"/>
<wire x1="12.8484" y1="13.2374" x2="12.432" y2="13.2374" width="0.254" layer="1"/>
<wire x1="10.7696" y1="17.7682" x2="10.7798" y2="17.758" width="0.4064" layer="1"/>
<wire x1="10.7798" y1="17.758" x2="12.6082" y2="17.758" width="0.4064" layer="1"/>
<wire x1="16.482" y1="15.7874" x2="16.482" y2="16.0756" width="0.254" layer="1"/>
<wire x1="16.482" y1="16.0756" x2="16.891" y2="16.4846" width="0.254" layer="1"/>
<wire x1="26.685" y1="27.1364" x2="27.372" y2="27.1364" width="0.254" layer="1"/>
<wire x1="27.372" y1="27.1364" x2="28.2448" y2="26.2636" width="0.254" layer="1"/>
<wire x1="28.2448" y1="26.2636" x2="29.4386" y2="26.2636" width="0.254" layer="1"/>
<wire x1="29.4386" y1="26.2636" x2="33.1216" y2="29.9466" width="0.254" layer="1"/>
<wire x1="14.482" y1="11.6626" x2="14.6304" y2="11.811" width="0.254" layer="1"/>
<wire x1="14.6304" y1="11.811" x2="16.1036" y2="11.811" width="0.254" layer="1"/>
<wire x1="16.1036" y1="11.811" x2="16.3576" y2="12.065" width="0.254" layer="1"/>
<wire x1="16.3576" y1="12.065" x2="16.3576" y2="12.3444" width="0.254" layer="1"/>
<wire x1="16.3576" y1="12.3444" x2="16.5608" y2="12.5476" width="0.254" layer="1"/>
<wire x1="16.5608" y1="12.5476" x2="16.7506" y2="12.7374" width="0.254" layer="1"/>
<wire x1="16.482" y1="15.7874" x2="16.482" y2="15.4914" width="0.254" layer="1"/>
<wire x1="16.482" y1="15.4914" x2="16.4084" y2="15.4178" width="0.254" layer="1"/>
<wire x1="16.4084" y1="15.4178" x2="16.4084" y2="12.7" width="0.254" layer="1"/>
<wire x1="16.4084" y1="12.7" x2="16.5608" y2="12.5476" width="0.254" layer="1"/>
<wire x1="13.9874" y1="40.648" x2="14.6558" y2="39.9796" width="0.4064" layer="1"/>
<wire x1="14.6558" y1="39.9796" x2="14.6558" y2="38.901" width="0.4064" layer="1"/>
<wire x1="14.6558" y1="38.901" x2="13.423" y2="37.6682" width="0.4064" layer="1"/>
<wire x1="10.1718" y1="35.5092" x2="10.1718" y2="35.1926" width="0.6096" layer="1"/>
<wire x1="10.1718" y1="35.1926" x2="11.0998" y2="34.2646" width="0.6096" layer="1"/>
<wire x1="13.5128" y1="34.7726" x2="13.5128" y2="35.5718" width="0.6096" layer="1"/>
<wire x1="13.5128" y1="35.5718" x2="13.4738" y2="35.6108" width="0.6096" layer="1"/>
<wire x1="13.4738" y1="35.6108" x2="13.4738" y2="37.6174" width="0.6096" layer="1"/>
<wire x1="13.4738" y1="37.6174" x2="13.423" y2="37.6682" width="0.6096" layer="1"/>
<wire x1="11.0998" y1="34.2646" x2="11.2522" y2="34.1122" width="1.016" layer="1"/>
<wire x1="11.2522" y1="34.1122" x2="13.3232" y2="34.1122" width="1.016" layer="1"/>
<wire x1="13.3232" y1="34.1122" x2="13.4738" y2="34.2628" width="1.016" layer="1"/>
<wire x1="13.4738" y1="34.2628" x2="13.4738" y2="35.6108" width="1.016" layer="1"/>
<wire x1="13.3232" y1="34.1122" x2="13.3232" y2="32.0276" width="0.6096" layer="1"/>
<wire x1="13.3232" y1="32.0276" x2="14.9098" y2="30.441" width="0.6096" layer="1"/>
<wire x1="13.3232" y1="27.2914" x2="13.3232" y2="32.0276" width="0.6096" layer="1"/>
<wire x1="13.3232" y1="27.2914" x2="12.6247" y2="26.5929" width="0.6096" layer="1"/>
<wire x1="12.6247" y1="26.5929" x2="9.1694" y2="23.1376" width="0.6096" layer="1"/>
<wire x1="9.1694" y1="23.1376" x2="9.1694" y2="20.066" width="0.6096" layer="1"/>
<wire x1="9.1694" y1="20.066" x2="9.6774" y2="19.558" width="0.254" layer="1"/>
<wire x1="9.6774" y1="19.558" x2="9.6774" y2="18.415" width="0.254" layer="1"/>
<wire x1="9.6774" y1="18.415" x2="10.3242" y2="17.7682" width="0.254" layer="1"/>
<wire x1="10.3242" y1="17.7682" x2="10.7696" y2="17.7682" width="0.254" layer="1"/>
<wire x1="17.3228" y1="25.0072" x2="14.2104" y2="25.0072" width="0.6096" layer="1"/>
<wire x1="14.2104" y1="25.0072" x2="12.6247" y2="26.5929" width="0.6096" layer="1"/>
<wire x1="17.3228" y1="25.0072" x2="19.3294" y2="25.0072" width="0.6096" layer="1"/>
<wire x1="19.3294" y1="25.0072" x2="19.3294" y2="23.9014" width="0.6096" layer="1"/>
<wire x1="19.3294" y1="23.9014" x2="19.9136" y2="23.3172" width="0.6096" layer="1"/>
<via x="19.9136" y="23.3172" extent="1-16" drill="0.6"/>
<wire x1="19.9136" y1="23.3172" x2="23.2918" y2="23.3172" width="0.6096" layer="16"/>
<wire x1="23.2918" y1="23.3172" x2="23.749" y2="23.7744" width="0.6096" layer="16"/>
<via x="23.749" y="23.7744" extent="1-16" drill="0.6"/>
<via x="20.2438" y="28.1686" extent="1-16" drill="0.6"/>
<wire x1="20.2438" y1="28.1686" x2="20.2438" y2="23.6474" width="0.6096" layer="16"/>
<wire x1="20.2438" y1="23.6474" x2="19.9136" y2="23.3172" width="0.6096" layer="16"/>
<wire x1="18.9498" y1="28.6164" x2="19.796" y2="28.6164" width="0.254" layer="1"/>
<wire x1="19.796" y1="28.6164" x2="20.2438" y2="28.1686" width="0.254" layer="1"/>
<wire x1="16.891" y1="16.4846" x2="19.3802" y2="16.4846" width="0.254" layer="1"/>
<wire x1="19.3802" y1="16.4846" x2="20.1676" y2="17.272" width="0.254" layer="1"/>
<wire x1="20.1676" y1="17.272" x2="20.1676" y2="17.6022" width="0.254" layer="1"/>
<wire x1="20.1676" y1="17.6022" x2="20.1676" y2="23.0632" width="0.4064" layer="1"/>
<wire x1="20.1676" y1="23.0632" x2="19.9136" y2="23.3172" width="0.4064" layer="1"/>
<wire x1="29.0864" y1="11.0664" x2="28.3036" y2="11.0664" width="0.254" layer="1"/>
<wire x1="28.3036" y1="11.0664" x2="27.178" y2="12.192" width="0.254" layer="1"/>
<wire x1="27.178" y1="12.192" x2="27.178" y2="14.4272" width="0.254" layer="1"/>
<wire x1="27.178" y1="14.4272" x2="27.178" y2="16.256" width="0.6096" layer="1"/>
<wire x1="27.178" y1="16.4592" x2="23.622" y2="20.0152" width="0.6096" layer="1"/>
<wire x1="23.622" y1="20.0152" x2="23.622" y2="23.6474" width="0.6096" layer="1"/>
<wire x1="23.622" y1="23.6474" x2="23.749" y2="23.7744" width="0.6096" layer="1"/>
<wire x1="13.159" y1="40.648" x2="13.9874" y2="40.648" width="0.254" layer="1"/>
<wire x1="23.749" y1="23.7744" x2="23.749" y2="25.312" width="0.6096" layer="1"/>
<wire x1="23.749" y1="25.312" x2="24.9428" y2="26.5058" width="0.6096" layer="1"/>
<contactref element="JP1" pad="13"/>
<contactref element="JP1" pad="14"/>
<contactref element="JP1" pad="15"/>
<wire x1="49.3776" y1="10.16" x2="30.226" y2="10.16" width="0.8128" layer="16"/>
<wire x1="30.226" y1="10.16" x2="27.178" y2="13.208" width="0.8128" layer="16"/>
<wire x1="27.178" y1="13.208" x2="27.178" y2="16.256" width="0.8128" layer="16"/>
<via x="27.178" y="16.256" extent="1-16" drill="0.6"/>
<wire x1="27.178" y1="16.256" x2="27.178" y2="16.4592" width="0.6096" layer="1"/>
<wire x1="49.3776" y1="10.16" x2="49.3776" y2="12.7" width="0.8128" layer="16"/>
<wire x1="49.3776" y1="7.62" x2="49.3776" y2="10.16" width="0.8128" layer="16"/>
<wire x1="29.635" y1="36.5864" x2="29.635" y2="33.865" width="0.254" layer="1"/>
<wire x1="29.635" y1="33.865" x2="33.3375" y2="30.1625" width="0.254" layer="1"/>
</signal>
<signal name="N$3">
</signal>
<signal name="N$5">
</signal>
<signal name="N$12">
</signal>
<signal name="N$14">
</signal>
<signal name="N$4">
</signal>
<signal name="N$15">
</signal>
<signal name="N$7">
<contactref element="R8" pad="2"/>
<contactref element="LED2" pad="A"/>
<wire x1="44.335" y1="17.9578" x2="42.5822" y2="17.9578" width="0.254" layer="1"/>
</signal>
<signal name="N$8">
<contactref element="R15" pad="2"/>
<contactref element="LED3" pad="A"/>
<wire x1="44.335" y1="16.6878" x2="42.5822" y2="16.6878" width="0.254" layer="1"/>
</signal>
<signal name="N$31">
</signal>
<signal name="N$22">
</signal>
<signal name="N$33">
</signal>
<signal name="N$1">
<contactref element="R9" pad="2"/>
<contactref element="LED1" pad="A"/>
<wire x1="15.0232" y1="34.1122" x2="15.2654" y2="34.3544" width="0.6096" layer="1"/>
<wire x1="15.2654" y1="34.3544" x2="15.2654" y2="35.5212" width="0.6096" layer="1"/>
</signal>
<signal name="N$10">
<contactref element="C31" pad="2"/>
<contactref element="U1" pad="19"/>
<contactref element="Y1" pad="P$2"/>
<wire x1="35.135" y1="36.5864" x2="35.135" y2="40.0744" width="0.254" layer="1"/>
<wire x1="35.135" y1="40.0744" x2="35.8276" y2="40.767" width="0.254" layer="1"/>
<wire x1="35.8276" y1="40.767" x2="35.8276" y2="42.6136" width="0.254" layer="1"/>
<wire x1="35.8276" y1="42.6136" x2="36.775" y2="43.561" width="0.254" layer="1"/>
</signal>
<signal name="N$11">
<contactref element="C32" pad="2"/>
<contactref element="U1" pad="20"/>
<contactref element="Y1" pad="P$1"/>
<wire x1="34.635" y1="36.5864" x2="34.635" y2="40.129" width="0.254" layer="1"/>
<wire x1="34.635" y1="40.129" x2="33.997" y2="40.767" width="0.254" layer="1"/>
<wire x1="33.997" y1="40.767" x2="33.997" y2="42.639" width="0.254" layer="1"/>
<wire x1="33.997" y1="42.639" x2="33.075" y2="43.561" width="0.254" layer="1"/>
</signal>
<signal name="N$9">
<contactref element="U1" pad="46"/>
<contactref element="R17" pad="1"/>
<wire x1="26.685" y1="28.1364" x2="26.6664" y2="28.1178" width="0.254" layer="1"/>
<wire x1="26.6664" y1="28.1178" x2="26.0096" y2="28.1178" width="0.254" layer="1"/>
<wire x1="26.685" y1="28.1364" x2="28.404" y2="28.1364" width="0.254" layer="1"/>
<wire x1="28.404" y1="28.1364" x2="29.0068" y2="27.5336" width="0.254" layer="1"/>
<via x="29.0068" y="27.5336" extent="1-16" drill="0.6"/>
<via x="39.243" y="15.4432" extent="1-16" drill="0.6"/>
<wire x1="39.0652" y1="15.4432" x2="39.243" y2="15.4432" width="0.254" layer="16"/>
<wire x1="40.8822" y1="15.4178" x2="40.8568" y2="15.4432" width="0.254" layer="1"/>
<wire x1="40.8568" y1="15.4432" x2="39.243" y2="15.4432" width="0.254" layer="1"/>
<wire x1="29.0068" y1="27.5336" x2="31.8008" y2="27.5336" width="0.254" layer="16"/>
<wire x1="31.8008" y1="27.5336" x2="36.2458" y2="23.0886" width="0.254" layer="16"/>
<wire x1="36.2458" y1="23.0886" x2="36.2458" y2="17.1196" width="0.254" layer="16"/>
<wire x1="36.2458" y1="17.1196" x2="37.9222" y2="15.4432" width="0.254" layer="16"/>
<wire x1="37.9222" y1="15.4432" x2="39.243" y2="15.4432" width="0.254" layer="16"/>
</signal>
<signal name="N$29">
<contactref element="R17" pad="2"/>
<contactref element="LED4" pad="A"/>
<wire x1="44.335" y1="15.4178" x2="42.5822" y2="15.4178" width="0.254" layer="1"/>
</signal>
<signal name="N$35">
<contactref element="U$3" pad="6"/>
<contactref element="R18" pad="1"/>
<via x="16.891" y="22.5044" extent="1-16" drill="0.6"/>
<via x="13.8684" y="21.9202" extent="1-16" drill="0.6"/>
<wire x1="12.624" y1="20.1422" x2="12.6082" y2="20.158" width="0.1778" layer="1"/>
<wire x1="12.624" y1="20.1422" x2="13.8684" y2="21.3866" width="0.1778" layer="1"/>
<wire x1="13.8684" y1="21.3866" x2="13.8684" y2="21.9202" width="0.1778" layer="1"/>
<wire x1="13.8684" y1="21.9964" x2="13.8684" y2="21.9202" width="0.1778" layer="16"/>
<wire x1="18.7706" y1="20.5858" x2="18.669" y2="20.6874" width="0.1778" layer="1"/>
<wire x1="13.8684" y1="21.9964" x2="14.3256" y2="22.4536" width="0.1778" layer="16"/>
<wire x1="18.669" y1="20.6874" x2="18.669" y2="20.7264" width="0.254" layer="1"/>
<wire x1="18.669" y1="20.7264" x2="16.891" y2="22.5044" width="0.254" layer="1"/>
<wire x1="16.891" y1="22.5044" x2="14.4526" y2="22.5044" width="0.254" layer="16"/>
<wire x1="14.4526" y1="22.5044" x2="13.8684" y2="21.9202" width="0.254" layer="16"/>
</signal>
<signal name="AD0">
<contactref element="U1" pad="39"/>
<contactref element="U3" pad="9"/>
<wire x1="26.685" y1="31.6364" x2="26.673" y2="31.6484" width="0.254" layer="1"/>
<wire x1="26.673" y1="31.6484" x2="22.6568" y2="31.6484" width="0.254" layer="1"/>
<via x="22.1234" y="31.115" extent="1-16" drill="0.6"/>
<via x="19.177" y="32.2072" extent="1-16" drill="0.6"/>
<wire x1="17.6498" y1="31.1164" x2="17.653" y2="31.1196" width="0.1778" layer="1"/>
<wire x1="17.653" y1="31.1196" x2="17.653" y2="31.496" width="0.1778" layer="1"/>
<wire x1="17.653" y1="31.496" x2="18.3642" y2="32.2072" width="0.1778" layer="1"/>
<wire x1="18.3642" y1="32.2072" x2="19.177" y2="32.2072" width="0.1778" layer="1"/>
<wire x1="21.2598" y1="31.1658" x2="21.2344" y2="31.1912" width="0.254" layer="16"/>
<wire x1="21.2344" y1="31.1912" x2="20.2184" y2="32.2072" width="0.254" layer="16"/>
<wire x1="20.2184" y1="32.2072" x2="19.177" y2="32.2072" width="0.254" layer="16"/>
<wire x1="22.6568" y1="31.6484" x2="22.1234" y2="31.115" width="0.254" layer="1"/>
<wire x1="22.1234" y1="31.115" x2="21.3106" y2="31.115" width="0.254" layer="16"/>
<wire x1="21.3106" y1="31.115" x2="21.2598" y2="31.1658" width="0.254" layer="16"/>
</signal>
<signal name="N$30">
<wire x1="11.7856" y1="39.9288" x2="11.7602" y2="39.9288" width="0.254" layer="1"/>
<wire x1="11.7602" y1="39.9288" x2="11.7602" y2="39.9796" width="0.254" layer="1"/>
</signal>
<signal name="N$36">
<wire x1="11.0236" y1="39.9288" x2="10.9474" y2="39.9288" width="0.1778" layer="1"/>
</signal>
<signal name="N$37">
<wire x1="12.3952" y1="39.9288" x2="12.4206" y2="39.9288" width="0.1778" layer="1"/>
</signal>
<signal name="N$39">
<via x="29.21" y="32.1818" extent="1-16" drill="0.6"/>
</signal>
<signal name="N$40">
<via x="31.9786" y="33.6296" extent="1-16" drill="0.6"/>
</signal>
<signal name="N$41">
<via x="2.8194" y="24.892" extent="1-16" drill="0.6"/>
</signal>
<signal name="N$42">
<via x="2.8702" y="18.8722" extent="1-16" drill="0.6"/>
</signal>
<signal name="N$43">
<via x="2.9718" y="12.065" extent="1-16" drill="0.6"/>
</signal>
<signal name="N$44">
<via x="5.4102" y="6.2484" extent="1-16" drill="0.6"/>
</signal>
<signal name="N$45">
<via x="40.386" y="45.6184" extent="1-16" drill="0.6"/>
</signal>
<signal name="N$46">
<via x="43.9928" y="42.3672" extent="1-16" drill="0.6"/>
</signal>
<signal name="N$47">
<via x="39.0652" y="12.1412" extent="1-16" drill="0.6"/>
</signal>
<signal name="N$48">
<via x="43.1292" y="11.8618" extent="1-16" drill="0.6"/>
</signal>
<signal name="N$49">
<via x="41.6814" y="8.2042" extent="1-16" drill="0.6"/>
</signal>
<signal name="N$50">
<via x="49.6824" y="6.096" extent="1-16" drill="0.6"/>
</signal>
</signals>
</board>
</drawing>
</eagle>

repository: zzrgenius/Clay

repo_name: zzrgenius/Clay


text:
// Package cmd defines and implements command-line commands and flags
// used by flogo. Commands and flags are implemented using Cobra.
package cmd

import (
	"bytes"
	"encoding/json"
	"fmt"
	"io/ioutil"
	"net/http"
	"os"
	"strings"

	"github.com/retgits/flogowebhelper/util"
	"github.com/spf13/cobra"
)

// appsImportCmd represents the appsImport command
var appsImportCmd = &cobra.Command{
	Use:   "import",
	Short: "Imports Flogo apps into the Flogo Web UI",
	Run:   runAppsImport,
}

// Flags
var ()

// Variables
var ()

// init registers the command and flags
func init() {
	appsCmd.AddCommand(appsImportCmd)
	appsImportCmd.Flags().StringVar(&flogoWebHost, "host", "http://localhost:3303", "The URL for the Flogo Web UI")
	appsImportCmd.Flags().StringVar(&flogoFileName, "filename", "flogo.json", "The name of the file you want to import if you do not specify 'dir'")
	appsImportCmd.Flags().BoolVar(&readDir, "dir", false, "import all JSON files in the current directory")
}

// runAppsImport is the actual execution of the command
func runAppsImport(cmd *cobra.Command, args []string) {
	// Print flags
	fmt.Printf("\nThe URL for the Flogo Web UI URL has been set to: %s\n", flogoWebHost)
	if readDir {
		fmt.Printf("Importing all JSON files from                   : %s\n", util.CurrentDirectory())
	}
	fmt.Println("")

	// Prepare request URL
	flogoURL := fmt.Sprintf("%s%s", flogoWebHost, flogoAPIEndpoint)

	if readDir {
		// Read all the filenames in the current directory (does not traverse subdirectories)
		files, err := ioutil.ReadDir(".")
		if err != nil {
			fmt.Println(err.Error())
			os.Exit(2)
		}

		// For each file that ends with .json try to import it
		foundFiles := false
		for _, file := range files {
			if strings.HasSuffix(file.Name(), ".json") {
				foundFiles = true
				fmt.Printf("Attempt to import: %s\n", file.Name())
				importToFlogoWeb(file.Name(), flogoURL)
			}
		}

		if !foundFiles {
			fmt.Printf("No JSON files have been found in                : %s\n\n", util.CurrentDirectory())
		}
	} else {
		// import a single file
		importToFlogoWeb(flogoFileName, flogoURL)
	}
}

// Function importToFlogoWeb() tries to import the file to the Flogo Web UI. The function
// takes two parameters:
// - fileName: the string which contains the name of the file
// - flogoURL: the URL of the Flogo Web UI, with the API endpoints
// If an error occurs, most likely because the Flogo Web UI doesn't have the activities
// needed, it will try to display which activities need to be imported
func importToFlogoWeb(fileName, flogoURL string) {
	// Read the file
	data, err := ioutil.ReadFile(fileName)
	if err != nil {
		fmt.Printf("Error while reading file %s\n", fileName)
		fmt.Println(err.Error())
	}

	// Prepare the API request
	req, err := http.NewRequest("POST", fmt.Sprint(flogoURL+flogoAppImport), bytes.NewBuffer(data))
	req.Header.Set("Content-Type", "application/json")

	// Prepare the HTTP client
	client := &http.Client{}

	// Execute the HTTP request
	resp, err := client.Do(req)
	if err != nil {
		fmt.Println(err.Error())
	}
	defer resp.Body.Close()

	// Print the response if not okay
	if resp.StatusCode != 200 {
		fmt.Printf("Couldn't import %s\n", fileName)
		fmt.Printf("  HTTP Status: %v\n", resp.StatusCode)

		var dat map[string]interface{}

		buf := new(bytes.Buffer)
		buf.ReadFrom(resp.Body)

		byt := []byte(buf.String())
		if err := json.Unmarshal(byt, &dat); err != nil {
			fmt.Println(err.Error())
		}

		// Find the errors (most likely they're missing activities or triggers)
		strs := dat["errors"].([]interface{})[0].(map[string]interface{})["meta"].(map[string]interface{})["details"].([]interface{})
		for _, item := range strs {
			tempItem := item.(map[string]interface{})
			fmt.Printf("  %s\n", tempItem["message"])
		}
	} else {
		fmt.Printf("Succesfully imported %s\n", fileName)
	}
	fmt.Println("")
}

license: MIT

repository: retgits/flogowebhelper

license_type: permissive

repo_name: retgits/flogowebhelper

branch_name: refs/heads/master

extension: go


text:
// Copyright © 2019 The Things Network Foundation, The Things Industries B.V.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package auth

import (
	"context"
	"strings"

	"go.thethings.network/lorawan-stack/v3/pkg/auth/pbkdf2"
	"go.thethings.network/lorawan-stack/v3/pkg/errors"
)

// HashValidator is a method to hash and validate a secret.
type HashValidator interface {
	// Name returns the hashing method name that is used to identify which method
	// was used to hash a given secret.
	Name() string

	// Hash hashes the given plain text secret.
	Hash(plain string) (string, error)

	// Validate checks whether the given plain text secret is equal or not to
	// the given hashed secret.
	Validate(hashed, plain string) (bool, error)
}

// defaultHashValidator is the default method for hashing and validating secrets.
var defaultHashValidator = pbkdf2.Default()

type hashValidatorContextKeyType struct{}

var hashValidatorContextKey hashValidatorContextKeyType

// NewContextWithHashValidator returns a context derived from parent that contains hashValidator.
func NewContextWithHashValidator(parent context.Context, hashValidator HashValidator) context.Context {
	return context.WithValue(parent, hashValidatorContextKey, hashValidator)
}

// HashValidatorFromContext returns the HashValidator from the context if present. Otherwise it returns default HashValidator.
func HashValidatorFromContext(ctx context.Context) HashValidator {
	if hashValidator, ok := ctx.Value(hashValidatorContextKey).(HashValidator); ok {
		return hashValidator
	}
	return defaultHashValidator
}

// hashValidators contains all the supported hashing methods.
// Be sure to add your hashing method to this list if you implement a new one.
var hashValidators = []HashValidator{
	defaultHashValidator,
}

// Hash hashes a plaintext secret.
func Hash(ctx context.Context, plain string) (string, error) {
	str, err := HashValidatorFromContext(ctx).Hash(plain)
	if err != nil {
		return "", err
	}
	return str, nil
}

var errInvalidHash = errors.DefineInternal(
	"invalid_hash",
	"invalid hash",
)

var errUnknownHashingMethod = errors.DefineInternal(
	"unknown_hashing_method",
	"unknown hashing method `{method}`",
)

// Validate checks if the hash matches the plaintext.
func Validate(hashed, plain string) (bool, error) {
	parts := strings.SplitN(hashed, "$", 2)

	if len(parts) < 2 {
		return false, errInvalidHash.New()
	}

	typ := parts[0]

	for _, method := range hashValidators {
		if strings.EqualFold(typ, method.Name()) {
			return method.Validate(hashed, plain)
		}
	}

	return false, errUnknownHashingMethod.WithAttributes("method", typ)
}

repository: TheThingsNetwork/lorawan-stack

repo_name: TheThingsNetwork/lorawan-stack

gha_language: Go


text:
##############################################################################
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
##############################################################################

# Find FLATBUFFERS (flatbuffers/include, libflatbuffers.a, flatc)
# This module defines:
# FLATBUFFERS_INCLUDE_DIR, directory containing headers
# FLATBUFFERS_STATIC_LIB, path to flatbuffers's static library
# FLATBUFFERS_COMPILER, path to flatc compiler

# this might fail
# https://gitlab.kitware.com/cmake/cmake/issues/19120
find_path(FLATBUFFERS_INCLUDE_DIR flatbuffers/flatbuffers.h
  PATHS ${FLATBUFFERS_ROOT}/include
  HINTS /usr/local /usr/local/flatbuffers /usr/local/Homebrew /usr ~/homebrew/ /usr/local/include /usr/local/flatbuffers/include /usr/include ~/homebrew/include
  NO_CMAKE_SYSTEM_PATH
  NO_SYSTEM_ENVIRONMENT_PATH)

find_program(FLATBUFFERS_COMPILER flatc
  PATHS ${FLATBUFFERS_ROOT}/bin
  HINTS /usr/local/bin /usr/bin /usr/local/Homebrew/bin ~/homebrew/bin
  NO_CMAKE_SYSTEM_PATH
  NO_SYSTEM_ENVIRONMENT_PATH)

if(NOT ${FLATBUFFERS_INCLUDE_DIR})
  # HACK
  set(FLATBUFFERS_INCLUDE_DIR /usr/local/include)
endif()

message("${FLATBUFFERS_COMPILER}")
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(FLATBUFFERS REQUIRED_VARS
  FLATBUFFERS_INCLUDE_DIR FLATBUFFERS_COMPILER)

extension: cmake


text:
/*
 * Sites
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * API version: 1.0.0
 * Generated by: OpenAPI Generator (https://openapi-generator.tech)
 */

package sites

import (
	"encoding/json"
)

// SchemadeliveryOrigin A CDN site's origin  Origins are the original sources of the data that is cached by the CDN on request.
type SchemadeliveryOrigin struct {
	// An origin's unique identifier
	Id *string `json:"id,omitempty"`
	// The stack for which the origin belongs to
	StackId *string `json:"stackId,omitempty"`
	// Whether or not an origin is dedicated to a CDN site  Dedicated origins cannot be used by any site other than that to which it is dedicated.
	Dedicated *bool `json:"dedicated,omitempty"`
	// The ID of the CDN site to which an origin is dedicated
	SiteId *string `json:"siteId,omitempty"`
	Http *DeliveryHTTPOrigin `json:"http,omitempty"`
	StackpathStorage *DeliveryStackPathStorageOrigin `json:"stackpathStorage,omitempty"`
	S3Storage *DeliveryAWSS3Origin `json:"s3Storage,omitempty"`
	GoogleCloudStorage *DeliveryGoogleStorageOrigin `json:"googleCloudStorage,omitempty"`
}

// NewSchemadeliveryOrigin instantiates a new SchemadeliveryOrigin object
// This constructor will assign default values to properties that have it defined,
// and makes sure properties required by API are set, but the set of arguments
// will change when the set of required properties is changed
func NewSchemadeliveryOrigin() *SchemadeliveryOrigin {
	this := SchemadeliveryOrigin{}
	return &this
}

// NewSchemadeliveryOriginWithDefaults instantiates a new SchemadeliveryOrigin object
// This constructor will only assign default values to properties that have it defined,
// but it doesn't guarantee that properties required by API are set
func NewSchemadeliveryOriginWithDefaults() *SchemadeliveryOrigin {
	this := SchemadeliveryOrigin{}
	return &this
}

// GetId returns the Id field value if set, zero value otherwise.
func (o *SchemadeliveryOrigin) GetId() string {
	if o == nil || o.Id == nil {
		var ret string
		return ret
	}
	return *o.Id
}

// GetIdOk returns a tuple with the Id field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *SchemadeliveryOrigin) GetIdOk() (*string, bool) {
	if o == nil || o.Id == nil {
		return nil, false
	}
	return o.Id, true
}

// HasId returns a boolean if a field has been set.
func (o *SchemadeliveryOrigin) HasId() bool {
	if o != nil && o.Id != nil {
		return true
	}

	return false
}

// SetId gets a reference to the given string and assigns it to the Id field.
func (o *SchemadeliveryOrigin) SetId(v string) {
	o.Id = &v
}

// GetStackId returns the StackId field value if set, zero value otherwise.
func (o *SchemadeliveryOrigin) GetStackId() string {
	if o == nil || o.StackId == nil {
		var ret string
		return ret
	}
	return *o.StackId
}

// GetStackIdOk returns a tuple with the StackId field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *SchemadeliveryOrigin) GetStackIdOk() (*string, bool) {
	if o == nil || o.StackId == nil {
		return nil, false
	}
	return o.StackId, true
}

// HasStackId returns a boolean if a field has been set.
func (o *SchemadeliveryOrigin) HasStackId() bool {
	if o != nil && o.StackId != nil {
		return true
	}

	return false
}

// SetStackId gets a reference to the given string and assigns it to the StackId field.
func (o *SchemadeliveryOrigin) SetStackId(v string) {
	o.StackId = &v
}

// GetDedicated returns the Dedicated field value if set, zero value otherwise.
func (o *SchemadeliveryOrigin) GetDedicated() bool {
	if o == nil || o.Dedicated == nil {
		var ret bool
		return ret
	}
	return *o.Dedicated
}

// GetDedicatedOk returns a tuple with the Dedicated field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *SchemadeliveryOrigin) GetDedicatedOk() (*bool, bool) {
	if o == nil || o.Dedicated == nil {
		return nil, false
	}
	return o.Dedicated, true
}

// HasDedicated returns a boolean if a field has been set.
func (o *SchemadeliveryOrigin) HasDedicated() bool {
	if o != nil && o.Dedicated != nil {
		return true
	}

	return false
}

// SetDedicated gets a reference to the given bool and assigns it to the Dedicated field.
func (o *SchemadeliveryOrigin) SetDedicated(v bool) {
	o.Dedicated = &v
}

// GetSiteId returns the SiteId field value if set, zero value otherwise.
func (o *SchemadeliveryOrigin) GetSiteId() string {
	if o == nil || o.SiteId == nil {
		var ret string
		return ret
	}
	return *o.SiteId
}

// GetSiteIdOk returns a tuple with the SiteId field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *SchemadeliveryOrigin) GetSiteIdOk() (*string, bool) {
	if o == nil || o.SiteId == nil {
		return nil, false
	}
	return o.SiteId, true
}

// HasSiteId returns a boolean if a field has been set.
func (o *SchemadeliveryOrigin) HasSiteId() bool {
	if o != nil && o.SiteId != nil {
		return true
	}

	return false
}

// SetSiteId gets a reference to the given string and assigns it to the SiteId field.
func (o *SchemadeliveryOrigin) SetSiteId(v string) {
	o.SiteId = &v
}

// GetHttp returns the Http field value if set, zero value otherwise.
func (o *SchemadeliveryOrigin) GetHttp() DeliveryHTTPOrigin {
	if o == nil || o.Http == nil {
		var ret DeliveryHTTPOrigin
		return ret
	}
	return *o.Http
}

// GetHttpOk returns a tuple with the Http field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *SchemadeliveryOrigin) GetHttpOk() (*DeliveryHTTPOrigin, bool) {
	if o == nil || o.Http == nil {
		return nil, false
	}
	return o.Http, true
}

// HasHttp returns a boolean if a field has been set.
func (o *SchemadeliveryOrigin) HasHttp() bool {
	if o != nil && o.Http != nil {
		return true
	}

	return false
}

// SetHttp gets a reference to the given DeliveryHTTPOrigin and assigns it to the Http field.
func (o *SchemadeliveryOrigin) SetHttp(v DeliveryHTTPOrigin) {
	o.Http = &v
}

// GetStackpathStorage returns the StackpathStorage field value if set, zero value otherwise.
func (o *SchemadeliveryOrigin) GetStackpathStorage() DeliveryStackPathStorageOrigin {
	if o == nil || o.StackpathStorage == nil {
		var ret DeliveryStackPathStorageOrigin
		return ret
	}
	return *o.StackpathStorage
}

// GetStackpathStorageOk returns a tuple with the StackpathStorage field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *SchemadeliveryOrigin) GetStackpathStorageOk() (*DeliveryStackPathStorageOrigin, bool) {
	if o == nil || o.StackpathStorage == nil {
		return nil, false
	}
	return o.StackpathStorage, true
}

// HasStackpathStorage returns a boolean if a field has been set.
func (o *SchemadeliveryOrigin) HasStackpathStorage() bool {
	if o != nil && o.StackpathStorage != nil {
		return true
	}

	return false
}

// SetStackpathStorage gets a reference to the given DeliveryStackPathStorageOrigin and assigns it to the StackpathStorage field.
func (o *SchemadeliveryOrigin) SetStackpathStorage(v DeliveryStackPathStorageOrigin) {
	o.StackpathStorage = &v
}

// GetS3Storage returns the S3Storage field value if set, zero value otherwise.
func (o *SchemadeliveryOrigin) GetS3Storage() DeliveryAWSS3Origin {
	if o == nil || o.S3Storage == nil {
		var ret DeliveryAWSS3Origin
		return ret
	}
	return *o.S3Storage
}

// GetS3StorageOk returns a tuple with the S3Storage field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *SchemadeliveryOrigin) GetS3StorageOk() (*DeliveryAWSS3Origin, bool) {
	if o == nil || o.S3Storage == nil {
		return nil, false
	}
	return o.S3Storage, true
}

// HasS3Storage returns a boolean if a field has been set.
func (o *SchemadeliveryOrigin) HasS3Storage() bool {
	if o != nil && o.S3Storage != nil {
		return true
	}

	return false
}

// SetS3Storage gets a reference to the given DeliveryAWSS3Origin and assigns it to the S3Storage field.
func (o *SchemadeliveryOrigin) SetS3Storage(v DeliveryAWSS3Origin) {
	o.S3Storage = &v
}

// GetGoogleCloudStorage returns the GoogleCloudStorage field value if set, zero value otherwise.
func (o *SchemadeliveryOrigin) GetGoogleCloudStorage() DeliveryGoogleStorageOrigin {
	if o == nil || o.GoogleCloudStorage == nil {
		var ret DeliveryGoogleStorageOrigin
		return ret
	}
	return *o.GoogleCloudStorage
}

// GetGoogleCloudStorageOk returns a tuple with the GoogleCloudStorage field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *SchemadeliveryOrigin) GetGoogleCloudStorageOk() (*DeliveryGoogleStorageOrigin, bool) {
	if o == nil || o.GoogleCloudStorage == nil {
		return nil, false
	}
	return o.GoogleCloudStorage, true
}

// HasGoogleCloudStorage returns a boolean if a field has been set.
func (o *SchemadeliveryOrigin) HasGoogleCloudStorage() bool {
	if o != nil && o.GoogleCloudStorage != nil {
		return true
	}

	return false
}

// SetGoogleCloudStorage gets a reference to the given DeliveryGoogleStorageOrigin and assigns it to the GoogleCloudStorage field.
func (o *SchemadeliveryOrigin) SetGoogleCloudStorage(v DeliveryGoogleStorageOrigin) {
	o.GoogleCloudStorage = &v
}

func (o SchemadeliveryOrigin) MarshalJSON() ([]byte, error) {
	toSerialize := map[string]interface{}{}
	if o.Id != nil {
		toSerialize["id"] = o.Id
	}
	if o.StackId != nil {
		toSerialize["stackId"] = o.StackId
	}
	if o.Dedicated != nil {
		toSerialize["dedicated"] = o.Dedicated
	}
	if o.SiteId != nil {
		toSerialize["siteId"] = o.SiteId
	}
	if o.Http != nil {
		toSerialize["http"] = o.Http
	}
	if o.StackpathStorage != nil {
		toSerialize["stackpathStorage"] = o.StackpathStorage
	}
	if o.S3Storage != nil {
		toSerialize["s3Storage"] = o.S3Storage
	}
	if o.GoogleCloudStorage != nil {
		toSerialize["googleCloudStorage"] = o.GoogleCloudStorage
	}
	return json.Marshal(toSerialize)
}

type NullableSchemadeliveryOrigin struct {
	value *SchemadeliveryOrigin
	isSet bool
}

func (v NullableSchemadeliveryOrigin) Get() *SchemadeliveryOrigin {
	return v.value
}

func (v *NullableSchemadeliveryOrigin) Set(val *SchemadeliveryOrigin) {
	v.value = val
	v.isSet = true
}

func (v NullableSchemadeliveryOrigin) IsSet() bool {
	return v.isSet
}

func (v *NullableSchemadeliveryOrigin) Unset() {
	v.value = nil
	v.isSet = false
}

func NewNullableSchemadeliveryOrigin(val *SchemadeliveryOrigin) *NullableSchemadeliveryOrigin {
	return &NullableSchemadeliveryOrigin{value: val, isSet: true}
}

func (v NullableSchemadeliveryOrigin) MarshalJSON() ([]byte, error) {
	return json.Marshal(v.value)
}

func (v *NullableSchemadeliveryOrigin) UnmarshalJSON(src []byte) error {
	v.isSet = true
	return json.Unmarshal(src, &v.value)
}

repository: kraney/stackpath

repo_name: kraney/stackpath


text:
@article{ceron2019phylotol,
  title={PhyloToL: a taxon/gene-rich phylogenomic pipeline to explore genome evolution of diverse eukaryotes},
  author={Cer{\'o}n-Romero, Mario A and Maurer-Alcal{\'a}, Xyrus X and Grattepanche, Jean-David and Yan, Ying and Fonseca, Miguel M and Katz, LA},
  journal={Molecular biology and evolution},
  volume={36},
  number={8},
  pages={1831--1842},
  year={2019},
  publisher={Oxford University Press},
  doi={10.1093/molbev/msz103}
}
@article{smith2019pyphlawd,
  title={PyPHLAWD: A python tool for phylogenetic dataset construction},
  author={Smith, Stephen A and Walker, Joseph F},
  journal={Methods in Ecology and Evolution},
  volume={10},
  number={1},
  pages={104--108},
  year={2019},
  publisher={Wiley Online Library},
  doi={10.1111/2041-210X.13096}
}
@article{bennett2018phylotar,
  title={phylotaR: An automated pipeline for retrieving orthologous DNA sequences from GenBank in R},
  author={Bennett, Dominic J and Hettling, Hannes and Silvestro, Daniele and Zizka, Alexander and Bacon, Christine D and Faurby, S{\o}ren and Vos, Rutger A and Antonelli, Alexandre},
  journal={Life},
  volume={8},
  number={2},
  pages={20},
  year={2018},
  publisher={Multidisciplinary Digital Publishing Institute},
  doi={10.3390/life8020020}
}
@article{drori2018onetwotree,
  title={OneTwoTree: An online tool for phylogeny reconstruction},
  author={Drori, Michal and Rice, Anna and Einhorn, Moshe and Chay, Ofer and Glick, Lior and Mayrose, Itay},
  journal={Molecular ecology resources},
  volume={18},
  number={6},
  pages={1492--1499},
  year={2018},
  publisher={Wiley Online Library},
  doi={10.1111/1755-0998.12927}
}
@article{guy2017phyloskeleton,
  title={phyloSkeleton: taxon selection, data retrieval and marker identification for phylogenomics},
  author={Guy, Lionel},
  journal={Bioinformatics},
  volume={33},
  number={8},
  pages={1230--1232},
  year={2017},
  publisher={Oxford University Press},
  doi={10.1093/bioinformatics/btw824}
}
@article{papadopoulou2015automated,
  title={Automated DNA-based plant identification for large-scale biodiversity assessment},
  author={Papadopoulou, Anna and Chesters, Douglas and Coronado, Indiana and De la Cadena, Gissela and Cardoso, Anabela and Reyes, Jazmina C and Maes, Jean-Michel and Rueda, Ricardo M and G{\'o}mez-Zurita, Jes{\'u}s},
  journal={Molecular ecology resources},
  volume={15},
  number={1},
  pages={136--152},
  year={2015},
  publisher={Wiley Online Library},
  doi={10.1111/1755-0998.12256}
}
@article{antonelli2017toward,
  title={Toward a self-updating platform for estimating rates of speciation and migration, ages, and relationships of taxa},
  author={Antonelli, Alexandre and Hettling, Hannes and Condamine, Fabien L and Vos, Karin and Nilsson, R Henrik and Sanderson, Michael J and Sauquet, Herv{\'e} and Scharn, Ruud and Silvestro, Daniele and T{\"o}pel, Mats and others},
  journal={Systematic Biology},
  volume={66},
  number={2},
  pages={152--166},
  year={2017},
  publisher={Oxford University Press},
  doi={10.1093/sysbio/syw066}
}
@article{kumar2015bir,
  title={BIR pipeline for preparation of phylogenomic data},
  author={Kumar, Surendra and Krabber{\o}d, Anders K and Neumann, Ralf S and Michalickova, Katerina and Zhao, Sen and Zhang, Xiaoli and Shalchian-Tabrizi, Kamran},
  journal={Evolutionary Bioinformatics},
  volume={11},
  pages={EBO--S10189},
  year={2015},
  publisher={SAGE Publications Sage UK: London, England},
  doi={10.4137/EBO.S10189}
}
@article{mcmahon2015stbase,
  title={STBase: one million species trees for comparative biology},
  author={McMahon, Michelle M and Deepak, Akshay and Fern{\'a}ndez-Baca, David and Boss, Darren and Sanderson, Michael J},
  journal={PloS one},
  volume={10},
  number={2},
  year={2015},
  publisher={Public Library of Science},
  doi={10.1371/journal.pone.0117987}
}
@article{freyman2015sumac,
  title={SUMAC: Constructing phylogenetic supermatrices and assessing partially decisive taxon coverage},
  author={Freyman, William A},
  journal={Evolutionary Bioinformatics},
  volume={11},
  pages={EBO--S35384},
  year={2015},
  publisher={SAGE Publications Sage UK: London, England},
  doi={10.4137/EBO.S35384}
}
@article{xu2015ncbiminer,
  title={NCBIminer: sequences harvest from Genbank},
  author={Xu, Xiaoting and Dimitrov, Dimitar and Rahbek, Carsten and Wang, Zhiheng},
  journal={Ecography},
  volume={38},
  number={4},
  pages={426--430},
  year={2015},
  publisher={Wiley Online Library},
  doi={10.1111/ecog.01055}
}
@article{izquierdo2014pumper,
  title={PUmPER: phylogenies updated perpetually},
  author={Izquierdo-Carrasco, Fernando and Cazes, John and Smith, Stephen A and Stamatakis, Alexandros},
  journal={Bioinformatics},
  abstract = {New sequence data useful for phylogenetic and evolutionary analyses continues to be added to public databases. The construction of multiple sequence alignments and inference of huge phylogenies comprising large taxonomic groups are expensive tasks, both in terms of man hours and computational resources. Therefore, maintaining comprehensive phylogenies, based on representative and up-to-date molecular sequences, is challenging.
PUmPER is a framework that can perpetually construct multi-gene alignments (with PHLAWD) and phylogenetic trees (with ExaML or RAxML-Light) for a given NCBI taxonomic group. When sufficient numbers of new gene sequences for the selected taxonomic group have accumulated in GenBank, PUmPER automatically extends the alignment and infers extended phylogenetic trees by using previously inferred smaller trees as starting topologies.
Using our framework, large phylogenetic trees can be perpetually updated without human intervention. Importantly, resulting phylogenies are not statistically significantly worse than trees inferred from scratch.
Availability and Implementation: PUmPER can run in stand-alone mode on a single server, or offload the computationally expensive phylogenetic searches to a parallel computing cluster. Source code, documentation, and tutorials are available at https://github.com/fizquierdo/perpetually-updated-trees.},
  volume={30},
  number={10},
  pages={1476--1477},
  year={2014},
  publisher={Oxford University Press},
  doi={10.1093/bioinformatics/btu053}
}
@article{smith2009mega,
  title={Mega-phylogeny approach for comparative biology: an alternative to supertree and supermatrix approaches},
  author={Smith, Stephen A and Beaulieu, Jeremy M and Donoghue, Michael J},
  journal={BMC evolutionary biology},
  volume={9},
  number={1},
  pages={37},
  year={2009},
  publisher={Springer},
  doi={10.1186/1471-2148-9-37}
}
@article{wu2008simple,
  title={A simple, fast, and accurate method of phylogenomic inference},
  author={Wu, Martin and Eisen, Jonathan A},
  journal={Genome biology},
  volume={9},
  number={10},
  pages={R151},
  year={2008},
  publisher={Springer},
  doi={10.1186/gb-2008-9-10-r151}
}
@article{sanderson2008phylota,
    author = {Sanderson, Michael J. and Boss, Darren and Chen, Duhong and Cranston, Karen A. and Wehe, Andre},
    title = "{The PhyLoTA Browser: Processing GenBank for Molecular Phylogenetics Research}",
    journal = {Systematic Biology},
    volume = {57},
    number = {3},
    pages = {335-346},
    year = {2008},
    month = {06},
    abstract = "{As an archive of sequence data for over 165,000 species, GenBank is an indispensable resource for phylogenetic inference. Here we describe an informatics processing pipeline and online database, the PhyLoTA Browser (http://loco.biosci.arizona.edu/pb), which offers a view of GenBank tailored for molecular phylogenetics. The first release of the Browser is computed from 2.6 million sequences representing the taxonomically enriched subset of GenBank sequences for eukaryotes (excluding most genome survey sequences, ESTs, and other high-throughput data). In addition to summarizing sequence diversity and species diversity across nodes in the NCBI taxonomy, it reports 87,000 potentially phylogenetically informative clusters of homologous sequences, which can be viewed or downloaded, along with provisional alignments and coarse phylogenetic trees. At each node in the NCBI hierarchy, the user can display a “data availability matrix” of all available sequences for entries in a subtaxa-by-clusters matrix. This matrix provides a guidepost for subsequent assembly of multigene data sets or supertrees. The database allows for comparison of results from previous GenBank releases, highlighting recent additions of either sequences or taxa to GenBank and letting investigators track progress on data availability worldwide. Although the reported alignments and trees are extremely approximate, the database reports several statistics correlated with alignment quality to help users choose from alternative data sources.}",
    issn = {1063-5157},
    doi = {10.1080/10635150802158688},
    eprint = {https://academic.oup.com/sysbio/article-pdf/57/3/335/24203605/57-3-335.pdf},
}
@article{meng2015darwintree,
  title={Darwintree: A molecular data analysis and application environment for phylogenetic study},
  author={Meng, Zhen and Dong, Hui and Li, Jianhui and Chen, Zhiduan and Zhou, Yuanchun and Wang, Xuezhi and Zhang, Shouzhou},
  journal={Data Science Journal},
  volume={14},
  year={2015},
  publisher={Ubiquity Press},
  doi={10.5334/dsj-2015-010}
}
@article{hinchliff2015synthesis,
  title={Synthesis of phylogeny and taxonomy into a comprehensive tree of life},
  author={Hinchliff, Cody E and Smith, Stephen A and Allman, James F and Burleigh, J Gordon and Chaudhary, Ruchi and Coghill, Lyndon M and Crandall, Keith A and Deng, Jiabin and Drew, Bryan T and Gazis, Romina and others},
  journal={Proceedings of the National Academy of Sciences},
  volume={112},
  number={41},
  pages={12764--12769},
  year={2015},
  publisher={National Academy of Sciences},
  doi={10.1073/pnas.1423041112}
}
@book{mayr1997biology,
  title={This is biology: The science of the living world},
  author={Mayr, Ernst},
  year={1997},
  publisher={Universities Press}
}
@article{wheeler2000database,
  title={Database resources of the national center for biotechnology information},
  author={Wheeler, David L and Chappey, Colombe and Lash, Alex E and Leipe, Detlef D and Madden, Thomas L and Schuler, Gregory D and Tatusova, Tatiana A and Rapp, Barbara A},
  journal={Nucleic acids research},
  volume={28},
  number={1},
  pages={10--14},
  year={2000},
  publisher={Oxford University Press},
  doi={doi.org/10.1093/nar/28.1.10}
}
@article{benson2000genbank,
  title={GenBank},
  author={Benson, Dennis A and Karsch-Mizrachi, Ilene and Lipman, David J and Ostell, James and Rapp, Barbara A and Wheeler, David L},
  journal={Nucleic acids research},
  volume={28},
  number={1},
  pages={15--18},
  year={2000},
  publisher={Oxford University Press},
  doi={10.1093/nar/28.1.15}
}
@article{garnatje2017ethnobotany,
  title={Ethnobotany, phylogeny, and ‘omics’ for human health and food security},
  author={Garnatje, Teresa and Pe{\~n}uelas, Josep and Vall{\`e}s, Joan},
  journal={Trends in plant science},
  volume={22},
  number={3},
  pages={187--191},
  year={2017},
  publisher={Elsevier},
  doi={10.1016/j.tplants.2017.01.001}
}

@article{hasegawa1990phylogeny,
  title={Phylogeny and molecular evolution in primates},
  author={HASEGAWA, Masami},
  journal={The Japanese Journal of Genetics},
  volume={65},
  number={4},
  pages={243--266},
  year={1990},
  publisher={The Genetics Society of Japan},
  doi={10.1266/jjg.65.243}
}
@article{de2018recent,
  title={Recent radiation and dispersal of an ancient lineage: The case of Fouquieria (Fouquiericeae, Ericales) in North American deserts},
  author={De-Nova, Jos{\'e} Arturo and S{\'a}nchez-Reyes, Luna L and Eguiarte, Luis E and Magall{\'o}n, Susana},
  journal={Molecular phylogenetics and evolution},
  volume={126},
  pages={92--104},
  year={2018},
  publisher={Elsevier},
  doi={10.1016/j.ympev.2018.03.026}
}
@article{gaunt2001phylogenies,
  title={Phylogenies of atpD and recA support the small subunit rRNA-based classification of rhizobia.},
  author={Gaunt, MW and Turner, SL and Rigottier-Gois, L and Lloyd-Macgilp, SA and Young, JP},
  journal={International journal of systematic and evolutionary microbiology},
  volume={51},
  number={6},
  pages={2037--2048},
  year={2001},
  publisher={Microbiology Society},
  doi={10.1099/00207713-51-6-2037}
}
@article{sakamoto2016dinosaurs,
  title={Dinosaurs in decline tens of millions of years before their final extinction},
  author={Sakamoto, Manabu and Benton, Michael J and Venditti, Chris},
  journal={Proceedings of the National Academy of Sciences},
  volume={113},
  number={18},
  pages={5036--5040},
  year={2016},
  publisher={National Acad Sciences},
  doi={}
}
@article{magallon2019thirty,
  title={Thirty clues to the exceptional diversification of flowering plants},
  author={Magall{\'o}n, Susana and S{\'a}nchez-Reyes, Luna L and G{\'o}mez-Acevedo, Sandra L},
  journal={Annals of botany},
  volume={123},
  number={3},
  pages={491--503},
  year={2019},
  publisher={Oxford University Press US},
  doi={10.1093/aob/mcy182}
}
@article{redelings2017supertree,
  title={A supertree pipeline for summarizing phylogenetic and taxonomic information for millions of species},
  author={Redelings, Benjamin D and Holder, Mark T},
  journal={PeerJ},
  volume={5},
  pages={e3058},
  year={2017},
  publisher={PeerJ Inc.},
  doi={10.7717/peerj.3058}
}
@article{sanmartin2007west,
  title={West Wind Drift revisited: testing for directional dispersal in the Southern Hemisphere using event-based tree fitting},
  author={Sanmart{\'\i}n, Isabel and Wanntorp, Livia and Winkworth, Richard C},
  journal={Journal of Biogeography},
  volume={34},
  number={3},
  pages={398--416},
  year={2007},
  publisher={Wiley Online Library},
  doi={10.1111/j.1365-2699.2006.01655.x}
}
@article{stenz2015exploring,
  title={Exploring tree-like and non-tree-like patterns using genome sequences: an example using the inbreeding plant species Arabidopsis thaliana (L.) Heynh},
  author={Stenz, Noah WM and Larget, Bret and Baum, David A and An{\'e}, C{\'e}cile},
  journal={Systematic biology},
  volume={64},
  number={5},
  pages={809--823},
  year={2015},
  publisher={Oxford University Press},
  doi={10.1093/sysbio/syv039}
}
@article{magee2014dawn,
  title={The dawn of open access to phylogenetic data},
  author={Magee, Andrew F and May, Michael R and Moore, Brian R},
  journal={PLoS One},
  volume={9},
  number={10},
  year={2014},
  publisher={Public Library of Science},
  doi={10.1371/journal.pone.0110268}
}
@article{drew2013lost,
  title={Lost branches on the tree of life},
  author={Drew, Bryan T and Gazis, Romina and Cabezas, Patricia and Swithers, Kristen S and Deng, Jiabin and Rodriguez, Roseana and Katz, Laura A and Crandall, Keith A and Hibbett, David S and Soltis, Douglas E},
  journal={PLoS biology},
  volume={11},
  number={9},
  year={2013},
  publisher={Public Library of Science},
  doi={10.1371/journal.pbio.1001636}
}
@article{mayr2010tropical,
author = {Mayr, Robert M},
file = {:Users/luna/Google Drive/BIBLIOgraf{\'{i}}a/2018.05/Mayr{\_}2010.pdf:pdf},
journal = {Science},
number = {July},
pages = {41--42},
title = {{Tropical Arthropod Species, More or Less?}},
url = {http://science.sciencemag.org/content/329/5987/41/tab-pdf},
volume = {329},
year = {2010}
}
@article{mora2011how,
abstract = {The diversity of life is one of the most striking aspects of our planet; hence knowing how many species inhabit Earth is among the most fundamental questions in science. Yet the answer to this question remains enigmatic, as efforts to sample the world's biodiversity to date have been limited and thus have precluded direct quantification of global species richness, and because indirect estimates rely on assumptions that have proven highly controversial. Here we show that the higher taxonomic classification of species (i.e., the assignment of species to phylum, class, order, family, and genus) follows a consistent and predictable pattern from which the total number of species in a taxonomic group can be estimated. This approach was validated against well-known taxa, and when applied to all domains of life, it predicts {\~{}}8.7 million (± 1.3 million SE) eukaryotic species globally, of which {\~{}}2.2 million (± 0.18 million SE) are marine. In spite of 250 years of taxonomic classification and over 1.2 million species already catalogued in a central database, our results suggest that some 86{\%} of existing species on Earth and 91{\%} of species in the ocean still await description. Renewed interest in further exploration and taxonomy is required if this significant gap in our knowledge of life on Earth is to be closed.},
archivePrefix = {arXiv},
arxivId = {NIHMS150003},
author = {Mora, Camilo and Tittensor, Derek P. and Adl, Sina and Simpson, Alastair G.B. and Worm, Boris},
doi = {10.1371/journal.pbio.1001127},
eprint = {NIHMS150003},
file = {:Users/luna/Google Drive/BIBLIOgraf{\'{i}}a/2018.05/Mora et al{\_}2011{\_}species on earth.PDF:PDF},
isbn = {1545-7885 (Electronic)$\backslash$n1544-9173 (Linking)},
issn = {15449173},
journal = {PLoS Biology},
number = {8},
pages = {1--8},
pmid = {21886479},
title = {{How many species are there on earth and in the ocean?}},
volume = {9},
year = {2011}
}

repository: LunaSare/slides

repo_name: LunaSare/slides

extension: bib


text:
package elastic

import (
	"context"
	"elastic-proximity-calculation/src/logger"
	"github.com/elastic/go-elasticsearch/v7"
	"github.com/elastic/go-elasticsearch/v7/esutil"
	"strconv"
	"time"
)

var bulkIndexers map[string]esutil.BulkIndexer = map[string]esutil.BulkIndexer{}

// GetBulkIndexer Функция возвращает esutil.BulkIndexer настроенный на массового индексирования в конкретный языковой индекс
func GetBulkIndexer(client *elasticsearch.Client, proximityIndexPrefix string, language string, proximityAmbit int) esutil.BulkIndexer {
	key := proximityIndexPrefix + language + "_proximity_" + strconv.Itoa(proximityAmbit)

	if _, ok := bulkIndexers[key]; !ok {
		tmpBulkIndexer, err := esutil.NewBulkIndexer(esutil.BulkIndexerConfig{
			Index:         key,
			Client:        client,
			FlushInterval: 30 * time.Second,
		})

		if err != nil {
			logger.Error("Не удалось создать BulkIndexer: %s", err.Error())
		}

		bulkIndexers[key] = tmpBulkIndexer
	}

	return bulkIndexers[key]
}

// CloseBulkIndexers Функция для закрытия всех существующих BulkIndexer
func CloseBulkIndexers() {
	for _, indexer := range bulkIndexers {
		if err := indexer.Close(context.Background()); err != nil {
			logger.Error("Не удалось закрыть BulkIndexer: %s", err.Error())
		}
	}
}

repository: Khazhinov/elastic-proximity-calculation

repo_name: Khazhinov/elastic-proximity-calculation

branch_name: refs/heads/main


text:
import React from "react";
import { IActionBase } from "../rootModel";
import { IPalette } from "./model";
import { PaletteColor, TypeBackground } from "@material-ui/core/styles/createPalette";

export const UPDATE_THEME = "UPDATE_THEME";
/** テーマをダークとライトで切り替えます */
export function ToggleTheme(): IToggleTheme {
    return { type: UPDATE_THEME };
}
interface IToggleTheme extends IActionBase { };

export const UPDATE_PALETTE = "UPDATE_PALETTE";
/** PrimaryカラーとSecondaryカラーを切り替えます */
export function UpdatePalette(
    title: string,
    appBar: string,
    primary: PaletteColor,
    secondary: PaletteColor,
    background?: TypeBackground, ): IPaletteType {
    return { type: UPDATE_PALETTE, title: title, appBar: appBar, background: background, primary: primary, secondary: secondary };
}
interface IPaletteType extends IPalette, IActionBase { };

repository: s-ueno/reac-staticwebapps-template

repo_name: s-ueno/reac-staticwebapps-template

extension: ts


text:
# The set of languages for which implicit dependencies are needed:
SET(CMAKE_DEPENDS_LANGUAGES
  "C"
  )
# The set of files for implicit dependencies of each language:
SET(CMAKE_DEPENDS_CHECK_C
  "/root/torch/extra/cutorch/Storage.c" "/root/torch/extra/cutorch/build/CMakeFiles/cutorch_static.dir/Storage.c.o"
  "/root/torch/extra/cutorch/Tensor.c" "/root/torch/extra/cutorch/build/CMakeFiles/cutorch_static.dir/Tensor.c.o"
  "/root/torch/extra/cutorch/build/TensorMath.c" "/root/torch/extra/cutorch/build/CMakeFiles/cutorch_static.dir/TensorMath.c.o"
  "/root/torch/extra/cutorch/TensorOperator.c" "/root/torch/extra/cutorch/build/CMakeFiles/cutorch_static.dir/TensorOperator.c.o"
  "/root/torch/extra/cutorch/init.c" "/root/torch/extra/cutorch/build/CMakeFiles/cutorch_static.dir/init.c.o"
  "/root/torch/extra/cutorch/torch/utils.c" "/root/torch/extra/cutorch/build/CMakeFiles/cutorch_static.dir/torch/utils.c.o"
  )
SET(CMAKE_C_COMPILER_ID "GNU")

# Targets to which this target links.
SET(CMAKE_TARGET_LINKED_INFO_FILES
  )

# The include file search paths:
SET(CMAKE_C_TARGET_INCLUDE_PATH
  "lib/THC"
  "/root/torch/install/include"
  "/root/torch/install/include/TH"
  "/usr/local/cuda/include"
  "../lib/THC"
  "../torch"
  "."
  ".."
  )
SET(CMAKE_CXX_TARGET_INCLUDE_PATH ${CMAKE_C_TARGET_INCLUDE_PATH})
SET(CMAKE_Fortran_TARGET_INCLUDE_PATH ${CMAKE_C_TARGET_INCLUDE_PATH})
SET(CMAKE_ASM_TARGET_INCLUDE_PATH ${CMAKE_C_TARGET_INCLUDE_PATH})