1
0
mirror of https://github.com/ToxicCrack/PrintABrick.git synced 2025-05-20 06:00:08 -07:00

Add Stl sevices tests

This commit is contained in:
David Hübner 2017-05-24 16:21:35 +02:00
parent 1f77e126ca
commit d306cb6d47
16 changed files with 2427 additions and 8 deletions

View File

@ -22,3 +22,17 @@ doctrine:
default:
driver: pdo_sqlite
path: "%kernel.cache_dir%/test.db"
liip_functional_test:
cache_sqlite_db: true
oneup_flysystem:
adapters:
myadapter:
local:
directory: "%kernel.cache_dir%/filesystem"
filesystems:
myfilesystem:
adapter: myadapter
mount: prefix

View File

@ -6,6 +6,7 @@ use AppBundle\Exception\ConvertingFailedException;
use AppBundle\Exception\Stl\LDLibraryMissingException;
use League\Flysystem\File;
use League\Flysystem\Filesystem;
use League\Flysystem\FilesystemInterface;
use Symfony\Component\Process\Exception\ProcessFailedException;
use Symfony\Component\Process\ProcessBuilder;
@ -38,7 +39,8 @@ class StlConverterService
* StlConverterService constructor.
*
* @param string $ldview Path to LDView OSMesa binary file
* @param Filesystem $mediaFilesystem Filesystem for generated web assets
* @param FilesystemInterface $mediaFilesystem Filesystem for generated web assets
* @param StlFixerService $stlFixer
*/
public function __construct($ldview, $mediaFilesystem, $stlFixer)
{

View File

@ -23,22 +23,25 @@ class StlFixerService
/**
* Rotate, scale stl file and save in binary format.
*
* @param $file
* @param $input
* @param $output
*
* @throws FileNotFoundException
*/
public function fix($file)
public function fix($input, $output = null)
{
if (file_exists($file)) {
$output = $output ? $output : $input;
if (file_exists($input)) {
$this->runADMesh([
$file,
$input,
'--x-rotate=-90',
'--scale=10',
'--no-check',
"--write-binary-stl={$file}",
"--write-binary-stl={$output}",
]);
} else {
throw new FileNotFoundException($file);
throw new FileNotFoundException($input);
}
}

View File

@ -0,0 +1,48 @@
<?php
namespace Tests\AppBundle\Service;
use Doctrine\ORM\Tools\SchemaTool;
use League\Flysystem\FilesystemInterface;
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
use Symfony\Component\HttpKernel\KernelInterface;
abstract class BaseTest extends KernelTestCase
{
protected $_container;
/* @var FilesystemInterface $filesystem */
protected $filesystem;
public function __construct()
{
self::bootKernel();
$this->_container = self::$kernel->getContainer();
parent::__construct();
$this->filesystem = $this->get('oneup_flysystem.myfilesystem_filesystem');
}
public function prime(KernelInterface $kernel)
{
// Make sure we are in the test environment
if ('test' !== $kernel->getEnvironment()) {
throw new \LogicException('Primer must be executed in the test environment');
}
// Get the entity manager from the service container
$entityManager = $kernel->getContainer()->get('doctrine.orm.entity_manager');
// Run the schema update tool using our entity metadata
$metadatas = $entityManager->getMetadataFactory()->getAllMetadata();
$schemaTool = new SchemaTool($entityManager);
$schemaTool->updateSchema($metadatas);
// If you are using the Doctrine Fixtures Bundle you could load these here
}
protected function get($service)
{
return $this->_container->get($service);
}
}

View File

@ -0,0 +1,57 @@
<?php
namespace Tests\AppBundle\Service\Stl;
use AppBundle\Service\Stl\StlConverterService;
use League\Flysystem\Adapter\Local;
use League\Flysystem\Filesystem;
use League\Flysystem\FilesystemInterface;
use org\bovigo\vfs\vfsStreamDirectory;
use org\bovigo\vfs\vfsStreamWrapper;
use PHPUnit\Framework\TestCase;
use Tests\AppBundle\Service\BaseTest;
class StlConvertorTest extends BaseTest
{
/** @var StlConverterService */
private $stlConverter;
public function setUp()
{
$ldview = $this->_container->getParameter('ldview_bin');
$this->stlConverter = new StlConverterService($ldview, $this->filesystem );
$adapter = new Local(__DIR__.'/fixtures/ldraw');
$ldrawLibraryContext = new Filesystem($adapter);
$this->stlConverter->setLDrawLibraryContext($ldrawLibraryContext);
}
public function testConvertToStl()
{
$this->assertNotNull($this->stlConverter->datToStl(__DIR__.'/fixtures/ldraw/parts/983.dat'));
$this->assertTrue($this->filesystem->has('models/983.stl'));
$this->filesystem->delete('models/983.stl');
}
/**
* @expectedException AppBundle\Exception\Stl\LDLibraryMissingException
*/
public function testLDContextMissing()
{
$this->stlConverter->setLDrawLibraryContext(null);
$this->stlConverter->datToStl(__DIR__.'/fixtures/ldraw/parts/983.dat');
}
public function testConvertToPng()
{
$this->assertNotNull($this->stlConverter->datToPng(__DIR__.'/fixtures/ldraw/parts/983.dat'));
$this->assertTrue($this->filesystem->has('images/983.png'));
$this->filesystem->delete('images/983.png');
}
}

View File

@ -0,0 +1,20 @@
0 Circle 0.5
0 Name: 2-4edge.dat
0 Author: James Jessiman
0 !LDRAW_ORG Unofficial_Primitive
0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt
0 BFC CERTIFY CCW
0 !HISTORY 2007-06-24 [PTadmin] Header formatted for Contributor Agreement
0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01
0 !HISTORY 2017-01-15 [Steffen] BFCed
2 24 1 0 0 0.9239 0 0.3827
2 24 0.9239 0 0.3827 0.7071 0 0.7071
2 24 0.7071 0 0.7071 0.3827 0 0.9239
2 24 0.3827 0 0.9239 0 0 1
2 24 0 0 1 -0.3827 0 0.9239
2 24 -0.3827 0 0.9239 -0.7071 0 0.7071
2 24 -0.7071 0 0.7071 -0.9239 0 0.3827
2 24 -0.9239 0 0.3827 -1 0 0

View File

@ -0,0 +1,24 @@
0 Circle 0.75
0 Name: 3-4edge.dat
0 Author: James Jessiman
0 !LDRAW_ORG Unofficial_Primitive
0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt
0 BFC CERTIFY CCW
0 !HISTORY 2007-06-24 [PTadmin] Header formatted for Contributor Agreement
0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01
0 !HISTORY 2017-01-15 [Steffen] BFCed
2 24 1 0 0 0.9239 0 0.3827
2 24 0.9239 0 0.3827 0.7071 0 0.7071
2 24 0.7071 0 0.7071 0.3827 0 0.9239
2 24 0.3827 0 0.9239 0 0 1
2 24 0 0 1 -0.3827 0 0.9239
2 24 -0.3827 0 0.9239 -0.7071 0 0.7071
2 24 -0.7071 0 0.7071 -0.9239 0 0.3827
2 24 -0.9239 0 0.3827 -1 0 0
2 24 -1 0 -0 -0.9239 0 -0.3827
2 24 -0.9239 0 -0.3827 -0.7071 0 -0.7071
2 24 -0.7071 0 -0.7071 -0.3827 0 -0.9239
2 24 -0.3827 0 -0.9239 0 0 -1

View File

@ -0,0 +1,30 @@
0 Circle 1.0
0 Name: 4-4edge.dat
0 Author: James Jessiman
0 !LDRAW_ORG Unofficial_Primitive
0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt
0 BFC CERTIFY CCW
0 !HISTORY 1998-12-15 [PTadmin] Official Update 1998-10
0 !HISTORY 2005-12-28 [PTadmin] Official Update 2005-01
0 !HISTORY 2007-06-24 [PTadmin] Header formatted for Contributor Agreement
0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01
0 !HISTORY 2017-01-15 [Steffen] BFCed
2 24 1 0 0 0.9239 0 0.3827
2 24 0.9239 0 0.3827 0.7071 0 0.7071
2 24 0.7071 0 0.7071 0.3827 0 0.9239
2 24 0.3827 0 0.9239 0 0 1
2 24 0 0 1 -0.3827 0 0.9239
2 24 -0.3827 0 0.9239 -0.7071 0 0.7071
2 24 -0.7071 0 0.7071 -0.9239 0 0.3827
2 24 -0.9239 0 0.3827 -1 0 -0
2 24 -1 0 -0 -0.9239 0 -0.3827
2 24 -0.9239 0 -0.3827 -0.7071 0 -0.7071
2 24 -0.7071 0 -0.7071 -0.3827 0 -0.9239
2 24 -0.3827 0 -0.9239 0 0 -1
2 24 0 0 -1 0.3827 0 -0.9239
2 24 0.3827 0 -0.9239 0.7071 0 -0.7071
2 24 0.7071 0 -0.7071 0.9239 0 -0.3827
2 24 0.9239 0 -0.3827 1 0 0

View File

@ -0,0 +1,318 @@
0 Minifig Hand
0 Name: 3820.dat
0 Author: Orion Pobursky [OrionP]
0 !LDRAW_ORG Part UPDATE 2009-03
0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt
0 !HELP The Hand angle is 14.5 degrees
0 !HELP To rotate the hand to 90 degrees horizontal use the following rotation
0 !HELP matrix: 1 0 0 0 0.968148 0.25038 0 -0.25038 0.968148
0 !HELP After the rotation matrix is applied:
0 !HELP The center of the bottom of the hand will be x, y+2.2259, z-9.3739
0 !HELP The center of the top of the hand will be x, y-9.7741, z-9.3739
0 !HELP where x, y, and z are the origin coordinates of the part
0 !HELP Example: for the following DAT line:
0 !HELP 1 16 1 1 1 1 0 0 0 0.968148 0.25038 0 -0.25038 0.968148 3820.dat
0 !HELP The origin of the part is 1,1,1
0 !HELP The center of the bottom of the hand is 1, 3.2259, -8.3739
0 BFC CERTIFY CCW
0 !HISTORY 2002-11-30 [PTadmin] Official Update 2002-05
0 !HISTORY 2002-12-31 [PTadmin] Official Update 2002-06
0 !HISTORY 2007-07-29 [PTadmin] Header formatted for Contributor Agreement
0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01
0 !HISTORY 2008-07-07 [DeannaEarley] Removed erroneous BFC CERTIFY entries (2005-08-29
0 !HISTORY 2008-07-07 [WilliamH] Added conditional lines to underside (2006-08-17)
0 !HISTORY 2009-08-24 [PTadmin] Moved from 983
0 !HISTORY 2009-12-29 [PTadmin] Official Update 2009-03
0 // Post
1 16 0 0 0 2.5 0 0 0 0 -2.5 0 13 0 4-4cyli.dat
1 16 0 0 13 2.5 0 0 0 0 -2.5 0 16 0 4-4edge.dat
1 16 0 0 0 2.5 0 0 0 0 -2.5 0 16 0 4-4edge.dat
0 BFC INVERTNEXT
1 16 0 0 13 2.5 0 0 0 0 -2.5 0 16 0 4-4disc.dat
0 Hand
1 16 0 4.502 -8.518 -6 0 0 0 -11.6178 -1.5023 0 -3.0046 5.8089 2-4cyli.dat
0 BFC INVERTNEXT
1 16 0 4.502 -8.518 -4 0 0 0 -11.6178 -1.0015 0 -3.0046 3.8726 2-4cyli.dat
1 16 0 4.502 -8.518 -2 0 0 0 -0.9681 -0.5008 0 -0.2504 1.9363 2-4ring2.dat
0 BFC INVERTNEXT
1 16 0 -7.116 -11.522 -2 0 0 0 -0.9681 -0.5008 0 -0.2504 1.9363 2-4ring2.dat
1 16 0 -7.116 -11.522 -4.2426 0 -4.2426 1.0623 -0.9681 -1.0623 -4.1075 -0.2504 4.1075 3-4edge.dat
1 16 0 -7.116 -11.522 -2.8284 0 -2.8284 0.7082 -0.9681 -0.7082 -2.7383 -0.2504 2.7383 3-4edge.dat
1 16 0 4.502 -8.518 -6 0 0 0 -0.9681 -1.5023 0 -0.2504 5.8089 2-4edge.dat
1 16 0 4.502 -8.518 -4 0 0 0 -0.9681 -1.0015 0 -0.2504 3.8726 2-4edge.dat
3 16 6 4.5023 -8.5179 6 -7.1155 -11.5224 5.543 -6.5406 -13.7453
3 16 -5.543 -6.5406 -13.7453 -6 -7.1155 -11.5224 -6 4.5023 -8.5179
4 16 5.767 4.6838 -9.6794 6 4.5023 -8.5179 5.543 -6.5406 -13.7453 5.543 4.635 -10.8551
4 16 -5.543 -6.5406 -13.7453 -6 4.5023 -8.5179 -5.767 4.6838 -9.6794 -5.543 4.635 -10.8551
2 24 6 4.5023 -8.5179 5.767 4.6838 -9.6794
2 24 -6 4.5023 -8.5179 -5.767 4.6838 -9.6794
2 24 -5.767 4.6838 -9.6794 -5.543 4.635 -10.8551
2 24 5.767 4.6838 -9.6794 5.543 4.635 -10.8551
4 16 3.847 4.6472 -9.2773 3.696 4.6934 -10.0498 3.696 -6.7322 -13.0047 4 4.5023 -8.5179
4 16 -3.696 -6.7322 -13.0047 -3.696 4.6934 -10.0498 -3.847 4.6472 -9.2773 -4 4.5023 -8.5179
2 24 3.847 4.6472 -9.2773 3.696 4.6934 -10.0498
2 24 -3.847 4.6472 -9.2773 -3.696 4.6934 -10.0498
2 24 3.847 4.6472 -9.2773 4 4.5023 -8.5179
2 24 -3.847 4.6472 -9.2773 -4 4.5023 -8.5179
3 16 4 -7.1155 -11.5224 4 4.5023 -8.5179 3.696 -6.7322 -13.0047
5 24 6 4.5023 -8.5179 6 -7.1155 -11.5224 5.543 -6.5406 -13.7453 5.5434 -7.69097 -9.29893
5 24 4 -7.1155 -11.5224 4 4.5023 -8.5179 3.696 -6.7322 -13.0047 3.6956 -7.49931 -10.04
5 24 -6 4.5023 -8.5179 -6 -7.1155 -11.5224 -5.543 -6.5406 -13.7453 -5.5434 -7.69097 -9.29893
5 24 -4 -7.1155 -11.5224 -4 4.5023 -8.5179 -3.696 -6.7322 -13.0047 -3.6956 -7.49931 -10.04
3 16 -3.696 -6.7322 -13.0047 -4 4.5023 -8.5179 -4 -7.1155 -11.5224
4 16 -5.543 4.635 -10.8551 -4.861 4.3639 -11.9808 -4.243 -6.0531 -15.6303 -5.543 -6.5406 -13.7453
4 16 4.243 -6.0531 -15.6303 4.861 4.3639 -11.9808 5.543 4.635 -10.8551 5.543 -6.5406 -13.7453
3 16 -4.861 4.3639 -11.9808 -4.243 3.8636 -13.0657 -4.243 -6.0531 -15.6303
3 16 4.243 -6.0531 -15.6303 4.243 3.8636 -13.0657 4.861 4.3639 -11.9808
2 24 -5.543 4.635 -10.8551 -4.861 4.3639 -11.9808
2 24 5.543 4.635 -10.8551 4.861 4.3639 -11.9808
2 24 -4.861 4.3639 -11.9808 -4.243 3.8636 -13.0657
2 24 4.861 4.3639 -11.9808 4.243 3.8636 -13.0657
3 16 -2.828 -6.4074 -14.2604 -2.828 4.5244 -11.4332 -3.255 4.6497 -10.7418
3 16 3.255 4.6497 -10.7418 2.828 4.5244 -11.4332 2.828 -6.4074 -14.2604
4 16 -3.255 4.6497 -10.7418 -3.696 4.6934 -10.0498 -3.696 -6.7322 -13.0047 -2.828 -6.4074 -14.2604
4 16 3.696 -6.7322 -13.0047 3.696 4.6934 -10.0498 3.255 4.6497 -10.7418 2.828 -6.4074 -14.2604
2 24 2.828 4.5244 -11.4332 3.255 4.6497 -10.7418
2 24 -2.828 4.5244 -11.4332 -3.255 4.6497 -10.7418
2 24 3.255 4.6497 -10.7418 3.696 4.6934 -10.0498
2 24 -3.255 4.6497 -10.7418 -3.696 4.6934 -10.0498
4 16 2 4.3383 -12.0536 2 -6.2687 -14.7967 2.828 -6.4074 -14.2604 2.828 4.5244 -11.4332
4 16 -2.828 -6.4074 -14.2604 -2 -6.2687 -14.7967 -2 4.3383 -12.0536 -2.828 4.5244 -11.4332
2 24 -2 4.3383 -12.0536 -2.828 4.5244 -11.4332
2 24 2 4.3383 -12.0536 2.828 4.5244 -11.4332
4 16 -2.712 2.7973 -14.3981 -2.296 2.3041 -14.8117 -2.296 -5.7276 -16.8889 -2.712 -5.797 -16.6207
4 16 2.296 -5.7276 -16.8889 2.296 2.3041 -14.8117 2.712 2.7973 -14.3981 2.712 -5.797 -16.6207
2 24 -2.712 2.7973 -14.3981 -2.296 2.3041 -14.8117
2 24 2.712 2.7973 -14.3981 2.296 2.3041 -14.8117
4 16 -3.187 3.2182 -13.9608 -2.712 2.7973 -14.3981 -2.712 -5.797 -16.6207 -3.187 -5.8766 -16.3128
4 16 2.712 -5.797 -16.6207 2.712 2.7973 -14.3981 3.187 3.2182 -13.9608 3.187 -5.8766 -16.3128
2 24 3.187 3.2182 -13.9608 2.712 2.7973 -14.3981
2 24 -3.187 3.2182 -13.9608 -2.712 2.7973 -14.3981
4 16 -3.703 3.5723 -13.5128 -3.187 3.2182 -13.9608 -3.187 -5.8766 -16.3128 -3.703 -5.963 -15.9788
4 16 3.187 -5.8766 -16.3128 3.187 3.2182 -13.9608 3.703 3.5723 -13.5128 3.703 -5.963 -15.9788
2 24 3.703 3.5723 -13.5128 3.187 3.2182 -13.9608
2 24 -3.703 3.5723 -13.5128 -3.187 3.2182 -13.9608
4 16 -4.243 -6.0531 -15.6303 -4.243 3.8636 -13.0657 -3.703 3.5723 -13.5128 -3.703 -5.963 -15.9788
4 16 3.703 3.5723 -13.5128 4.243 3.8636 -13.0657 4.243 -6.0531 -15.6303 3.703 -5.963 -15.9788
2 24 4.243 3.8636 -13.0657 3.703 3.5723 -13.5128
2 24 -4.243 3.8636 -13.0657 -3.703 3.5723 -13.5128
4 16 -2.296 -5.7276 -16.8889 -2.296 2.3041 -14.8117 -2 2.1756 -14.9059 -2 -5.7129 -16.946
4 16 2.296 -5.7276 -16.8889 2 -5.7129 -16.946 2 2.1756 -14.9059 2.296 2.3041 -14.8117
2 24 -2.296 2.3041 -14.8117 -2 2.1756 -14.9059
2 24 2.296 2.3041 -14.8117 2 2.1756 -14.9059
3 16 2 2.1756 -14.9059 2 2.8733 -14.3247 2.296 2.3041 -14.8117
5 24 2 2.8733 -14.3247 2.296 2.3041 -14.8117 2 2.1756 -14.9059 2.712 2.7973 -14.3981
3 16 2.296 2.3041 -14.8117 2 2.8733 -14.3247 2.712 2.7973 -14.3981
5 24 2 2.8733 -14.3247 2.712 2.7973 -14.3981 2.296 2.3041 -14.8117 2 3.4727 -13.647
3 16 2 3.4727 -13.647 2.712 2.7973 -14.3981 2 2.8733 -14.3247
5 24 2 3.4727 -13.647 2.712 2.7973 -14.3981 2 2.8733 -14.3247 3.187 3.2182 -13.9608
3 16 2.712 2.7973 -14.3981 2 3.4727 -13.647 3.187 3.2182 -13.9608
5 24 2 3.4727 -13.647 3.187 3.2182 -13.9608 2.712 2.7973 -14.3981 2 3.965 -12.8866
3 16 2 3.965 -12.8866 3.187 3.2182 -13.9608 2 3.4727 -13.647
5 24 2 3.965 -12.8866 3.187 3.2182 -13.9608 2 3.4727 -13.647 3.703 3.5723 -13.5128
3 16 3.187 3.2182 -13.9608 2 3.965 -12.8866 3.703 3.5723 -13.5128
5 24 2 3.965 -12.8866 3.703 3.5723 -13.5128 3.187 3.2182 -13.9608 2.828 4.5244 -11.4332
3 16 2.828 4.5244 -11.4332 3.703 3.5723 -13.5128 2 3.965 -12.8866
5 24 2.828 4.5244 -11.4332 2 3.965 -12.8866 2 4.3383 -12.0536 3.703 3.5723 -13.5128
3 16 2.828 4.5244 -11.4332 2 3.965 -12.8866 2 4.3383 -12.0536
5 24 3.703 3.5723 -13.5128 2.828 4.5244 -11.4332 4.243 3.8636 -13.0657 2 3.965 -12.8866
3 16 3.703 3.5723 -13.5128 2.828 4.5244 -11.4332 4.243 3.8636 -13.0657
5 24 2.828 4.5244 -11.4332 4.243 3.8636 -13.0657 3.703 3.5723 -13.5128 3.255 4.6497 -10.7418
3 16 3.255 4.6497 -10.7418 4.243 3.8636 -13.0657 2.828 4.5244 -11.4332
5 24 3.255 4.6497 -10.7418 4.243 3.8636 -13.0657 2.828 4.5244 -11.4332 4.861 4.3639 -11.9808
3 16 4.243 3.8636 -13.0657 3.255 4.6497 -10.7418 4.861 4.3639 -11.9808
5 24 3.255 4.6497 -10.7418 4.861 4.3639 -11.9808 4.243 3.8636 -13.0657 3.696 4.6934 -10.0498
3 16 3.696 4.6934 -10.0498 4.861 4.3639 -11.9808 3.255 4.6497 -10.7418
5 24 3.696 4.6934 -10.0498 4.861 4.3639 -11.9808 3.255 4.6497 -10.7418 5.543 4.635 -10.8551
3 16 4.861 4.3639 -11.9808 3.696 4.6934 -10.0498 5.543 4.635 -10.8551
5 24 3.696 4.6934 -10.0498 5.543 4.635 -10.8551 4.861 4.3639 -11.9808 3.847 4.6472 -9.2773
3 16 3.847 4.6472 -9.2773 5.543 4.635 -10.8551 3.696 4.6934 -10.0498
5 24 3.847 4.6472 -9.2773 5.543 4.635 -10.8551 3.696 4.6934 -10.0498 5.767 4.6838 -9.6794
3 16 5.543 4.635 -10.8551 3.847 4.6472 -9.2773 5.767 4.6838 -9.6794
5 24 3.847 4.6472 -9.2773 5.767 4.6838 -9.6794 5.543 4.635 -10.8551 5 4.5023 -8.5179
3 16 5.767 4.6838 -9.6794 3.847 4.6472 -9.2773 5 4.5023 -8.5179
5 24 3.847 4.6472 -9.2773 5 4.5023 -8.5179 5.767 4.6838 -9.6794 4 4.5023 -8.5179
3 16 4 4.5023 -8.5179 5 4.5023 -8.5179 3.847 4.6472 -9.2773
5 24 5.767 4.6838 -9.6794 5 4.5023 -8.5179 6 4.5023 -8.5179 3.847 4.6472 -9.2773
3 16 5.767 4.6838 -9.6794 5 4.5023 -8.5179 6 4.5023 -8.5179
5 24 4 4.5023 -8.5179 6 4.5023 -8.5179 5.767 4.6838 -9.6794 5.5434 3.92703 -6.29493
5 24 -2 2.8733 -14.3247 -2.296 2.3041 -14.8117 -2 2.1756 -14.9059 -2.712 2.7973 -14.3981
5 24 -2 2.8733 -14.3247 -2.712 2.7973 -14.3981 -2.296 2.3041 -14.8117 -2 3.4727 -13.647
5 24 -2 3.4727 -13.647 -2.712 2.7973 -14.3981 -2 2.8733 -14.3247 -3.187 3.2182 -13.9608
5 24 -2 3.4727 -13.647 -3.187 3.2182 -13.9608 -2.712 2.7973 -14.3981 -2 3.965 -12.8866
5 24 -2 3.965 -12.8866 -3.187 3.2182 -13.9608 -2 3.4727 -13.647 -3.703 3.5723 -13.5128
5 24 -2 3.965 -12.8866 -3.703 3.5723 -13.5128 -3.187 3.2182 -13.9608 -2.828 4.5244 -11.4332
5 24 -2.828 4.5244 -11.4332 -2 3.965 -12.8866 -2 4.3383 -12.0536 -3.703 3.5723 -13.5128
5 24 -3.703 3.5723 -13.5128 -2.828 4.5244 -11.4332 -4.243 3.8636 -13.0657 -2 3.965 -12.8866
5 24 -2.828 4.5244 -11.4332 -4.243 3.8636 -13.0657 -3.703 3.5723 -13.5128 -3.255 4.6497 -10.7418
5 24 -3.255 4.6497 -10.7418 -4.243 3.8636 -13.0657 -2.828 4.5244 -11.4332 -4.861 4.3639 -11.9808
5 24 -3.255 4.6497 -10.7418 -4.861 4.3639 -11.9808 -4.243 3.8636 -13.0657 -3.696 4.6934 -10.0498
5 24 -3.696 4.6934 -10.0498 -4.861 4.3639 -11.9808 -3.255 4.6497 -10.7418 -5.543 4.635 -10.8551
5 24 -3.696 4.6934 -10.0498 -5.543 4.635 -10.8551 -4.861 4.3639 -11.9808 -3.847 4.6472 -9.2773
5 24 -3.847 4.6472 -9.2773 -5.543 4.635 -10.8551 -3.696 4.6934 -10.0498 -5.767 4.6838 -9.6794
5 24 -3.847 4.6472 -9.2773 -5.767 4.6838 -9.6794 -5.543 4.635 -10.8551 -5 4.5023 -8.5179
5 24 -3.847 4.6472 -9.2773 -5 4.5023 -8.5179 -5.767 4.6838 -9.6794 -4 4.5023 -8.5179
5 24 -5.767 4.6838 -9.6794 -5 4.5023 -8.5179 -6 4.5023 -8.5179 -3.847 4.6472 -9.2773
5 24 -4 4.5023 -8.5179 -6 4.5023 -8.5179 -5.767 4.6838 -9.6794 -5.5434 3.92703 -6.29493
3 16 -3.703 3.5723 -13.5128 -2 3.965 -12.8866 -3.187 3.2182 -13.9608
3 16 -3.187 3.2182 -13.9608 -2 3.4727 -13.647 -2.712 2.7973 -14.3981
3 16 -2.712 2.7973 -14.3981 -2 2.8733 -14.3247 -2.296 2.3041 -14.8117
3 16 -2.828 4.5244 -11.4332 -2 3.965 -12.8866 -3.703 3.5723 -13.5128
3 16 -2.828 4.5244 -11.4332 -4.243 3.8636 -13.0657 -3.255 4.6497 -10.7418
3 16 -4.243 3.8636 -13.0657 -2.828 4.5244 -11.4332 -3.703 3.5723 -13.5128
3 16 -4.861 4.3639 -11.9808 -3.255 4.6497 -10.7418 -4.243 3.8636 -13.0657
3 16 -3.255 4.6497 -10.7418 -4.861 4.3639 -11.9808 -3.696 4.6934 -10.0498
3 16 -5.543 4.635 -10.8551 -3.696 4.6934 -10.0498 -4.861 4.3639 -11.9808
3 16 -3.696 4.6934 -10.0498 -5.543 4.635 -10.8551 -3.847 4.6472 -9.2773
3 16 -3.847 4.6472 -9.2773 -5 4.5023 -8.5179 -4 4.5023 -8.5179
3 16 -5 4.5023 -8.5179 -3.847 4.6472 -9.2773 -5.767 4.6838 -9.6794
3 16 -5.767 4.6838 -9.6794 -3.847 4.6472 -9.2773 -5.543 4.635 -10.8551
3 16 -6 4.5023 -8.5179 -5 4.5023 -8.5179 -5.767 4.6838 -9.6794
4 16 -2.8284 -6.4073 -14.2608 -3.6956 -6.7322 -13.0044 -5.5433 -6.5406 -13.7453 -4.2426 -6.0532 -15.6299
4 16 -3.6956 -6.7322 -13.0044 -4 -7.1155 -11.5224 -5.9999 -7.1155 -11.5224 -5.5433 -6.5406 -13.7453
4 16 4 -7.1155 -11.5224 3.6956 -6.7322 -13.0044 5.5433 -6.5406 -13.7453 5.9999 -7.1155 -11.5224
4 16 3.6956 -6.7322 -13.0044 2.8284 -6.4073 -14.2608 4.2426 -6.0532 -15.6299 5.5433 -6.5406 -13.7453
5 24 5.543 -6.5406 -13.7453 5.543 4.635 -10.8551 6 -7.1155 -11.5224 4.243 -6.0531 -15.6303
5 24 -5.543 -6.5406 -13.7453 -5.543 4.635 -10.8551 -6 -7.1155 -11.5224 -4.243 -6.0531 -15.6303
5 24 -4.243 -6.0531 -15.6303 -4.243 3.8636 -13.0657 -5.543 -6.5406 -13.7453 -2.296 -5.7276 -16.8889
5 24 4.243 -6.0531 -15.6303 4.243 3.8636 -13.0657 5.543 -6.5406 -13.7453 2.296 -5.7276 -16.8889
5 24 -2.296 -5.7276 -16.8889 -2.296 2.3041 -14.8117 -4.243 -6.0531 -15.6303 -2 -5.7129 -16.946
5 24 2.296 -5.7276 -16.8889 2.296 2.3041 -14.8117 4.243 -6.0531 -15.6303 2 -5.7129 -16.946
4 16 -4.243 -6.0531 -15.6303 -2.296 -5.7276 -16.8889 -2 -6.2687 -14.7967 -2.828 -6.4074 -14.2604
4 16 2 -6.2687 -14.7967 2.296 -5.7276 -16.8889 4.243 -6.0531 -15.6303 2.828 -6.4074 -14.2604
2 24 4.243 -6.0531 -15.6303 2.296 -5.7276 -16.8889
2 24 -4.243 -6.0531 -15.6303 -2.296 -5.7276 -16.8889
2 24 -2 -6.2687 -14.7967 -2.828 -6.4074 -14.2604
2 24 2 -6.2687 -14.7967 2.828 -6.4074 -14.2604
3 16 -2 -5.7129 -16.946 -2 -6.2687 -14.7967 -2.296 -5.7276 -16.8889
3 16 2.296 -5.7276 -16.8889 2 -6.2687 -14.7967 2 -5.7129 -16.946
2 24 2 -5.7129 -16.946 2 -6.2687 -14.7967
2 24 -2 -5.7129 -16.946 -2 -6.2687 -14.7967
2 24 2 -5.7129 -16.946 2.296 -5.7276 -16.8889
2 24 -2 -5.7129 -16.946 -2.296 -5.7276 -16.8889
5 24 -2.828 -6.4074 -14.2604 -2.828 4.5244 -11.4332 -3.696 -6.7322 -13.0047 -2 -6.2687 -14.7967
5 24 2.828 -6.4074 -14.2604 2.828 4.5244 -11.4332 3.696 -6.7322 -13.0047 2 -6.2687 -14.7967
5 24 3.696 -6.7322 -13.0047 3.696 4.6934 -10.0498 4 -7.1155 -11.5224 2.828 -6.4074 -14.2604
5 24 -3.696 -6.7322 -13.0047 -3.696 4.6934 -10.0498 -4 -7.1155 -11.5224 -2.828 -6.4074 -14.2604
4 16 -2 1.6198 -12.7566 -2 -6.2687 -14.7967 -2 -5.7129 -16.946 -2 2.1756 -14.9059
4 16 2 -5.7129 -16.946 2 -6.2687 -14.7967 2 1.6198 -12.7566 2 2.1756 -14.9059
3 16 -2.296 2.3041 -14.8117 -2 2.8733 -14.3247 -2 2.1756 -14.9059
3 16 -2 2.8733 -14.3247 -2.712 2.7973 -14.3981 -2 3.4727 -13.647
3 16 -2 3.4727 -13.647 -3.187 3.2182 -13.9608 -2 3.965 -12.8866
3 16 -2 4.3383 -12.0536 -2 3.965 -12.8866 -2.828 4.5244 -11.4332
4 16 -2 2.1756 -14.9059 -2 2.8733 -14.3247 -2 3.4727 -13.647 -2 1.6198 -12.7566
4 16 -2 4.3383 -12.0536 -2 1.6198 -12.7566 -2 3.4727 -13.647 -2 3.965 -12.8866
4 16 2 3.4727 -13.647 2 2.8733 -14.3247 2 2.1756 -14.9059 2 1.6198 -12.7566
4 16 2 3.4727 -13.647 2 1.6198 -12.7566 2 4.3383 -12.0536 2 3.965 -12.8866
2 24 -2 2.1756 -14.9059 -2 2.8733 -14.3247
2 24 -2 2.8733 -14.3247 -2 3.4727 -13.647
2 24 -2 3.4727 -13.647 -2 3.965 -12.8866
2 24 -2 4.3383 -12.0536 -2 3.965 -12.8866
2 24 2 2.1756 -14.9059 2 2.8733 -14.3247
2 24 2 2.8733 -14.3247 2 3.4727 -13.647
2 24 2 3.4727 -13.647 2 3.965 -12.8866
2 24 2 4.3383 -12.0536 2 3.965 -12.8866
2 24 -2 2.1756 -14.9059 -2 -5.7129 -16.946
2 24 -2 4.3383 -12.0536 -2 -6.2687 -14.7967
2 24 2 2.1756 -14.9059 2 -5.7129 -16.946
2 24 2 4.3383 -12.0536 2 -6.2687 -14.7967
0 Cuff
3 16 2.1213 -2.1213 0 1.5546 -2.5 0 2.1213 -2.1213 -1.4641
5 24 2.1213 -2.1213 0 2.1213 -2.1213 -1.4641 2.7717 -1.1481 0 1.5546 -2.5 0
4 16 2.7717 -1.1481 -4.5817 2.7717 -1.1481 0 2.1213 -2.1213 0 2.1213 -2.1213 -1.4641
3 16 2.6602 -1.3149 -4.5478 2.7717 -1.1481 -4.5817 2.1213 -2.1213 -1.4641
5 24 2.7717 -1.1481 0 2.7717 -1.1481 -4.5817 3 0 0 2.1213 -2.1213 0
4 16 3 0 -4.4423 3 0 0 2.7717 -1.1481 0 2.7717 -1.1481 -4.5817
5 24 3 0 0 3 0 -4.4423 2.7717 1.1481 0 2.7717 -1.1481 0
4 16 2.7717 1.1481 -3.9877 2.7717 1.1481 0 3 0 0 3 0 -4.4423
5 24 2.7717 1.1481 0 2.7717 1.1481 -3.9877 2.1213 2.1213 0 3 0 0
4 16 2.2962 1.8596 -3.4756 2.2962 1.8596 0 2.7717 1.1481 0 2.7717 1.1481 -3.9877
4 16 2.1213 2.1213 0 2.2962 1.8596 0 2.2962 1.8596 -3.4756 2.1213 2.1213 -3.4995
5 24 2.1213 2.1213 0 2.1213 2.1213 -3.4995 1.1481 2.7717 0 2.7717 1.1481 0
4 16 1.1481 2.7717 -3.0039 1.1481 2.7717 0 2.1213 2.1213 0 2.1213 2.1213 -3.4995
5 24 1.1481 2.7717 -3.0039 1.1481 2.7717 0 2.1213 2.1213 0 0 3 0
4 16 0 3 -2.7094 0 3 0 1.1481 2.7717 0 1.1481 2.7717 -3.0039
5 24 0 3 -2.7094 0 3 0 1.1481 2.7717 0 -1.1481 2.7717 0
3 16 -2.1213 -2.1213 -1.4641 -1.5546 -2.5 0 -2.1213 -2.1213 0
5 24 -2.1213 -2.1213 0 -2.1213 -2.1213 -1.4641 -2.7717 -1.1481 0 -1.5546 -2.5 0
4 16 -2.1213 -2.1213 0 -2.7717 -1.1481 0 -2.7717 -1.1481 -4.5817 -2.1213 -2.1213 -1.4641
3 16 -2.1213 -2.1213 -1.4641 -2.7717 -1.1481 -4.5817 -2.6602 -1.3149 -4.5478
5 24 -2.7717 -1.1481 0 -2.7717 -1.1481 -4.5817 -3 0 0 -2.1213 -2.1213 0
4 16 -2.7717 -1.1481 0 -3 0 0 -3 0 -4.4423 -2.7717 -1.1481 -4.5817
5 24 -3 0 0 -3 0 -4.4423 -2.7717 1.1481 0 -2.7717 -1.1481 0
4 16 -3 0 0 -2.7717 1.1481 0 -2.7717 1.1481 -3.9877 -3 0 -4.4423
5 24 -2.7717 1.1481 0 -2.7717 1.1481 -3.9877 -2.1213 2.1213 0 -3 0 0
4 16 -2.7717 1.1481 0 -2.2962 1.8596 0 -2.2962 1.8596 -3.4756 -2.7717 1.1481 -3.9877
4 16 -2.2962 1.8596 -3.4756 -2.2962 1.8596 0 -2.1213 2.1213 0 -2.1213 2.1213 -3.4995
5 24 -2.1213 2.1213 0 -2.1213 2.1213 -3.4995 -1.1481 2.7717 0 -2.7717 1.1481 0
4 16 -2.1213 2.1213 0 -1.1481 2.7717 0 -1.1481 2.7717 -3.0039 -2.1213 2.1213 -3.4995
5 24 -1.1481 2.7717 -3.0039 -1.1481 2.7717 0 -2.1213 2.1213 0 0 3 0
4 16 -1.1481 2.7717 0 0 3 0 0 3 -2.7094 -1.1481 2.7717 -3.0039
0 Cuff Intersect Lines
2 24 0 3 -2.7094 -1.1481 2.7717 -3.0039
2 24 -2.2962 1.8596 -3.4756 -2.1213 2.1213 -3.4995
2 24 -2.7717 1.1481 -3.9877 -3 0 -4.4423
2 24 -2.2962 1.8596 -3.4756 -2.7717 1.1481 -3.9877
2 24 -3 0 -4.4423 -2.7717 -1.1481 -4.5817
2 24 -2.7717 -1.1481 -4.5817 -2.6602 -1.3149 -4.5478
2 24 -2.1213 -2.1213 -1.4641 -2.6602 -1.3149 -4.5478
2 24 -2.1213 -2.1213 -1.4641 -1.5546 -2.5 0
2 24 -1.1481 2.7717 -3.0039 -2.1213 2.1213 -3.4995
2 24 0 3 -2.7094 1.1481 2.7717 -3.0039
2 24 2.2962 1.8596 -3.4756 2.1213 2.1213 -3.4995
2 24 2.7717 1.1481 -3.9877 3 0 -4.4423
2 24 2.2962 1.8596 -3.4756 2.7717 1.1481 -3.9877
2 24 3 0 -4.4423 2.7717 -1.1481 -4.5817
2 24 2.7717 -1.1481 -4.5817 2.6602 -1.3149 -4.5478
2 24 2.1213 -2.1213 -1.4641 2.6602 -1.3149 -4.5478
2 24 2.1213 -2.1213 -1.4641 1.5546 -2.5 0
2 24 1.1481 2.7717 -3.0039 2.1213 2.1213 -3.4995
2 24 -1.5546 -2.5 0 1.5546 -2.5 0
0 Cuff Ring
3 16 0 -2.5 0 -0.9567 -2.3098 0 -1.5546 -2.5 0
3 16 1.5546 -2.5 0 0.9567 -2.3098 0 0 -2.5 0
4 16 2.5 0 0 2.3098 -0.9567 0 2.7717 -1.148 0 3 0 0
4 16 2.3098 -0.9567 0 1.7678 -1.7678 0 2.1213 -2.1213 0 2.7717 -1.148 0
4 16 1.7678 -1.7678 0 0.9567 -2.3098 0 1.5546 -2.5 0 2.1213 -2.1213 0
4 16 -0.9567 -2.3098 0 -1.7678 -1.7678 0 -2.1213 -2.1213 0 -1.5546 -2.5 0
4 16 -1.7678 -1.7678 0 -2.3098 -0.9567 0 -2.7717 -1.148 0 -2.1213 -2.1213 0
4 16 -2.3098 -0.9567 0 -2.5 0 0 -3 0 0 -2.7717 -1.148 0
4 16 -2.5 0 0 -2.3098 0.9567 0 -2.7717 1.148 0 -3 0 0
4 16 -2.3098 0.9567 0 -1.7678 1.7677 0 -2.1213 2.1213 0 -2.7717 1.148 0
4 16 -1.7678 1.7677 0 -0.9567 2.3098 0 -1.148 2.7717 0 -2.1213 2.1213 0
4 16 -0.9567 2.3098 0 0 2.5 0 0 3 0 -1.148 2.7717 0
4 16 0 2.5 0 0.9567 2.3098 0 1.148 2.7717 0 0 3 0
4 16 0.9567 2.3098 0 1.7678 1.7677 0 2.1213 2.1213 0 1.148 2.7717 0
4 16 1.7678 1.7677 0 2.3098 0.9567 0 2.7717 1.148 0 2.1213 2.1213 0
4 16 2.3098 0.9567 0 2.5 0 0 3 0 0 2.7717 1.148 0
2 24 2.1213 -2.1213 0 1.5546 -2.5 0
2 24 -2.1213 -2.1213 0 -1.5546 -2.5 0
2 24 3 0 0 2.7717 -1.1481 0
2 24 2.7717 -1.1481 0 2.1213 -2.1213 0
2 24 -2.1213 -2.1213 0 -2.7717 -1.1481 0
2 24 -2.7717 -1.1481 0 -3 0 0
2 24 -3 0 0 -2.7717 1.1481 0
2 24 -2.7717 1.1481 0 -2.1213 2.1213 0
2 24 -2.1213 2.1213 0 -1.1481 2.7717 0
2 24 -1.1481 2.7717 0 0 3 0
2 24 0 3 0 1.1481 2.7717 0
2 24 1.1481 2.7717 0 2.1213 2.1213 0
2 24 2.1213 2.1213 0 2.7717 1.1481 0
2 24 2.7717 1.1481 0 3 0 0
0 Flat part of Cuff
4 16 -1.5546 -2.5 0 -2.1213 -2.1213 -1.4641 2.1213 -2.1213 -1.4641 1.5546 -2.5 0
4 16 0 -2.1213 -1.4641 -2.1213 -2.1213 -1.4641 -2.2962 -1.3762 -4.3124 0 -1.4914 -3.8706
3 16 -2.1213 -2.1213 -1.4641 -2.6602 -1.3149 -4.5478 -2.2962 -1.3762 -4.3124
4 16 2.2962 -1.3762 -4.3124 2.1213 -2.1213 -1.4641 0 -2.1213 -1.4641 0 -1.4914 -3.8706
3 16 2.2962 -1.3762 -4.3124 2.6602 -1.3149 -4.5478 2.1213 -2.1213 -1.4641
2 24 -2.6602 -1.3149 -4.5478 -2.2962 -1.3762 -4.3124
2 24 2.2962 -1.3762 -4.3124 0 -1.4914 -3.8706
2 24 2.6602 -1.3149 -4.5478 2.2962 -1.3762 -4.3124
2 24 -2.2962 -1.3762 -4.3124 0 -1.4914 -3.8706
0

View File

@ -0,0 +1,12 @@
0 ~Moved to 3820
0 Name: 983.dat
0 Author: [PTadmin]
0 !LDRAW_ORG Part UPDATE 2009-03
0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt
0 BFC CERTIFY CCW
0 !HISTORY 2009-12-29 [PTadmin] Official Update 2009-03
0 // Minifig Hand
1 16 0 0 0 1 0 0 0 1 0 0 0 1 3820.dat

View File

@ -0,0 +1,39 @@
<?php
namespace Tests\AppBundle\Service\Stl;
use AppBundle\Service\Stl\StlConverterService;
use AppBundle\Service\Stl\StlFixerService;
use League\Flysystem\Adapter\Local;
use League\Flysystem\Filesystem;
use League\Flysystem\FilesystemInterface;
use org\bovigo\vfs\vfsStreamDirectory;
use org\bovigo\vfs\vfsStreamWrapper;
use PHPUnit\Framework\TestCase;
use Tests\AppBundle\Service\BaseTest;
class StlFixer extends BaseTest
{
/** @var StlFixerService */
protected $stlFixer;
protected $input;
public function setUp()
{
$this->stlFixer = $this->get('service.stl.fixer');
$this->input = __DIR__.'/fixtures/ascii.stl';
}
public function tearDown()
{
$this->filesystem->delete('output.stl');
}
public function testFixing()
{
$this->stlFixer->fix($this->input,$this->filesystem->getAdapter()->getPathPrefix().'/output.stl');
$this->assertTrue($this->filesystem->has('output.stl'));
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,106 @@
Processed by ADMesh version 0.98.2 <20> 1{?<07>A<EFBFBD><41>1H<31><48><EFBFBD>@<40>Z<><5A><EFBFBD><EFBFBD>@<40>|<7C><>$(6@<40><>
@<40><><EFBFBD>zp'@ A1{<7B><07>A<EFBFBD><41>1H<31><48><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>zp'@<40><><19><>|<7C><>$(6@<40><><19><>Z<><5A><EFBFBD><EFBFBD> A {<7B>A>$<24>G=<3D><><EFBFBD>?<3F>|<7C><>$(6@<40><><EFBFBD>?<3F>Z<><5A><EFBFBD><EFBFBD>6<<3C>?<3F>u<EFBFBD><75>&X,@ A {?A>$<24>G=6<<3C><><EFBFBD>u<EFBFBD><75>&X,@<40><>̿<EFBFBD>Z<><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD>|<7C><>$(6@ Al<41>T<EFBFBD>v<EFBFBD> <09><>k<0E><1A><><EFBFBD><EFBFBD>Z<EFBFBD><5A><EFBFBD>n߿<6E>=ٿ<>=<3D><><EFBFBD><EFBFBD>ſ<EFBFBD>=ٿ^<11><><EFBFBD><EFBFBD>@ Am<41>T?u<> <09><>k<0E><>=<3D>?^<11><><EFBFBD><EFBFBD>@<40>=<3D>?<3F>=<3D><><EFBFBD><EFBFBD>ſ<1A><>?<3F>Z<EFBFBD><5A><EFBFBD>n߿ A<><41>T? <0C> ?<12>>)ː<>z<EFBFBD><7A><EFBFBD><EFBFBD>$@)ː<>OX<4F><58>8<EFBFBD><38>𧦿<EFBFBD>~<7E><><EFBFBD><10> A<><41>T<EFBFBD><0E> ?<15>><3E>?<3F>~<7E><><EFBFBD><10>)ː?OX<4F><58>8<EFBFBD><38>)ː?z<><7A><EFBFBD><EFBFBD>$@ A<>|<08>ܕD<DC95><44><EFBFBD>#<23><><EFBFBD>L?<3F>˾<EFBFBD>
<EFBFBD>^<5E><><EFBFBD>L?-[<5B><><EFBFBD><1C><>Ck?<3F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>k<EFBFBD> A<><41><1B>"C<><43><EFBFBD>%<25>Ck?<3F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>k<EFBFBD><6B><EFBFBD>L?-[<5B><><EFBFBD><1C><><EFBFBD>ڊ?<3F>K<EFBFBD><4B><EFBFBD>8<EFBFBD><38> A<1F>><P<>)<29><><EFBFBD>?<3F><><EFBFBD>L?~<7E><><EFBFBD><><CDB1>ڊ?<3F>K<EFBFBD><4B><EFBFBD>8<EFBFBD><38><EFBFBD><EFBFBD>L?-[<5B><><EFBFBD><1C><> A<><41><EFBFBD><EFBFBD><EFBFBD>).<2E><><EFBFBD>;<3B><>ڊ?<3F>K<EFBFBD><4B><EFBFBD>8<EFBFBD><38><EFBFBD><EFBFBD>L?~<7E><><EFBFBD><><CDB1>,<2C>?<3F><><EFBFBD><EFBFBD><EFBFBD>Ť<EFBFBD> A<1B>=( <0B><><EFBFBD>V<EFBFBD><56><EFBFBD>L?<3F><><EFBFBD> ˿<>,<2C>?<3F><><EFBFBD><EFBFBD><EFBFBD>Ť<EFBFBD><C5A4><EFBFBD>L?~<7E><><EFBFBD><> Ai<41>
<EFBFBD>9o<18>~|M<><4D>,<2C>?<3F><><EFBFBD><EFBFBD><EFBFBD>Ť<EFBFBD><C5A4><EFBFBD>L?<3F><><EFBFBD> ˿<><CBBF><EFBFBD>?<3F><><EFBFBD><EFBFBD><EFBFBD>涿 AId<49>='<27>Ⱦ<EFBFBD><C8BE>j<EFBFBD>)ː?OX<4F><58>8<EFBFBD><38><EFBFBD><EFBFBD><EFBFBD>?<3F><><EFBFBD><EFBFBD><EFBFBD>涿<EFBFBD><E6B6BF>L?<3F><><EFBFBD> ˿ A<>n<EFBFBD>=#Qо<51>lh<6C>)ː?OX<4F><58>8<EFBFBD><38><EFBFBD><EFBFBD>L?<3F><><EFBFBD> ˿<><CBBF>L?<I<><49><EFBFBD>޿ A<><41>׽5<D7BD><35>(<28>b<EFBFBD><62><EFBFBD><EFBFBD>?<3F><><EFBFBD><EFBFBD><EFBFBD>涿)ː?OX<4F><58>8<EFBFBD><38><EFBFBD>=<3D>?<3F>=<3D><><EFBFBD><EFBFBD>ſ A/><01><>/Rt<52><74>?<3F>~<7E><><EFBFBD><10><>=<3D>?<3F>=<3D><><EFBFBD><EFBFBD>ſ)ː?OX<4F><58>8<EFBFBD><38> A?<15><>"<22><><EFBFBD><EFBFBD>l<EFBFBD><6C>=<3D>?<3F>=<3D><><EFBFBD><EFBFBD>ſ<EFBFBD>?<3F>~<7E><><EFBFBD><10><1A><>?<3F>Z<EFBFBD><5A><EFBFBD>n߿ Aŏ<41>=w<><77>J}<7D>6<<3C>?/<2F><><EFBFBD>VM<56><1A><>?<3F>Z<EFBFBD><5A><EFBFBD>n߿<6E>?<3F>~<7E><><EFBFBD><10> A<1B>h<EFBFBD><68><EFBFBD>M<EFBFBD>Yz<59><1A><>?<3F>Z<EFBFBD><5A><EFBFBD>n߿6<<3C>?/<2F><><EFBFBD>VM<56><4D>
@<40><><EFBFBD><EFBFBD>O<EFBFBD> A<>/Y=><3E>I=T<54>f<EFBFBD><66>?<3F>m<7F><6D><EFBFBD><EFBFBD><EFBFBD>
@<40><><EFBFBD><EFBFBD>O<EFBFBD>6<<3C>?/<2F><><EFBFBD>VM<56> A|lڼ<6C><15>J<EFBFBD><EFBFBD><7F><EFBFBD>
@<40><><EFBFBD><EFBFBD>O<EFBFBD>f<EFBFBD><66>?<3F>m<7F><6D><EFBFBD><EFBFBD><EFBFBD>@<40><>w<EFBFBD><77><EFBFBD><EFBFBD> A<1C><<3C>c(><3E>{|<7C><><EFBFBD>@<40><>w<EFBFBD><77><EFBFBD><EFBFBD>f<EFBFBD><66>?<3F>m<7F><6D><EFBFBD><EFBFBD> @<40>Z<><5A><EFBFBD><EFBFBD> A <20><>?><3E>v{<7B><><EFBFBD><EFBFBD>?<3F>Z<><5A><EFBFBD><EFBFBD> @<40>Z<><5A><EFBFBD><EFBFBD>f<EFBFBD><66>?<3F>m<7F><6D><EFBFBD><EFBFBD> A<>j<EFBFBD><6A>X>:<3A>|<7C><><EFBFBD>@<40><>w<EFBFBD><77><EFBFBD><EFBFBD> @<40>Z<><5A><EFBFBD><EFBFBD>@<40>Z<><5A><EFBFBD><EFBFBD> Am<41>
=9o<18>~|M<><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>涿<EFBFBD><E6B6BF>L<EFBFBD><4C><EFBFBD><EFBFBD> ˿<>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ť<EFBFBD> A<07><><<3C>).<2E><><EFBFBD>;<3B><>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ť<EFBFBD><C5A4><EFBFBD>L<EFBFBD>~<7E><><EFBFBD><><CDB1>ڊ<EFBFBD><DA8A>K<EFBFBD><4B><EFBFBD>8<EFBFBD><38> A<><41><"C<><43><EFBFBD>%<25><>ڊ<EFBFBD><DA8A>K<EFBFBD><4B><EFBFBD>8<EFBFBD><38><EFBFBD><EFBFBD>L<EFBFBD>-[<5B><><EFBFBD><1C><>Ck<><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>k<EFBFBD> AHd<48><64>&<26>Ⱦ<EFBFBD><C8BE>j<EFBFBD>)ː<>OX<4F><58>8<EFBFBD><38><EFBFBD><EFBFBD>L<EFBFBD><4C><EFBFBD><EFBFBD> ˿<><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>涿 A/<13><01><>/Rt<52>)ː<>OX<4F><58>8<EFBFBD><38><EFBFBD>=ٿ<>=<3D><><EFBFBD><EFBFBD>ſ𧦿<C5BF>~<7E><><EFBFBD><10> A<><41><EFBFBD>=4<><34>(<28>b<EFBFBD><62>=ٿ<>=<3D><><EFBFBD><EFBFBD>ſ)ː<>OX<4F><58>8<EFBFBD><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>涿 A?<15>=<3D>"<22><><EFBFBD><EFBFBD>l<EFBFBD><1A><><EFBFBD><EFBFBD>Z<EFBFBD><5A><EFBFBD>n߿𧦿<DFBF>~<7E><><EFBFBD><10><>=ٿ<>=<3D><><EFBFBD><EFBFBD>ſ<41><C68F>w<EFBFBD><77>J}<7D>𧦿<EFBFBD>~<7E><><EFBFBD><10><1A><><EFBFBD><EFBFBD>Z<EFBFBD><5A><EFBFBD>n߿6<<3C><>/<2F><><EFBFBD>VM<56> A<1A>h=<3D><>M<EFBFBD>Yz<59><7A><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>O<EFBFBD>6<<3C><>/<2F><><EFBFBD>VM<56><1A><><EFBFBD><EFBFBD>Z<EFBFBD><5A><EFBFBD>n߿ A<>/Y<>?<3F>I=T<54>6<<3C><>/<2F><><EFBFBD>VM<56><4D>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>O<EFBFBD>f<EFBFBD>Ŀ<EFBFBD>m<EFBFBD><EFBFBD><EFBFBD><EFBFBD> A<><41><EFBFBD><EFBFBD>?><3E>v{<7B>f<EFBFBD>Ŀ<EFBFBD>m<7F><6D><EFBFBD><EFBFBD> <20><>Z<><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD>Z<><5A><EFBFBD><EFBFBD> A<1C><><EFBFBD>c(><3E>{|<7C> <20><>Z<><5A><EFBFBD><EFBFBD>f<EFBFBD>Ŀ<EFBFBD>m<7F><6D><EFBFBD><EFBFBD><EFBFBD><13><><EFBFBD>w<EFBFBD><77><EFBFBD><EFBFBD> A|l<><<3C><15>J<EFBFBD><EFBFBD><7F><EFBFBD><13><><EFBFBD>w<EFBFBD><77><EFBFBD><EFBFBD>f<EFBFBD>Ŀ<EFBFBD>m<7F><6D><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>O<EFBFBD> A X>:<3A>|<7C><><EFBFBD><19><>Z<><5A><EFBFBD><EFBFBD> <20><>Z<><5A><EFBFBD><EFBFBD><13><><EFBFBD>w<EFBFBD><77><EFBFBD><EFBFBD> A<>a<EFBFBD>;/<2F><><EFBFBD><EFBFBD>w?<3F><>L<EFBFBD><4C><EFBFBD><EFBFBD><EFBFBD>@@<40><>L<EFBFBD><4C>e<EFBFBD><65><EFBFBD>z @Ck<><6B>-<2D><>f<EFBFBD>@ AÐa9;/<2F><><EFBFBD><EFBFBD>w?Ck?<3F>-<2D><>f<EFBFBD>@<40><>L?<3F>e<EFBFBD><65><EFBFBD>z @<40><>L?<3F><><EFBFBD><EFBFBD>@@ A<>|=ܕD<DC95><44><EFBFBD>#<23>Ck<><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>k<EFBFBD><6B><EFBFBD>L<EFBFBD>-[<5B><><EFBFBD><1C><><EFBFBD><EFBFBD>L<EFBFBD><4C>˾<EFBFBD>
<EFBFBD>^<5E> A9<41>><3E>P<EFBFBD>)<29><><EFBFBD>?<3F><><EFBFBD>L<EFBFBD>-[<5B><><EFBFBD><1C><><EFBFBD>ڊ<EFBFBD><DA8A>K<EFBFBD><4B><EFBFBD>8<EFBFBD><38><EFBFBD><EFBFBD>L<EFBFBD>~<7E><><EFBFBD><> A<1E><14>( <0B><><EFBFBD>V<EFBFBD><56><EFBFBD>L<EFBFBD>~<7E><><EFBFBD><><CDB1>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ť<EFBFBD><C5A4><EFBFBD>L<EFBFBD><4C><EFBFBD><EFBFBD> ˿ Anν#Qо<51>lh<6C><68><EFBFBD>L<EFBFBD><I<><49><EFBFBD>޿<><DEBF>L<EFBFBD><4C><EFBFBD><EFBFBD> ˿)ː<>OX<4F><58>8<EFBFBD><38> A<><? G<>T?<3F>8Y?؛o$<24>8Y?<3F>0?21<32>$ <20>?<3F>8Y?<3F><><15><>8Y? A<><41>T?<12>3<EFBFBD> E?<3F>3<EFBFBD>?<3F><><EFBFBD>P<EFBFBD>?:<3A>?B<>꿂!<21>><3E>8Y?<3F><><15><>8Y? A<><<0E> G<>T?<3F>8Y<38><59><EFBFBD><15><>8Y?<3F>0<1F>21<32>$ <20>?<3F>8Y<38>؛o$<24>8Y? A<><41>T<EFBFBD>!<21>3<EFBFBD> E?<3F>8Y<38><59><EFBFBD><15><>8Y?:鍿B<E98DBF>꿂!<21>><3E>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD>P<EFBFBD>? A <20>?61<36><31> 21<32>$ <20>?<3F><>þDs<44>$<05>l?<3F>0<1F>21<32>$ <20>? A <20>?61<36><31><EFBFBD>0?21<32>$ <20>?<3F><><EFBFBD>>Ds<44>$<05>l? 21<32>$ <20>? AʯJ:U<><55><EFBFBD><EFBFBD><EFBFBD>w?<3F>8Y<38><59><EFBFBD><15><>8Y?<3F>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD>P<EFBFBD>?<3F>!k<>~<7E>ܿB<DCBF> ? A<><41>J<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD>w?<3F>!k?~<7E>ܿB<DCBF> ?<3F>3<EFBFBD>?<3F><><EFBFBD>P<EFBFBD>?<3F>8Y?<3F><><15><>8Y? A<>{?áA<C3A1>;eH<65><48><EFBFBD>@<40><>w<EFBFBD><77><EFBFBD><EFBFBD>@<40>Z<><5A><EFBFBD><EFBFBD>
@<40><><EFBFBD>zp'@ A<>{?<3F>lA<6C>lH<><48><EFBFBD>@<40><>w<EFBFBD><77><EFBFBD><EFBFBD>
@<40><><EFBFBD>zp'@<40><>
@<40><><EFBFBD><EFBFBD>O<EFBFBD> A<>{<7B><><EFBFBD>A<EFBFBD>:eH<65><48><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>zp'@<40><><19><>Z<><5A><EFBFBD><EFBFBD><13><><EFBFBD>w<EFBFBD><77><EFBFBD><EFBFBD> A<>{<7B><>lA<6C>mH<><48><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>zp'@<40><><13><><EFBFBD>w<EFBFBD><77><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>O<EFBFBD> A<>{<7B><>SA><3E><>G=f<><66>?<3F>m<7F><6D><EFBFBD><EFBFBD>6<<3C>?/<2F><><EFBFBD>VM<56>6<<3C>?<3F>u<EFBFBD><75>&X,@ A{<7B><><EFBFBD>@><3E>_G=f<><66>?<3F>m<7F><6D><EFBFBD><EFBFBD>6<<3C>?<3F>u<EFBFBD><75>&X,@<40><><EFBFBD>?<3F>Z<><5A><EFBFBD><EFBFBD> A<>{?<3F>SA><3E><>G=6<<3C><><EFBFBD>u<EFBFBD><75>&X,@6<<3C><>/<2F><><EFBFBD>VM<56>f<EFBFBD>Ŀ<EFBFBD>m<7F><6D><EFBFBD><EFBFBD> A{?<3F><>@><3E>_G=6<<3C><><EFBFBD>u<EFBFBD><75>&X,@f<>Ŀ<EFBFBD>m<7F><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD>Z<><5A><EFBFBD><EFBFBD> A%<25>T<EFBFBD>+<2B> <09><>B<0E><><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>O<EFBFBD><1A><><EFBFBD><EFBFBD>Z<EFBFBD><5A><EFBFBD>n߿<6E>=ٿ^<11><><EFBFBD><EFBFBD>@ A<><41>T<EFBFBD>3<EFBFBD> <09><>^<0E><><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>O<EFBFBD><EFBFBD>=ٿ^<11><><EFBFBD><EFBFBD>@<40><>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>zp'@ A%<25>T?*<2A> <09><>B<0E><>=<3D>?^<11><><EFBFBD><EFBFBD>@<1A><>?<3F>Z<EFBFBD><5A><EFBFBD>n߿<6E><DFBF>
@<40><><EFBFBD><EFBFBD>O<EFBFBD> A<><41>T?3<> <09><>^<0E><>=<3D>?^<11><><EFBFBD><EFBFBD>@<40><>
@<40><><EFBFBD><EFBFBD>O<EFBFBD><4F>
@<40><><EFBFBD>zp'@ A<01>T?<3F><> ?^<5E>>𧦿<>~<7E><><EFBFBD><10>6<<3C><>/<2F><><EFBFBD>VM<56>6<<3C><><EFBFBD>u<EFBFBD><75>&X,@ A<><41>T?.<2E> ?|<7C>>𧦿<>~<7E><><EFBFBD><10>6<<3C><><EFBFBD>u<EFBFBD><75>&X,@)ː<>z<EFBFBD><7A><EFBFBD><EFBFBD>$@ A<02>T<EFBFBD><54><EFBFBD> ?]<5D>>6<<3C>?<3F>u<EFBFBD><75>&X,@6<<3C>?/<2F><><EFBFBD>VM<56><4D>?<3F>~<7E><><EFBFBD><10> A<><41>T<EFBFBD>.<2E> ?}<7D>>6<<3C>?<3F>u<EFBFBD><75>&X,@<40>?<3F>~<7E><><EFBFBD><10>)ː?z<><7A><EFBFBD><EFBFBD>$@ AdY<0E>,<2C>M?<3F>U><3E><>L?<I<><49><EFBFBD>޿<><DEBF>L?<3F>e<EFBFBD><65><EFBFBD>z @)ː?z<><7A><EFBFBD><EFBFBD>$@ A<>]<0E>7<EFBFBD>M?<3F>U><3E><>L?<I<><49><EFBFBD>޿)ː?z<><7A><EFBFBD><EFBFBD>$@)ː?OX<4F><58>8<EFBFBD><38> AdY?,<2C>M?<3F>U>)ː<>z<EFBFBD><7A><EFBFBD><EFBFBD>$@<40><>L<EFBFBD><4C>e<EFBFBD><65><EFBFBD>z @<40><>L<EFBFBD><I<><49><EFBFBD>޿ A<>]?8<>M?<3F>U>)ː<>z<EFBFBD><7A><EFBFBD><EFBFBD>$@<40><>L<EFBFBD><I<><49><EFBFBD>޿)ː<>OX<4F><58>8<EFBFBD><38> A<><41>
<EFBFBD><EFBFBD>ON<EFBFBD><EFBFBD>mU<EFBFBD><EFBFBD>ڊ<EFBFBD><EFBFBD>K<EFBFBD><EFBFBD><EFBFBD>8<EFBFBD><EFBFBD>Ck<><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>k<EFBFBD>Ck<><6B>-<2D><>f<EFBFBD>@ A<><41>
<EFBFBD><EFBFBD>IN<EFBFBD>ueU<EFBFBD><EFBFBD>ڊ<EFBFBD><EFBFBD>K<EFBFBD><EFBFBD><EFBFBD>8<EFBFBD><EFBFBD>Ck<><6B>-<2D><>f<EFBFBD>@<40>ڊ<EFBFBD><DA8A><EFBFBD><EFBFBD><EFBFBD>8g@ A<><41>
?<3F>ON<4F><4E>mU<6D>Ck?<3F>-<2D><>f<EFBFBD>@Ck?<3F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>k<EFBFBD><6B>ڊ?<3F>K<EFBFBD><4B><EFBFBD>8<EFBFBD><38> A<><41>
?<3F>IN<49>teU<65>Ck?<3F>-<2D><>f<EFBFBD>@<40>ڊ?<3F>K<EFBFBD><4B><EFBFBD>8<EFBFBD><38><EFBFBD>ڊ?<3F><><EFBFBD><EFBFBD>8g@ A<>i<0E><><EFBFBD>M<EFBFBD>-
U<EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ť<EFBFBD><C5A4>ڊ<EFBFBD><DA8A>K<EFBFBD><4B><EFBFBD>8<EFBFBD><38><EFBFBD>ڊ<EFBFBD><DA8A><EFBFBD><EFBFBD><EFBFBD>8g@ Acl<0E><><EFBFBD>M<EFBFBD><4D>
U<EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ť<EFBFBD><C5A4>ڊ<EFBFBD><DA8A><EFBFBD><EFBFBD><EFBFBD>8g@<40>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>p@ A<>i?<3F><>M<EFBFBD>,
U<EFBFBD><EFBFBD>ڊ?<3F><><EFBFBD><EFBFBD>8g@<40>ڊ?<3F>K<EFBFBD><4B><EFBFBD>8<EFBFBD><38><EFBFBD>,<2C>?<3F><><EFBFBD><EFBFBD><EFBFBD>Ť<EFBFBD> Acl?<3F><>M<EFBFBD><4D>
U<EFBFBD><EFBFBD>ڊ?<3F><><EFBFBD><EFBFBD>8g@<40>,<2C>?<3F><><EFBFBD><EFBFBD><EFBFBD>Ť<EFBFBD><C5A4>,<2C>?<3F><><EFBFBD><EFBFBD><EFBFBD>p@ A9O<0E><>N<>U<><55><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>涿<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ť<EFBFBD><C5A4>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>p@ A<>I<0E>c N<><4E>#U<><55><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>涿<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>p@<40><><EFBFBD><EFBFBD>U<EFBFBD><55><EFBFBD><1E>@ A:O?<3F>N<>U<><55>,<2C>?<3F><><EFBFBD><EFBFBD><EFBFBD>p@<40>,<2C>?<3F><><EFBFBD><EFBFBD><EFBFBD>Ť<EFBFBD><C5A4><EFBFBD><EFBFBD>?<3F><><EFBFBD><EFBFBD><EFBFBD>涿 A<>I?c N<><4E>#U<><55>,<2C>?<3F><><EFBFBD><EFBFBD><EFBFBD>p@<40><><EFBFBD>?<3F><><EFBFBD><EFBFBD><EFBFBD>涿<EFBFBD><E6B6BF><EFBFBD>?U<><55><EFBFBD><1E>@ A<><41>
<EFBFBD><EFBFBD>;N<><4E>VU<56><55>=ٿ^<11><><EFBFBD><EFBFBD>@<40>=ٿ<>=<3D><><EFBFBD><EFBFBD>ſ<EFBFBD><C5BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>涿 A<><41>
<EFBFBD>>:N<>#VU<56><55>=ٿ^<11><><EFBFBD><EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>涿<EFBFBD><E6B6BF><EFBFBD><EFBFBD>U<EFBFBD><55><EFBFBD><1E>@ A<><41>
?<3F>;N<><4E>VU<56><55><EFBFBD><EFBFBD>?<3F><><EFBFBD><EFBFBD><EFBFBD>涿<EFBFBD>=<3D>?<3F>=<3D><><EFBFBD><EFBFBD>ſ<EFBFBD>=<3D>?^<11><><EFBFBD><EFBFBD>@ A<><41>
?<:N<>"VU<56><55><EFBFBD><EFBFBD>?<3F><><EFBFBD><EFBFBD><EFBFBD>涿<EFBFBD>=<3D>?^<11><><EFBFBD><EFBFBD>@<40><><EFBFBD>?U<><55><EFBFBD><1E>@ A<>?H<>cs<>!r{<7B>Ck<><6B>-<2D><>f<EFBFBD>@Ck<><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>k<EFBFBD><6B><EFBFBD>L<EFBFBD><4C>˾<EFBFBD>
<EFBFBD>^<5E> A<> H<>s<><73>r{<7B>Ck<><6B>-<2D><>f<EFBFBD>@<40><>L<EFBFBD><4C>˾<EFBFBD>
<EFBFBD>^<5E><><EFBFBD>L<EFBFBD><4C><EFBFBD><EFBFBD><EFBFBD>@@ A<> H>s<><73>r{<7B>Ck?<3F>-<2D><>f<EFBFBD>@<40><>L?<3F><><EFBFBD><EFBFBD>@@<40><>L?<3F>˾<EFBFBD>
<EFBFBD>^<5E> A<>?H>ds<>"r{<7B>Ck?<3F>-<2D><>f<EFBFBD>@<40><>L?<3F>˾<EFBFBD>
<EFBFBD>^<5E>Ck?<3F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>k<EFBFBD> A<><41><1D>z/<2F><><EFBFBD><EFBFBD>w?hА<68>ʉ<EFBFBD><CA89><EFBFBD>$@<40>6<EFBFBD><36><EFBFBD>t<EFBFBD><74>&X,@<40><>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>zp'@ A<>{<05>3<><33>[<5B>w?hА<68>ʉ<EFBFBD><CA89><EFBFBD>$@<40><>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>zp'@<40>8ٿ<10><>@<40>@ A<><41><EFBFBD>14<><34>:<3A>w?<3F>6<EFBFBD><36><EFBFBD>t<EFBFBD><74>&X,@<40><>̿<EFBFBD>|<7C><>$(6@<40><19><>|<7C><>$(6@ A4<41>7<>2<EFBFBD><32>l<EFBFBD>w?<3F>6<EFBFBD><36><EFBFBD>t<EFBFBD><74>&X,@<40><19><>|<7C><>$(6@<40><>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>zp'@ A<>nE<6E><45>3<EFBFBD><33>D<EFBFBD>w?<3F><><EFBFBD>?<3F>|<7C><>$(6@<40>6<EFBFBD>?<3F>t<EFBFBD><74>&X,@<40><>
@<40><><EFBFBD>zp'@ A <20>2<EFBFBD><32>e<EFBFBD>w?<3F><><EFBFBD>?<3F>|<7C><>$(6@<40><>
@<40><><EFBFBD>zp'@<40>@<40>|<7C><>$(6@ Ah<41><68>761<36><31><EFBFBD><EFBFBD>w?<3F>6<EFBFBD>?<3F>t<EFBFBD><74>&X,@hА<><CA89><EFBFBD>$@<40>8<EFBFBD>?<10><>@<40>@ Ar]<5D><><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>w?<3F>6<EFBFBD>?<3F>t<EFBFBD><74>&X,@<40>8<EFBFBD>?<10><>@<40>@<40><>
@<40><><EFBFBD>zp'@ A/<2F>w<EFBFBD><77>2<EFBFBD><32>b<EFBFBD>w?<3F>=ٿ^<11><><EFBFBD><EFBFBD>@Ck<><6B>-<2D><>f<EFBFBD>@<40><>L<EFBFBD><4C>e<EFBFBD><65><EFBFBD>z @ A<16>K<EFBFBD> 3<><33>[<5B>w?<3F>=ٿ^<11><><EFBFBD><EFBFBD>@<40><>L<EFBFBD><4C>e<EFBFBD><65><EFBFBD>z @)ː<>z<EFBFBD><7A><EFBFBD><EFBFBD>$@ AP<41>w6<77>2<EFBFBD><32>b<EFBFBD>w?<3F><>L?<3F>e<EFBFBD><65><EFBFBD>z @Ck?<3F>-<2D><>f<EFBFBD>@<40>=<3D>?^<11><><EFBFBD><EFBFBD>@ A<><41>K6 3<><33>[<5B>w?<3F><>L?<3F>e<EFBFBD><65><EFBFBD>z @<40>=<3D>?^<11><><EFBFBD><EFBFBD>@)ː?z<><7A><EFBFBD><EFBFBD>$@ A <20>? <20><>L<EFBFBD><4C>H<EFBFBD><48><16>%<25><><EFBFBD>L<EFBFBD><4C>e<EFBFBD><65><EFBFBD>z @<40><>L<EFBFBD><4C><EFBFBD><EFBFBD><EFBFBD>@@ A <20>? <20><>L<EFBFBD><4C>H<EFBFBD><48><16>%<25><><EFBFBD>L<EFBFBD><4C><EFBFBD><EFBFBD><EFBFBD>@@<40><>L<EFBFBD><4C>˾<EFBFBD>
<EFBFBD>^<5E> A <20><> <20><>L?<3F><><EFBFBD><EFBFBD>@@<40><>L?<3F>e<EFBFBD><65><EFBFBD>z @<40><>L?<3F>H<EFBFBD><48><16>%<25> A <20><> <20><>L?<3F><><EFBFBD><EFBFBD>@@<40><>L?<3F>H<EFBFBD><48><16>%<25><><EFBFBD>L?<3F>˾<EFBFBD>
<EFBFBD>^<5E> A <20>? <20><>L<EFBFBD><4C>˾<EFBFBD>
<EFBFBD>^<5E><><EFBFBD>L<EFBFBD>-[<5B><><EFBFBD><1C><><EFBFBD><EFBFBD>L<EFBFBD>~<7E><><EFBFBD><> A <20>? <20> <20><>L<EFBFBD><4C>˾<EFBFBD>
<EFBFBD>^<5E><><EFBFBD>L<EFBFBD>~<7E><><EFBFBD><><CDB1><EFBFBD>L<EFBFBD><4C>H<EFBFBD><48><16>%<25> A <20>? <20><>L<EFBFBD><I<><49><EFBFBD>޿<><DEBF>L<EFBFBD><4C>H<EFBFBD><48><16>%<25><><EFBFBD>L<EFBFBD>~<7E><><EFBFBD><> A <20>? <20><>L<EFBFBD><I<><49><EFBFBD>޿<><DEBF>L<EFBFBD>~<7E><><EFBFBD><><CDB1><EFBFBD>L<EFBFBD><4C><EFBFBD><EFBFBD> ˿ A <20><> <20><>L?~<7E><><EFBFBD><><CDB1><EFBFBD>L?-[<5B><><EFBFBD><1C><><EFBFBD><EFBFBD>L?<3F>˾<EFBFBD>
<EFBFBD>^<5E> A <20><> <20><>L?~<7E><><EFBFBD><><CDB1><EFBFBD>L?<3F>˾<EFBFBD>
<EFBFBD>^<5E><><EFBFBD>L?<3F>H<EFBFBD><48><16>%<25> A <20><> <20><>L?~<7E><><EFBFBD><><CDB1><EFBFBD>L?<3F>H<EFBFBD><48><16>%<25><><EFBFBD>L?<I<><49><EFBFBD>޿ A <20><> <20><>L?~<7E><><EFBFBD><><CDB1><EFBFBD>L?<I<><49><EFBFBD>޿<><DEBF>L?<3F><><EFBFBD> ˿ A<><41>T? <20><>>?:<3A>?B<>꿂!<21>>:<3A>?<3F><>$<24>!<21>><3E>8Y?؛o$<24>8Y? A<><41>T?$<24><><EFBFBD>>?:<3A>?B<>꿂!<21>><3E>8Y?؛o$<24>8Y?<3F>8Y?<3F><><15><>8Y? A<>{?<3F>Kܣc<DCA3>G><3E><><EFBFBD>?r<><1E>z<EFBFBD><7A><EFBFBD><EFBFBD>? <20>:<3A>?<3F><>$<24>!<21>> A<>{? <0C>d<EFBFBD>G><3E><><EFBFBD>?r<><1E>z<EFBFBD>:<3A>?<3F><>$<24>!<21>>:<3A>?B<>꿂!<21>> A<>{? d<>G<EFBFBD>:<3A>?<3F>+̿<>!<21>:<3A>?<3F><>$<24>!뾙<><EBBE99>? <20> A<>{?;u/c<>G<EFBFBD>:<3A>?<3F>+̿<>!뾙<><EBBE99>? <20><><EFBFBD><EFBFBD>?r<><1E>z<EFBFBD> A<><41>T? <20>><0E><>!k?c<>Ll><3E><>!k?{ R$Ll><3E>:<3A>?<3F><>$<24>!<21> A<><41>T?69<><39>><0E><>!k?c<>Ll><3E>:<3A>?<3F><>$<24>!<21>:<3A>?<3F>+̿<>!<21> A<><41>T?~;<3B>@?<0E><>8Y?؛o$<24>8Y<38><59>!k?{ R$Ll><3E><>!k?c<>Ll><3E> A<><41>T? @?<0E><>8Y?؛o$<24>8Y<38><59>!k?c<>Ll><3E><>8Y?<3F>,<2C><><EFBFBD>8Y<38> A<>>? <20><>T<EFBFBD><54>!<21>><3E>̙<EFBFBD>:鍿<>!<21>>t<><74>$:鍿<>8Y?؛o$<24>8Y<38> A<>>?ʇ=/<2F><>T<EFBFBD><54>!<21>><3E>̙<EFBFBD>:鍿<>8Y?؛o$<24>8Y<38><59>8Y?<3F>,<2C><><EFBFBD>8Y<38> Ad<41>G><3E>̐3<CC90>{<7B> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <n<>$<24><><EFBFBD><EFBFBD><EFBFBD>!<21>>t<><74>$:鍿 An<41>G>t<><74>0<EFBFBD>{<7B> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!<21>>t<><74>$:鍿<>!<21>><3E>̙<EFBFBD>:鍿 A<><41>T<EFBFBD>d<EFBFBD>/<2F>>?<3F>8Y<38>؛o$<24>8Y?:鍿<><E98DBF>$<24>!<21>>:鍿B<E98DBF>꿂!<21>> A<><41>T<EFBFBD> <20>>?<3F>8Y<38>؛o$<24>8Y?:鍿B<E98DBF>꿂!<21>><3E>8Y<38><59><EFBFBD><15><>8Y? A<>{<7B>;u/c<>G>:鍿<><E98DBF>$<24>!<21>><3E><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>r<><1E>z<EFBFBD> A<>{<7B> d<>G>:鍿<><E98DBF>$<24>!<21>><3E><><EFBFBD><EFBFBD>r<><1E>z<EFBFBD>:鍿B<E98DBF>꿂!<21>> A<>{<7B><1D> <20>d<EFBFBD>G<EFBFBD><47><EFBFBD><EFBFBD><EFBFBD> <20>:鍿<><E98DBF>$<24>!<21>:鍿<>+̿<>!<21> A<>{<7B><>K<EFBFBD>#c<>G<EFBFBD><47><EFBFBD><EFBFBD><EFBFBD> <20>:鍿<>+̿<>!뾙<><EBBE99><EFBFBD>r<><1E>z<EFBFBD> A<><41>T<EFBFBD><54>ET1<54>><0E>:鍿<><E98DBF>$<24>!뾂!k<>{ R$Ll><3E><>!k<>c<EFBFBD>Ll><3E> A<><41>T<EFBFBD> <20><>><0E>:鍿<><E98DBF>$<24>!뾂!k<>c<EFBFBD>Ll><3E>:鍿<>+̿<>!<21> A<><41>T<EFBFBD> @?<0E><>!k<>c<EFBFBD>Ll><3E><>!k<>{ R$Ll><3E><>8Y<38>؛o$<24>8Y<38> A<><41>T<EFBFBD><54><EFBFBD><EFBFBD>0@?<0E><>!k<>c<EFBFBD>Ll><3E><>8Y<38>؛o$<24>8Y<38><59>8Y<38><59>,<2C><><EFBFBD>8Y<38> A<>><0E><><EFBFBD>\<5C><><EFBFBD>T<EFBFBD><54>8Y<38>؛o$<24>8Y<38><59>!<21>t<EFBFBD><74>$:鍿<>!뾸̙<EBBEB8>:鍿 A<>><0E> <20><><EFBFBD>T<EFBFBD><54>8Y<38>؛o$<24>8Y<38><59>!뾸̙<EBBEB8>:鍿<>8Y<38><59>,<2C><><EFBFBD>8Y<38> Ad<41>G<EFBFBD>(V<>3<EFBFBD>{<7B><>!<21>t<EFBFBD><74>$:鍿 <n<>$<24><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> An<41>G<EFBFBD> <20><>{<7B><>!<21>t<EFBFBD><74>$:鍿 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!뾸̙<EBBEB8>:鍿 A˗_ <20>?11<31><31> <20>? <20><05>l?+ <20>#<23><><EFBFBD>>:<3A>?<3F><>$C<1C>> A <20>?11<31><31> <20>? <20>:<3A>?<3F><>$C<1C>><3E><><EFBFBD>? <20> AI<41>Θ <20>?41<34><31><05>l?+ <20>#<23><><EFBFBD>><3E>5?<3F><>G$<24>5?<3F>8Y?؛o$<24>8Y? AS <20>?21<32><31><05>l?+ <20>#<23><><EFBFBD>><3E>8Y?؛o$<24>8Y?:<3A>?<3F><>$C<1C>> A<><20>?31<33><31><EFBFBD>5?<3F><>G$<24>5?<3F><><EFBFBD>>Ds<44>$<05>l?<3F>0?21<32>$ <20>? Ak<0E> <20>?21<32><31><EFBFBD>5?<3F><>G$<24>5?<3F>0?21<32>$ <20>?<3F>8Y?؛o$<24>8Y? A`<60>  <20>?21<32><31><EFBFBD><EFBFBD>þDs<44>$<05>l?<3F>5<><35><EFBFBD>G$<24>5?<3F>8Y<38>؛o$<24>8Y? AR<41>
 <20>?41<34><31><EFBFBD><EFBFBD>þDs<44>$<05>l?<3F>8Y<38>؛o$<24>8Y?<3F>0<1F>21<32>$ <20>? A<>Y<EFBFBD> <20>?21<32><31><EFBFBD>5<><35><EFBFBD>G$<24>5?<05>l<EFBFBD>+ <20>#<23><><EFBFBD>>:鍿<><E98DBF>$C<1C>> A9<> <20>?31<33><31><EFBFBD>5<><35><EFBFBD>G$<24>5?:鍿<><E98DBF>$C<1C>><3E>8Y<38>؛o$<24>8Y? AHy<48> <20>?11<31><31><05>l<EFBFBD>+ <20>#<23><><EFBFBD>> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20> A/Qg <20>?11<31><31><05>l<EFBFBD>+ <20>#<23><><EFBFBD>><3E><><EFBFBD><EFBFBD> <20>:鍿<><E98DBF>$C<1C>> A˗_<CB97> <20>?11<31>$ <20><> <20><05>l<EFBFBD>+ <20>#<23><>þ:鍿<><E98DBF>$C<1C> A <20>?11<31>$ <20><> <20>:鍿<><E98DBF>$C<><EBBE99><EFBFBD> <20> A<><41>r<EFBFBD> <20>?31<33>$<05>l<EFBFBD>+ <20>#<23><>þ<EFBFBD>5<><16>G$25<><35>8Y<38>؛o$<24>8Y<38> AS<> <20>?21<32>$<05>l<EFBFBD>+ <20>#<23><>þ<EFBFBD>8Y<38>؛o$<24>8Y<38>:鍿<><E98DBF>$C<1C> Aώ <20>?31<33>$<24>5<><16>G$25<><35><EFBFBD>þDs<44>$<05>l<EFBFBD>C<1C>t<EFBFBD><74>$:鍿 A<>W<EFBFBD> <20>?21<32>$<24>5<><16>G$25<>C<1C>t<EFBFBD><74>$:鍿<>8Y<38>؛o$<24>8Y<38> A<>Q<EFBFBD><51> <20>?21<32>$<24><>þDs<44>$<05>l<EFBFBD> 21<32>$ <20><> <n<>$<24><><EFBFBD><EFBFBD> A<><41>$ <20>?41<34>$<24><>þDs<44>$<05>l<EFBFBD> <n<>$<24><><EFBFBD><EFBFBD>C<1C>t<EFBFBD><74>$:鍿 As<41>R <20>?51<35>$ 21<32>$ <20><><EFBFBD><EFBFBD><EFBFBD>>Ds<44>$<05>l<EFBFBD>C<1C>>t<><74>$:鍿 A j1 <20>?31<33>$ 21<32>$ <20><>C<1C>>t<><74>$:鍿 <n<>$<24><><EFBFBD><EFBFBD> A<><41>̘ <20>?11<31>$<24><><EFBFBD>>Ds<44>$<05>l<EFBFBD><6C>5?<16>G$25<><35>8Y?؛o$<24>8Y<38> A<<18> <20>?31<33>$<24><><EFBFBD>>Ds<44>$<05>l<EFBFBD><6C>8Y?؛o$<24>8Y<38>C<1C>>t<><74>$:鍿 A<> <20>?21<32>$<24>5?<16>G$25<><05>l?+ <20>#<23><>þ:<3A>?<3F><>$C<1C> AQ`E <20>?21<32>$<24>5?<16>G$25<>:<3A>?<3F><>$C뾜8Y?؛o$<24>8Y<38> AHy<48><79> <20>?11<31>$<05>l?+ <20>#<23><>þ <20>? <20><><EFBFBD><EFBFBD>? <20> A/Qg<51> <20>?11<31>$<05>l?+ <20>#<23><>þ<EFBFBD><C3BE><EFBFBD>? <20>:<3A>?<3F><>$C<1C> A<><13>0<EFBFBD>6<EFBFBD><36><EFBFBD><EFBFBD>w?<3F>0<1F>21<32>$ <20>?<3F>8Y<38><59><EFBFBD><15><>8Y?<3F>8Y?<3F><><15><>8Y? A <20>6<EFBFBD><36><EFBFBD><EFBFBD>w?<3F>0<1F>21<32>$ <20>?<3F>8Y?<3F><><15><>8Y?<3F>0?21<32>$ <20>? A <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>w? <20><><15><>8Y?<3F>8Y<38><59><EFBFBD><15><>8Y?<3F>!k<>~<7E>ܿB<DCBF> ? As<41>B9㥁<39><1E>w? <20><><15><>8Y?<3F>!k<>~<7E>ܿB<DCBF> ? <20>,ƿ(<28>? A<>m1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>w?<3F>!k?~<7E>ܿB<DCBF> ?<3F>8Y?<3F><><15><>8Y? <20><><15><>8Y? A<><41>B<EFBFBD><EFBFBD><1E>w?<3F>!k?~<7E>ܿB<DCBF> ? <20><><15><>8Y? <20>,ƿ(<28>? A<>{<7B><>hA><3E>H=<3D><><19><>Z<><5A><EFBFBD><EFBFBD><19>B}<7D><>*6@h<>
<EFBFBD>n<><6E><EFBFBD>D@ A<>{<7B><>hA><3E>H=<3D><><19><>Z<><5A><EFBFBD><EFBFBD>h<EFBFBD>
<EFBFBD>n<><6E><EFBFBD>D@h<>
<EFBFBD>'!<21>Iɿ Ao<41>T<EFBFBD><54><EFBFBD> ?1q>h<>
<EFBFBD>'!<21>Iɿh<C9BF>
<EFBFBD>n<><6E><EFBFBD>D@C9ٿo<D9BF>=<3D><>[Q@ Aq<41>T<EFBFBD><54><EFBFBD> ?2q>h<>
<EFBFBD>'!<21>IɿC9ٿo<D9BF>=<3D><>[Q@C9ٿ<39><D9BF><EFBFBD>)<1D><> A<>9<0E><>N?<3F>.U>C9ٿ<39><D9BF><EFBFBD>)<1D><>C9ٿo<D9BF>=<3D><>[Q@<40>k<>$<24><1D>-<2D>Y@ A<>9<0E><>N?<3F>.U>C9ٿ<39><D9BF><EFBFBD>)<1D><><EFBFBD>k<>$<24><1D>-<2D>Y@<40>k<>dX<64><58>zp<7A><70> A<><41>G<EFBFBD>Ws?w{><3E>k<>dX<64><58>zp<7A><70><EFBFBD>k<>$<24><1D>-<2D>Y@ NE<12><><EFBFBD>\@ A<><41>G<EFBFBD>Xs?w{><3E>k<>dX<64><58>zp<7A><70> NE<12><><EFBFBD>\@ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> A<><41>G>Xs?w{> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NE<12><><EFBFBD>\@<40>k?$<24><1D>-<2D>Y@ A<><41>G>Xs?w{> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>k?$<24><1D>-<2D>Y@<40>k?dX<64><58>zp<7A><70> A<>9?<3F>N?<3F>.U><3E>k?dX<64><58>zp<7A><70><EFBFBD>k?$<24><1D>-<2D>Y@C9<43>?o<>=<3D><>[Q@ A<>9?<3F>N?<3F>.U><3E>k?dX<64><58>zp<7A><70>C9<43>?o<>=<3D><>[Q@C9<43>?<3F><><EFBFBD>)<1D><> Ao<41>T?<3F><> ?4q>C9<43>?<3F><><EFBFBD>)<1D><>C9<43>?o<>=<3D><>[Q@h<>
@n<><6E><EFBFBD>D@ Aq<41>T?<3F><> ?/q>C9<43>?<3F><><EFBFBD>)<1D><>h<EFBFBD>
@n<><6E><EFBFBD>D@h<>
@'!<21>Iɿ A<>{?<3F>hA><3E>H=h<>
@'!<21>Iɿh<C9BF>
@n<><6E><EFBFBD>D@<40><>@B}<7D><>*6@ A<>{?<3F>hA><3E>H=h<>
@'!<21>Iɿ<><C9BF>@B}<7D><>*6@<40><>@<40>Z<><5A><EFBFBD><EFBFBD> A<>{<7B><>gA<67>H<><48><EFBFBD><EFBFBD>?<3F>Z<><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?B}<7D><>*6@<40>5<EFBFBD>?<1F><><EFBFBD><EFBFBD><EFBFBD>?@ A<>{<7B><>gA<67>H<><48><EFBFBD><EFBFBD>?<3F>Z<><5A><EFBFBD><EFBFBD><EFBFBD>5<EFBFBD>?<1F><><EFBFBD><EFBFBD><EFBFBD>?@<40>5<EFBFBD>?K4<>G<EFBFBD>ҿ A?<3F>T<EFBFBD><02> <09>|q<0E><>5<EFBFBD>?K4<>G<EFBFBD>ҿ<EFBFBD>5<EFBFBD>?<1F><><EFBFBD><EFBFBD><EFBFBD>?@<40>А?v<>`<60>3KH@ A@<40>T<EFBFBD> <20> <09>{q<0E><>5<EFBFBD>?K4<>G<EFBFBD>ҿ<EFBFBD>А?v<>`<60>3KH@<40>А?<3F><><13>l>¿ A<>9<0E><>N<><4E>.U<><55>А?<3F><><13>l>¿<>А?v<>`<60>3KH@
<EFBFBD>?<3F>bK<62><4B><EFBFBD>M@ A<>9<0E><>N<><4E>.U<><55>А?<3F><><13>l>¿
<EFBFBD>?<3F>bK<62><4B><EFBFBD>M@
<EFBFBD>?<3F><><EFBFBD><EFBFBD><EFBFBD> <20><> A?<3F>G<EFBFBD>is<>,w{<7B>
<EFBFBD>?<3F><><EFBFBD><EFBFBD><EFBFBD> <20><>
<EFBFBD>?<3F>bK<62><4B><EFBFBD>M@
<EFBFBD>C<EFBFBD><EFBFBD><EFBFBD>O@ A<<3C>G<EFBFBD>is<>+w{<7B>
<EFBFBD>?<3F><><EFBFBD><EFBFBD><EFBFBD> <20><>
<EFBFBD>C<EFBFBD><EFBFBD><EFBFBD>O@ 0<><30><EFBFBD>9<EFBFBD><39> A=<3D>G>is<>+w{<7B> 0<><30><EFBFBD>9<EFBFBD><39>
<EFBFBD>C<EFBFBD><EFBFBD><EFBFBD>O@
<EFBFBD><1C><>bK<62><4B><EFBFBD>M@ A;<3B>G>is<>+w{<7B> 0<><30><EFBFBD>9<EFBFBD><39>
<EFBFBD><1C><>bK<62><4B><EFBFBD>M@
<EFBFBD><1C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> A<>9?<3F>N<><4E>.U<>
<EFBFBD><1C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
<EFBFBD><1C><>bK<62><4B><EFBFBD>M@<40>А<EFBFBD>v<EFBFBD>`<60>3KH@ A<>9?<3F>N<><4E>.U<>
<EFBFBD><1C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>А<EFBFBD>v<EFBFBD>`<60>3KH@<40>А<EFBFBD><D090><EFBFBD><13>l>¿ A@<40>T?<01> <09>|q<0E><>А<EFBFBD><D090><EFBFBD><13>l>¿<>А<EFBFBD>v<EFBFBD>`<60>3KH@<40>5<EFBFBD><35><1F><><EFBFBD><EFBFBD><EFBFBD>?@ A@<40>T? <20> <09>{q<0E><>А<EFBFBD><D090><EFBFBD><13>l>¿<>5<EFBFBD><35><1F><><EFBFBD><EFBFBD><EFBFBD>?@<40>5<EFBFBD><35>K4<>G<EFBFBD>ҿ A<>{?<3F>gA<67>H<><48>5<EFBFBD><35>K4<>G<EFBFBD>ҿ<EFBFBD>5<EFBFBD><35><1F><><EFBFBD><EFBFBD><EFBFBD>?@<40><>̿B}<7D><>*6@ A<>{?<3F>gA<67>H<><48>5<EFBFBD><35>K4<>G<EFBFBD>ҿ<EFBFBD><D2BF>̿B}<7D><>*6@<40><>̿<EFBFBD>Z<><5A><EFBFBD><EFBFBD> A t4<74>>/<2F>w<EFBFBD><77><EFBFBD>̿<EFBFBD>Z<><5A><EFBFBD><EFBFBD><19><>Z<><5A><EFBFBD><EFBFBD>h<EFBFBD>
<EFBFBD>'!<21><>ɿ A<><41><EFBFBD>5<EFBFBD>4<EFBFBD>>*<2A>w<EFBFBD><77><EFBFBD>̿<EFBFBD>Z<><5A><EFBFBD><EFBFBD>h<EFBFBD>
<EFBFBD>'!<21><>ɿ<>5<EFBFBD><35>K4<><34><EFBFBD>ҿ A<><41><15>i3<69>>Q<>w<EFBFBD><77>5<EFBFBD><35>K4<><34><EFBFBD>ҿh<D2BF>
<EFBFBD>'!<21><>ɿC9ٿ<39><D9BF><EFBFBD>.<1C><> A<><41>)7<>3<EFBFBD>>G<>w<EFBFBD><77>5<EFBFBD><35>K4<><34><EFBFBD>ҿC9ٿ<39><D9BF><EFBFBD>.<1C><><EFBFBD>А<EFBFBD><D090><EFBFBD><13>p=¿ A<>֨63<>>\<5C>w<EFBFBD><77>А<EFBFBD><D090><EFBFBD><13>p=¿C9ٿ<39><D9BF><EFBFBD>.<1C><><EFBFBD>k<>dX<64><58>~o<><6F> A<><<3C>}3<>>O<>w<EFBFBD><77>А<EFBFBD><D090><EFBFBD><13>p=¿<>k<>dX<64><58>~o<><6F>
<EFBFBD><1C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><1F><> A<>ء6S4<53>>3<>w<EFBFBD>
<EFBFBD><1C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><1F><><EFBFBD>k<>dX<64><58>~o<><6F> <20><><EFBFBD><EFBFBD>\<5C><><EFBFBD> A92<39>614<31>>7<>w<EFBFBD>
<EFBFBD><1C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><1F><> <20><><EFBFBD><EFBFBD>\<5C><><EFBFBD> 0<><30>r8<72><38> Ahڨ<68>24<32>>7<>w<EFBFBD> 0<><30>r8<72><38> <20><><EFBFBD><EFBFBD>\<5C><><EFBFBD><EFBFBD>k?dX<64><58>~o<><6F> A<><41>̶e4<65>>0<>w<EFBFBD> 0<><30>r8<72><38><EFBFBD>k?dX<64><58>~o<><6F>
<EFBFBD>?<3F><><EFBFBD><EFBFBD><EFBFBD><1F><> A\V#44<>>;<3B>w<EFBFBD>
<EFBFBD>?<3F><><EFBFBD><EFBFBD><EFBFBD><1F><><EFBFBD>k?dX<64><58>~o<><6F>C9<43>?<3F><><EFBFBD>.<1C><> A<<3C>e62<>><3E><>w<EFBFBD>
<EFBFBD>?<3F><><EFBFBD><EFBFBD><EFBFBD><1F><>C9<43>?<3F><><EFBFBD>.<1C><><EFBFBD>А?<3F><><13>p=¿ A
<EFBFBD>v<EFBFBD><EFBFBD>2<EFBFBD>>b<>w<EFBFBD><77>А?<3F><><13>p=¿C9<43>?<3F><><EFBFBD>.<1C><>h<EFBFBD>
@'!<21><>ɿ A!ڨ<>z4<7A>>.<2E>w<EFBFBD><77>А?<3F><><13>p=¿h<C2BF>
@'!<21><>ɿ<>5<EFBFBD>?K4<><34><EFBFBD>ҿ A<><41>m4<6D>>/<2F>w<EFBFBD><77>5<EFBFBD>?K4<><34><EFBFBD>ҿh<D2BF>
@'!<21><>ɿ<><C9BF>@<40>Z<><5A><EFBFBD><EFBFBD> A<>(<28>1<EFBFBD>4<EFBFBD>>)<29>w<EFBFBD><77>5<EFBFBD>?K4<><34><EFBFBD>ҿ<EFBFBD><D2BF>@<40>Z<><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F>Z<><5A><EFBFBD><EFBFBD> A l4<6C><34>0<EFBFBD>w?<3F><><EFBFBD>?J{<7B><>l+6@<40><>@J{<7B><>l+6@h<>
@n<>h<EFBFBD>D@ Aо<41>5<EFBFBD>4<EFBFBD><34>+<2B>w?<3F><><EFBFBD>?J{<7B><>l+6@h<>
@n<>h<EFBFBD>D@<40>5<EFBFBD>?'<27><><EFBFBD>j<EFBFBD>?@ A<1C><><EFBFBD><EFBFBD>3<EFBFBD><33>F<EFBFBD>w?<3F>5<EFBFBD>?'<27><><EFBFBD>j<EFBFBD>?@h<>
@n<>h<EFBFBD>D@C9<43>?<3F><>=<3D><>]Q@ At. 7<>3<EFBFBD><33>><3E>w?<3F>5<EFBFBD>?'<27><><EFBFBD>j<EFBFBD>?@C9<43>?<3F><>=<3D><>]Q@<40>А?<3F><>`<60>MH@ A<><41><EFBFBD>5,3<><33>Y<EFBFBD>w?<3F>А?<3F><>`<60>MH@C9<43>?<3F><>=<3D><>]Q@<40>k?7<><1D><><EFBFBD>Y@ A<>~?<3F>}3<><33>N<EFBFBD>w?<3F>А?<3F><>`<60>MH@<40>k?7<><1D><><EFBFBD>Y@
<EFBFBD>?<3F>^K<><4B><EFBFBD>M@ ABq<42>6W4<57><34>2<EFBFBD>w?
<EFBFBD>?<3F>^K<><4B><EFBFBD>M@<40>k?7<><1D><><EFBFBD>Y@ _A<12><><EFBFBD>\@ A<1B><>674<37><34>6<EFBFBD>w?
<EFBFBD>?<3F>^K<><4B><EFBFBD>M@ _A<12><><EFBFBD>\@ <1C>C<EFBFBD><43><EFBFBD>O@ A<>1<EFBFBD><31>74<37><34>6<EFBFBD>w? <1C>C<EFBFBD><43><EFBFBD>O@ _A<12><><EFBFBD>\@<40>k<>7<EFBFBD><1D><><EFBFBD>Y@ A<><41>˶h4<68><34>0<EFBFBD>w? <1C>C<EFBFBD><43><EFBFBD>O@<40>k<>7<EFBFBD><1D><><EFBFBD>Y@
<EFBFBD><1C><>^K<><4B><EFBFBD>M@ A:<3A>86<38>3<EFBFBD><33>@<40>w?
<EFBFBD><1C><>^K<><4B><EFBFBD>M@<40>k<>7<EFBFBD><1D><><EFBFBD>Y@C9ٿ<39><D9BF>=<3D><>]Q@ A |<7C>6T2<54><32>u<EFBFBD>w?
<EFBFBD><1C><>^K<><4B><EFBFBD>M@C9ٿ<39><D9BF>=<3D><>]Q@<40>А<EFBFBD><D090><EFBFBD>`<60>MH@ A+<2B>M<EFBFBD>d3<64><33>R<EFBFBD>w?<3F>А<EFBFBD><D090><EFBFBD>`<60>MH@C9ٿ<39><D9BF>=<3D><>]Q@h<>
<EFBFBD>n<>h<EFBFBD>D@ AS<41><53><EFBFBD><EFBFBD>4<EFBFBD><34>-<2D>w?<3F>А<EFBFBD><D090><EFBFBD>`<60>MH@h<>
<EFBFBD>n<>h<EFBFBD>D@<40>5<EFBFBD><35>'<27><><EFBFBD>j<EFBFBD>?@ A<>ʅ<EFBFBD>f4<66><34>0<EFBFBD>w?<3F>5<EFBFBD><35>'<27><><EFBFBD>j<EFBFBD>?@h<>
<EFBFBD>n<>h<EFBFBD>D@<40><><19>J{<7B><>l+6@ AgB<67><42><EFBFBD>4<EFBFBD><34>*<2A>w?<3F>5<EFBFBD><35>'<27><><EFBFBD>j<EFBFBD>?@<40><><19>J{<7B><>l+6@<40><>̿J{<7B><>l+6@ A

View File

@ -0,0 +1,36 @@
<?php
namespace Tests\AppBundle\Service\Stl;
use AppBundle\Service\Stl\StlConverterService;
use AppBundle\Service\Stl\StlFixerService;
use AppBundle\Service\Stl\StlRendererService;
use League\Flysystem\Adapter\Local;
use League\Flysystem\Filesystem;
use League\Flysystem\FilesystemInterface;
use org\bovigo\vfs\vfsStreamDirectory;
use org\bovigo\vfs\vfsStreamWrapper;
use PHPUnit\Framework\TestCase;
use Tests\AppBundle\Service\BaseTest;
class StlRendererTest extends BaseTest
{
/** @var StlRendererService */
protected $stlRenderer;
public function setUp()
{
$this->stlRenderer = $this->get('service.stl.renderer');
}
public function tearDown()
{
$this->filesystem->delete('973c00.png');
}
public function testRendering()
{
$this->stlRenderer->render(__DIR__.'/fixtures/973c00.stl',$this->filesystem->getAdapter()->getPathPrefix());
$this->assertTrue($this->filesystem->has('973c00.png'));
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.