From fredericperez1 at gmail.com Wed Mar 1 03:37:28 2017 From: fredericperez1 at gmail.com (Frederic Perez) Date: Wed, 1 Mar 2017 09:37:28 +0100 Subject: [vtkusers] Create a grid made of a bunch of lines Message-ID: Hello VTK experts, I would like to create a grid consisting of several disconnected lines, each line having a bunch of points. I'm using python. My first step is to make a vtkUnstructuredGrid containing many vtkPoints: points = self.vtk.vtkPoints() points.SetData(pcoords) # pcoords is a (3 x npoints) array grid = self.vtk.vtkUnstructuredGrid() grid.SetPoints(points) writer = self.vtk.vtkUnstructuredGridWriter() writer.SetFileName(file) writer.SetInputData(grid) writer.Write() This works, but does not make any connection between points. I was hoping I could define the connectivity between points using a vtkCellArray: id = self.vtk.vtkIdTypeArray() id.SetNumberOfTuples(npoints) id.SetNumberOfComponents(1) id.SetVoidArray(connectivity, npoints, 1) connec = self.vtk.vtkCellArray() connec.SetCells(ncel, id) grid.SetCells(self.vtk.VTK_POLY_LINE, connec) In the lines above, "connectivity" is a list containing the connections between points, in the format: [ N0, 0, ..., N0-1, # This is supposed to represent the first line N1, N0, ..., N0+N1-1, # The second line N2, ..., # The third line ... # etc. ] The writer seems happy, as I do not get any errors, but ParaView crashes upon opening the file. Am I doing something wrong? Thanks for your help. From m.nunes at fratoria.com Wed Mar 1 07:31:31 2017 From: m.nunes at fratoria.com (Shark) Date: Wed, 1 Mar 2017 05:31:31 -0700 (MST) Subject: [vtkusers] vtkImageMapToColors vtkWindowLevelLookupTable Message-ID: <1488371491169-5742316.post@n5.nabble.com> Hello, I have recently updated my software from vtk6.2 to vtk7.1 and I am having issues with window/level management on CT Data. I have a small GUI to interact with window/level values. I did not change any code, but now, with vtk7.1, it happens that pixels go black when level goes to very low values and/or window goes to very high values. (Ex: bone pixels go black after a certain threshold.) Has anyone experienced this, or could point me in the right direction? Thank you very much. -- View this message in context: http://vtk.1045678.n5.nabble.com/vtkImageMapToColors-vtkWindowLevelLookupTable-tp5742316.html Sent from the VTK - Users mailing list archive at Nabble.com. From david.gobbi at gmail.com Wed Mar 1 08:11:56 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Wed, 1 Mar 2017 06:11:56 -0700 Subject: [vtkusers] vtkImageMapToColors vtkWindowLevelLookupTable In-Reply-To: <1488371491169-5742316.post@n5.nabble.com> References: <1488371491169-5742316.post@n5.nabble.com> Message-ID: This might be related to the following known bug: https://gitlab.kitware.com/vtk/vtk/issues/16966 The bug occurs if you build the table by calling lookupTable->SetTable(array). If this is the case, you can work around this by instead building the table by calling lookupTable->SetTableValue(i, r, g, b, a) for every color. - David On Wed, Mar 1, 2017 at 5:31 AM, Shark wrote: > Hello, > I have recently updated my software from vtk6.2 to vtk7.1 and I am having > issues with window/level management on CT Data. > > I have a small GUI to interact with window/level values. I did not change > any code, but now, with vtk7.1, it happens that pixels go black when level > goes to very low values and/or window goes to very high values. > (Ex: bone pixels go black after a certain threshold.) > > Has anyone experienced this, or could point me in the right direction? > > Thank you very much. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From m.nunes at fratoria.com Wed Mar 1 08:33:15 2017 From: m.nunes at fratoria.com (Shark) Date: Wed, 1 Mar 2017 06:33:15 -0700 (MST) Subject: [vtkusers] vtkImageMapToColors vtkWindowLevelLookupTable In-Reply-To: References: <1488371491169-5742316.post@n5.nabble.com> Message-ID: <1488375195639-5742318.post@n5.nabble.com> Thank you for your quick reply, David. Unfortunately I am not setting the table like that. The vtkWindowLevelLookupTable is set up through: Lookup->SetMinimumTableValue(0, 0, 0, 1); Lookup->SetMaximumTableValue(1, 1, 1, 1); Lookup->Build(); Lookup->SetWindow(ww); Lookup->SetLevel(wl); and then vtkImageMapToColors is set up: ImageMap->SetInputData(imgData); ImageMap->SetOutputFormatToRGB(); ImageMap->SetLookupTable(Lookup); ImageMap->Update(); Now, I am not sure if any of these types has changed from 6.2 to 7.1, causing the pipeline to be incomplete or missing setting something up. -- View this message in context: http://vtk.1045678.n5.nabble.com/VTK-7-1-issue-with-Window-Level-rendered-values-tp5742316p5742318.html Sent from the VTK - Users mailing list archive at Nabble.com. From m.nunes at fratoria.com Wed Mar 1 08:39:51 2017 From: m.nunes at fratoria.com (Shark) Date: Wed, 1 Mar 2017 06:39:51 -0700 (MST) Subject: [vtkusers] vtkImageMapToColors vtkWindowLevelLookupTable In-Reply-To: <1488375195639-5742318.post@n5.nabble.com> References: <1488371491169-5742316.post@n5.nabble.com> <1488375195639-5742318.post@n5.nabble.com> Message-ID: <1488375591253-5742319.post@n5.nabble.com> David, your tip was useful to come up with a fix. Apparently got it working by adding SetTableValue in: Lookup->SetMinimumTableValue(0, 0, 0, 1); Lookup->SetMaximumTableValue(1, 1, 1, 1); Lookup->SetTableValue(0, 0, 0, 0, 1); Lookup->SetTableValue(1, 1, 1, 1, 1); Lookup->Build(); Let me know if there is a more logical/correct fix. Thank you again, Shark -- View this message in context: http://vtk.1045678.n5.nabble.com/VTK-7-1-issue-with-Window-Level-rendered-values-tp5742316p5742319.html Sent from the VTK - Users mailing list archive at Nabble.com. From david.gobbi at gmail.com Wed Mar 1 08:45:47 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Wed, 1 Mar 2017 06:45:47 -0700 Subject: [vtkusers] Why vtkDICOMFileSorter only find one series In-Reply-To: References: Message-ID: Hi James, All of the images in that zip file have the same SeriesInstanceUID. So this is, in fact, a single series that contains two stacks. This is fairly common. The vtkDICOMReader can be used to find the number of stacks: vtkSmartPointer reader = vtkSmartPointer::New(); reader->SetFileNames(sorter->GetFileNamesForSeries(0)); reader->UpdateInformation(); vtkStringArray *stacks = reader->GetStackIDs(); int numberOfStacks = stacks->GetNumberOfValues(); The reader can also be told which stack to read: reader->SetDesiredStackID(stacks->GetValue(0)); reader->Update(); With the "Enhanced MR Image IOD" and the "Enhanced CT Image IOD", it is even possible for a single _file_ to contain multiple stacks. - David On Wed, Mar 1, 2017 at 3:50 AM, chenjianyyzz wrote: > Hello David, > > I have a set of images (it includes 2 series), but the vtkDICOMFileSorter > can only 1 series? > I don't know what's the problem, will any body help me out? > > attached please find the data, and below is the code: > ======================================================== > vtkSmartPointer filenames = vtkSmartPointer< > vtkStringArray>::New(); > filenames->InsertNextValue("A_10_0001_0325.dcm"); > filenames->InsertNextValue("A_10_0001_0326.dcm"); > filenames->InsertNextValue("A_10_0001_0327.dcm"); > filenames->InsertNextValue("A_10_0001_0328.dcm"); > filenames->InsertNextValue("A_10_0001_0329.dcm"); > filenames->InsertNextValue("A_10_0001_0330.dcm"); > filenames->InsertNextValue("A_10_0001_0331.dcm"); > filenames->InsertNextValue("A_10_0001_0332.dcm"); > filenames->InsertNextValue("A_10_0001_0333.dcm"); > filenames->InsertNextValue("A_10_0001_0334.dcm"); > filenames->InsertNextValue("A_10_0001_0335.dcm"); > vtkSmartPointer sorter = vtkSmartPointer > ::New(); > sorter->SetInputFileNames(filenames); > sorter->Update(); > > // Get number of series > int numSeries = sorter->GetNumberOfSeries(); //==> here I expect to get > 2, but only 1 got > ======================================================== > > actually "A_10_0001_0325.dcm" should be seperate into another series, will > any body help me out? > thanks in advance > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.gobbi at gmail.com Wed Mar 1 08:54:17 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Wed, 1 Mar 2017 06:54:17 -0700 Subject: [vtkusers] vtkImageMapToColors vtkWindowLevelLookupTable In-Reply-To: <1488375591253-5742319.post@n5.nabble.com> References: <1488371491169-5742316.post@n5.nabble.com> <1488375195639-5742318.post@n5.nabble.com> <1488375591253-5742319.post@n5.nabble.com> Message-ID: Hi Shark, Glad that you sorted it out. Your fix looks sensible, given the way that the bug works. Essentially, the "under" and "over" colors to left as (0,0,0,0) in certain circumstances, instead of being set to the "min" and "max" colors. Directly calling SetTableValue() is a work-around. Cheers, - David On Wed, Mar 1, 2017 at 6:39 AM, Shark wrote: > David, your tip was useful to come up with a fix. > > Apparently got it working by adding SetTableValue in: > > Lookup->SetMinimumTableValue(0, 0, 0, 1); > Lookup->SetMaximumTableValue(1, 1, 1, 1); > Lookup->SetTableValue(0, 0, 0, 0, 1); > Lookup->SetTableValue(1, 1, 1, 1, 1); > Lookup->Build(); > > Let me know if there is a more logical/correct fix. > > Thank you again, > Shark > > > > -- > View this message in context: http://vtk.1045678.n5.nabble. > com/VTK-7-1-issue-with-Window-Level-rendered-values-tp5742316p5742319.html > Sent from the VTK - Users mailing list archive at Nabble.com. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.gobbi at gmail.com Wed Mar 1 08:55:33 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Wed, 1 Mar 2017 06:55:33 -0700 Subject: [vtkusers] vtkImageMapToColors vtkWindowLevelLookupTable In-Reply-To: References: <1488371491169-5742316.post@n5.nabble.com> <1488375195639-5742318.post@n5.nabble.com> <1488375591253-5742319.post@n5.nabble.com> Message-ID: Please excuse my typo. I meant "colors are left as (0,0,0,0)", not "colors to left as". On Wed, Mar 1, 2017 at 6:54 AM, David Gobbi wrote: > Hi Shark, > > Glad that you sorted it out. Your fix looks sensible, given the way that > the bug works. Essentially, the "under" and "over" colors to left as > (0,0,0,0) in certain circumstances, instead of being set to the "min" and > "max" colors. Directly calling SetTableValue() is a work-around. > > Cheers, > - David > > On Wed, Mar 1, 2017 at 6:39 AM, Shark wrote: > >> David, your tip was useful to come up with a fix. >> >> Apparently got it working by adding SetTableValue in: >> >> Lookup->SetMinimumTableValue(0, 0, 0, 1); >> Lookup->SetMaximumTableValue(1, 1, 1, 1); >> Lookup->SetTableValue(0, 0, 0, 0, 1); >> Lookup->SetTableValue(1, 1, 1, 1, 1); >> Lookup->Build(); >> >> Let me know if there is a more logical/correct fix. >> >> Thank you again, >> Shark >> >> >> >> -- >> View this message in context: http://vtk.1045678.n5.nabble.c >> om/VTK-7-1-issue-with-Window-Level-rendered-values-tp5742316p5742319.html >> Sent from the VTK - Users mailing list archive at Nabble.com. >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: >> http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.levy at leddartech.com Wed Mar 1 09:28:33 2017 From: david.levy at leddartech.com (Mwoua) Date: Wed, 1 Mar 2017 07:28:33 -0700 (MST) Subject: [vtkusers] Draw thousands of different size and color 3D rectangles several times per second In-Reply-To: References: Message-ID: <1488378513319-5742323.post@n5.nabble.com> It looks good, however, I dont really understand yet how scaling works and I want all my rectangles to have different size and color so I'm still trying things up. Currently im using a vtkPolyData holding vtkCellArray and vtkCellArray to draw 2D rectangle and try the color scaling. Bill Lorensen wrote > Use vtkGlyph3D to efficiently render glyphs of your choice. > Type > site:vtk.org/Wiki/VTK/Examples vtkGlyph3D > into google to see how to use it. > > Also, the most recent VTK has a number of point cloud processing. See: > http://www.vtk.org/Wiki/VTK/Examples/Cxx#Point_cloud_operations -- View this message in context: http://vtk.1045678.n5.nabble.com/Draw-thousands-of-different-size-and-color-3D-rectangles-several-times-per-second-tp5742310p5742323.html Sent from the VTK - Users mailing list archive at Nabble.com. From bdoucet at singlewave.com Wed Mar 1 10:03:13 2017 From: bdoucet at singlewave.com (bdoucet) Date: Wed, 1 Mar 2017 08:03:13 -0700 (MST) Subject: [vtkusers] Build VTK Android on windows In-Reply-To: <1488228329038-5742302.post@n5.nabble.com> References: <1488228329038-5742302.post@n5.nabble.com> Message-ID: <1488380593538-5742324.post@n5.nabble.com> Sorry, Here is what I did: 1- used cmake-gui : selected - Generator Visual Studio 14 2015 used default native compiler 2- pressed compile 3- set : VTK_ANDROID_BUILD 4- pressed configure 5- ANDROID_ARCH_ABI armeabi ANDROID_EXECUTABLE C:/Android/sdk/tools/android.bat ANDROID_NATIVE_API_LEVEL 21 ANDROID_NTK C:/Android/android-ndk-r13b ANT_EXECUTABLE C:/apache-ant-1.9.7/bin/ant.bat 6- pressed configure: Configuring done (extremely fast doing nothing it seems) 7- pressed Generate: Generating done (extremely fast doing nothing it seems) Nothing has been generated, I should have something under the bin folder. -- View this message in context: http://vtk.1045678.n5.nabble.com/Build-VTK-Android-on-windows-tp5742265p5742324.html Sent from the VTK - Users mailing list archive at Nabble.com. From chenjianyyzz at 163.com Wed Mar 1 09:54:56 2017 From: chenjianyyzz at 163.com (chenjianyyzz) Date: Wed, 1 Mar 2017 22:54:56 +0800 (CST) Subject: [vtkusers] Why vtkDICOMFileSorter only find one series In-Reply-To: References: Message-ID: <13fa518c.d8c7.15a8a5dee77.Coremail.chenjianyyzz@163.com> Hello David, greak, thank you very much. further question: in the attached files there are 2 stacks, and now I want to find which DICOM files belongs to stack0, and which belongs stack1, how can I find it? is there any function that I can get the files list for stack0, just like how I get the file list for somes series? vtkStringArray *seriesFilenames = sorter->GetFileNamesForSeries(i); Best Regards James At 2017-03-01 21:45:47, "David Gobbi" wrote: Hi James, All of the images in that zip file have the same SeriesInstanceUID. So this is, in fact, a single series that contains two stacks. This is fairly common. The vtkDICOMReader can be used to find the number of stacks: vtkSmartPointer reader = vtkSmartPointer::New(); reader->SetFileNames(sorter->GetFileNamesForSeries(0)); reader->UpdateInformation(); vtkStringArray *stacks = reader->GetStackIDs(); int numberOfStacks = stacks->GetNumberOfValues(); The reader can also be told which stack to read: reader->SetDesiredStackID(stacks->GetValue(0)); reader->Update(); With the "Enhanced MR Image IOD" and the "Enhanced CT Image IOD", it is even possible for a single _file_ to contain multiple stacks. - David On Wed, Mar 1, 2017 at 3:50 AM, chenjianyyzz wrote: Hello David, I have a set of images (it includes 2 series), but the vtkDICOMFileSorter can only 1 series? I don't know what's the problem, will any body help me out? attached please find the data, and below is the code: ======================================================== vtkSmartPointer filenames = vtkSmartPointer::New(); filenames->InsertNextValue("A_10_0001_0325.dcm"); filenames->InsertNextValue("A_10_0001_0326.dcm"); filenames->InsertNextValue("A_10_0001_0327.dcm"); filenames->InsertNextValue("A_10_0001_0328.dcm"); filenames->InsertNextValue("A_10_0001_0329.dcm"); filenames->InsertNextValue("A_10_0001_0330.dcm"); filenames->InsertNextValue("A_10_0001_0331.dcm"); filenames->InsertNextValue("A_10_0001_0332.dcm"); filenames->InsertNextValue("A_10_0001_0333.dcm"); filenames->InsertNextValue("A_10_0001_0334.dcm"); filenames->InsertNextValue("A_10_0001_0335.dcm"); vtkSmartPointer sorter = vtkSmartPointer ::New(); sorter->SetInputFileNames(filenames); sorter->Update(); // Get number of series int numSeries = sorter->GetNumberOfSeries();//==> here I expect to get 2, but only 1 got ======================================================== actually "A_10_0001_0325.dcm" should be seperate into another series, will any body help me out? thanks in advance -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.gobbi at gmail.com Wed Mar 1 10:55:52 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Wed, 1 Mar 2017 08:55:52 -0700 Subject: [vtkusers] Why vtkDICOMFileSorter only find one series In-Reply-To: <13fa518c.d8c7.15a8a5dee77.Coremail.chenjianyyzz@163.com> References: <13fa518c.d8c7.15a8a5dee77.Coremail.chenjianyyzz@163.com> Message-ID: Yes, there is a roundabout way that you can do this, because the reader can sort the files into stacks. vtkSmartPointer reader = vtkSmartPointer< vtkDICOMReader>::New(); reader->SetFileNames(fileArray); reader->UpdateInformation(); vtkStringArray *stacks = reader->GetStackIDs(); int numberOfStacks = stacks->GetNumberOfValues(); int stackNumber = 1; // for example reader->SetDesiredStackID(stacks->GetValue(stackNumber)); reader->UpdateInformation(); vtkIntArray *filesInStack = reader->GetFileIndexArray(); for (int fileNumber = 0; fileNumber < filesInStack->GetNumberOfValues(); fileNumber++) { std::cout << fileArray->GetValue(filesInStack->GetValue(jj)).c_str() << std::endl; } So this code will use the FileIndexArray() to get a sorted list of the files in the stack. Once you have the files you want, you can throw away the reader. Note that I only call UpdateInformation() on the reader, so it is only reading the file headers. - David On Wed, Mar 1, 2017 at 7:54 AM, chenjianyyzz wrote: > Hello David, > > greak, thank you very much. further question: in the attached files there > are 2 stacks, and now I want to find which DICOM files belongs to stack0, > and which belongs stack1, how can I find it? > is there any function that I can get the files list for stack0, just like > how I get the file list for somes series? > vtkStringArray *seriesFilenames = sorter->GetFileNamesForSeries(i); > > > Best Regards > James > > > > > > At 2017-03-01 21:45:47, "David Gobbi" wrote: > > Hi James, > > All of the images in that zip file have the same SeriesInstanceUID. So > this is, in fact, a single series that contains two stacks. This is fairly > common. > > The vtkDICOMReader can be used to find the number of stacks: > > vtkSmartPointer reader = vtkSmartPointer >::New(); > reader->SetFileNames(sorter->GetFileNamesForSeries(0)); > reader->UpdateInformation(); > vtkStringArray *stacks = reader->GetStackIDs(); > int numberOfStacks = stacks->GetNumberOfValues(); > > The reader can also be told which stack to read: > > reader->SetDesiredStackID(stacks->GetValue(0)); > reader->Update(); > > With the "Enhanced MR Image IOD" and the "Enhanced CT Image IOD", it is > even possible for a single _file_ to contain multiple stacks. > > - David > > > > > > > > On Wed, Mar 1, 2017 at 3:50 AM, chenjianyyzz wrote: > >> Hello David, >> >> I have a set of images (it includes 2 series), but the >> vtkDICOMFileSorter can only 1 series? >> I don't know what's the problem, will any body help me out? >> >> attached please find the data, and below is the code: >> ======================================================== >> vtkSmartPointer filenames = >> vtkSmartPointer::New(); >> filenames->InsertNextValue("A_10_0001_0325.dcm"); >> filenames->InsertNextValue("A_10_0001_0326.dcm"); >> filenames->InsertNextValue("A_10_0001_0327.dcm"); >> filenames->InsertNextValue("A_10_0001_0328.dcm"); >> filenames->InsertNextValue("A_10_0001_0329.dcm"); >> filenames->InsertNextValue("A_10_0001_0330.dcm"); >> filenames->InsertNextValue("A_10_0001_0331.dcm"); >> filenames->InsertNextValue("A_10_0001_0332.dcm"); >> filenames->InsertNextValue("A_10_0001_0333.dcm"); >> filenames->InsertNextValue("A_10_0001_0334.dcm"); >> filenames->InsertNextValue("A_10_0001_0335.dcm"); >> vtkSmartPointer sorter = vtkSmartPointer >> ::New(); >> sorter->SetInputFileNames(filenames); >> sorter->Update(); >> >> // Get number of series >> int numSeries = sorter->GetNumberOfSeries(); //==> here I expect to get >> 2, but only 1 got >> ======================================================== >> >> actually "A_10_0001_0325.dcm" should be seperate into another series, >> will any body help me out? >> thanks in advance >> >> >> >> > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.gobbi at gmail.com Wed Mar 1 10:57:41 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Wed, 1 Mar 2017 08:57:41 -0700 Subject: [vtkusers] Why vtkDICOMFileSorter only find one series In-Reply-To: References: <13fa518c.d8c7.15a8a5dee77.Coremail.chenjianyyzz@163.com> Message-ID: And I'd better fix my typo in the code. The last line should be this: fileArray->GetValue(filesInStack->GetValue(fileNumber)).c_str() On Wed, Mar 1, 2017 at 8:55 AM, David Gobbi wrote: > Yes, there is a roundabout way that you can do this, because the reader > can sort the files into stacks. > > vtkSmartPointer reader = vtkSmartPointer >::New(); > reader->SetFileNames(fileArray); > reader->UpdateInformation(); > > vtkStringArray *stacks = reader->GetStackIDs(); > int numberOfStacks = stacks->GetNumberOfValues(); > int stackNumber = 1; // for example > > reader->SetDesiredStackID(stacks->GetValue(stackNumber)); > reader->UpdateInformation(); > > vtkIntArray *filesInStack = reader->GetFileIndexArray(); > for (int fileNumber = 0; fileNumber < filesInStack->GetNumberOfValues(); > fileNumber++) > { > std::cout << fileArray->GetValue(filesInStack->GetValue(jj)).c_str() > << std::endl; > } > > So this code will use the FileIndexArray() to get a sorted list of the > files in the stack. Once you have the files you want, you can throw away > the reader. Note that I only call UpdateInformation() on the reader, so it > is only reading the file headers. > > - David > > > On Wed, Mar 1, 2017 at 7:54 AM, chenjianyyzz wrote: > >> Hello David, >> >> greak, thank you very much. further question: in the attached files there >> are 2 stacks, and now I want to find which DICOM files belongs to stack0, >> and which belongs stack1, how can I find it? >> is there any function that I can get the files list for stack0, just like >> how I get the file list for somes series? >> vtkStringArray *seriesFilenames = sorter->GetFileNamesForSeries(i); >> >> >> Best Regards >> James >> >> >> >> >> >> At 2017-03-01 21:45:47, "David Gobbi" wrote: >> >> Hi James, >> >> All of the images in that zip file have the same SeriesInstanceUID. So >> this is, in fact, a single series that contains two stacks. This is fairly >> common. >> >> The vtkDICOMReader can be used to find the number of stacks: >> >> vtkSmartPointer reader = vtkSmartPointer> >::New(); >> reader->SetFileNames(sorter->GetFileNamesForSeries(0)); >> reader->UpdateInformation(); >> vtkStringArray *stacks = reader->GetStackIDs(); >> int numberOfStacks = stacks->GetNumberOfValues(); >> >> The reader can also be told which stack to read: >> >> reader->SetDesiredStackID(stacks->GetValue(0)); >> reader->Update(); >> >> With the "Enhanced MR Image IOD" and the "Enhanced CT Image IOD", it is >> even possible for a single _file_ to contain multiple stacks. >> >> - David >> >> >> >> >> >> >> >> On Wed, Mar 1, 2017 at 3:50 AM, chenjianyyzz >> wrote: >> >>> Hello David, >>> >>> I have a set of images (it includes 2 series), but the >>> vtkDICOMFileSorter can only 1 series? >>> I don't know what's the problem, will any body help me out? >>> >>> attached please find the data, and below is the code: >>> ======================================================== >>> vtkSmartPointer filenames = >>> vtkSmartPointer::New(); >>> filenames->InsertNextValue("A_10_0001_0325.dcm"); >>> filenames->InsertNextValue("A_10_0001_0326.dcm"); >>> filenames->InsertNextValue("A_10_0001_0327.dcm"); >>> filenames->InsertNextValue("A_10_0001_0328.dcm"); >>> filenames->InsertNextValue("A_10_0001_0329.dcm"); >>> filenames->InsertNextValue("A_10_0001_0330.dcm"); >>> filenames->InsertNextValue("A_10_0001_0331.dcm"); >>> filenames->InsertNextValue("A_10_0001_0332.dcm"); >>> filenames->InsertNextValue("A_10_0001_0333.dcm"); >>> filenames->InsertNextValue("A_10_0001_0334.dcm"); >>> filenames->InsertNextValue("A_10_0001_0335.dcm"); >>> vtkSmartPointer sorter = vtkSmartPointer >>> ::New(); >>> sorter->SetInputFileNames(filenames); >>> sorter->Update(); >>> >>> // Get number of series >>> int numSeries = sorter->GetNumberOfSeries(); //==> here I expect to get >>> 2, but only 1 got >>> ======================================================== >>> >>> actually "A_10_0001_0325.dcm" should be seperate into another series, >>> will any body help me out? >>> thanks in advance >>> >>> >>> >>> >> >> >> >> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shildyakov at saldlab.com Wed Mar 1 11:02:10 2017 From: shildyakov at saldlab.com (Alexey Shildyakov) Date: Wed, 1 Mar 2017 19:02:10 +0300 Subject: [vtkusers] Extract surface shell polygons Message-ID: Hello everyone, I'm sorry if that question has already been answered but I didn't find anything. I want to extract only polygons from surface shell of PolyData. So - the only outside polygons, not inside the volume. What I mean: from vtk import vtkCellArray, vtkIdList, vtkPoints, vtkPolyData # coords raw_points = ( (-1, -1, 1), (-1, 1, 1), (1, 1, 1), (1, -1, 1), (-1, -1, -1), (-1, 1, -1), (1, 1, -1), (1, -1, -1), (0, 0, 0) ) # cell = indexes of triangle raw_cells = [ (0, 1, 3), (2, 3, 1), (4, 5, 0), (1, 0, 5), (7, 6, 4), (5, 4, 6), (3, 2, 7), (6, 7, 2), (1, 5, 2), (6, 2, 5), (4, 7, 0), (3, 0, 7), ] must_kept = len(raw_cells) raw_cells.extend(( (0, 8, 3), (1, 8, 2), (1, 8, 0), (2, 8, 3), (5, 8, 4), (6, 8, 7), (5, 8, 6), (4, 8, 7), )) def init_data(): points = vtkPoints() for i, point in enumerate(raw_points): points.InsertPoint(i, point) cells = vtkCellArray() for raw_cell in raw_cells: cell = vtkIdList() for id_ in raw_cell: cell.InsertNextId(id_) cells.InsertNextCell(cell) data = vtkPolyData() data.SetPoints(points) data.SetPolys(cells) return data I use the cube with one point inside and triangle cells for that, I want to use filter to remove inner cells - it used to extend raw_cells array. I tried vtkPolyDataConnectivityFilter() and vtkPolyDataConnectivityFilter() with no success in the way: data = init_data() filter_ = vtkPolyDataConnectivityFilter() filter_.SetInput(data) filter_.Update() surface_data = filter_.GetOutput() print('{} kept after filter {} of all'.format(surface_data.GetNumberOfCells(), data.GetNumberOfCells())) print('{} points kept after filter {} of all'.format(surface_data.GetNumberOfPoints(), data.GetNumberOfPoints())) And got: 20 kept after filter 20 of all 9 points kept after filter 9 of all while expected: 12 kept after filter 20 of all 8 points kept after filter 9 of all Which filter should I use to get the result? -------------- next part -------------- An HTML attachment was scrubbed... URL: From bakkari.abdelkhalek at hotmail.fr Wed Mar 1 12:11:18 2017 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Wed, 1 Mar 2017 17:11:18 +0000 Subject: [vtkusers] Normal Direction of point set Message-ID: Dear VTK users, I would like to ask about the way of normal direction computation of point set. Thank you in advance. Best regards, Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland -------------- next part -------------- An HTML attachment was scrubbed... URL: From bill.lorensen at gmail.com Wed Mar 1 12:34:35 2017 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Wed, 1 Mar 2017 12:34:35 -0500 Subject: [vtkusers] Normal Direction of point set In-Reply-To: References: Message-ID: In vtk7.1 use vtkPCANormalEstimation see the example: http://www.vtk.org/Wiki/VTK/Examples/Cxx/Points/NormalEstimation On Wed, Mar 1, 2017 at 12:11 PM, Abdelkhalek Bakkari wrote: > Dear VTK users, > > > I would like to ask about the way of normal direction computation of point > set. > > > Thank you in advance. > > > Best regards, > > > Abdelkhalek Bakkari > Ph.D candidate in Computer Science > Institute of Applied Computer Science > Lodz University of Technology, Poland > > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -- Unpaid intern in BillsBasement at noware dot com From david.levy at leddartech.com Wed Mar 1 15:06:47 2017 From: david.levy at leddartech.com (Mwoua) Date: Wed, 1 Mar 2017 13:06:47 -0700 (MST) Subject: [vtkusers] Draw thousands of different size and color 3D rectangles several times per second In-Reply-To: References: Message-ID: <1488398807068-5742331.post@n5.nabble.com> I have built my polydata and glyph3D, but I can't find a way to give them the color I want. The color is also using the size scaling. How can I specify the size and color of each glyph independantly? (ergo how can I use my array of colors for each point) You can find my current code below if it can helps. Thanks, David vtkSmartPointer points = vtkSmartPointer::New(); vtkSmartPointer cubeSource = vtkSmartPointer::New(); cubeSource->SetXLength(x); cubeSource->SetYLength(y); cubeSource->SetZLength(z); // Setup scale for size vtkSmartPointer dscale = vtkSmartPointer::New(); dscale->SetName("dscale"); //and color vtkSmartPointer colors = vtkSmartPointer::New(); colors->SetNumberOfComponents(3); //build points and scales for(...){ points->InsertNextPoint(lPoint1.x,lPoint1.y,lPoint1.z); dscale->InsertNextValue(lDistance); unsigned char lCol[3] = { lColor.red(), lColor.green(), lColor.blue() }; colors->InsertNextTypedTuple(lCol); } // Combine into a polydata vtkSmartPointer polydata = vtkSmartPointer::New(); polydata->SetPoints(points); polydata->GetPointData()->SetScalars(dscale); vtkSmartPointer glyph3D = vtkSmartPointer::New(); glyph3D->SetScaleModeToScaleByScalar(); glyph3D->SetSourceConnection(cubeSource->GetOutputPort()); glyph3D->SetInputData(polydata); glyph3D->Update(); // Create a mapper and actor vtkSmartPointer mapper = vtkSmartPointer::New(); mapper->SetInputConnection(glyph3D->GetOutputPort()); vtkSmartPointer actor = vtkSmartPointer::New(); actor->SetMapper(mapper); // Add the actor to the scene renderer->AddActor(actor); -- View this message in context: http://vtk.1045678.n5.nabble.com/Draw-thousands-of-different-size-and-color-3D-rectangles-several-times-per-second-tp5742310p5742331.html Sent from the VTK - Users mailing list archive at Nabble.com. From bakkari.abdelkhalek at hotmail.fr Wed Mar 1 19:48:58 2017 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Thu, 2 Mar 2017 00:48:58 +0000 Subject: [vtkusers] Normal Direction of point set In-Reply-To: References: , Message-ID: Dear Mr Bill, Thank you for your prompt answer. I tried to adopt vtkPCANormalEstimation. But, I could not find the vtkFiltersPointsModule.h. Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland ________________________________ From: Bill Lorensen Sent: 01 March 2017 18:34 To: Abdelkhalek Bakkari Cc: VTK Mailing List Subject: Re: [vtkusers] Normal Direction of point set In vtk7.1 use vtkPCANormalEstimation see the example: http://www.vtk.org/Wiki/VTK/Examples/Cxx/Points/NormalEstimation VTK/Examples/Cxx/Points/NormalEstimation - KitwarePublic www.vtk.org Download and Build NormalEstimation. Click here to download NormalEstimation. and its CMakeLists.txt file. Once the tarball NormalEstimation.tar has been downloaded ... On Wed, Mar 1, 2017 at 12:11 PM, Abdelkhalek Bakkari wrote: > Dear VTK users, > > > I would like to ask about the way of normal direction computation of point > set. > > > Thank you in advance. > > > Best regards, > > > Abdelkhalek Bakkari > Ph.D candidate in Computer Science > Institute of Applied Computer Science > Lodz University of Technology, Poland > > > > _______________________________________________ > Powered by www.kitware.com [http://www.kitware.com/img/Areas_Index_Home.jpg] Kitware Inc. - leading edge, high-quality software www.kitware.com Kitware's mission is to create state-of-the-art software products and services in visualization and data processing using advanced quality software methods and ... > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html OPEN SOURCE - Kitware www.kitware.com Kitware develops, maintains and supports a wide array of toolkits and applications that are used by tens of thousands of software developers, researchers and ... > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -- Unpaid intern in BillsBasement at noware dot com -------------- next part -------------- An HTML attachment was scrubbed... URL: From bill.lorensen at gmail.com Wed Mar 1 20:56:12 2017 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Wed, 1 Mar 2017 20:56:12 -0500 Subject: [vtkusers] Normal Direction of point set In-Reply-To: References: Message-ID: What version of VTK? You need 7.1 On Mar 1, 2017 7:49 PM, "Abdelkhalek Bakkari" < bakkari.abdelkhalek at hotmail.fr> wrote: > Dear Mr Bill, > > > Thank you for your prompt answer. I tried to adopt vtkPCANormalEstimation. > But, I could not find the vtkFiltersPointsModule.h. > > > > > Abdelkhalek Bakkari > Ph.D candidate in Computer Science > Institute of Applied Computer Science > Lodz University of Technology, Poland > > > > > ------------------------------ > *From:* Bill Lorensen > *Sent:* 01 March 2017 18:34 > *To:* Abdelkhalek Bakkari > *Cc:* VTK Mailing List > *Subject:* Re: [vtkusers] Normal Direction of point set > > In vtk7.1 use > vtkPCANormalEstimation > > see the example: > http://www.vtk.org/Wiki/VTK/Examples/Cxx/Points/NormalEstimation > VTK/Examples/Cxx/Points/NormalEstimation - KitwarePublic > > www.vtk.org > Download and Build NormalEstimation. Click here to download > NormalEstimation. and its CMakeLists.txt file. Once the tarball > NormalEstimation.tar has been downloaded ... > > > > > On Wed, Mar 1, 2017 at 12:11 PM, Abdelkhalek Bakkari > wrote: > > Dear VTK users, > > > > > > I would like to ask about the way of normal direction computation of > point > > set. > > > > > > Thank you in advance. > > > > > > Best regards, > > > > > > Abdelkhalek Bakkari > > Ph.D candidate in Computer Science > > Institute of Applied Computer Science > > Lodz University of Technology, Poland > > > > > > > > _______________________________________________ > > Powered by www.kitware.com > > Kitware Inc. - leading edge, high-quality software > > www.kitware.com > Kitware's mission is to create state-of-the-art software products and > services in visualization and data processing using advanced quality > software methods and ... > > > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > OPEN SOURCE - Kitware > www.kitware.com > Kitware develops, maintains and supports a wide array of toolkits and > applications that are used by tens of thousands of software developers, > researchers and ... > > > > > > Please keep messages on-topic and check the VTK FAQ at: > > http://www.vtk.org/Wiki/VTK_FAQ > > > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > > > Follow this link to subscribe/unsubscribe: > > http://public.kitware.com/mailman/listinfo/vtkusers > > > > > > -- > Unpaid intern in BillsBasement at noware dot com > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chenjianyyzz at 163.com Wed Mar 1 20:49:02 2017 From: chenjianyyzz at 163.com (chenjianyyzz) Date: Thu, 2 Mar 2017 09:49:02 +0800 (CST) Subject: [vtkusers] Why vtkDICOMFileSorter only find one series In-Reply-To: References: <13fa518c.d8c7.15a8a5dee77.Coremail.chenjianyyzz@163.com> Message-ID: <1363fc5e.25d2.15a8cb4c8ca.Coremail.chenjianyyzz@163.com> Hello David, thank you for your great help, the solution you provided above solved my question. Best Regards James At 2017-03-01 23:57:41, "David Gobbi" wrote: And I'd better fix my typo in the code. The last line should be this: fileArray->GetValue(filesInStack->GetValue(fileNumber)).c_str() On Wed, Mar 1, 2017 at 8:55 AM, David Gobbi wrote: Yes, there is a roundabout way that you can do this, because the reader can sort the files into stacks. vtkSmartPointer reader = vtkSmartPointer::New(); reader->SetFileNames(fileArray); reader->UpdateInformation(); vtkStringArray *stacks = reader->GetStackIDs(); int numberOfStacks = stacks->GetNumberOfValues(); int stackNumber = 1; // for example reader->SetDesiredStackID(stacks->GetValue(stackNumber)); reader->UpdateInformation(); vtkIntArray *filesInStack = reader->GetFileIndexArray(); for (int fileNumber = 0; fileNumber < filesInStack->GetNumberOfValues(); fileNumber++) { std::cout << fileArray->GetValue(filesInStack->GetValue(jj)).c_str() << std::endl; } So this code will use the FileIndexArray() to get a sorted list of the files in the stack. Once you have the files you want, you can throw away the reader. Note that I only call UpdateInformation() on the reader, so it is only reading the file headers. - David On Wed, Mar 1, 2017 at 7:54 AM, chenjianyyzz wrote: Hello David, greak, thank you very much. further question: in the attached files there are 2 stacks, and now I want to find which DICOM files belongs to stack0, and which belongs stack1, how can I find it? is there any function that I can get the files list for stack0, just like how I get the file list for somes series? vtkStringArray *seriesFilenames = sorter->GetFileNamesForSeries(i); Best Regards James At 2017-03-01 21:45:47, "David Gobbi" wrote: Hi James, All of the images in that zip file have the same SeriesInstanceUID. So this is, in fact, a single series that contains two stacks. This is fairly common. The vtkDICOMReader can be used to find the number of stacks: vtkSmartPointer reader = vtkSmartPointer::New(); reader->SetFileNames(sorter->GetFileNamesForSeries(0)); reader->UpdateInformation(); vtkStringArray *stacks = reader->GetStackIDs(); int numberOfStacks = stacks->GetNumberOfValues(); The reader can also be told which stack to read: reader->SetDesiredStackID(stacks->GetValue(0)); reader->Update(); With the "Enhanced MR Image IOD" and the "Enhanced CT Image IOD", it is even possible for a single _file_ to contain multiple stacks. - David On Wed, Mar 1, 2017 at 3:50 AM, chenjianyyzz wrote: Hello David, I have a set of images (it includes 2 series), but the vtkDICOMFileSorter can only 1 series? I don't know what's the problem, will any body help me out? attached please find the data, and below is the code: ======================================================== vtkSmartPointer filenames = vtkSmartPointer::New(); filenames->InsertNextValue("A_10_0001_0325.dcm"); filenames->InsertNextValue("A_10_0001_0326.dcm"); filenames->InsertNextValue("A_10_0001_0327.dcm"); filenames->InsertNextValue("A_10_0001_0328.dcm"); filenames->InsertNextValue("A_10_0001_0329.dcm"); filenames->InsertNextValue("A_10_0001_0330.dcm"); filenames->InsertNextValue("A_10_0001_0331.dcm"); filenames->InsertNextValue("A_10_0001_0332.dcm"); filenames->InsertNextValue("A_10_0001_0333.dcm"); filenames->InsertNextValue("A_10_0001_0334.dcm"); filenames->InsertNextValue("A_10_0001_0335.dcm"); vtkSmartPointer sorter = vtkSmartPointer ::New(); sorter->SetInputFileNames(filenames); sorter->Update(); // Get number of series int numSeries = sorter->GetNumberOfSeries();//==> here I expect to get 2, but only 1 got ======================================================== actually "A_10_0001_0325.dcm" should be seperate into another series, will any body help me out? thanks in advance -------------- next part -------------- An HTML attachment was scrubbed... URL: From Wiggerl at Linhuber.info Thu Mar 2 01:16:04 2017 From: Wiggerl at Linhuber.info (Willy) Date: Wed, 1 Mar 2017 23:16:04 -0700 (MST) Subject: [vtkusers] vtkImageData Modified: Just update a small area of the data? In-Reply-To: References: <1487755557519-5742276.post@n5.nabble.com> <1488272778790-5742304.post@n5.nabble.com> Message-ID: <1488435364416-5742335.post@n5.nabble.com> Thanks for your answers. I will try the MultiBlockVolumeMapper, but thats not possible yet, because im am working with Visual studio 2010 and thats not supported by the newest vtk version. i will buy vs 2017, but thats not released yet. In the meantime i tried another solution. i thought i could do all my small changes on downsampled data and if thats done i could load the high resolution data. The problem is, that my picture freezes for 2-3 seconds (until the high resolution data is loaded), because my thread is blocked. to prohibit that, i created two threads with to different vtkRenderWindows,pipelines and everything else in it. i tryed to load the 3gb data in one thread and only switch the picture to that thread if the loading is done. That would basically work. The problem here is that the gpu-load goes up to 98% while i am loading the 3gb data. The other thread can not render anything in that time because the gpu is blocked. Can i somehow tell the 3gb-thread to just use for example 50% of gpu-load (half gpu-load and double time)? -- View this message in context: http://vtk.1045678.n5.nabble.com/vtkImageData-Modified-Just-update-a-small-area-of-the-data-tp5742276p5742335.html Sent from the VTK - Users mailing list archive at Nabble.com. From bakkari.abdelkhalek at hotmail.fr Thu Mar 2 01:17:25 2017 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Thu, 2 Mar 2017 06:17:25 +0000 Subject: [vtkusers] Normal Direction of point set In-Reply-To: References: , Message-ID: Mine is 5.10.1. Can I get two different versions of VTK in the same windows and used for the same project? Is there any other way please? ________________________________ From: Bill Lorensen Sent: 02 March 2017 02:56 To: Abdelkhalek Bakkari Cc: VTK Users Subject: Re: [vtkusers] Normal Direction of point set What version of VTK? You need 7.1 On Mar 1, 2017 7:49 PM, "Abdelkhalek Bakkari" > wrote: Dear Mr Bill, Thank you for your prompt answer. I tried to adopt vtkPCANormalEstimation. But, I could not find the vtkFiltersPointsModule.h. Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland ________________________________ From: Bill Lorensen > Sent: 01 March 2017 18:34 To: Abdelkhalek Bakkari Cc: VTK Mailing List Subject: Re: [vtkusers] Normal Direction of point set In vtk7.1 use vtkPCANormalEstimation see the example: http://www.vtk.org/Wiki/VTK/Examples/Cxx/Points/NormalEstimation VTK/Examples/Cxx/Points/NormalEstimation - KitwarePublic www.vtk.org Download and Build NormalEstimation. Click here to download NormalEstimation. and its CMakeLists.txt file. Once the tarball NormalEstimation.tar has been downloaded ... On Wed, Mar 1, 2017 at 12:11 PM, Abdelkhalek Bakkari > wrote: > Dear VTK users, > > > I would like to ask about the way of normal direction computation of point > set. > > > Thank you in advance. > > > Best regards, > > > Abdelkhalek Bakkari > Ph.D candidate in Computer Science > Institute of Applied Computer Science > Lodz University of Technology, Poland > > > > _______________________________________________ > Powered by www.kitware.com [http://www.kitware.com/img/Areas_Index_Home.jpg] Kitware Inc. - leading edge, high-quality software www.kitware.com Kitware's mission is to create state-of-the-art software products and services in visualization and data processing using advanced quality software methods and ... > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html OPEN SOURCE - Kitware www.kitware.com Kitware develops, maintains and supports a wide array of toolkits and applications that are used by tens of thousands of software developers, researchers and ... > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -- Unpaid intern in BillsBasement at noware dot com -------------- next part -------------- An HTML attachment was scrubbed... URL: From girish.lande at agiliad.com Thu Mar 2 03:55:21 2017 From: girish.lande at agiliad.com (Girish Lande) Date: Thu, 2 Mar 2017 14:25:21 +0530 Subject: [vtkusers] Refreshing window level of vtkImagePlaneWidget Message-ID: Hi All, I am creating 3 vtkImagePlaneWidgets Each showing some image. I want to update their window/level at the same time. that is when I update window level of one widget others should reflect the same. For that I am using callbacks. (following is my code) Each imageplanewidget is in different view. Though window / level is updated its not refreshing changes. I see changes only when I try to update window/level of other image plane widgets. Could you please help me with this ? I want to refresh all widgets to see that window level is getting updated simultaneouly -- thanks & regards, Girish void MainWindow::RegisterCallbackWith2DPlaneWidget() { vtkSmartPointer cbk = vtkSmartPointer::New(); cbk->m_window = this; for (int i = 0; i < 3; i++) { cbk->m_PlaneWidget[i] = m_2DPlaneWidget[i]; m_2DPlaneWidget[i]->AddObserver(vtkCommand::WindowLevelEvent,cbk); } } class MyCallback : public vtkCommand { public: static MyCallback *New() { return new MyCallback; } void Execute( vtkObject *caller, unsigned long ev, void *callData ) { if (ev == vtkCommand::WindowLevelEvent) { vtkImagePlaneWidget* ipw = dynamic_cast< vtkImagePlaneWidget* >( caller ); if (ipw) { double* wl = static_cast( callData ); if ( ipw == this->m_PlaneWidget[0] ) { this->m_PlaneWidget[1]->SetWindowLevel(wl[0],wl[1],1); this->m_PlaneWidget[2]->SetWindowLevel(wl[0],wl[1],1); } else if( ipw == this->m_PlaneWidget[1] ) { this->m_PlaneWidget[0]->SetWindowLevel(wl[0],wl[1],1); this->m_PlaneWidget[2]->SetWindowLevel(wl[0],wl[1],1); } else if (ipw == this->m_PlaneWidget[2]) { this->m_PlaneWidget[0]->SetWindowLevel(wl[0],wl[1],1); this->m_PlaneWidget[1]->SetWindowLevel(wl[0],wl[1],1); } } this->m_PlaneWidget[0]->GetInteractor()->GetRenderWindow()->Render(); this->m_PlaneWidget[1]->GetInteractor()->GetRenderWindow()->Render(); this->m_PlaneWidget[2]->GetInteractor()->GetRenderWindow()->Render(); this->m_PlaneWidget[0]->UpdatePlacement(); this->m_PlaneWidget[1]->UpdatePlacement(); this->m_PlaneWidget[2]->UpdatePlacement(); } } vtkImagePlaneWidget* m_PlaneWidget[3]; } -- ------------------------------------------------------------------------------------------------------------------------- *Disclaimer:* This email message including any attachments is confidential, and may be privileged and proprietary to Agiliad. If you are not the intended recipient, please notify us immediately by replying to this message and destroy all copies of this message including any attachments. You are NOT authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. Thank you. ------------------------------------------------------------------------------------------------------------------------ -------------- next part -------------- An HTML attachment was scrubbed... URL: From jhlegarreta at vicomtech.org Thu Mar 2 04:54:58 2017 From: jhlegarreta at vicomtech.org (Jon Haitz Legarreta) Date: Thu, 2 Mar 2017 10:54:58 +0100 Subject: [vtkusers] Normal Direction of point set In-Reply-To: References: Message-ID: If you mean using parts of a given version (say 5.10.1) and using some other parts of another version (say 7.1), chances are that this approach results in unexpected behavior to say the at least (if you even try). Regardless of whether the toolkit or external library used is VTK or not, that approach is not advisable. The class at issue may depend on other classes or features not present in earlier versions, so you'd better use 7.1 if you need the class. You can perfectly have as many VTK versions as needed installed/built in the same machine. You can use the VTK_MAJOR_VERSION, VTK_MINOR_VERSION, etc. flags in your project if you want to use the feature depending on the availability of the VTK version your project links against. At least if the feature is not critical. JON HAITZ -- On 2 March 2017 at 07:17, Abdelkhalek Bakkari < bakkari.abdelkhalek at hotmail.fr> wrote: > Mine is 5.10.1. Can I get two different versions of VTK in the same > windows and used for the same project? Is there any other way please? > > > > > > > ------------------------------ > *From:* Bill Lorensen > *Sent:* 02 March 2017 02:56 > *To:* Abdelkhalek Bakkari > *Cc:* VTK Users > > *Subject:* Re: [vtkusers] Normal Direction of point set > > What version of VTK? You need 7.1 > > On Mar 1, 2017 7:49 PM, "Abdelkhalek Bakkari" < > bakkari.abdelkhalek at hotmail.fr> wrote: > >> Dear Mr Bill, >> >> >> Thank you for your prompt answer. I tried to adopt vtkPCANormalEstimation. >> But, I could not find the vtkFiltersPointsModule.h. >> >> >> >> >> Abdelkhalek Bakkari >> Ph.D candidate in Computer Science >> Institute of Applied Computer Science >> Lodz University of Technology, Poland >> >> >> >> >> ------------------------------ >> *From:* Bill Lorensen >> *Sent:* 01 March 2017 18:34 >> *To:* Abdelkhalek Bakkari >> *Cc:* VTK Mailing List >> *Subject:* Re: [vtkusers] Normal Direction of point set >> >> In vtk7.1 use >> vtkPCANormalEstimation >> >> see the example: >> http://www.vtk.org/Wiki/VTK/Examples/Cxx/Points/NormalEstimation >> VTK/Examples/Cxx/Points/NormalEstimation - KitwarePublic >> >> www.vtk.org >> Download and Build NormalEstimation. Click here to download >> NormalEstimation. and its CMakeLists.txt file. Once the tarball >> NormalEstimation.tar has been downloaded ... >> >> >> >> >> On Wed, Mar 1, 2017 at 12:11 PM, Abdelkhalek Bakkari >> wrote: >> > Dear VTK users, >> > >> > >> > I would like to ask about the way of normal direction computation of >> point >> > set. >> > >> > >> > Thank you in advance. >> > >> > >> > Best regards, >> > >> > >> > Abdelkhalek Bakkari >> > Ph.D candidate in Computer Science >> > Institute of Applied Computer Science >> > Lodz University of Technology, Poland >> > >> > >> > >> > _______________________________________________ >> > Powered by www.kitware.com >> >> Kitware Inc. - leading edge, high-quality software >> >> www.kitware.com >> Kitware's mission is to create state-of-the-art software products and >> services in visualization and data processing using advanced quality >> software methods and ... >> >> >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> OPEN SOURCE - Kitware >> www.kitware.com >> Kitware develops, maintains and supports a wide array of toolkits and >> applications that are used by tens of thousands of software developers, >> researchers and ... >> >> >> > >> > Please keep messages on-topic and check the VTK FAQ at: >> > http://www.vtk.org/Wiki/VTK_FAQ >> > >> > Search the list archives at: http://markmail.org/search/?q=vtkusers >> > >> > Follow this link to subscribe/unsubscribe: >> > http://public.kitware.com/mailman/listinfo/vtkusers >> > >> >> >> >> -- >> Unpaid intern in BillsBasement at noware dot com >> > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sunxiasx at foxmail.com Thu Mar 2 07:59:40 2017 From: sunxiasx at foxmail.com (xsun) Date: Thu, 2 Mar 2017 05:59:40 -0700 (MST) Subject: [vtkusers] vtkContour position error on QT widget Message-ID: <1488459580407-5742341.post@n5.nabble.com> Hello all, I am using vtkContour widget to select contour on a dicom image displayed on vtkImageViewer2. The select contour interaction is all fine in vtk native render window, but when i render the vtkImageViewer2 in a QT widget, the contour selection position went wrong. I use GetNthNodeDisplayPosition method of vtkContourRepresentation class to get the position of a contour point, the x position is okay but the y position is always 180px larger than expected, this makes the point displayed on screen is 180px lower than the point I clicked. I have been confused for few days, anyone could give me any idea why the position went wrong and how may I fix it? -- View this message in context: http://vtk.1045678.n5.nabble.com/vtkContour-position-error-on-QT-widget-tp5742341.html Sent from the VTK - Users mailing list archive at Nabble.com. From inglis.dl at gmail.com Thu Mar 2 08:51:40 2017 From: inglis.dl at gmail.com (Dean Inglis) Date: Thu, 2 Mar 2017 08:51:40 -0500 Subject: [vtkusers] Refreshing window level of vtkImagePlaneWidget In-Reply-To: References: Message-ID: Hi Girish, the following additional events could help with formulating and maintaining your design: vtkCommand::StartWindowLevelEvent - record the shared (global) window and level initial values vtkCommand::WindowLevelEvent - record current global window level vales, broadcast the event to all other listeners and have them update to current window level values vtkCommand::EndWindowLevelEvent - could delay updating all widget window level values until the current interactive widget is done vtkCommand::ResetWindowLevelEvent - set the window level to all widgets back to the global initial values - Dean On Thu, Mar 2, 2017 at 3:55 AM, Girish Lande wrote: > Hi All, > > I am creating 3 vtkImagePlaneWidgets Each showing some image. > I want to update their window/level at the same time. > that is when I update window level of one widget others should reflect the > same. > > For that I am using callbacks. (following is my code) > Each imageplanewidget is in different view. > Though window / level is updated its not refreshing changes. > I see changes only when I try to update window/level of other image plane > widgets. > > Could you please help me with this ? I want to refresh all widgets to see > that > window level is getting updated simultaneouly > > -- > thanks & regards, > Girish > > > > void MainWindow::RegisterCallbackWith2DPlaneWidget() > { > vtkSmartPointer cbk = > vtkSmartPointer::New(); > cbk->m_window = this; > for (int i = 0; i < 3; i++) > { > cbk->m_PlaneWidget[i] = m_2DPlaneWidget[i]; > m_2DPlaneWidget[i]->AddObserver(vtkCommand::WindowLevelEvent,cbk); > } > } > > > class MyCallback : public vtkCommand > { > public: > static MyCallback *New() > { return new MyCallback; } > > void Execute( vtkObject *caller, unsigned long ev, > void *callData ) > { > if (ev == vtkCommand::WindowLevelEvent) > { > vtkImagePlaneWidget* ipw = > dynamic_cast< vtkImagePlaneWidget* >( caller ); > if (ipw) > { > double* wl = static_cast( callData ); > > if ( ipw == this->m_PlaneWidget[0] ) > { > this->m_PlaneWidget[1]->SetWindowLevel(wl[0],wl[1],1); > this->m_PlaneWidget[2]->SetWindowLevel(wl[0],wl[1],1); > } > else if( ipw == this->m_PlaneWidget[1] ) > { > this->m_PlaneWidget[0]->SetWindowLevel(wl[0],wl[1],1); > this->m_PlaneWidget[2]->SetWindowLevel(wl[0],wl[1],1); > } > else if (ipw == this->m_PlaneWidget[2]) > { > this->m_PlaneWidget[0]->SetWindowLevel(wl[0],wl[1],1); > this->m_PlaneWidget[1]->SetWindowLevel(wl[0],wl[1],1); > } > } > this->m_PlaneWidget[0]->GetInteractor()-> > GetRenderWindow()->Render(); > this->m_PlaneWidget[1]->GetInteractor()-> > GetRenderWindow()->Render(); > this->m_PlaneWidget[2]->GetInteractor()-> > GetRenderWindow()->Render(); > this->m_PlaneWidget[0]->UpdatePlacement(); > this->m_PlaneWidget[1]->UpdatePlacement(); > this->m_PlaneWidget[2]->UpdatePlacement(); > } > } > > vtkImagePlaneWidget* m_PlaneWidget[3]; > > } > > ------------------------------------------------------------ > ------------------------------------------------------------- > *Disclaimer:* This email message including any attachments is > confidential, and may be privileged and proprietary to Agiliad. If you are > not the intended recipient, please notify us immediately by replying to > this message and destroy all copies of this message including any > attachments. You are NOT authorized to read, print, retain, copy, > disseminate, distribute, or use this message or any part thereof. Thank you. > ------------------------------------------------------------ > ------------------------------------------------------------ > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.levy at leddartech.com Thu Mar 2 09:23:50 2017 From: david.levy at leddartech.com (Mwoua) Date: Thu, 2 Mar 2017 07:23:50 -0700 (MST) Subject: [vtkusers] Draw thousands of different size and color 3D rectangles several times per second In-Reply-To: <1488398807068-5742331.post@n5.nabble.com> References: <1488398807068-5742331.post@n5.nabble.com> Message-ID: <1488464630196-5742343.post@n5.nabble.com> Mwoua wrote > I have built my polydata and glyph3D, but I can't find a way to give them > the color I want. The color is also using the size scaling. > > How can I specify the size and color of each glyph independantly? (ergo > how can I use my array of colors for each point) Finally found how to do it, couldnt find any update information about it so I'll post my code in case someone needs it. vtkSmartPointer points = vtkSmartPointer::New(); vtkSmartPointer cubeSource = vtkSmartPointer::New(); cubeSource->SetXLength(x); cubeSource->SetYLength(y); cubeSource->SetZLength(z); // Setup scales vtkSmartPointer dscale = vtkSmartPointer::New(); dscale->SetName("dscale"); vtkSmartPointer cscale = vtkSmartPointer::New(); dscale->SetName("cscale"); //build points and scales for(...){ points->InsertNextPoint(lPoint1.x,lPoint1.y,lPoint1.z); dscale->InsertNextValue(lDistance); cscale->InsertNextValue(Amplitude( i )); } // Combine into a polydata vtkSmartPointer polydata = vtkSmartPointer::New(); polydata->SetPoints(points); polydata->GetPointData()->SetScalars(dscale); polydata->GetPointData()->AddArray(cscale); //Thats where you put the color scale vtkSmartPointer glyph3D = vtkSmartPointer::New(); glyph3D->SetScaleModeToScaleByScalar(); glyph3D->SetSourceConnection(cubeSource->GetOutputPort()); glyph3D->SetInputData(polydata); glyph3D->Update(); //Create a lookup table for the color. In this case its progressive, but its the opposite of default lut vtkSmartPointer lut = vtkSmartPointer::New(); lut = vtkLookupTable::New(); lut->SetNumberOfTableValues( 16 ); lut->SetHueRange( 0.66667, 0.0 ); lut->SetSaturationRange( 1, 1 ); lut->SetValueRange( 1, 1 ); lut->Build(); // Create a mapper and actor vtkSmartPointer mapper = vtkSmartPointer::New(); mapper->SetInputConnection(glyph3D->GetOutputPort()); mapper->SetScalarModeToUsePointFieldData(); mapper->SelectColorArray(1); //Tell mapper to use second array mapper->SetScalarRange(0, mMaxAmplitude); mapper->SetLookupTable(lut); vtkSmartPointer actor = vtkSmartPointer::New(); actor->SetMapper(mapper); // Add the actor to the scene renderer->AddActor(actor); -- View this message in context: http://vtk.1045678.n5.nabble.com/Draw-thousands-of-different-size-and-color-3D-rectangles-several-times-per-second-tp5742310p5742343.html Sent from the VTK - Users mailing list archive at Nabble.com. From renaud.lebrun at umontpellier.fr Thu Mar 2 10:30:38 2017 From: renaud.lebrun at umontpellier.fr (Renaud Lebrun) Date: Thu, 2 Mar 2017 16:30:38 +0100 Subject: [vtkusers] vtkAreaPicker and vtkRenderedAreaPicker fail to pick vtkOpenGLActor objects In-Reply-To: <2b6c9c2c-42a4-6e67-0e00-2a6b13be94dd@umontpellier.fr> References: <2b6c9c2c-42a4-6e67-0e00-2a6b13be94dd@umontpellier.fr> Message-ID: Dear VTK Users, I write you because I have troubles managing vtkAreaPicker and vtkRenderedAreaPicker to pick vtkOpenGLActor objects containing thousands vertices. => I am currently writing an application based on VTK 7.1 ( https://github.com/morphomuseum/ISE-MeshTools ) If only one vtkOpenGLActor is rendered, I have no problem to pick it, no matter how "large" it is in terms of number of vertices, and no matter how complex it is in terms of morphology. But as soon as I have several vtkOpenGLActor objects rendered at the same time, vtkAreaPicker does not behave as I would have expected. The expected behaviour would be as follows : - one can open several surfaces (meshes) which are opened as vtkPolyData objects, which in turns are rendered as vtkOpenGLActor objects - these objects can be "selected"/"unselected" using the an interactor style such as vtkInteractorStyleRubberBandPick. The idea is that one will interact in a second step with all the "selected" objects (= with more than one single object at once). I have set up my interactor style following the example : http://www.vtk.org/Wiki/VTK/Examples/Cxx/Picking/AreaPicking The pick callback function is as follows : void PickCallbackFunction(vtkObject* caller, long unsigned int vtkNotUsed(eventId), void* vtkNotUsed(clientData), void* vtkNotUsed(callData)) { std::cout << "Pick." << std::endl; vtkAreaPicker* areaPicker= static_cast(caller); vtkProp3DCollection* props= areaPicker->GetProp3Ds(); for(vtkIdType i= 0; i< props->GetNumberOfItems(); i++) { vtkProp3D* prop= props->GetNextProp3D(); std::cout << "Picked prop: " << prop<< std::endl; } } As soon as I have added to the rendered several other vtkOpenGLActor objects containing thousands of vertices, I can not get the correct picked vtkPropr3D objects. The same thing arises if I use a vtkRenderedAreaPicker instead. Here is an illustration of my issue : http://morphomuseum.com/img/vtkareapicker.jpg Top : I have opened 5 different surface objects (mandible, maxillar, premaxillar, upper teeth and lower teeth) Top left : I try to select the mandible (blue rectangle) Top right : the pickCallBack function retrieves the wrong surface object (the maxillar => in the software I write, "selected" actors are drawn grey) Bottom : I have opened 1 mesh containing thousands of vertices (lower teeth) and I have set up 16 landmarks (green and orange spheres) Bottom left : I try to pick the teeth mesh (blue rectangle). Bottom right : nothing was selected ( props->GetNumberOfItems()==0) Many thanks in advance if you can help, Best wishes, Renaud --------------------------------------------------------- *Dr. Renaud Lebrun* Institut des Sciences de l'Evolution Universit? de Montpellier Campus Triolet, b?t. 22 Place Eug?ne Bataillon 34095 Montpellier cedex 5, FRANCE T?l : +33 (0)4 67 14 32 60 renaud.Lebrun at umontpellier.fr MORPHOMUSEUM -------------- next part -------------- An HTML attachment was scrubbed... URL: From andreasscalas at tiscali.it Thu Mar 2 10:55:41 2017 From: andreasscalas at tiscali.it (andreasscalas at tiscali.it) Date: Thu, 02 Mar 2017 16:55:41 +0100 Subject: [vtkusers] pick & drag a point in 3D Message-ID: <0184090fd5e98bdef40f37eb0bfbf357@tiscali.it> Hi, I am new to VTK and I was trying to create a tool for picking a point in the 3D space and dragging it. I have written some code and, if I pick and drag a point without rotating the scene all works well, but if I rotate the scene the dragging doesn't follow the mouse, but works as if I haven't rotated the scene at all. Any help? This is the interactorStyle (drawablemesh.h is a class that I defined to draw a mesh stored in a particular data struture, it doesn't influence the interaction, or at least I suppose it): #ifndef MOUSEINTERACTORSTYLEPP_H #define MOUSEINTERACTORSTYLEPP_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "drawablemesh.h" class MouseInteractorStylePP : public vtkInteractorStyleTrackballActor{ public: vtkSmartPointer Data; vtkSmartPointer selectedMapper; vtkSmartPointer selectedActor; vtkPolyData* GlyphData; vtkSmartPointer MoveMapper; vtkSmartPointer MoveActor; vtkSmartPointer MovePolyData; vtkSmartPointer MoveGlyphFilter; vtkSmartPointer PointPicker; vtkSmartPointer assembly; DrawableMesh* model; bool Move; vtkIdType SelectedPoint; public: static MouseInteractorStylePP* New(); MouseInteractorStylePP(){ this->Move = false; this->PointPicker = vtkSmartPointer::New(); // Setup ghost glyph vtkSmartPointer points = vtkSmartPointer::New(); points->InsertNextPoint(0,0,0); this->MovePolyData = vtkSmartPointer::New(); this->MovePolyData->SetPoints(points); this->MoveMapper = vtkSmartPointer::New(); this->MoveMapper->SetInputData(this->MovePolyData); this->MoveActor = vtkSmartPointer::New(); this->MoveActor->SetMapper(this->MoveMapper); this->MoveActor->VisibilityOff(); this->MoveActor->GetProperty()->RenderPointsAsSpheresOn(); this->MoveActor->GetProperty()->SetPointSize(10.0f); this->MoveActor->GetProperty()->SetColor(1,0,0); } vtkTypeMacro(MouseInteractorStylePP, vtkInteractorStyleTrackballActor) void OnMouseMove(){ if(this->Interactor->GetControlKey() && Move){ double* p = this->MoveActor->GetPosition(); this->Data->GetPoints()->SetPoint(this->SelectedPoint, p); this->Data->Modified(); this->model->setPointPosition(this->SelectedPoint, p); this->GetCurrentRenderer()->RemoveActor(assembly); this->model->draw(assembly); this->GetCurrentRenderer()->AddActor(assembly); }else if(Move){ this->EndPan(); this->Move = false; this->MoveActor->VisibilityOff(); this->SelectedPoint = -1; this->assembly->RemovePart(this->MoveActor); this->InteractionProp = vtkSmartPointer::NewInstance(this->InteractionProp); this->GetCurrentRenderer()->Render(); this->GetCurrentRenderer()->GetRenderWindow()->Render(); } vtkInteractorStyleTrackballActor::OnMouseMove(); } void OnRightButtonUp(){ if(this->Interactor->GetControlKey() && Move==true){ this->EndPan(); this->Move = false; this->MoveActor->VisibilityOff(); this->SelectedPoint = -1; this->assembly->RemovePart(this->MoveActor); this->InteractionProp = vtkSmartPointer::NewInstance(this->InteractionProp); this->GetCurrentRenderer()->Render(); this->GetCurrentRenderer()->GetRenderWindow()->Render(); } vtkInteractorStyleTrackballActor::OnRightButtonUp(); } virtual void OnRightButtonDown(){ if(this->Interactor->GetControlKey()){ double x, y,z; x = this->Interactor->GetEventPosition()[0]; y = this->Interactor->GetEventPosition()[1]; this->FindPokedRenderer(x, y); this->PointPicker->SetTolerance(0.01); this->PointPicker->Pick(x, y, 0, this->Interactor->GetRenderWindow()->GetRenderers()->GetFirstRenderer()); std::cout GetPointId() PointPicker->GetPointId() != -1 && this->PointPicker->GetPointId() < Data->GetNumberOfPoints()){ this->StartPan(); this->MoveActor->VisibilityOn(); this->Move = true; this->SelectedPoint = this->PointPicker->GetPointId(); std::cout GetPoint(this->SelectedPoint, p); std::cout InteractionProp = this->MoveActor; } }else vtkInteractorStyleTrackballActor::OnRightButtonDown(); } }; #endif // MOUSEINTERACTORSTYLEPP_H Con Open 4 Giga a 9 euro/4 sett navighi veloce, chiami e invii SMS dal tuo smartphone verso tutti i fissi e mobili in Italia. Passa a Tiscali Mobile! http://casa.tiscali.it/mobile/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From jose-schafer at hotmail.com Thu Mar 2 13:51:58 2017 From: jose-schafer at hotmail.com (=?iso-8859-1?Q?Jos=E9_Ignacio_Sch=E4fer?=) Date: Thu, 2 Mar 2017 18:51:58 +0000 Subject: [vtkusers] Bounds problem Message-ID: Hi, I am really new in vtk programming, so there may be a lot of things I don?t know yet or that I did wrong, please let me know if there is a simpler way to do what I am doing. Right now I have the following problem and I hope you will be able to give me the solution or point me in the right direction. I am using XMLStructuredGrid files (.vts) so I am opening them with the vtkXMLStructuredGridReader(). Then I am using a vtkStructuredGridGeometryFilter() and making a Deepcopy of it with a vtkPolyData() so that I can add the scalars extracted from the Reader. As Mapper I am using a vtkOpenGLPolyDataMapper() and vtkLODActor() as an actor. Using this piece of code: "gridreader = vtk.vtkXMLStructuredGridReader() gridreader.SetFilename(filename) gridreader.Update() gridreader.GetOutput().GetDimensions()" I get the following dimensions (384, 216, 257) The thing is that the Bounds that I get using: "gridreader = gridreader.GetOutput().GetBounds()" are (0.0, 215.0, 0.0, 383.0, 0.0, 240.0). So... My problem is that when I render my Data, I can't se the whole Data extension. I am also using vtkImplicitPlaneWidget() (that the user can move) to catch the position that the user selected moving the plane with the mouse, but I can?t move the plane through the whole extension of the X axis because the bounds are smaller than the size of my Data. I have tryed to modify the bounds several times, but i haven't been able to render the whole data extension. Maybe I am wrong and the bounds aren't my problem, but I would be very grateful if someone could help me. Jose -------------- next part -------------- An HTML attachment was scrubbed... URL: From Wiggerl at Linhuber.info Fri Mar 3 03:24:01 2017 From: Wiggerl at Linhuber.info (Willy) Date: Fri, 3 Mar 2017 01:24:01 -0700 (MST) Subject: [vtkusers] vtkImageData Modified: Just update a small area of the data? In-Reply-To: <1488435364416-5742335.post@n5.nabble.com> References: <1487755557519-5742276.post@n5.nabble.com> <1488272778790-5742304.post@n5.nabble.com> <1488435364416-5742335.post@n5.nabble.com> Message-ID: <1488529441251-5742347.post@n5.nabble.com> it has been taken care of. i added some methods whitch calls glTexSubImage3D. i can update just a small part of the data now. Willy -- View this message in context: http://vtk.1045678.n5.nabble.com/vtkImageData-Modified-Just-update-a-small-area-of-the-data-tp5742276p5742347.html Sent from the VTK - Users mailing list archive at Nabble.com. From m.nunes at fratoria.com Fri Mar 3 07:12:44 2017 From: m.nunes at fratoria.com (Shark) Date: Fri, 3 Mar 2017 05:12:44 -0700 (MST) Subject: [vtkusers] vtkImageMapToColors vtkWindowLevelLookupTable In-Reply-To: References: <1488371491169-5742316.post@n5.nabble.com> <1488375195639-5742318.post@n5.nabble.com> <1488375591253-5742319.post@n5.nabble.com> Message-ID: <1488543164239-5742349.post@n5.nabble.com> Hi Again, I finally made everything work. I was using a combination of global lookups with local lookups together with slice rendering and multiple actors. It seems a combination of build() calls and Modified() are needed. At least, this is the only way I managed to make it work for all my cases. I am leaving here my result. vtkWindowLevelLookupTable* lookup = vtkWindowLevelLookupTable::New(); lookup->SetMinimumTableValue(0, 0, 0, 1); lookup->SetMaximumTableValue(1, 1, 1, 1); lookup->SetTableValue(0, 0, 0, 0, 1); lookup->SetTableValue(255, 1, 1, 1, 1); lookup->Build(); lookup->SetWindow(_pDataSet->GetOverlay()->GetWindowWidth()); lookup->SetLevel(_pDataSet->GetOverlay()->GetWindowLevel()); lookup->Build(); lookup->Modified(); I would like to know if a fix is being included in the next VTK release (7.2?). Thanks! Shark -- View this message in context: http://vtk.1045678.n5.nabble.com/VTK-7-1-issue-with-Window-Level-rendered-values-tp5742316p5742349.html Sent from the VTK - Users mailing list archive at Nabble.com. From ken.martin at kitware.com Fri Mar 3 13:04:58 2017 From: ken.martin at kitware.com (Ken Martin) Date: Fri, 3 Mar 2017 13:04:58 -0500 Subject: [vtkusers] Build VTK Android on windows In-Reply-To: <1488380593538-5742324.post@n5.nabble.com> References: <1488228329038-5742302.post@n5.nabble.com> <1488380593538-5742324.post@n5.nabble.com> Message-ID: I believe android builds with VTK are only supported on OSX and linux. I am not aware of anyone doing it on windows with Visual Studio (with VTK, clearly you can build android apps on windows I just don't think our android VTK build process has been tested there). Thanks Ken On Wed, Mar 1, 2017 at 10:03 AM, bdoucet wrote: > Sorry, > > Here is what I did: > > 1- used cmake-gui : selected - Generator Visual Studio 14 2015 > used default native compiler > 2- pressed compile > > 3- set : VTK_ANDROID_BUILD > > 4- pressed configure > > 5- ANDROID_ARCH_ABI armeabi > ANDROID_EXECUTABLE C:/Android/sdk/tools/android.bat > ANDROID_NATIVE_API_LEVEL 21 > ANDROID_NTK C:/Android/android-ndk-r13b > ANT_EXECUTABLE > C:/apache-ant-1.9.7/bin/ant.bat > > 6- pressed configure: > Configuring done (extremely fast doing > nothing > it seems) > > 7- pressed Generate: > Generating done (extremely fast doing nothing > it seems) > > > Nothing has been generated, I should have something under the bin folder. > > > > > > > > > > > > -- > View this message in context: http://vtk.1045678.n5.nabble. > com/Build-VTK-Android-on-windows-tp5742265p5742324.html > Sent from the VTK - Users mailing list archive at Nabble.com. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -- Ken Martin PhD Chairman & CFO Kitware Inc. 28 Corporate Drive Clifton Park NY 12065 518 371 3971 This communication, including all attachments, contains confidential and legally privileged information, and it is intended only for the use of the addressee. Access to this email by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken in reliance on it is prohibited and may be unlawful. If you received this communication in error please notify us immediately and destroy the original message. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.gobbi at gmail.com Fri Mar 3 13:17:51 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Fri, 3 Mar 2017 11:17:51 -0700 Subject: [vtkusers] vtkImageMapToColors vtkWindowLevelLookupTable In-Reply-To: <1488543164239-5742349.post@n5.nabble.com> References: <1488371491169-5742316.post@n5.nabble.com> <1488375195639-5742318.post@n5.nabble.com> <1488375591253-5742319.post@n5.nabble.com> <1488543164239-5742349.post@n5.nabble.com> Message-ID: Hi Shark, I'm glad that you got it working. Yes, a fix for this should be included in the next VTK release. Cheers, - David On Fri, Mar 3, 2017 at 5:12 AM, Shark wrote: > Hi Again, > > I finally made everything work. I was using a combination of global lookups > with local lookups together with slice rendering and multiple actors. It > seems a combination of build() calls and Modified() are needed. At least, > this is the only way I managed to make it work for all my cases. > > I am leaving here my result. > > vtkWindowLevelLookupTable* lookup = vtkWindowLevelLookupTable::New(); > lookup->SetMinimumTableValue(0, 0, 0, 1); > lookup->SetMaximumTableValue(1, 1, 1, 1); > lookup->SetTableValue(0, 0, 0, 0, 1); > lookup->SetTableValue(255, 1, 1, 1, 1); > > lookup->Build(); > lookup->SetWindow(_pDataSet->GetOverlay()->GetWindowWidth()); > lookup->SetLevel(_pDataSet->GetOverlay()->GetWindowLevel()); > lookup->Build(); > lookup->Modified(); > > I would like to know if a fix is being included in the next VTK release > (7.2?). > Thanks! > Shark > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jose.de.paula at live.com Fri Mar 3 13:42:17 2017 From: jose.de.paula at live.com (Jose Barreto) Date: Fri, 3 Mar 2017 11:42:17 -0700 (MST) Subject: [vtkusers] vtkSplineDrivenImageSlicer Broken sides Message-ID: <1488566537558-5742352.post@n5.nabble.com> Hello, I'm using the vtkSplineDrivenImageSlicer class to generate the left image (panoramic view). In pink, the arrow shows the direction of my spline. Note that the Right-Left sides are swapped when the image is generated (The new direction is Left-Right). Why does this happen? How do I define the side that the image will be generated? -- View this message in context: http://vtk.1045678.n5.nabble.com/vtkSplineDrivenImageSlicer-Broken-sides-tp5742352.html Sent from the VTK - Users mailing list archive at Nabble.com. From david.levy at leddartech.com Fri Mar 3 16:52:48 2017 From: david.levy at leddartech.com (Mwoua) Date: Fri, 3 Mar 2017 14:52:48 -0700 (MST) Subject: [vtkusers] Link or crash using VTK 7.1 32 bits on Win7 64 bits machine Message-ID: <1488577968988-5742353.post@n5.nabble.com> Hello, I've made an application that works fine using qt 5.7 and vtk 7.1 in windows 7 64 bits. (I built the VTK library with qt support). Now I'm trying to build everything in 32 bits, but first I have link issue. If I remove the problematic functions, I can get the soft to build, but it crash with a read access violation in vtkbuffer. Is there a way to test if I built the library correctly? My linker issues are related to __int64, is it normal in 32bits? Thanks, David Bonus information : this example works with my 32bits setup http://www.vtk.org/Wiki/VTK/Examples/Cxx/Qt/RenderWindowNoUiFile my call stack when my simplified soft crash : 1 vtkBuffer::GetBuffer vtkBuffer.h 48 0xfaee29a 2 vtkAOSDataArrayTemplate::SetValue vtkAOSDataArrayTemplate.h 72 0xfaee806 3 vtkGenericDataArray,float>::SetValue vtkGenericDataArray.h 116 0xfaee862 4 vtkGenericDataArray,float>::InsertNextValue vtkGenericDataArray.txx 800 0xfaee42f 5 Myfunction My linker issues : VTKViewer.obj:-1: error: LNK2019: unresolved external symbol "public: __int64 * __thiscall vtkAOSDataArrayTemplate<__int64>::WritePointer(__int64,__int64)" (?WritePointer@?$vtkAOSDataArrayTemplate at _J@@QAEPA_J_J0 at Z) referenced in function "public: __int64 __thiscall vtkCellArray::InsertNextCell(__int64,__int64 const *)" (?InsertNextCell at vtkCellArray@@QAE_J_JPB_J at Z) VTKViewer.obj:-1: error: LNK2019: unresolved external symbol "public: void __thiscall vtkLookupTable::SetNumberOfTableValues(__int64)" (?SetNumberOfTableValues at vtkLookupTable@@QAEX_J at Z) referenced in function "private: void __thiscall LdPCLViewer::DrawNewData(void)" (?DrawNewData at LdPCLViewer@@AAEXXZ) -- View this message in context: http://vtk.1045678.n5.nabble.com/Link-or-crash-using-VTK-7-1-32-bits-on-Win7-64-bits-machine-tp5742353.html Sent from the VTK - Users mailing list archive at Nabble.com. From zmanvortex at gmail.com Fri Mar 3 16:54:57 2017 From: zmanvortex at gmail.com (zmantorn) Date: Fri, 3 Mar 2017 14:54:57 -0700 (MST) Subject: [vtkusers] vtkImageData Modified: Just update a small area of the data? In-Reply-To: <1488529441251-5742347.post@n5.nabble.com> References: <1487755557519-5742276.post@n5.nabble.com> <1488272778790-5742304.post@n5.nabble.com> <1488435364416-5742335.post@n5.nabble.com> <1488529441251-5742347.post@n5.nabble.com> Message-ID: <1488578097460-5742354.post@n5.nabble.com> Did you modify VTK source code to get it to work? If so, maybe you can contribute the code to VTK so we can all benefit. This seems like functionality that is needed. -- View this message in context: http://vtk.1045678.n5.nabble.com/vtkImageData-Modified-Just-update-a-small-area-of-the-data-tp5742276p5742354.html Sent from the VTK - Users mailing list archive at Nabble.com. From cory.quammen at kitware.com Fri Mar 3 16:56:01 2017 From: cory.quammen at kitware.com (Cory Quammen) Date: Fri, 3 Mar 2017 16:56:01 -0500 Subject: [vtkusers] Link or crash using VTK 7.1 32 bits on Win7 64 bits machine In-Reply-To: <1488577968988-5742353.post@n5.nabble.com> References: <1488577968988-5742353.post@n5.nabble.com> Message-ID: I would guess not all your libraries are built for 32 bit. Ensure that they are (even Qt) and you should resolve the linker issues. HTH, Cory On Fri, Mar 3, 2017 at 4:52 PM, Mwoua wrote: > Hello, > > I've made an application that works fine using qt 5.7 and vtk 7.1 in windows > 7 64 bits. (I built the VTK library with qt support). > > Now I'm trying to build everything in 32 bits, but first I have link issue. > If I remove the problematic functions, I can get the soft to build, but it > crash with a read access violation in vtkbuffer. > > Is there a way to test if I built the library correctly? > > My linker issues are related to __int64, is it normal in 32bits? > > Thanks, > David > > Bonus information : > this example works with my 32bits setup > http://www.vtk.org/Wiki/VTK/Examples/Cxx/Qt/RenderWindowNoUiFile > > my call stack when my simplified soft crash : > 1 vtkBuffer::GetBuffer > vtkBuffer.h 48 0xfaee29a > 2 vtkAOSDataArrayTemplate::SetValue > vtkAOSDataArrayTemplate.h 72 0xfaee806 > 3 vtkGenericDataArray,float>::SetValue > vtkGenericDataArray.h 116 0xfaee862 > 4 > vtkGenericDataArray,float>::InsertNextValue > vtkGenericDataArray.txx 800 0xfaee42f > 5 Myfunction > > > > My linker issues : > VTKViewer.obj:-1: error: LNK2019: unresolved external symbol "public: > __int64 * __thiscall > vtkAOSDataArrayTemplate<__int64>::WritePointer(__int64,__int64)" > (?WritePointer@?$vtkAOSDataArrayTemplate at _J@@QAEPA_J_J0 at Z) referenced in > function "public: __int64 __thiscall > vtkCellArray::InsertNextCell(__int64,__int64 const *)" > (?InsertNextCell at vtkCellArray@@QAE_J_JPB_J at Z) > > VTKViewer.obj:-1: error: LNK2019: unresolved external symbol "public: void > __thiscall vtkLookupTable::SetNumberOfTableValues(__int64)" > (?SetNumberOfTableValues at vtkLookupTable@@QAEX_J at Z) referenced in function > "private: void __thiscall LdPCLViewer::DrawNewData(void)" > (?DrawNewData at LdPCLViewer@@AAEXXZ) > > > > > -- > View this message in context: http://vtk.1045678.n5.nabble.com/Link-or-crash-using-VTK-7-1-32-bits-on-Win7-64-bits-machine-tp5742353.html > Sent from the VTK - Users mailing list archive at Nabble.com. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers -- Cory Quammen Staff R&D Engineer Kitware, Inc. From david.levy at leddartech.com Fri Mar 3 17:43:37 2017 From: david.levy at leddartech.com (Mwoua) Date: Fri, 3 Mar 2017 15:43:37 -0700 (MST) Subject: [vtkusers] Link or crash using VTK 7.1 32 bits on Win7 64 bits machine In-Reply-To: References: <1488577968988-5742353.post@n5.nabble.com> Message-ID: <1488581017212-5742356.post@n5.nabble.com> Qt 32 bits is installed from official installer, so it should be fine. About VTK, I used cmake, specified that I would use visual studio 2013 32 bits, and after opening my .sln, I only had win32 available. Maybe, I missed something with cmake. All my 32 bits library are different and way smaller than their 64bits counterpart. Cory Quammen-2 wrote > I would guess not all your libraries are built for 32 bit. Ensure that > they are (even Qt) and you should resolve the linker issues. > > HTH, > Cory -- View this message in context: http://vtk.1045678.n5.nabble.com/Link-or-crash-using-VTK-7-1-32-bits-on-Win7-64-bits-machine-tp5742353p5742356.html Sent from the VTK - Users mailing list archive at Nabble.com. From jinho89 at gmail.com Sat Mar 4 09:23:23 2017 From: jinho89 at gmail.com (atisman) Date: Sat, 4 Mar 2017 07:23:23 -0700 (MST) Subject: [vtkusers] Smooth only boundary edges using vtkSmoothPolyDataFilter Message-ID: <1488637403206-5742358.post@n5.nabble.com> Is there any way to smooth only boundary edges using vtkSmoothPolyDataFilter or other similar polydata smoothing filters? I know there is BoundarySmoothingOn() option but it just controls whether the boundary edges to be smoothed or not and it looks like the interior edges are always smoothed. I also tried to use SetSource() function to constrain the result by the input polydata itself. This achieves the result I wanted but the smoothing operation performs much slower with this input and I'm wondering if there exist any alternative (faster) ways to smooth only boundary edges. Thanks! -- View this message in context: http://vtk.1045678.n5.nabble.com/Smooth-only-boundary-edges-using-vtkSmoothPolyDataFilter-tp5742358.html Sent from the VTK - Users mailing list archive at Nabble.com. From jrliberman at gmail.com Sat Mar 4 17:04:13 2017 From: jrliberman at gmail.com (Javier Liberman) Date: Sat, 4 Mar 2017 19:04:13 -0300 Subject: [vtkusers] Delaunay2D, adding Steiner vertices Message-ID: Hello, I'm using the Delanuay2D filter to do some bounded 2D hole filling. The holes get filled, however, I'd like to get them filled not only by faces, but also by vertices, to keep (approximately) the edge length of the points at the boundary. I'm aware that this can be done with Steiner vertices, but before making a full implementation, I'd like to know if there is a pre-built tool to achieve something similar. Thanks, Javier. -------------- next part -------------- An HTML attachment was scrubbed... URL: From nour_sn at hotmail.fr Sun Mar 5 03:47:36 2017 From: nour_sn at hotmail.fr (jaki19) Date: Sun, 5 Mar 2017 01:47:36 -0700 (MST) Subject: [vtkusers] help converting c++ code to java Message-ID: <1488703656664-5742360.post@n5.nabble.com> Hi everyone, How I can write this C++ code in java please (particularly the for loop part)?? vtkSmartPointer polyData = polyDataReader->GetOutput(); int numberOfLines = polyData->GetNumberOfLines(); vtkSmartPointer points = polyData->GetPoints(); vtkCellArray *cells = polyData->GetLines(); for (cells->InitTraversal(); cells->GetNextCell(numberOfPoints, indices); lineCount++) { cout << "GetPoint(indices[i], point); std::cout << (point[0] - bounds[0]) << ", " << (point[1] - bounds[2]) << " "; } Tks -- View this message in context: http://vtk.1045678.n5.nabble.com/help-converting-c-code-to-java-tp5742360.html Sent from the VTK - Users mailing list archive at Nabble.com. From rccm.kyoshimi at gmail.com Sun Mar 5 21:54:39 2017 From: rccm.kyoshimi at gmail.com (kenichiro yoshimi) Date: Mon, 6 Mar 2017 11:54:39 +0900 Subject: [vtkusers] Smooth only boundary edges using vtkSmoothPolyDataFilter In-Reply-To: <1488637403206-5742358.post@n5.nabble.com> References: <1488637403206-5742358.post@n5.nabble.com> Message-ID: Hi Jinho, I had slightly changed vtkSmoothPolyDataFilter to smooth only boundary edges by omitting interior smoothing some time ago. Even though you might not obtain the desired results, I attached my sample. I hope that it is helpful for you. Thanks, yoshimi 2017-03-04 23:23 GMT+09:00 atisman : > Is there any way to smooth only boundary edges using vtkSmoothPolyDataFilter > or other similar polydata smoothing filters? I know there is > BoundarySmoothingOn() option but it just controls whether the boundary edges > to be smoothed or not and it looks like the interior edges are always > smoothed. I also tried to use SetSource() function to constrain the result > by the input polydata itself. This achieves the result I wanted but the > smoothing operation performs much slower with this input and I'm wondering > if there exist any alternative (faster) ways to smooth only boundary edges. > Thanks! > > > > -- > View this message in context: http://vtk.1045678.n5.nabble.com/Smooth-only-boundary-edges-using-vtkSmoothPolyDataFilter-tp5742358.html > Sent from the VTK - Users mailing list archive at Nabble.com. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers -------------- next part -------------- A non-text attachment was scrubbed... Name: AdjustBoundary.tar.gz Type: application/x-gzip Size: 6350 bytes Desc: not available URL: From Wiggerl at Linhuber.info Mon Mar 6 02:55:28 2017 From: Wiggerl at Linhuber.info (Willy) Date: Mon, 6 Mar 2017 00:55:28 -0700 (MST) Subject: [vtkusers] vtkImageData Modified: Just update a small area of the data? In-Reply-To: <1488578097460-5742354.post@n5.nabble.com> References: <1487755557519-5742276.post@n5.nabble.com> <1488272778790-5742304.post@n5.nabble.com> <1488435364416-5742335.post@n5.nabble.com> <1488529441251-5742347.post@n5.nabble.com> <1488578097460-5742354.post@n5.nabble.com> Message-ID: <1488786928195-5742362.post@n5.nabble.com> Yes i modified the source code and of course i could contribute the changes, but there are a few problems: 1. i don't know how exactly i can do that. Can everybody who likes make whatever push requests to the vtk repository (i don't think so)?? 2. i think that my changes are more like a "hack". i could imagine that the correct way would be to use the pipeline to update a part of the data (maybe with updateExtent of something like that). i just added the following method to vtkOpenGLGPUVolumeRayCastMapper void UpdateData(int xoffset, int yoffset, int zoffset, unsigned int width, unsigned int height, unsigned int depth, void *data); I don't think thats a good way do do it. -- View this message in context: http://vtk.1045678.n5.nabble.com/vtkImageData-Modified-Just-update-a-small-area-of-the-data-tp5742276p5742362.html Sent from the VTK - Users mailing list archive at Nabble.com. From bill.q.hdp at gmail.com Mon Mar 6 03:06:09 2017 From: bill.q.hdp at gmail.com (Bill Q) Date: Mon, 6 Mar 2017 03:06:09 -0500 Subject: [vtkusers] PyQt VTK on OSX only show up in the lower left quarter of the display window Message-ID: Hi All, I encountered a wired problem while using Python 2.7, PyQT5.6 and VTK7.1 on OSX. The render window only take the lower left quarter of the entire display window. While I tried the same code on windows with same versions of libs, it worked fine. The code is as following: from PyQt5.QtWidgets import *import vtkfrom vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractorimport sys class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(603, 553) self.centralWidget = QWidget(MainWindow) self.gridlayout = QGridLayout(self.centralWidget) self.vtkWidget = QVTKRenderWindowInteractor(self.centralWidget) self.gridlayout.addWidget(self.vtkWidget, 0, 0, 100, 100) self.buttonLeft = QPushButton("Left") self.gridlayout.addWidget(self.buttonLeft, 96,48,1,1) self.buttonRight = QPushButton("Right") self.gridlayout.addWidget(self.buttonRight, 96,52,1,1) self.buttonUp= QPushButton("Up") self.gridlayout.addWidget(self.buttonUp, 94,50,1,1) self.buttonDown = QPushButton("Down") self.gridlayout.addWidget(self.buttonDown, 98,50,1,1) self.buttonFire = QPushButton("Fire Torpedo") self.gridlayout.addWidget(self.buttonFire, 95,50,3,1) MainWindow.setCentralWidget(self.centralWidget) class SimpleView(QMainWindow): def __init__(self, parent = None): QMainWindow.__init__(self, parent) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ren = vtk.vtkRenderer() self.ui.vtkWidget.GetRenderWindow().AddRenderer(self.ren) self.iren = self.ui.vtkWidget.GetRenderWindow().GetInteractor() # Create source source = vtk.vtkSphereSource() source.SetCenter(0, 0, 0) source.SetRadius(5.0) # Create a mapper mapper = vtk.vtkPolyDataMapper() mapper.SetInputConnection(source.GetOutputPort()) # Create an actor actor = vtk.vtkActor() actor.SetMapper(mapper) self.ren.AddActor(actor) if __name__ == "__main__": app = QApplication(sys.argv) window = SimpleView() window.show() window.iren.Initialize() # Need this line to actually show the render inside Qt sys.exit(app.exec_()) You may find the screen captures from SO: http://stackoverflow.com/questions/42620354/pyqt-vtk-on-osx-only-show-up-in-the-lower-left-of-the-display-window Many thanks. Bill -------------- next part -------------- An HTML attachment was scrubbed... URL: From sankhesh.jhaveri at kitware.com Mon Mar 6 09:57:57 2017 From: sankhesh.jhaveri at kitware.com (Sankhesh Jhaveri) Date: Mon, 06 Mar 2017 14:57:57 +0000 Subject: [vtkusers] vtkImageData Modified: Just update a small area of the data? In-Reply-To: <1488786928195-5742362.post@n5.nabble.com> References: <1487755557519-5742276.post@n5.nabble.com> <1488272778790-5742304.post@n5.nabble.com> <1488435364416-5742335.post@n5.nabble.com> <1488529441251-5742347.post@n5.nabble.com> <1488578097460-5742354.post@n5.nabble.com> <1488786928195-5742362.post@n5.nabble.com> Message-ID: Hi Willy, 1. Yes, anyone can push code to VTK. Please follow the instructions here: https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/develop.md In short, all you need to do is create an account on https://gitlab.kitware.com/, fork VTK and create a merge request. 2. Have you looked at the streaming support within the vtkOpenGLGPUVolumeRayCastMapper. You can force by-block rendering by using SetPartitions(). Internally, it uses glTexSubImage3D as well. Hope that helps, Sankhesh ? On Mon, Mar 6, 2017 at 2:55 AM Willy wrote: > Yes i modified the source code and of course i could contribute the > changes, > but there are a few problems: > > 1. i don't know how exactly i can do that. Can everybody who likes make > whatever push requests to the vtk repository (i don't think so)?? > 2. i think that my changes are more like a "hack". i could imagine that the > correct way would be to use the pipeline to update a part of the data > (maybe > with updateExtent of something like that). i just added the following > method > to vtkOpenGLGPUVolumeRayCastMapper > > void UpdateData(int xoffset, int yoffset, int zoffset, unsigned int width, > unsigned int height, unsigned int depth, void *data); > > I don't think thats a good way do do it. > > > > -- > View this message in context: > http://vtk.1045678.n5.nabble.com/vtkImageData-Modified-Just-update-a-small-area-of-the-data-tp5742276p5742362.html > Sent from the VTK - Users mailing list archive at Nabble.com. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -- Sankhesh Jhaveri *Sr. Research & Development Engineer* | Kitware | (518) 881-4417 ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From m.nunes at fratoria.com Mon Mar 6 10:30:39 2017 From: m.nunes at fratoria.com (Shark) Date: Mon, 6 Mar 2017 08:30:39 -0700 (MST) Subject: [vtkusers] vtkVolumeTextureMapper3D in VTK 7.1? Message-ID: <1488814239807-5742368.post@n5.nabble.com> Hello, I have been having some issues with vtkVolumeTextureMapper3D. I see it has been deprecated, however it is still available if I use the old openGL. Since for software rendering with texture mapping is much faster than ray casting, I would like to know if you are planning to have a Volume Texture Mapper for openGL 2, or if there is actually a new one that I am not able to find. Best regards, Shark -- View this message in context: http://vtk.1045678.n5.nabble.com/vtkVolumeTextureMapper3D-in-VTK-7-1-tp5742368.html Sent from the VTK - Users mailing list archive at Nabble.com. From david.levy at leddartech.com Mon Mar 6 11:21:30 2017 From: david.levy at leddartech.com (Mwoua) Date: Mon, 6 Mar 2017 09:21:30 -0700 (MST) Subject: [vtkusers] Link or crash using VTK 7.1 32 bits on Win7 64 bits machine In-Reply-To: <1488581017212-5742356.post@n5.nabble.com> References: <1488577968988-5742353.post@n5.nabble.com> <1488581017212-5742356.post@n5.nabble.com> Message-ID: <1488817290272-5742369.post@n5.nabble.com> Finally found the problem : I used the same headers (include folder) for both 32 bits and 64 bits library. The thing I dont understand is that winmerge tells me that the files in this folder are identical. Is there actually a difference? Or is it Qt screwing things up ? -- View this message in context: http://vtk.1045678.n5.nabble.com/Link-or-crash-using-VTK-7-1-32-bits-on-Win7-64-bits-machine-tp5742353p5742369.html Sent from the VTK - Users mailing list archive at Nabble.com. From alvaro.sanchez at kitware.com Mon Mar 6 12:17:48 2017 From: alvaro.sanchez at kitware.com (Alvaro Sanchez) Date: Mon, 6 Mar 2017 12:17:48 -0500 Subject: [vtkusers] vtkVolumeTextureMapper3D in VTK 7.1? In-Reply-To: <1488814239807-5742368.post@n5.nabble.com> References: <1488814239807-5742368.post@n5.nabble.com> Message-ID: Hi Shark, unfortunately there is no current plan of porting vtkVolumeTextureMapper3D to OpenGL2 , as far as I know. We will soon however support image down sampling in X and Y which should serve as additional knobs to tweak the performance of GPURayCastMapper in OpenGL2 (only sample distance can be currently adjusted). Could you provide more detail on the size of the dataset you are rendering and your GPU specs? Thanks, ?lvaro On Mon, Mar 6, 2017 at 10:30 AM, Shark wrote: > Hello, > > I have been having some issues with vtkVolumeTextureMapper3D. I see it has > been deprecated, however it is still available if I use the old openGL. > > Since for software rendering with texture mapping is much faster than ray > casting, I would like to know if you are planning to have a Volume Texture > Mapper for openGL 2, or if there is actually a new one that I am not able > to > find. > > Best regards, > Shark > > > > > -- > View this message in context: http://vtk.1045678.n5.nabble. > com/vtkVolumeTextureMapper3D-in-VTK-7-1-tp5742368.html > Sent from the VTK - Users mailing list archive at Nabble.com. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -- Alvaro Sanchez Kitware, Inc. Senior R&D Engineer 21 Corporate Drive Clifton Park, NY 12065-8662 Phone: 518-881-4901 -------------- next part -------------- An HTML attachment was scrubbed... URL: From sankhesh.jhaveri at kitware.com Mon Mar 6 12:51:23 2017 From: sankhesh.jhaveri at kitware.com (Sankhesh Jhaveri) Date: Mon, 06 Mar 2017 17:51:23 +0000 Subject: [vtkusers] vtkVolumeTextureMapper3D in VTK 7.1? In-Reply-To: <1488814239807-5742368.post@n5.nabble.com> References: <1488814239807-5742368.post@n5.nabble.com> Message-ID: Hello Shark, As of now, there are no plans of supporting the vtkVolumeTextureMapper3D with the OpenGL2 backend. Based on my understanding, the performance of 3D texture mapping (accumulating samples one texture slice at a time) vs ray casting (accumulating samples one ray at a time) would be similar when using hardware acceleration. For software rendering, you should try the vtkFixedPointVolumeRayCastMapper. It has been improved and optimized over the recent past. Another promising approach is using the OSPRay backend which leverages Intel?s OSPRay ray tracing engine. Hope that helps. Sankhesh On Mon, Mar 6, 2017 at 10:30 AM Shark wrote: > Hello, > > I have been having some issues with vtkVolumeTextureMapper3D. I see it has > been deprecated, however it is still available if I use the old openGL. > > Since for software rendering with texture mapping is much faster than ray > casting, I would like to know if you are planning to have a Volume Texture > Mapper for openGL 2, or if there is actually a new one that I am not able > to > find. > > Best regards, > Shark > > > > > -- > View this message in context: > http://vtk.1045678.n5.nabble.com/vtkVolumeTextureMapper3D-in-VTK-7-1-tp5742368.html > Sent from the VTK - Users mailing list archive at Nabble.com. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -- Sankhesh Jhaveri *Sr. Research & Development Engineer* | Kitware | (518) 881-4417 ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From Wiggerl at Linhuber.info Tue Mar 7 03:35:44 2017 From: Wiggerl at Linhuber.info (Willy) Date: Tue, 7 Mar 2017 01:35:44 -0700 (MST) Subject: [vtkusers] vtkImageData Modified: Just update a small area of the data? In-Reply-To: References: <1487755557519-5742276.post@n5.nabble.com> <1488272778790-5742304.post@n5.nabble.com> <1488435364416-5742335.post@n5.nabble.com> <1488529441251-5742347.post@n5.nabble.com> <1488578097460-5742354.post@n5.nabble.com> <1488786928195-5742362.post@n5.nabble.com> Message-ID: <1488875744984-5742373.post@n5.nabble.com> Ok, i will read your link as soon as I have time. Yes, i tried SetPartitions(). Without that function vtk uses glTexImage3D, that blocks the gpu for serveral seconds (depends on the amount of data). The good thing about that method is, that is uses serveral small glTexSubImage3D call. So its possible to do other render calls parallel. But there are a few disadvantages too (at least for me, maybe i used it false somehow). Its much slower, i dont get my framerate even with just 2 or 4 blocks. That would be ok if i could activate and deactivate the partitions everytime, but if i call SetPartitions(2,1,2) at the beginning i cant call SetPartitions(1,1,1) later, to set it back to normal. That function not only spilts one glTexImage3D call in several glTexSubImage3D call (thats a good thing), it spilts the rendering call too (that makes everything slow and that forever). It always uses all blocks. I can't tell the renderer just to work on one special block and don't use the other ones. That would be possible if the function would just split the glTexImage3D call. If i use the blocks in x or y direction i can see junctions on the result image (at least on my dataset). Willy -- View this message in context: http://vtk.1045678.n5.nabble.com/vtkImageData-Modified-Just-update-a-small-area-of-the-data-tp5742276p5742373.html Sent from the VTK - Users mailing list archive at Nabble.com. From m.nunes at fratoria.com Tue Mar 7 03:50:03 2017 From: m.nunes at fratoria.com (Shark) Date: Tue, 7 Mar 2017 01:50:03 -0700 (MST) Subject: [vtkusers] vtkVolumeTextureMapper3D in VTK 7.1? In-Reply-To: References: <1488814239807-5742368.post@n5.nabble.com> Message-ID: <1488876603020-5742374.post@n5.nabble.com> Dear Sankhesh and Alvaro, Thank you for your replies. Regarding my GPU, I have on my local machine a very powerful NVIDIA. That is not a problem. The issue lies on that other machines have no GPU at all. The 3D rendering of polydata and CT scans will have to be done in cheap computers. Not sure if these machines have Intel CPUs.... So I have to assume low-medium hardware will be used to render the scenes. I have now turned openGL 1.1 and using some legacy code. I have looked around the VTK blog and kitware but I couldn't find any detailed description and tests regarding the new rendering and respective optimizations. Any chance you have that documented somewhere? That would certainly help me make a decision between using VTK7.1 or 6.2. Best regards, Shark -- View this message in context: http://vtk.1045678.n5.nabble.com/vtkVolumeTextureMapper3D-in-VTK-7-1-tp5742368p5742374.html Sent from the VTK - Users mailing list archive at Nabble.com. From cp.vtk.user at googlemail.com Tue Mar 7 05:28:19 2017 From: cp.vtk.user at googlemail.com (C P) Date: Tue, 7 Mar 2017 11:28:19 +0100 Subject: [vtkusers] Issue; Number of Regions are equal to the number of Polys In-Reply-To: References: Message-ID: Dear vtk users, I have a similar problem: how can I get *each* connected component as a separate vtkPolyData object? Is there something like a GetRegion(k) method that gives me the k-th connected component? There is only AddSpecifiedRegion() but when I use it and then call GetOutput() the result is always the same no matter what id I have passed to AddSpecifiedRegion(). All official kitware examples on the web are about the largest connected component. But how to get all of them? I cannot believe that this is so difficult to find out based on the documentation... After all, this is the very basic functionality of this filter, isn't it? Thank you. On Tue, Jan 3, 2017 at 4:30 PM, David E DeMarle wrote: > Apply vtkCleanPolyData first. The triangles in that data have points that > are coincindent, but none are actually shared across neighboring edges. > Clean will merge the coicident points for you. > > David E DeMarle > Kitware, Inc. > R&D Engineer > 21 Corporate Drive > Clifton Park, NY 12065-8662 > Phone: 518-881-4909 <(518)%20881-4909> > > On Tue, Jan 3, 2017 at 10:22 AM, Mohammadreza Babaee < > mrezababaee at gmail.com> wrote: > >> Hi >> >> >> I have a vtp file that contains a polydata. I want to extract its >> connected component. However, when I use* vtkPolyDataConnectivityFilter**, >> *and read the number of regions, it shows that the it is equal to the >> number of polys. But when I visualize the file I see that there are >> actually 4 regions. >> >> I use SetExtractionModeToAllRegions to read the number of regions. >> I have attached the file. Can you please help me to understand what the >> problem is >> >> So here is my code >> >> vtkSmartPointer connectivityFilter = >> vtkSmartPointer::New(); >> connectivityFilter->SetInputData(poly_in); >> connectivityFilter->ScalarConnectivityOn(); >> >> connectivityFilter->SetExtractionModeToAllRegions(); >> >> connectivityFilter->Update(); >> int nbregions = connectivityFilter->GetNumberOfExtractedRegions(); >> >> cout << "Number of Extracted Regions are=" << nbregions << endl; >> >> Thanks >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: >> http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers >> >> > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From elvis.stansvik at orexplore.com Tue Mar 7 09:17:12 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Tue, 7 Mar 2017 15:17:12 +0100 Subject: [vtkusers] Advice on mitigating choppy resize with Qt 5 + VTK 7.1 Message-ID: Hi all, I'm using Qt 5.5.1 and VTK 7.1. The program has a couple of VTKWidget showing volume renderings, as well as a window with a chart. Have a look at the attached screen recording. Notice how camera interaction in both VTK render windows is nice and smooth, but when resizing the windows, the updating of the renderings is very slow/choppy. I've been trying to debug this, or at least finding a way of mitigating it. Could it be that Qt is delivering too many resize events? Has anyone else dealt with this problem? Thanks in advance for any advice, Elvis -------------- next part -------------- A non-text attachment was scrubbed... Name: choppy_resize_vtk_qt.mkv Type: video/x-matroska Size: 1988889 bytes Desc: not available URL: From elvis.stansvik at orexplore.com Tue Mar 7 09:33:07 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Tue, 7 Mar 2017 15:33:07 +0100 Subject: [vtkusers] Advice on mitigating choppy resize with Qt 5 + VTK 7.1 In-Reply-To: References: Message-ID: 2017-03-07 15:17 GMT+01:00 Elvis Stansvik : > Hi all, > > I'm using Qt 5.5.1 and VTK 7.1. The program has a couple of VTKWidget > showing volume renderings, as well as a window with a chart. Actually, I'm able to reproduce this behavior when not using Qt at all, but just a regular render window + interactor setup with a single volume rendered. Camera interaction is nice and fast, but resizing the window, the rendering is very choppy. I'm also getting Warning: In /buildbot/vtk7-builder/build/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx, line 1207 vtkXOpenGLRenderWindow (0x1353a10): warning window did not resize in the allotted time printed to the console, so it seems VTK detects what I'm seeing visually. I did not get this warning printed in the Qt + VTK app. Elvis > > Have a look at the attached screen recording. Notice how camera > interaction in both VTK render windows is nice and smooth, but when > resizing the windows, the updating of the renderings is very > slow/choppy. > > I've been trying to debug this, or at least finding a way of > mitigating it. Could it be that Qt is delivering too many resize > events? Has anyone else dealt with this problem? > > Thanks in advance for any advice, > Elvis From elvis.stansvik at orexplore.com Tue Mar 7 09:58:24 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Tue, 7 Mar 2017 15:58:24 +0100 Subject: [vtkusers] Advice on mitigating choppy resize with Qt 5 + VTK 7.1 In-Reply-To: References: Message-ID: 2017-03-07 15:53 GMT+01:00 David Cole : > On Windows, we make resizing our windows interactive by getting the > vtkInteractorStyle associated with the render window containing the > volume rendering, and then calling StartState at resize begin time > (OnEnterSizeMove) and StopState at resize end time (OnExitSizeMove). > > I suppose there may be a Qt equivalent which works on many platforms > for beginning and ending a resize action. If not, there are definitely > platform-specific hooks you can intercept to achieve smooth resizing > with this technique. > > Wrapping anything in a StartState/StopState pair on the > vtkInteractorStyle will cause "interactive frame rate rendering" to be > in effect in between the calls. The volume rendering is not as nice > looking during interactions, but it is definitely speedier. Ah, I was just about to reply to myself with some further information: I know that during interaction, the quality of the rendering is decreased, and that this can account for some of the performance discrepancy I'm seeing between camera movement vs window resize. But, I've experimented with disabling the quality degradation during interactions (so that the two should be on "equal footing"), and the resizing is still much more choppy than when interacting with the camera. So there must be something else. In fact, in the screencast I showed, I wasn't using the volume renderer's default built-in quality degradation during interaction. I'm using my own since I've found that VTKs own is a little too aggressive in degrading the quality to maintain frame rate. Elvis > > > HTH, > David C. > > > > On Tue, Mar 7, 2017 at 9:33 AM, Elvis Stansvik > wrote: >> 2017-03-07 15:17 GMT+01:00 Elvis Stansvik : >>> Hi all, >>> >>> I'm using Qt 5.5.1 and VTK 7.1. The program has a couple of VTKWidget >>> showing volume renderings, as well as a window with a chart. >> >> Actually, I'm able to reproduce this behavior when not using Qt at >> all, but just a regular render window + interactor setup with a single >> volume rendered. Camera interaction is nice and fast, but resizing the >> window, the rendering is very choppy. I'm also getting >> >> Warning: In /buildbot/vtk7-builder/build/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx, >> line 1207 >> vtkXOpenGLRenderWindow (0x1353a10): warning window did not resize in >> the allotted time >> >> printed to the console, so it seems VTK detects what I'm seeing >> visually. I did not get this warning printed in the Qt + VTK app. >> >> Elvis >> >>> >>> Have a look at the attached screen recording. Notice how camera >>> interaction in both VTK render windows is nice and smooth, but when >>> resizing the windows, the updating of the renderings is very >>> slow/choppy. >>> >>> I've been trying to debug this, or at least finding a way of >>> mitigating it. Could it be that Qt is delivering too many resize >>> events? Has anyone else dealt with this problem? >>> >>> Thanks in advance for any advice, >>> Elvis >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers From DLRdave at aol.com Tue Mar 7 09:53:15 2017 From: DLRdave at aol.com (David Cole) Date: Tue, 7 Mar 2017 09:53:15 -0500 Subject: [vtkusers] Advice on mitigating choppy resize with Qt 5 + VTK 7.1 In-Reply-To: References: Message-ID: On Windows, we make resizing our windows interactive by getting the vtkInteractorStyle associated with the render window containing the volume rendering, and then calling StartState at resize begin time (OnEnterSizeMove) and StopState at resize end time (OnExitSizeMove). I suppose there may be a Qt equivalent which works on many platforms for beginning and ending a resize action. If not, there are definitely platform-specific hooks you can intercept to achieve smooth resizing with this technique. Wrapping anything in a StartState/StopState pair on the vtkInteractorStyle will cause "interactive frame rate rendering" to be in effect in between the calls. The volume rendering is not as nice looking during interactions, but it is definitely speedier. HTH, David C. On Tue, Mar 7, 2017 at 9:33 AM, Elvis Stansvik wrote: > 2017-03-07 15:17 GMT+01:00 Elvis Stansvik : >> Hi all, >> >> I'm using Qt 5.5.1 and VTK 7.1. The program has a couple of VTKWidget >> showing volume renderings, as well as a window with a chart. > > Actually, I'm able to reproduce this behavior when not using Qt at > all, but just a regular render window + interactor setup with a single > volume rendered. Camera interaction is nice and fast, but resizing the > window, the rendering is very choppy. I'm also getting > > Warning: In /buildbot/vtk7-builder/build/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx, > line 1207 > vtkXOpenGLRenderWindow (0x1353a10): warning window did not resize in > the allotted time > > printed to the console, so it seems VTK detects what I'm seeing > visually. I did not get this warning printed in the Qt + VTK app. > > Elvis > >> >> Have a look at the attached screen recording. Notice how camera >> interaction in both VTK render windows is nice and smooth, but when >> resizing the windows, the updating of the renderings is very >> slow/choppy. >> >> I've been trying to debug this, or at least finding a way of >> mitigating it. Could it be that Qt is delivering too many resize >> events? Has anyone else dealt with this problem? >> >> Thanks in advance for any advice, >> Elvis > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers From elvis.stansvik at orexplore.com Tue Mar 7 10:10:01 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Tue, 7 Mar 2017 16:10:01 +0100 Subject: [vtkusers] Advice on mitigating choppy resize with Qt 5 + VTK 7.1 In-Reply-To: References: Message-ID: 2017-03-07 15:58 GMT+01:00 Elvis Stansvik : > 2017-03-07 15:53 GMT+01:00 David Cole : >> On Windows, we make resizing our windows interactive by getting the >> vtkInteractorStyle associated with the render window containing the >> volume rendering, and then calling StartState at resize begin time >> (OnEnterSizeMove) and StopState at resize end time (OnExitSizeMove). >> >> I suppose there may be a Qt equivalent which works on many platforms >> for beginning and ending a resize action. If not, there are definitely >> platform-specific hooks you can intercept to achieve smooth resizing >> with this technique. >> >> Wrapping anything in a StartState/StopState pair on the >> vtkInteractorStyle will cause "interactive frame rate rendering" to be >> in effect in between the calls. The volume rendering is not as nice >> looking during interactions, but it is definitely speedier. > > Ah, I was just about to reply to myself with some further information: > > I know that during interaction, the quality of the rendering is > decreased, and that this can account for some of the performance > discrepancy I'm seeing between camera movement vs window resize. > > But, I've experimented with disabling the quality degradation during > interactions (so that the two should be on "equal footing"), and the > resizing is still much more choppy than when interacting with the > camera. So there must be something else. > > In fact, in the screencast I showed, I wasn't using the volume > renderer's default built-in quality degradation during interaction. > I'm using my own since I've found that VTKs own is a little too > aggressive in degrading the quality to maintain frame rate. To illustrate, look at the attached screen recording. In this test case, I'm using mapper->AutoAdjustSampleDistancesOff(); mapper->SetSampleDistance(0.0002); on my vtkGPUVolumeRayCastMapper, to turn off the automatic adjustment of sample distance during interactions, and hardcode the sample distance to 0.0002. Notice how the rendering is still reasonably smooth during interaction, but during resize, the rendering sometimes lags with 100s of milliseconds. During the resizing I was getting warnings like Warning: In /buildbot/vtk7-builder/build/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx, line 1207 vtkXOpenGLRenderWindow (0x2a629d0): warning window did not resize in the allotted time printed. Elvis > > Elvis > >> >> >> HTH, >> David C. >> >> >> >> On Tue, Mar 7, 2017 at 9:33 AM, Elvis Stansvik >> wrote: >>> 2017-03-07 15:17 GMT+01:00 Elvis Stansvik : >>>> Hi all, >>>> >>>> I'm using Qt 5.5.1 and VTK 7.1. The program has a couple of VTKWidget >>>> showing volume renderings, as well as a window with a chart. >>> >>> Actually, I'm able to reproduce this behavior when not using Qt at >>> all, but just a regular render window + interactor setup with a single >>> volume rendered. Camera interaction is nice and fast, but resizing the >>> window, the rendering is very choppy. I'm also getting >>> >>> Warning: In /buildbot/vtk7-builder/build/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx, >>> line 1207 >>> vtkXOpenGLRenderWindow (0x1353a10): warning window did not resize in >>> the allotted time >>> >>> printed to the console, so it seems VTK detects what I'm seeing >>> visually. I did not get this warning printed in the Qt + VTK app. >>> >>> Elvis >>> >>>> >>>> Have a look at the attached screen recording. Notice how camera >>>> interaction in both VTK render windows is nice and smooth, but when >>>> resizing the windows, the updating of the renderings is very >>>> slow/choppy. >>>> >>>> I've been trying to debug this, or at least finding a way of >>>> mitigating it. Could it be that Qt is delivering too many resize >>>> events? Has anyone else dealt with this problem? >>>> >>>> Thanks in advance for any advice, >>>> Elvis >>> _______________________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html >>> >>> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ >>> >>> Search the list archives at: http://markmail.org/search/?q=vtkusers >>> >>> Follow this link to subscribe/unsubscribe: >>> http://public.kitware.com/mailman/listinfo/vtkusers -------------- next part -------------- A non-text attachment was scrubbed... Name: testcase.mkv Type: video/x-matroska Size: 1018972 bytes Desc: not available URL: From elvis.stansvik at orexplore.com Tue Mar 7 10:20:03 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Tue, 7 Mar 2017 16:20:03 +0100 Subject: [vtkusers] Advice on mitigating choppy resize with Qt 5 + VTK 7.1 In-Reply-To: References: Message-ID: 2017-03-07 16:10 GMT+01:00 Elvis Stansvik : > 2017-03-07 15:58 GMT+01:00 Elvis Stansvik : >> 2017-03-07 15:53 GMT+01:00 David Cole : >>> On Windows, we make resizing our windows interactive by getting the >>> vtkInteractorStyle associated with the render window containing the >>> volume rendering, and then calling StartState at resize begin time >>> (OnEnterSizeMove) and StopState at resize end time (OnExitSizeMove). >>> >>> I suppose there may be a Qt equivalent which works on many platforms >>> for beginning and ending a resize action. If not, there are definitely >>> platform-specific hooks you can intercept to achieve smooth resizing >>> with this technique. >>> >>> Wrapping anything in a StartState/StopState pair on the >>> vtkInteractorStyle will cause "interactive frame rate rendering" to be >>> in effect in between the calls. The volume rendering is not as nice >>> looking during interactions, but it is definitely speedier. >> >> Ah, I was just about to reply to myself with some further information: >> >> I know that during interaction, the quality of the rendering is >> decreased, and that this can account for some of the performance >> discrepancy I'm seeing between camera movement vs window resize. >> >> But, I've experimented with disabling the quality degradation during >> interactions (so that the two should be on "equal footing"), and the >> resizing is still much more choppy than when interacting with the >> camera. So there must be something else. >> >> In fact, in the screencast I showed, I wasn't using the volume >> renderer's default built-in quality degradation during interaction. >> I'm using my own since I've found that VTKs own is a little too >> aggressive in degrading the quality to maintain frame rate. > > To illustrate, look at the attached screen recording. In this test > case, I'm using > > mapper->AutoAdjustSampleDistancesOff(); > mapper->SetSampleDistance(0.0002); > > on my vtkGPUVolumeRayCastMapper, to turn off the automatic adjustment > of sample distance during interactions, and hardcode the sample > distance to 0.0002. > > Notice how the rendering is still reasonably smooth during > interaction, but during resize, the rendering sometimes lags with 100s > of milliseconds. During the resizing I was getting warnings like > > Warning: In /buildbot/vtk7-builder/build/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx, > line 1207 > vtkXOpenGLRenderWindow (0x2a629d0): warning window did not resize in > the allotted time > > printed. I wonder if what I'm seeing may be related to https://codereview.qt-project.org/?#/c/127006/ That fix was unfortunately never merged to the 5.5 branch, but it was merged into Qt 5.6: https://codereview.qt-project.org/#/c/140608/ Too bad for me, since the app must work well with Qt 5.5.1 (Ubuntu Xenial-packaged version) :( I'd just like to hear if anyone else with Qt 5 + VTK 7 on Linux are seeing this poor behavior during resizing, or if I'm alone. Elvis > > Elvis > >> >> Elvis >> >>> >>> >>> HTH, >>> David C. >>> >>> >>> >>> On Tue, Mar 7, 2017 at 9:33 AM, Elvis Stansvik >>> wrote: >>>> 2017-03-07 15:17 GMT+01:00 Elvis Stansvik : >>>>> Hi all, >>>>> >>>>> I'm using Qt 5.5.1 and VTK 7.1. The program has a couple of VTKWidget >>>>> showing volume renderings, as well as a window with a chart. >>>> >>>> Actually, I'm able to reproduce this behavior when not using Qt at >>>> all, but just a regular render window + interactor setup with a single >>>> volume rendered. Camera interaction is nice and fast, but resizing the >>>> window, the rendering is very choppy. I'm also getting >>>> >>>> Warning: In /buildbot/vtk7-builder/build/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx, >>>> line 1207 >>>> vtkXOpenGLRenderWindow (0x1353a10): warning window did not resize in >>>> the allotted time >>>> >>>> printed to the console, so it seems VTK detects what I'm seeing >>>> visually. I did not get this warning printed in the Qt + VTK app. >>>> >>>> Elvis >>>> >>>>> >>>>> Have a look at the attached screen recording. Notice how camera >>>>> interaction in both VTK render windows is nice and smooth, but when >>>>> resizing the windows, the updating of the renderings is very >>>>> slow/choppy. >>>>> >>>>> I've been trying to debug this, or at least finding a way of >>>>> mitigating it. Could it be that Qt is delivering too many resize >>>>> events? Has anyone else dealt with this problem? >>>>> >>>>> Thanks in advance for any advice, >>>>> Elvis >>>> _______________________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html >>>> >>>> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ >>>> >>>> Search the list archives at: http://markmail.org/search/?q=vtkusers >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://public.kitware.com/mailman/listinfo/vtkusers From elvis.stansvik at orexplore.com Tue Mar 7 11:02:51 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Tue, 7 Mar 2017 17:02:51 +0100 Subject: [vtkusers] Advice on mitigating choppy resize with Qt 5 + VTK 7.1 In-Reply-To: References: Message-ID: 2017-03-07 16:20 GMT+01:00 Elvis Stansvik : > 2017-03-07 16:10 GMT+01:00 Elvis Stansvik : >> 2017-03-07 15:58 GMT+01:00 Elvis Stansvik : >>> 2017-03-07 15:53 GMT+01:00 David Cole : >>>> On Windows, we make resizing our windows interactive by getting the >>>> vtkInteractorStyle associated with the render window containing the >>>> volume rendering, and then calling StartState at resize begin time >>>> (OnEnterSizeMove) and StopState at resize end time (OnExitSizeMove). >>>> >>>> I suppose there may be a Qt equivalent which works on many platforms >>>> for beginning and ending a resize action. If not, there are definitely >>>> platform-specific hooks you can intercept to achieve smooth resizing >>>> with this technique. >>>> >>>> Wrapping anything in a StartState/StopState pair on the >>>> vtkInteractorStyle will cause "interactive frame rate rendering" to be >>>> in effect in between the calls. The volume rendering is not as nice >>>> looking during interactions, but it is definitely speedier. >>> >>> Ah, I was just about to reply to myself with some further information: >>> >>> I know that during interaction, the quality of the rendering is >>> decreased, and that this can account for some of the performance >>> discrepancy I'm seeing between camera movement vs window resize. >>> >>> But, I've experimented with disabling the quality degradation during >>> interactions (so that the two should be on "equal footing"), and the >>> resizing is still much more choppy than when interacting with the >>> camera. So there must be something else. >>> >>> In fact, in the screencast I showed, I wasn't using the volume >>> renderer's default built-in quality degradation during interaction. >>> I'm using my own since I've found that VTKs own is a little too >>> aggressive in degrading the quality to maintain frame rate. >> >> To illustrate, look at the attached screen recording. In this test >> case, I'm using >> >> mapper->AutoAdjustSampleDistancesOff(); >> mapper->SetSampleDistance(0.0002); >> >> on my vtkGPUVolumeRayCastMapper, to turn off the automatic adjustment >> of sample distance during interactions, and hardcode the sample >> distance to 0.0002. >> >> Notice how the rendering is still reasonably smooth during >> interaction, but during resize, the rendering sometimes lags with 100s >> of milliseconds. During the resizing I was getting warnings like >> >> Warning: In /buildbot/vtk7-builder/build/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx, >> line 1207 >> vtkXOpenGLRenderWindow (0x2a629d0): warning window did not resize in >> the allotted time >> >> printed. > > I wonder if what I'm seeing may be related to > > https://codereview.qt-project.org/?#/c/127006/ > > That fix was unfortunately never merged to the 5.5 branch, but it was > merged into Qt 5.6: > > https://codereview.qt-project.org/#/c/140608/ > > Too bad for me, since the app must work well with Qt 5.5.1 (Ubuntu > Xenial-packaged version) :( > > I'd just like to hear if anyone else with Qt 5 + VTK 7 on Linux are > seeing this poor behavior during resizing, or if I'm alone. Sorry, ignore the above. In my last test case I did not use Qt at all, just a render window + interactor. So it's not a Qt issue. Elvis > > Elvis > >> >> Elvis >> >>> >>> Elvis >>> >>>> >>>> >>>> HTH, >>>> David C. >>>> >>>> >>>> >>>> On Tue, Mar 7, 2017 at 9:33 AM, Elvis Stansvik >>>> wrote: >>>>> 2017-03-07 15:17 GMT+01:00 Elvis Stansvik : >>>>>> Hi all, >>>>>> >>>>>> I'm using Qt 5.5.1 and VTK 7.1. The program has a couple of VTKWidget >>>>>> showing volume renderings, as well as a window with a chart. >>>>> >>>>> Actually, I'm able to reproduce this behavior when not using Qt at >>>>> all, but just a regular render window + interactor setup with a single >>>>> volume rendered. Camera interaction is nice and fast, but resizing the >>>>> window, the rendering is very choppy. I'm also getting >>>>> >>>>> Warning: In /buildbot/vtk7-builder/build/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx, >>>>> line 1207 >>>>> vtkXOpenGLRenderWindow (0x1353a10): warning window did not resize in >>>>> the allotted time >>>>> >>>>> printed to the console, so it seems VTK detects what I'm seeing >>>>> visually. I did not get this warning printed in the Qt + VTK app. >>>>> >>>>> Elvis >>>>> >>>>>> >>>>>> Have a look at the attached screen recording. Notice how camera >>>>>> interaction in both VTK render windows is nice and smooth, but when >>>>>> resizing the windows, the updating of the renderings is very >>>>>> slow/choppy. >>>>>> >>>>>> I've been trying to debug this, or at least finding a way of >>>>>> mitigating it. Could it be that Qt is delivering too many resize >>>>>> events? Has anyone else dealt with this problem? >>>>>> >>>>>> Thanks in advance for any advice, >>>>>> Elvis >>>>> _______________________________________________ >>>>> Powered by www.kitware.com >>>>> >>>>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html >>>>> >>>>> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ >>>>> >>>>> Search the list archives at: http://markmail.org/search/?q=vtkusers >>>>> >>>>> Follow this link to subscribe/unsubscribe: >>>>> http://public.kitware.com/mailman/listinfo/vtkusers From b.schober at stemmer-imaging.de Tue Mar 7 11:53:05 2017 From: b.schober at stemmer-imaging.de (Schober Beatrix [STEMMER IMAGING GmbH]) Date: Tue, 7 Mar 2017 16:53:05 +0000 Subject: [vtkusers] vtkDelaunay2D from point cloud Message-ID: <233eb2837e70491fabe7cb6c4bfd398d@SIMAIL13.stemmer.local> Hi all, I am reading attached image (gray values as z) as point cloud which works fine only displaying the point cloud with 687.371 points (no Delaunay2D filter). As soon as I use the Delaunay2D filter, I get a stack overflow (from vtkFiltersCore.dll - vtkDelaunay2D::FindTriangle(...)). On the other hand, when setting tolerance to 0.001, I get a mesh within 90 seconds. Actually I want to consider all points, or is it useful to set the tolerance? Rendering an xyz file with 359.040 points takes 40 seconds (with tolerance = 0.001) with Delaunay2D filter, also too long in a user application. Rendering an xyz file with 359.040 points takes 12 seconds (without setting tolerance) with Delaunay2D filter. (I do not understand this behaviour.) Mainly I guess, I am doing something wrong in reading the point cloud and creating the vtkPolyData? void addPoint(double x, double y, double z) { vtkIdType id = m_vtkPoints->InsertNextPoint(x, y, z); m_vtkDepths->InsertNextValue(z); m_vtkCells->InsertNextCell(1); m_vtkCells->InsertCellPoint(id); m_vtkCells->Modified(); m_vtkPoints->Modified(); m_vtkDepths->Modified(); } void createPolyData() { m_vtkDepths->SetName("DepthArray"); m_vtkPolyData->SetPoints(m_vtkPoints); m_vtkPolyData->SetVerts(m_vtkCells); m_vtkPolyData->GetPointData()->SetScalars(m_vtkDepths); m_vtkPolyData->GetPointData()->SetActiveScalars("DepthArray"); if (m_vtkPolyData->GetNumberOfPoints() > 0) { // Set vertex (cell) normals vtkSmartPointer normalsArray = vtkSmartPointer::New(); normalsArray->SetNumberOfComponents(3); //3d normals (ie x,y,z) normalsArray->SetNumberOfTuples(m_vtkPolyData->GetNumberOfPoints()); //construct the normal vectors double cN1[3] = { 1.0, 0.0, 0.0 }; double cN2[3] = { 0.0, 1.0, 0.0 }; double cN3[3] = { 0.0, 0.0, 1.0 }; //add the data to the normals array normalsArray->SetTuple(0, cN1); normalsArray->SetTuple(1, cN2); normalsArray->SetTuple(2, cN3); //add the normals to the cells in the polydata m_vtkPolyData->GetCellData()->SetNormals(normalsArray); } } I am really stuck as I was searching for descriptions, examples etc. since some days now. I hope you can give me as a newbie the right hint. Thank you very much in advance! Bea Beatrix Schober Image Acquisition Development STEMMER IMAGING | Telefon: +49 89 80902-750 b.schober at stemmer-imaging.de | www.stemmer-imaging.de [cid:stemmer-imaging-logo_a2683554-0e33-44e9-800c-5f58a623f38a.gif] STEMMER IMAGING GmbH | Gutenbergstr. 9-13 | 82178 Puchheim, Deutschland Registergericht M?nchen HR B 82026 | Gesch?ftsf?hrer: Wilhelm Stemmer, Christof Zollitsch -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: stemmer-imaging-logo_a2683554-0e33-44e9-800c-5f58a623f38a.gif Type: image/gif Size: 2320 bytes Desc: stemmer-imaging-logo_a2683554-0e33-44e9-800c-5f58a623f38a.gif URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: BrakeDrum.tif Type: image/tiff Size: 1638548 bytes Desc: BrakeDrum.tif URL: From seun at rogue-research.com Tue Mar 7 13:01:35 2017 From: seun at rogue-research.com (Seun Odutola) Date: Tue, 7 Mar 2017 13:01:35 -0500 Subject: [vtkusers] Half voxel loss during rendering Message-ID: <33703C8E-48FA-4F12-B425-75B874231E97@rogue-research.com> Hi everyone, I was wondering if anyone is aware of my situation. I work with medical images and my general understanding of VTK is that voxels are rendered with the centre as their origin. On rendering MPR?s and slices for example I notice that there is a loss of half a voxel at both ends of a slice (technically an overall loss of a voxel) and would like to know if there?s a workaround to getting the half voxel rendered. From david.gobbi at gmail.com Tue Mar 7 14:34:26 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Tue, 7 Mar 2017 12:34:26 -0700 Subject: [vtkusers] Half voxel loss during rendering In-Reply-To: <33703C8E-48FA-4F12-B425-75B874231E97@rogue-research.com> References: <33703C8E-48FA-4F12-B425-75B874231E97@rogue-research.com> Message-ID: Hi Seun, The vtkImageSliceMapper and vtkImageResliceMapper both have a method called BorderOn() that will extend the rendering by half the sample spacing. In VTK, a vtkImageData consists of a grid of point data samples. There is no "size" associated with these points, just the spacing that separates them. Display of an image involves interpolating the data points to fill in the empty space that exists between them. - David On Tue, Mar 7, 2017 at 11:01 AM, Seun Odutola wrote: > Hi everyone, > > I was wondering if anyone is aware of my situation. I work with > medical images and my general understanding of VTK is that voxels are > rendered with the centre as their origin. On rendering MPR?s and slices for > example I notice that there is a loss of half a voxel at both ends of a > slice (technically an overall loss of a voxel) and would like to know if > there?s a workaround to getting the half voxel rendered. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From b.schober at stemmer-imaging.de Wed Mar 8 02:37:27 2017 From: b.schober at stemmer-imaging.de (Schober Beatrix [STEMMER IMAGING GmbH]) Date: Wed, 8 Mar 2017 07:37:27 +0000 Subject: [vtkusers] WG: vtkDelaunay2D from point cloud Message-ID: <7d18324983e54af98e1a83b2aa6fe562@SIMAIL13.stemmer.local> Hi all, I guess, it's not possible to send documents with the e-mail? So I skip the document and hope, you can help me nevertheless. Thank you very much in advance! Bea Beatrix Schober Image Acquisition Development STEMMER IMAGING | Telefon: +49 89 80902-750 b.schober at stemmer-imaging.de | www.stemmer-imaging.de [cid:stemmer-imaging-logo_a2683554-0e33-44e9-800c-5f58a623f38a.gif] STEMMER IMAGING GmbH | Gutenbergstr. 9-13 | 82178 Puchheim, Deutschland Registergericht M?nchen HR B 82026 | Gesch?ftsf?hrer: Wilhelm Stemmer, Christof Zollitsch Von: Schober Beatrix [STEMMER IMAGING GmbH] Gesendet: Dienstag, 7. M?rz 2017 17:53 An: vtkusers at vtk.org Betreff: vtkDelaunay2D from point cloud Hi all, I am reading attached image (gray values as z) as point cloud which works fine only displaying the point cloud with 687.371 points (no Delaunay2D filter). As soon as I use the Delaunay2D filter, I get a stack overflow (from vtkFiltersCore.dll - vtkDelaunay2D::FindTriangle(...)). On the other hand, when setting tolerance to 0.001, I get a mesh within 90 seconds. Actually I want to consider all points, or is it useful to set the tolerance? Rendering an xyz file with 359.040 points takes 40 seconds (with tolerance = 0.001) with Delaunay2D filter, also too long in a user application. Rendering an xyz file with 359.040 points takes 12 seconds (without setting tolerance) with Delaunay2D filter. (I do not understand this behaviour.) Mainly I guess, I am doing something wrong in reading the point cloud and creating the vtkPolyData? void addPoint(double x, double y, double z) { vtkIdType id = m_vtkPoints->InsertNextPoint(x, y, z); m_vtkDepths->InsertNextValue(z); m_vtkCells->InsertNextCell(1); m_vtkCells->InsertCellPoint(id); m_vtkCells->Modified(); m_vtkPoints->Modified(); m_vtkDepths->Modified(); } void createPolyData() { m_vtkDepths->SetName("DepthArray"); m_vtkPolyData->SetPoints(m_vtkPoints); m_vtkPolyData->SetVerts(m_vtkCells); m_vtkPolyData->GetPointData()->SetScalars(m_vtkDepths); m_vtkPolyData->GetPointData()->SetActiveScalars("DepthArray"); if (m_vtkPolyData->GetNumberOfPoints() > 0) { // Set vertex (cell) normals vtkSmartPointer normalsArray = vtkSmartPointer::New(); normalsArray->SetNumberOfComponents(3); //3d normals (ie x,y,z) normalsArray->SetNumberOfTuples(m_vtkPolyData->GetNumberOfPoints()); //construct the normal vectors double cN1[3] = { 1.0, 0.0, 0.0 }; double cN2[3] = { 0.0, 1.0, 0.0 }; double cN3[3] = { 0.0, 0.0, 1.0 }; //add the data to the normals array normalsArray->SetTuple(0, cN1); normalsArray->SetTuple(1, cN2); normalsArray->SetTuple(2, cN3); //add the normals to the cells in the polydata m_vtkPolyData->GetCellData()->SetNormals(normalsArray); } } I am really stuck as I was searching for descriptions, examples etc. since some days now. I hope you can give me as a newbie the right hint. Thank you very much in advance! Bea -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: stemmer-imaging-logo_a2683554-0e33-44e9-800c-5f58a623f38a.gif Type: image/gif Size: 2320 bytes Desc: stemmer-imaging-logo_a2683554-0e33-44e9-800c-5f58a623f38a.gif URL: From sancho at whu.edu.cn Wed Mar 8 03:19:33 2017 From: sancho at whu.edu.cn (=?UTF-8?B?5q615paw5qGl?=) Date: Wed, 8 Mar 2017 16:19:33 +0800 (GMT+08:00) Subject: [vtkusers] WG: vtkDelaunay2D from point cloud In-Reply-To: <7d18324983e54af98e1a83b2aa6fe562@SIMAIL13.stemmer.local> References: <7d18324983e54af98e1a83b2aa6fe562@SIMAIL13.stemmer.local> Message-ID: <431a67b9.311.15aad0076f3.Coremail.sancho@whu.edu.cn> Hi Bea, vtkDelaunay2D works on the presumption that all points lie on 2D plane (Z values are ignored), and then perform constrained Delaunay triangulation. The vertices of the reconstructed 2D mesh are then replaced with true Z values. So, regards to 2D Delaunay, it might be noted that points may NOT be numerically collineation. However, collineation might be quite usually when points are regularly gridded / sampled. In thus situation, a practicable try might be numeric perturbation. That is, record the points (vtkPoints), generate a slight random displacement for each point, triangulate the perturbed points (vtkDelaunay2D), replace the points with original one. Good luck. Oyster At2017-03-08 15:37:27????sancho at whu.edu.cnwrote: Hi all, I guess, it?s not possible to send documents with the e-mail? So I skip the document and hope, you can help me nevertheless. Thank you very much in advance! Bea Beatrix Schober Image Acquisition Development STEMMER IMAGING | Telefon: +49 89 80902-750 b.schober at stemmer-imaging.de | www.stemmer-imaging.de | | STEMMER IMAGING GmbH | Gutenbergstr. 9-13 | 82178 Puchheim, Deutschland Registergericht M?nchen HR B 82026 | Gesch?ftsf?hrer: Wilhelm Stemmer, Christof Zollitsch | Von: Schober Beatrix [STEMMER IMAGING GmbH] Gesendet: Dienstag, 7. M?rz 2017 17:53 An:vtkusers at vtk.org Betreff: vtkDelaunay2D from point cloud Hi all, I am reading attached image (gray values as z) as point cloud which works fine only displaying the point cloud with 687.371 points (no Delaunay2D filter). As soon as I use the Delaunay2D filter, I get a stack overflow (from vtkFiltersCore.dll ? vtkDelaunay2D::FindTriangle(?)). On the other hand, when setting tolerance to 0.001, I get a mesh within 90 seconds. Actually I want to consider all points, or is it useful to set the tolerance? Rendering an xyz file with 359.040 points takes 40 seconds (with tolerance = 0.001) with Delaunay2D filter, also too long in a user application. Rendering an xyz file with 359.040 points takes 12 seconds (without setting tolerance) with Delaunay2D filter. (I do not understand this behaviour.) Mainly I guess, I am doing something wrong in reading the point cloud and creating the vtkPolyData? void addPoint(double x, double y, double z) { vtkIdType id = m_vtkPoints->InsertNextPoint(x, y, z); m_vtkDepths->InsertNextValue(z); m_vtkCells->InsertNextCell(1); m_vtkCells->InsertCellPoint(id); m_vtkCells->Modified(); m_vtkPoints->Modified(); m_vtkDepths->Modified(); } void createPolyData() { m_vtkDepths->SetName("DepthArray"); m_vtkPolyData->SetPoints(m_vtkPoints); m_vtkPolyData->SetVerts(m_vtkCells); m_vtkPolyData->GetPointData()->SetScalars(m_vtkDepths); m_vtkPolyData->GetPointData()->SetActiveScalars("DepthArray"); if (m_vtkPolyData->GetNumberOfPoints() > 0) { // Set vertex (cell) normals vtkSmartPointer normalsArray = vtkSmartPointer::New(); normalsArray->SetNumberOfComponents(3); //3d normals (ie x,y,z) normalsArray->SetNumberOfTuples(m_vtkPolyData->GetNumberOfPoints()); //construct the normal vectors double cN1[3] = { 1.0, 0.0, 0.0 }; double cN2[3] = { 0.0, 1.0, 0.0 }; double cN3[3] = { 0.0, 0.0, 1.0 }; //add the data to the normals array normalsArray->SetTuple(0, cN1); normalsArray->SetTuple(1, cN2); normalsArray->SetTuple(2, cN3); //add the normals to the cells in the polydata m_vtkPolyData->GetCellData()->SetNormals(normalsArray); } } I am really stuck as I was searching for descriptions, examples etc. since some days now. I hope you can give me as a newbie the right hint. Thank you very much in advance! Bea -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: stemmer-imaging-logo_a2683554-0e33-44e9-800c-5f58a623f38a.gif Type: image/gif Size: 2320 bytes Desc: not available URL: From ysa0829 at gmail.com Wed Mar 8 04:31:02 2017 From: ysa0829 at gmail.com (Ang) Date: Wed, 8 Mar 2017 02:31:02 -0700 (MST) Subject: [vtkusers] VTK_MODULE_INIT question Message-ID: <1488965462005-5742388.post@n5.nabble.com> Hi all, My application works well in VTK 7.0. When I try to upgrade vtk to the master version, I get below exception in the run time. //**************************************// Exception thrown at 0x00007FFED0FD2599 (vtkCommonCore-7.1.dll) in TestVTK.exe: 0xC0000005: Access violation reading location 0xFFFFFFFFFFFFFFFF. //**************************************// This error occur when I called AddObserver function. According to VTK 6 Migration ,I tried to add VTK_MODULE_INIT(vtkCommonCore) and still got the error massege. //**************************************// error LNK2019: unresolved external symbol "void __cdecl vtkCommonCore_AutoInit_Destruct(void)" (?vtkCommonCore_AutoInit_Destruct@@YAXXZ) referenced in function "public: __cdecl vtkCommonCore_ModuleInit::~vtkCommonCore_ModuleInit(void)" (??1vtkCommonCore_ModuleInit@@QEAA at XZ) //**************************************// Any suggestions? Thanks for assistance. -- View this message in context: http://vtk.1045678.n5.nabble.com/VTK-MODULE-INIT-question-tp5742388.html Sent from the VTK - Users mailing list archive at Nabble.com. From simon.esneault at gmail.com Wed Mar 8 04:35:26 2017 From: simon.esneault at gmail.com (Simon ESNEAULT) Date: Wed, 8 Mar 2017 10:35:26 +0100 Subject: [vtkusers] VTK 7.1 error "Shader failed to compile" with GPU Volume rendering and clipping planes Message-ID: Hello, After the migration to VTK 7.1, we get a crash in the shader program (it can't be build) when trying to use clipping planes on GPU volume rendering mapper The error is : Error: ERROR: In C:\Dev\ES-Externals\superbuild\VTK\src\Rendering\OpenGL2\vtkShaderProgram.cxx, line 395 vtkShaderProgram (000001FEBFB646D0): 0(474) : error C1038: declaration of "temp" conflicts with previous declaration at 0(426) it appears the variable Vec4 temp is declared twice... Here is the full log https://paste.ee/p/FsdWx On Windows 10, VTK is built in 64 bits with Visual Studio 2013 along with Qt 5.3.2 and other libraries. Ring a bell to anyone ? Thanks Simon -- ------------------------------------------------------------------ Simon Esneault Rennes, France ------------------------------------------------------------------ -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.esneault at gmail.com Wed Mar 8 05:16:45 2017 From: simon.esneault at gmail.com (Simon ESNEAULT) Date: Wed, 8 Mar 2017 11:16:45 +0100 Subject: [vtkusers] vtkVolumeTextureMapper3D in VTK 7.1? In-Reply-To: References: <1488814239807-5742368.post@n5.nabble.com> Message-ID: Hello Alvaro, That's real good news to hear (about the down-sampling in X and Y), I find it really difficult to tweak volume rendering only with sample distance, especially during interaction. Has the development began already ? Is there some branche where we can test that feature ? Also in that case would it be possible to add a final "gaussian smoothing pass" or equivalent only on the 2D generated image (maybe only as an option) ? I look like it is the case with FixedPointVolumeraycastMapper, the image looks a bit blurred but sometimes it helps to see the structures Thanks Simon 2017-03-06 18:17 GMT+01:00 Alvaro Sanchez : > Hi Shark, > > unfortunately there is no current plan of porting vtkVolumeTextureMapper3D > to OpenGL2 > , as far as I know. We will soon however support image down sampling in X > and Y which > should serve as additional knobs to tweak the performance of > GPURayCastMapper in > OpenGL2 (only sample distance can be currently adjusted). > > Could you provide more detail on the size of the dataset you are rendering > and your GPU > specs? > > Thanks, > ?lvaro > > On Mon, Mar 6, 2017 at 10:30 AM, Shark wrote: > >> Hello, >> >> I have been having some issues with vtkVolumeTextureMapper3D. I see it has >> been deprecated, however it is still available if I use the old openGL. >> >> Since for software rendering with texture mapping is much faster than ray >> casting, I would like to know if you are planning to have a Volume Texture >> Mapper for openGL 2, or if there is actually a new one that I am not able >> to >> find. >> >> Best regards, >> Shark >> >> >> >> >> -- >> View this message in context: http://vtk.1045678.n5.nabble.c >> om/vtkVolumeTextureMapper3D-in-VTK-7-1-tp5742368.html >> Sent from the VTK - Users mailing list archive at Nabble.com. >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: >> http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers >> > > > > -- > Alvaro Sanchez > Kitware, Inc. > Senior R&D Engineer > 21 Corporate Drive > Clifton Park, NY 12065-8662 > Phone: 518-881-4901 > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > > -- ------------------------------------------------------------------ Simon Esneault Rennes, France ------------------------------------------------------------------ -------------- next part -------------- An HTML attachment was scrubbed... URL: From elvis.stansvik at orexplore.com Wed Mar 8 08:04:49 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Wed, 8 Mar 2017 14:04:49 +0100 Subject: [vtkusers] vtkVolumeTextureMapper3D in VTK 7.1? In-Reply-To: References: <1488814239807-5742368.post@n5.nabble.com> Message-ID: 2017-03-08 11:16 GMT+01:00 Simon ESNEAULT : > Hello Alvaro, > > That's real good news to hear (about the down-sampling in X and Y), I find > it really difficult to tweak volume rendering only with sample distance, > especially during interaction. > Has the development began already ? Is there some branche where we can test > that feature ? > > Also in that case would it be possible to add a final "gaussian smoothing > pass" or equivalent only on the 2D generated image (maybe only as an option) > ? I look like it is the case with FixedPointVolumeraycastMapper, the image > looks a bit blurred but sometimes it helps to see the structures I'm also very interested in this. I'm using vtkGPUVolumeRayCastMapper, and I'm currently turning off the automatic adjustment of sample distance during interaction and resorted to doing my own simpler adjustment. I'm simply quadrupling the sample distance during interaction (for still rendering I use (spacingX+spacingY+spacingZ)/6). I'd love to have another quality controlling knob to turn. Is there a MR up for it already? Will it be in 7.2? Elvis > > Thanks > Simon > > > 2017-03-06 18:17 GMT+01:00 Alvaro Sanchez : >> >> Hi Shark, >> >> unfortunately there is no current plan of porting vtkVolumeTextureMapper3D >> to OpenGL2 >> , as far as I know. We will soon however support image down sampling in X >> and Y which >> should serve as additional knobs to tweak the performance of >> GPURayCastMapper in >> OpenGL2 (only sample distance can be currently adjusted). >> >> Could you provide more detail on the size of the dataset you are rendering >> and your GPU >> specs? >> >> Thanks, >> ?lvaro >> >> On Mon, Mar 6, 2017 at 10:30 AM, Shark wrote: >>> >>> Hello, >>> >>> I have been having some issues with vtkVolumeTextureMapper3D. I see it >>> has >>> been deprecated, however it is still available if I use the old openGL. >>> >>> Since for software rendering with texture mapping is much faster than ray >>> casting, I would like to know if you are planning to have a Volume >>> Texture >>> Mapper for openGL 2, or if there is actually a new one that I am not able >>> to >>> find. >>> >>> Best regards, >>> Shark >>> >>> >>> >>> >>> -- >>> View this message in context: >>> http://vtk.1045678.n5.nabble.com/vtkVolumeTextureMapper3D-in-VTK-7-1-tp5742368.html >>> Sent from the VTK - Users mailing list archive at Nabble.com. >>> _______________________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Please keep messages on-topic and check the VTK FAQ at: >>> http://www.vtk.org/Wiki/VTK_FAQ >>> >>> Search the list archives at: http://markmail.org/search/?q=vtkusers >>> >>> Follow this link to subscribe/unsubscribe: >>> http://public.kitware.com/mailman/listinfo/vtkusers >> >> >> >> >> -- >> Alvaro Sanchez >> Kitware, Inc. >> Senior R&D Engineer >> 21 Corporate Drive >> Clifton Park, NY 12065-8662 >> Phone: 518-881-4901 >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: >> http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers >> > > > > -- > ------------------------------------------------------------------ > Simon Esneault > Rennes, France > ------------------------------------------------------------------ > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > From simon.esneault at gmail.com Wed Mar 8 08:30:25 2017 From: simon.esneault at gmail.com (Simon ESNEAULT) Date: Wed, 8 Mar 2017 14:30:25 +0100 Subject: [vtkusers] vtkVolumeTextureMapper3D in VTK 7.1? In-Reply-To: References: <1488814239807-5742368.post@n5.nabble.com> Message-ID: Same here, for the still rendering I use the minimal spacing value in all 3 directions divided by 2 (something to respect Shannon theorem but I'm not sure if it's relevant here ...) During interaction I ended up hacking vtkOpenGLGPUVolumeRayCastMapper::ComputeReductionFactor() method to compute a sampling distance that really honor the wanted FPS. That make it easier to ensure a target FPS Here is the diff from VTK 7.1 release //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --- C:/VTK-7.1.0/Rendering/VolumeOpenGL2/vtkOpenGLGPUVolumeRayCastMapper.cxx Mon Nov 14 19:58:01 2016 +++ C:/VTK-7.1.0/Rendering/VolumeOpenGL2/vtkOpenGLGPUVolumeRayCastMapper.cxx Wed Mar 08 14:21:13 2017 @@ -2116,26 +2116,9 @@ else { input->GetSpacing(this->CellSpacing); - vtkMatrix4x4* worldToDataset = vol->GetMatrix(); - double minWorldSpacing = VTK_DOUBLE_MAX; - int i = 0; - while (i < 3) - { - double tmp = worldToDataset->GetElement(0,i); - double tmp2 = tmp * tmp; - tmp = worldToDataset->GetElement(1,i); - tmp2 += tmp * tmp; - tmp = worldToDataset->GetElement(2,i); - tmp2 += tmp * tmp; - - // We use fabs() in case the spacing is negative. - double worldSpacing = fabs(this->CellSpacing[i] * sqrt(tmp2)); - if(worldSpacing < minWorldSpacing) - { - minWorldSpacing = worldSpacing; - } - ++i; - } + // Approximate Shannon -> half the miniaml spacing + double minWorldSpacing = std::min(std::min(this->CellSpacing[0], + this->CellSpacing[1]),this->CellSpacing[1]) / 2.; // minWorldSpacing is the optimal sample distance in world space. // To go faster (reduceFactor<1.0), we multiply this distance @@ -3113,7 +3096,6 @@ if ( this->TimeToDraw ) { - double oldFactor = this->ReductionFactor; double timeToDraw; if (allocatedTime < 1.0) @@ -3137,30 +3119,17 @@ timeToDraw = 10.0; } - double fullTime = timeToDraw / this->ReductionFactor; - double newFactor = allocatedTime / fullTime; - - // Compute average factor - this->ReductionFactor = (newFactor + oldFactor)/2.0; - - // Discretize reduction factor so that it doesn't cause - // visual artifacts when used to reduce the sample distance - this->ReductionFactor = (this->ReductionFactor > 1.0) ? 1.0 : - (this->ReductionFactor); - - if (this->ReductionFactor < 0.20) + if ( timeToDraw == BigTimeToDraw ) { - this->ReductionFactor = 0.10; + this->ReductionFactor = 1; } - else if (this->ReductionFactor < 0.50) - { - this->ReductionFactor = 0.20; - } - else if (this->ReductionFactor < 1.0) + else { - this->ReductionFactor = 0.50; + double l_wanted_fps = 1. / ( allocatedTime * 3. ); + double l_current_fps = 1. / timeToDraw; + this->ReductionFactor *= l_current_fps / l_wanted_fps; + this->ReductionFactor = vtkMath::Round( this->ReductionFactor * 50. ) / 50.; } - // Clamp it if ( 1.0/this->ReductionFactor > this->MaximumImageSampleDistance ) { //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Simon 2017-03-08 14:04 GMT+01:00 Elvis Stansvik : > 2017-03-08 11:16 GMT+01:00 Simon ESNEAULT : > > Hello Alvaro, > > > > That's real good news to hear (about the down-sampling in X and Y), I > find > > it really difficult to tweak volume rendering only with sample distance, > > especially during interaction. > > Has the development began already ? Is there some branche where we can > test > > that feature ? > > > > Also in that case would it be possible to add a final "gaussian smoothing > > pass" or equivalent only on the 2D generated image (maybe only as an > option) > > ? I look like it is the case with FixedPointVolumeraycastMapper, the > image > > looks a bit blurred but sometimes it helps to see the structures > > I'm also very interested in this. I'm using vtkGPUVolumeRayCastMapper, > and I'm currently turning off the automatic adjustment of sample > distance during interaction and resorted to doing my own simpler > adjustment. I'm simply quadrupling the sample distance during > interaction (for still rendering I use > (spacingX+spacingY+spacingZ)/6). I'd love to have another quality > controlling knob to turn. > > Is there a MR up for it already? Will it be in 7.2? > > Elvis > > > > > Thanks > > Simon > > > > > > 2017-03-06 18:17 GMT+01:00 Alvaro Sanchez : > >> > >> Hi Shark, > >> > >> unfortunately there is no current plan of porting > vtkVolumeTextureMapper3D > >> to OpenGL2 > >> , as far as I know. We will soon however support image down sampling > in X > >> and Y which > >> should serve as additional knobs to tweak the performance of > >> GPURayCastMapper in > >> OpenGL2 (only sample distance can be currently adjusted). > >> > >> Could you provide more detail on the size of the dataset you are > rendering > >> and your GPU > >> specs? > >> > >> Thanks, > >> ?lvaro > >> > >> On Mon, Mar 6, 2017 at 10:30 AM, Shark wrote: > >>> > >>> Hello, > >>> > >>> I have been having some issues with vtkVolumeTextureMapper3D. I see it > >>> has > >>> been deprecated, however it is still available if I use the old openGL. > >>> > >>> Since for software rendering with texture mapping is much faster than > ray > >>> casting, I would like to know if you are planning to have a Volume > >>> Texture > >>> Mapper for openGL 2, or if there is actually a new one that I am not > able > >>> to > >>> find. > >>> > >>> Best regards, > >>> Shark > >>> > >>> > >>> > >>> > >>> -- > >>> View this message in context: > >>> http://vtk.1045678.n5.nabble.com/vtkVolumeTextureMapper3D- > in-VTK-7-1-tp5742368.html > >>> Sent from the VTK - Users mailing list archive at Nabble.com. > >>> _______________________________________________ > >>> Powered by www.kitware.com > >>> > >>> Visit other Kitware open-source projects at > >>> http://www.kitware.com/opensource/opensource.html > >>> > >>> Please keep messages on-topic and check the VTK FAQ at: > >>> http://www.vtk.org/Wiki/VTK_FAQ > >>> > >>> Search the list archives at: http://markmail.org/search/?q=vtkusers > >>> > >>> Follow this link to subscribe/unsubscribe: > >>> http://public.kitware.com/mailman/listinfo/vtkusers > >> > >> > >> > >> > >> -- > >> Alvaro Sanchez > >> Kitware, Inc. > >> Senior R&D Engineer > >> 21 Corporate Drive > >> Clifton Park, NY 12065-8662 > >> Phone: 518-881-4901 > >> > >> _______________________________________________ > >> Powered by www.kitware.com > >> > >> Visit other Kitware open-source projects at > >> http://www.kitware.com/opensource/opensource.html > >> > >> Please keep messages on-topic and check the VTK FAQ at: > >> http://www.vtk.org/Wiki/VTK_FAQ > >> > >> Search the list archives at: http://markmail.org/search/?q=vtkusers > >> > >> Follow this link to subscribe/unsubscribe: > >> http://public.kitware.com/mailman/listinfo/vtkusers > >> > > > > > > > > -- > > ------------------------------------------------------------------ > > Simon Esneault > > Rennes, France > > ------------------------------------------------------------------ > > > > _______________________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Please keep messages on-topic and check the VTK FAQ at: > > http://www.vtk.org/Wiki/VTK_FAQ > > > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > > > Follow this link to subscribe/unsubscribe: > > http://public.kitware.com/mailman/listinfo/vtkusers > > > -- ------------------------------------------------------------------ Simon Esneault Rennes, France ------------------------------------------------------------------ -------------- next part -------------- An HTML attachment was scrubbed... URL: From cp.vtk.user at googlemail.com Wed Mar 8 08:42:04 2017 From: cp.vtk.user at googlemail.com (C P) Date: Wed, 8 Mar 2017 14:42:04 +0100 Subject: [vtkusers] How to explicitely get the different regions with ConnectivityFilter? In-Reply-To: <4ce68661-cead-eedc-2d53-451f9398ac6f@inria.fr> References: <4ce68661-cead-eedc-2d53-451f9398ac6f@inria.fr> Message-ID: Hi Nicolas, I had a similar problem: I want to extract all connected components of a surface mesh and copy each one to a separate vtkPolyData object. Here is what I did. Maybe this could help you. cc_filter = vtk.vtkPolyDataConnectivityFilter() cc_filter.SetInputData(mesh) cc_filter.SetExtractionModeToSpecifiedRegions() components = list() idx = 0 while True: cc_filter.AddSpecifiedRegion(idx) cc_filter.Update() component = vtk.vtkPolyData() component.DeepCopy(cc_filter.GetOutput()) # Make sure we got something if component.GetNumberOfCells() <= 0: break components.append(component) cc_filter.DeleteSpecifiedRegion(idx) idx += 1 return components Best regards, CP On Fri, Feb 17, 2017 at 2:38 PM, Nicolas Cedilnik wrote: > Hello, > > I have an unstructured grid with several point data arrays and would like > to extract the connected regions and their associated data into separate > files. > > I can do that with paraview but I'm struggling to get it done using python > vtk bindings. > > So far I've managed to extract the cells corresponding to the the largest > region: > > rd = vtk.vtkGenericDataObjectReader() > rd.SetFileName(my_input_vtk_file) > rd.Update() > ug = rd.GetOutput() > f = vtk.vtkConnectivityFilter() > f.SetInputData(ug) > f.SetExtractionModeToLargestRegion() > f.Update() > out = f.GetOutput() > > ug.GetNumberOfCells() # 28396, the original number of cells > out.GetNumberOfCells() # 27740, less cells, looks good > > from which I can work something out, but I have two problems with this > approach: > - I'd like to know the indices of the other connected regions > - the `ug` input only has 1 point data array, I believe this is a known > limitation > > I've found a SetExtractionModeToAllRegions method but I don't understand > how to deal with it: > f.SetExtractionModeToAllRegions() > b = f.GetOutput() > b.GetNumberOfCells() # 28396, same as input > b.GetCellData().GetNumberOfArrays() # 0, I would have expected an array > where the cells where labeled by region number... > > All in all, I have two questions: > - How do I use the filter to get the cells labeled by region? > - (less important) Is it possible to read different point data arrays with > vtk python bindings? > > Thanks in advance for your help and advices on how to use vtk properly > > -- > Nicolas > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensou > rce/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.esneault at gmail.com Wed Mar 8 09:00:24 2017 From: simon.esneault at gmail.com (Simon ESNEAULT) Date: Wed, 8 Mar 2017 15:00:24 +0100 Subject: [vtkusers] Simple vertex is square with VTK 7.1, was round with VTK 6.3 (old backend) Message-ID: Hello VTK This super simple program does not give me the same result with VTK 7.1 (OpenGL2 backend) than it did with VTK 6.3 (old OpenGL backend) //---------------------------------------------------------------------------------------------------------------- #include "vtkIdList.h" #include "vtkPNGWriter.h" #include "vtkPolyData.h" #include "vtkPolyDataMapper.h" #include "vtkProperty.h" #include "vtkRenderWindow.h" #include "vtkRenderWindowInteractor.h" #include "vtkRenderer.h" #include "vtkWindowToImageFilter.h" int main( int argc, char *argv[] ){ vtkSmartPointer l_vertex = vtkSmartPointer::New(); l_vertex->SetNumberOfPoints( 1 ); vtkSmartPointer l_pix_cell = vtkSmartPointer::New(); l_pix_cell->InsertNextId( 0 ); vtkSmartPointer l_polydata = vtkSmartPointer::New(); l_polydata->Allocate( 1 ); l_polydata->SetPoints( l_vertex ); l_polydata->InsertNextCell( VTK_VERTEX, l_pix_cell ); vtkSmartPointer l_mapper = vtkSmartPointer::New(); l_mapper->SetInputData( l_polydata ); vtkSmartPointer l_actor = vtkSmartPointer::New(); l_actor->SetMapper( l_mapper ); l_actor->GetProperty()->SetPointSize( 20 ); vtkSmartPointer l_renderer = vtkSmartPointer::New(); l_renderer->AddActor( l_actor ); vtkSmartPointer l_render_window = vtkSmartPointer::New(); l_render_window->AddRenderer( l_renderer ); l_render_window->Render(); vtkSmartPointer l_window_to_image = vtkSmartPointer::New(); l_window_to_image->SetInput( l_render_window ); vtkSmartPointer l_writer = vtkSmartPointer::New(); l_writer->SetFileName( "simple-vertex.png" ); l_writer->SetInputConnection( l_window_to_image->GetOutputPort() ); l_writer->Write(); } //---------------------------------------------------------------------------------------------------------------- The VTK 6.3 vertex was a nice round while the VTK 7.1 is a square, see the attached screenshot ... Is there some additional parameter/option that need to be turned on somewhere to restore that functionality ? Thanks Simon -- ------------------------------------------------------------------ Simon Esneault Rennes, France ------------------------------------------------------------------ -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: simple-vertex-vtk-6.3.png Type: image/png Size: 574 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: simple-vertex-vtk-7.1.png Type: image/png Size: 401 bytes Desc: not available URL: From vtk12af6bc42 at kant.sophonet.de Wed Mar 8 09:27:40 2017 From: vtk12af6bc42 at kant.sophonet.de (Sophonet) Date: Wed, 08 Mar 2017 15:27:40 +0100 Subject: [vtkusers] =?utf-8?q?How_to_update_coordinates_of_one_vtkPlane_if?= =?utf-8?q?_coordinates_of_another_vtkPlane_change=3F?= Message-ID: Hi list, in my VTK app, I need two vtkPlanes (A and B) for different purposes. However, their information depends on each other. If coordinates of plane A change, I would like to automatically B recalculate its parameters, based on indirectly derived information from A. Currently, I am manually triggering the update of B when I change the information of A, but for that "hack", I have to provide an interface through a few software layers, which I would like to avoid. I have not found a way to listen to "modify" - events of A, since it seems that there is no "modified()" - command. Any suggestions? Thanks, Sophonet From cory.quammen at kitware.com Wed Mar 8 09:51:32 2017 From: cory.quammen at kitware.com (Cory Quammen) Date: Wed, 8 Mar 2017 09:51:32 -0500 Subject: [vtkusers] How to update coordinates of one vtkPlane if coordinates of another vtkPlane change? In-Reply-To: References: Message-ID: See http://www.vtk.org/Wiki/VTK/Examples/Cxx/Interaction/ClientData for an example of how to set up an event observer. This is the pattern you can follow to have plane B observe modified events from plane A. You'll want B to observe vtkCommand::ModifiedEvent instead of vtkCommand::KeyPressEvent. HTH, Cory On Wed, Mar 8, 2017 at 9:27 AM, Sophonet wrote: > Hi list, > > in my VTK app, I need two vtkPlanes (A and B) for different purposes. > However, their information depends on each other. If coordinates of plane A > change, I would like to automatically B recalculate its parameters, based on > indirectly derived information from A. > > Currently, I am manually triggering the update of B when I change the > information of A, but for that "hack", I have to provide an interface > through a few software layers, which I would like to avoid. > > I have not found a way to listen to "modify" - events of A, since it seems > that there is no "modified()" - command. > > Any suggestions? > > Thanks, > > Sophonet > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers -- Cory Quammen Staff R&D Engineer Kitware, Inc. From bill.lorensen at gmail.com Wed Mar 8 10:16:11 2017 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Wed, 8 Mar 2017 10:16:11 -0500 Subject: [vtkusers] How to update coordinates of one vtkPlane if coordinates of another vtkPlane change? In-Reply-To: References: Message-ID: And here is an example that uses ModifiedEvent... http://www.vtk.org/Wiki/VTK/Examples/Cxx/Visualization/BillboardTextActor3D On Wed, Mar 8, 2017 at 9:51 AM, Cory Quammen wrote: > See http://www.vtk.org/Wiki/VTK/Examples/Cxx/Interaction/ClientData > for an example of how to set up an event observer. This is the pattern > you can follow to have plane B observe modified events from plane A. > You'll want B to observe vtkCommand::ModifiedEvent instead of > vtkCommand::KeyPressEvent. > > HTH, > Cory > > On Wed, Mar 8, 2017 at 9:27 AM, Sophonet wrote: >> Hi list, >> >> in my VTK app, I need two vtkPlanes (A and B) for different purposes. >> However, their information depends on each other. If coordinates of plane A >> change, I would like to automatically B recalculate its parameters, based on >> indirectly derived information from A. >> >> Currently, I am manually triggering the update of B when I change the >> information of A, but for that "hack", I have to provide an interface >> through a few software layers, which I would like to avoid. >> >> I have not found a way to listen to "modify" - events of A, since it seems >> that there is no "modified()" - command. >> >> Any suggestions? >> >> Thanks, >> >> Sophonet >> >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: >> http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers > > > > -- > Cory Quammen > Staff R&D Engineer > Kitware, Inc. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers -- Unpaid intern in BillsBasement at noware dot com From cory.quammen at kitware.com Wed Mar 8 10:25:00 2017 From: cory.quammen at kitware.com (Cory Quammen) Date: Wed, 8 Mar 2017 10:25:00 -0500 Subject: [vtkusers] How to update coordinates of one vtkPlane if coordinates of another vtkPlane change? In-Reply-To: References: Message-ID: Bill, you must have used some magic search techn... oh, there's the search bar on the wiki :-) On Wed, Mar 8, 2017 at 10:16 AM, Bill Lorensen wrote: > And here is an example that uses ModifiedEvent... > http://www.vtk.org/Wiki/VTK/Examples/Cxx/Visualization/BillboardTextActor3D > > > On Wed, Mar 8, 2017 at 9:51 AM, Cory Quammen wrote: >> See http://www.vtk.org/Wiki/VTK/Examples/Cxx/Interaction/ClientData >> for an example of how to set up an event observer. This is the pattern >> you can follow to have plane B observe modified events from plane A. >> You'll want B to observe vtkCommand::ModifiedEvent instead of >> vtkCommand::KeyPressEvent. >> >> HTH, >> Cory >> >> On Wed, Mar 8, 2017 at 9:27 AM, Sophonet wrote: >>> Hi list, >>> >>> in my VTK app, I need two vtkPlanes (A and B) for different purposes. >>> However, their information depends on each other. If coordinates of plane A >>> change, I would like to automatically B recalculate its parameters, based on >>> indirectly derived information from A. >>> >>> Currently, I am manually triggering the update of B when I change the >>> information of A, but for that "hack", I have to provide an interface >>> through a few software layers, which I would like to avoid. >>> >>> I have not found a way to listen to "modify" - events of A, since it seems >>> that there is no "modified()" - command. >>> >>> Any suggestions? >>> >>> Thanks, >>> >>> Sophonet >>> >>> >>> _______________________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Please keep messages on-topic and check the VTK FAQ at: >>> http://www.vtk.org/Wiki/VTK_FAQ >>> >>> Search the list archives at: http://markmail.org/search/?q=vtkusers >>> >>> Follow this link to subscribe/unsubscribe: >>> http://public.kitware.com/mailman/listinfo/vtkusers >> >> >> >> -- >> Cory Quammen >> Staff R&D Engineer >> Kitware, Inc. >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers > > > > -- > Unpaid intern in BillsBasement at noware dot com -- Cory Quammen Staff R&D Engineer Kitware, Inc. From vtk12af6bc42 at kant.sophonet.de Wed Mar 8 10:28:28 2017 From: vtk12af6bc42 at kant.sophonet.de (Sophonet) Date: Wed, 08 Mar 2017 16:28:28 +0100 Subject: [vtkusers] =?utf-8?q?How_to_update_coordinates_of_one_vtkPlane_if?= =?utf-8?q?_coordinates_of_another_vtkPlane_change=3F?= In-Reply-To: References: Message-ID: <0ef0d296ea58c607e8442d2995a9b62d@srv19.sysproserver.de> Wow, this was easy... vtkCommand::ModifiedEvent does not appear in http://www.vtk.org/doc/nightly/html/classvtkCommand.html, that's why I came up with my question. Thanks! Am 2017-03-08 15:51, schrieb Cory Quammen: > See http://www.vtk.org/Wiki/VTK/Examples/Cxx/Interaction/ClientData > for an example of how to set up an event observer. This is the pattern > you can follow to have plane B observe modified events from plane A. > You'll want B to observe vtkCommand::ModifiedEvent instead of > vtkCommand::KeyPressEvent. > > HTH, > Cory > > On Wed, Mar 8, 2017 at 9:27 AM, Sophonet > wrote: >> Hi list, >> >> in my VTK app, I need two vtkPlanes (A and B) for different purposes. >> However, their information depends on each other. If coordinates of >> plane A >> change, I would like to automatically B recalculate its parameters, >> based on >> indirectly derived information from A. >> >> Currently, I am manually triggering the update of B when I change the >> information of A, but for that "hack", I have to provide an interface >> through a few software layers, which I would like to avoid. >> >> I have not found a way to listen to "modify" - events of A, since it >> seems >> that there is no "modified()" - command. >> >> Any suggestions? >> >> Thanks, >> >> Sophonet >> >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: >> http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers From alvaro.sanchez at kitware.com Wed Mar 8 11:08:20 2017 From: alvaro.sanchez at kitware.com (Alvaro Sanchez) Date: Wed, 8 Mar 2017 11:08:20 -0500 Subject: [vtkusers] vtkVolumeTextureMapper3D in VTK 7.1? In-Reply-To: References: <1488814239807-5742368.post@n5.nabble.com> Message-ID: Thanks for the interest. There is no branch yet but I will ping you once you can try it out. > Also in that case would it be possible to add a final "gaussian smoothing > pass" or equivalent only on the 2D generated image (maybe only as an option) The first version will most likely only support linear interpolation, but will keep this in mind. On Wed, Mar 8, 2017 at 8:04 AM, Elvis Stansvik wrote: > 2017-03-08 11:16 GMT+01:00 Simon ESNEAULT : > > Hello Alvaro, > > > > That's real good news to hear (about the down-sampling in X and Y), I > find > > it really difficult to tweak volume rendering only with sample distance, > > especially during interaction. > > Has the development began already ? Is there some branche where we can > test > > that feature ? > > > > Also in that case would it be possible to add a final "gaussian smoothing > > pass" or equivalent only on the 2D generated image (maybe only as an > option) > > ? I look like it is the case with FixedPointVolumeraycastMapper, the > image > > looks a bit blurred but sometimes it helps to see the structures > > I'm also very interested in this. I'm using vtkGPUVolumeRayCastMapper, > and I'm currently turning off the automatic adjustment of sample > distance during interaction and resorted to doing my own simpler > adjustment. I'm simply quadrupling the sample distance during > interaction (for still rendering I use > (spacingX+spacingY+spacingZ)/6). I'd love to have another quality > controlling knob to turn. > > Is there a MR up for it already? Will it be in 7.2? > > Elvis > > > > > Thanks > > Simon > > > > > > 2017-03-06 18:17 GMT+01:00 Alvaro Sanchez : > >> > >> Hi Shark, > >> > >> unfortunately there is no current plan of porting > vtkVolumeTextureMapper3D > >> to OpenGL2 > >> , as far as I know. We will soon however support image down sampling > in X > >> and Y which > >> should serve as additional knobs to tweak the performance of > >> GPURayCastMapper in > >> OpenGL2 (only sample distance can be currently adjusted). > >> > >> Could you provide more detail on the size of the dataset you are > rendering > >> and your GPU > >> specs? > >> > >> Thanks, > >> ?lvaro > >> > >> On Mon, Mar 6, 2017 at 10:30 AM, Shark wrote: > >>> > >>> Hello, > >>> > >>> I have been having some issues with vtkVolumeTextureMapper3D. I see it > >>> has > >>> been deprecated, however it is still available if I use the old openGL. > >>> > >>> Since for software rendering with texture mapping is much faster than > ray > >>> casting, I would like to know if you are planning to have a Volume > >>> Texture > >>> Mapper for openGL 2, or if there is actually a new one that I am not > able > >>> to > >>> find. > >>> > >>> Best regards, > >>> Shark > >>> > >>> > >>> > >>> > >>> -- > >>> View this message in context: > >>> http://vtk.1045678.n5.nabble.com/vtkVolumeTextureMapper3D- > in-VTK-7-1-tp5742368.html > >>> Sent from the VTK - Users mailing list archive at Nabble.com. > >>> _______________________________________________ > >>> Powered by www.kitware.com > >>> > >>> Visit other Kitware open-source projects at > >>> http://www.kitware.com/opensource/opensource.html > >>> > >>> Please keep messages on-topic and check the VTK FAQ at: > >>> http://www.vtk.org/Wiki/VTK_FAQ > >>> > >>> Search the list archives at: http://markmail.org/search/?q=vtkusers > >>> > >>> Follow this link to subscribe/unsubscribe: > >>> http://public.kitware.com/mailman/listinfo/vtkusers > >> > >> > >> > >> > >> -- > >> Alvaro Sanchez > >> Kitware, Inc. > >> Senior R&D Engineer > >> 21 Corporate Drive > >> Clifton Park, NY 12065-8662 > >> Phone: 518-881-4901 > >> > >> _______________________________________________ > >> Powered by www.kitware.com > >> > >> Visit other Kitware open-source projects at > >> http://www.kitware.com/opensource/opensource.html > >> > >> Please keep messages on-topic and check the VTK FAQ at: > >> http://www.vtk.org/Wiki/VTK_FAQ > >> > >> Search the list archives at: http://markmail.org/search/?q=vtkusers > >> > >> Follow this link to subscribe/unsubscribe: > >> http://public.kitware.com/mailman/listinfo/vtkusers > >> > > > > > > > > -- > > ------------------------------------------------------------------ > > Simon Esneault > > Rennes, France > > ------------------------------------------------------------------ > > > > _______________________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Please keep messages on-topic and check the VTK FAQ at: > > http://www.vtk.org/Wiki/VTK_FAQ > > > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > > > Follow this link to subscribe/unsubscribe: > > http://public.kitware.com/mailman/listinfo/vtkusers > > > -- Alvaro Sanchez Kitware, Inc. Senior R&D Engineer 21 Corporate Drive Clifton Park, NY 12065-8662 Phone: 518-881-4901 -------------- next part -------------- An HTML attachment was scrubbed... URL: From elvis.stansvik at orexplore.com Wed Mar 8 13:35:02 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Wed, 8 Mar 2017 19:35:02 +0100 Subject: [vtkusers] vtkVolumeTextureMapper3D in VTK 7.1? In-Reply-To: References: <1488814239807-5742368.post@n5.nabble.com> Message-ID: Den 8 mars 2017 2:31 em skrev "Simon ESNEAULT" : > > Same here, for the still rendering I use the minimal spacing value in all 3 directions divided by 2 (something to respect Shannon theorem but I'm not sure if it's relevant here ...) > During interaction I ended up hacking vtkOpenGLGPUVolumeRayCastMapper::ComputeReductionFactor() method to compute a sampling distance that really honor the wanted FPS. That make it easier to ensure a target FPS > > Here is the diff from VTK 7.1 release Thanks for sharing. In my case what I found was that the default computation was too aggressive in reducing the quality. At least it looked/felt like that. I also know that adding support for respecting the image sample distance is on the radar for the VTK devs (see recent post by me on vtk-developers, I'm on my phone so don't have it handy atm). Elvis > > //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ > --- C:/VTK-7.1.0/Rendering/VolumeOpenGL2/vtkOpenGLGPUVolumeRayCastMapper.cxx Mon Nov 14 19:58:01 2016 > +++ C:/VTK-7.1.0/Rendering/VolumeOpenGL2/vtkOpenGLGPUVolumeRayCastMapper.cxx Wed Mar 08 14:21:13 2017 > @@ -2116,26 +2116,9 @@ > else > { > input->GetSpacing(this->CellSpacing); > - vtkMatrix4x4* worldToDataset = vol->GetMatrix(); > - double minWorldSpacing = VTK_DOUBLE_MAX; > - int i = 0; > - while (i < 3) > - { > - double tmp = worldToDataset->GetElement(0,i); > - double tmp2 = tmp * tmp; > - tmp = worldToDataset->GetElement(1,i); > - tmp2 += tmp * tmp; > - tmp = worldToDataset->GetElement(2,i); > - tmp2 += tmp * tmp; > - > - // We use fabs() in case the spacing is negative. > - double worldSpacing = fabs(this->CellSpacing[i] * sqrt(tmp2)); > - if(worldSpacing < minWorldSpacing) > - { > - minWorldSpacing = worldSpacing; > - } > - ++i; > - } > + // Approximate Shannon -> half the miniaml spacing > + double minWorldSpacing = std::min(std::min(this->CellSpacing[0], > + this->CellSpacing[1]),this->CellSpacing[1]) / 2.; > > // minWorldSpacing is the optimal sample distance in world space. > // To go faster (reduceFactor<1.0), we multiply this distance > @@ -3113,7 +3096,6 @@ > > if ( this->TimeToDraw ) > { > - double oldFactor = this->ReductionFactor; > > double timeToDraw; > if (allocatedTime < 1.0) > @@ -3137,30 +3119,17 @@ > timeToDraw = 10.0; > } > > - double fullTime = timeToDraw / this->ReductionFactor; > - double newFactor = allocatedTime / fullTime; > - > - // Compute average factor > - this->ReductionFactor = (newFactor + oldFactor)/2.0; > - > - // Discretize reduction factor so that it doesn't cause > - // visual artifacts when used to reduce the sample distance > - this->ReductionFactor = (this->ReductionFactor > 1.0) ? 1.0 : > - (this->ReductionFactor); > - > - if (this->ReductionFactor < 0.20) > + if ( timeToDraw == BigTimeToDraw ) > { > - this->ReductionFactor = 0.10; > + this->ReductionFactor = 1; > } > - else if (this->ReductionFactor < 0.50) > - { > - this->ReductionFactor = 0.20; > - } > - else if (this->ReductionFactor < 1.0) > + else > { > - this->ReductionFactor = 0.50; > + double l_wanted_fps = 1. / ( allocatedTime * 3. ); > + double l_current_fps = 1. / timeToDraw; > + this->ReductionFactor *= l_current_fps / l_wanted_fps; > + this->ReductionFactor = vtkMath::Round( this->ReductionFactor * 50. ) / 50.; > } > - > // Clamp it > if ( 1.0/this->ReductionFactor > this->MaximumImageSampleDistance ) > { > //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ > > > Simon > > 2017-03-08 14:04 GMT+01:00 Elvis Stansvik : >> >> 2017-03-08 11:16 GMT+01:00 Simon ESNEAULT : >> > Hello Alvaro, >> > >> > That's real good news to hear (about the down-sampling in X and Y), I find >> > it really difficult to tweak volume rendering only with sample distance, >> > especially during interaction. >> > Has the development began already ? Is there some branche where we can test >> > that feature ? >> > >> > Also in that case would it be possible to add a final "gaussian smoothing >> > pass" or equivalent only on the 2D generated image (maybe only as an option) >> > ? I look like it is the case with FixedPointVolumeraycastMapper, the image >> > looks a bit blurred but sometimes it helps to see the structures >> >> I'm also very interested in this. I'm using vtkGPUVolumeRayCastMapper, >> and I'm currently turning off the automatic adjustment of sample >> distance during interaction and resorted to doing my own simpler >> adjustment. I'm simply quadrupling the sample distance during >> interaction (for still rendering I use >> (spacingX+spacingY+spacingZ)/6). I'd love to have another quality >> controlling knob to turn. >> >> Is there a MR up for it already? Will it be in 7.2? >> >> Elvis >> >> > >> > Thanks >> > Simon >> > >> > >> > 2017-03-06 18:17 GMT+01:00 Alvaro Sanchez : >> >> >> >> Hi Shark, >> >> >> >> unfortunately there is no current plan of porting vtkVolumeTextureMapper3D >> >> to OpenGL2 >> >> , as far as I know. We will soon however support image down sampling in X >> >> and Y which >> >> should serve as additional knobs to tweak the performance of >> >> GPURayCastMapper in >> >> OpenGL2 (only sample distance can be currently adjusted). >> >> >> >> Could you provide more detail on the size of the dataset you are rendering >> >> and your GPU >> >> specs? >> >> >> >> Thanks, >> >> ?lvaro >> >> >> >> On Mon, Mar 6, 2017 at 10:30 AM, Shark wrote: >> >>> >> >>> Hello, >> >>> >> >>> I have been having some issues with vtkVolumeTextureMapper3D. I see it >> >>> has >> >>> been deprecated, however it is still available if I use the old openGL. >> >>> >> >>> Since for software rendering with texture mapping is much faster than ray >> >>> casting, I would like to know if you are planning to have a Volume >> >>> Texture >> >>> Mapper for openGL 2, or if there is actually a new one that I am not able >> >>> to >> >>> find. >> >>> >> >>> Best regards, >> >>> Shark >> >>> >> >>> >> >>> >> >>> >> >>> -- >> >>> View this message in context: >> >>> http://vtk.1045678.n5.nabble.com/vtkVolumeTextureMapper3D-in-VTK-7-1-tp5742368.html >> >>> Sent from the VTK - Users mailing list archive at Nabble.com. >> >>> _______________________________________________ >> >>> Powered by www.kitware.com >> >>> >> >>> Visit other Kitware open-source projects at >> >>> http://www.kitware.com/opensource/opensource.html >> >>> >> >>> Please keep messages on-topic and check the VTK FAQ at: >> >>> http://www.vtk.org/Wiki/VTK_FAQ >> >>> >> >>> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >>> >> >>> Follow this link to subscribe/unsubscribe: >> >>> http://public.kitware.com/mailman/listinfo/vtkusers >> >> >> >> >> >> >> >> >> >> -- >> >> Alvaro Sanchez >> >> Kitware, Inc. >> >> Senior R&D Engineer >> >> 21 Corporate Drive >> >> Clifton Park, NY 12065-8662 >> >> Phone: 518-881-4901 >> >> >> >> _______________________________________________ >> >> Powered by www.kitware.com >> >> >> >> Visit other Kitware open-source projects at >> >> http://www.kitware.com/opensource/opensource.html >> >> >> >> Please keep messages on-topic and check the VTK FAQ at: >> >> http://www.vtk.org/Wiki/VTK_FAQ >> >> >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> >> >> Follow this link to subscribe/unsubscribe: >> >> http://public.kitware.com/mailman/listinfo/vtkusers >> >> >> > >> > >> > >> > -- >> > ------------------------------------------------------------------ >> > Simon Esneault >> > Rennes, France >> > ------------------------------------------------------------------ >> > >> > _______________________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Please keep messages on-topic and check the VTK FAQ at: >> > http://www.vtk.org/Wiki/VTK_FAQ >> > >> > Search the list archives at: http://markmail.org/search/?q=vtkusers >> > >> > Follow this link to subscribe/unsubscribe: >> > http://public.kitware.com/mailman/listinfo/vtkusers >> > > > > > > -- > ------------------------------------------------------------------ > Simon Esneault > Rennes, France > ------------------------------------------------------------------ -------------- next part -------------- An HTML attachment was scrubbed... URL: From elvis.stansvik at orexplore.com Wed Mar 8 13:37:05 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Wed, 8 Mar 2017 19:37:05 +0100 Subject: [vtkusers] vtkVolumeTextureMapper3D in VTK 7.1? In-Reply-To: References: <1488814239807-5742368.post@n5.nabble.com> Message-ID: Den 8 mars 2017 5:08 em skrev "Alvaro Sanchez" : > > Thanks for the interest. There is no branch yet but I will ping you once you can try it out. Thanks! > > > Also in that case would it be possible to add a final "gaussian smoothing > > pass" or equivalent only on the 2D generated image (maybe only as an option) > > The first version will most likely only support linear interpolation, but will keep this in mind. > > > On Wed, Mar 8, 2017 at 8:04 AM, Elvis Stansvik < elvis.stansvik at orexplore.com> wrote: >> >> 2017-03-08 11:16 GMT+01:00 Simon ESNEAULT : >> > Hello Alvaro, >> > >> > That's real good news to hear (about the down-sampling in X and Y), I find >> > it really difficult to tweak volume rendering only with sample distance, >> > especially during interaction. >> > Has the development began already ? Is there some branche where we can test >> > that feature ? >> > >> > Also in that case would it be possible to add a final "gaussian smoothing >> > pass" or equivalent only on the 2D generated image (maybe only as an option) >> > ? I look like it is the case with FixedPointVolumeraycastMapper, the image >> > looks a bit blurred but sometimes it helps to see the structures >> >> I'm also very interested in this. I'm using vtkGPUVolumeRayCastMapper, >> and I'm currently turning off the automatic adjustment of sample >> distance during interaction and resorted to doing my own simpler >> adjustment. I'm simply quadrupling the sample distance during >> interaction (for still rendering I use >> (spacingX+spacingY+spacingZ)/6). I'd love to have another quality >> controlling knob to turn. >> >> Is there a MR up for it already? Will it be in 7.2? >> >> Elvis >> >> > >> > Thanks >> > Simon >> > >> > >> > 2017-03-06 18:17 GMT+01:00 Alvaro Sanchez : >> >> >> >> Hi Shark, >> >> >> >> unfortunately there is no current plan of porting vtkVolumeTextureMapper3D >> >> to OpenGL2 >> >> , as far as I know. We will soon however support image down sampling in X >> >> and Y which >> >> should serve as additional knobs to tweak the performance of >> >> GPURayCastMapper in >> >> OpenGL2 (only sample distance can be currently adjusted). >> >> >> >> Could you provide more detail on the size of the dataset you are rendering >> >> and your GPU >> >> specs? >> >> >> >> Thanks, >> >> ?lvaro >> >> >> >> On Mon, Mar 6, 2017 at 10:30 AM, Shark wrote: >> >>> >> >>> Hello, >> >>> >> >>> I have been having some issues with vtkVolumeTextureMapper3D. I see it >> >>> has >> >>> been deprecated, however it is still available if I use the old openGL. >> >>> >> >>> Since for software rendering with texture mapping is much faster than ray >> >>> casting, I would like to know if you are planning to have a Volume >> >>> Texture >> >>> Mapper for openGL 2, or if there is actually a new one that I am not able >> >>> to >> >>> find. >> >>> >> >>> Best regards, >> >>> Shark >> >>> >> >>> >> >>> >> >>> >> >>> -- >> >>> View this message in context: >> >>> http://vtk.1045678.n5.nabble.com/vtkVolumeTextureMapper3D-in-VTK-7-1-tp5742368.html >> >>> Sent from the VTK - Users mailing list archive at Nabble.com. >> >>> _______________________________________________ >> >>> Powered by www.kitware.com >> >>> >> >>> Visit other Kitware open-source projects at >> >>> http://www.kitware.com/opensource/opensource.html >> >>> >> >>> Please keep messages on-topic and check the VTK FAQ at: >> >>> http://www.vtk.org/Wiki/VTK_FAQ >> >>> >> >>> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >>> >> >>> Follow this link to subscribe/unsubscribe: >> >>> http://public.kitware.com/mailman/listinfo/vtkusers >> >> >> >> >> >> >> >> >> >> -- >> >> Alvaro Sanchez >> >> Kitware, Inc. >> >> Senior R&D Engineer >> >> 21 Corporate Drive >> >> Clifton Park, NY 12065-8662 >> >> Phone: 518-881-4901 >> >> >> >> _______________________________________________ >> >> Powered by www.kitware.com >> >> >> >> Visit other Kitware open-source projects at >> >> http://www.kitware.com/opensource/opensource.html >> >> >> >> Please keep messages on-topic and check the VTK FAQ at: >> >> http://www.vtk.org/Wiki/VTK_FAQ >> >> >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> >> >> Follow this link to subscribe/unsubscribe: >> >> http://public.kitware.com/mailman/listinfo/vtkusers >> >> >> > >> > >> > >> > -- >> > ------------------------------------------------------------------ >> > Simon Esneault >> > Rennes, France >> > ------------------------------------------------------------------ >> > >> > _______________________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Please keep messages on-topic and check the VTK FAQ at: >> > http://www.vtk.org/Wiki/VTK_FAQ >> > >> > Search the list archives at: http://markmail.org/search/?q=vtkusers >> > >> > Follow this link to subscribe/unsubscribe: >> > http://public.kitware.com/mailman/listinfo/vtkusers >> > > > > > > -- > Alvaro Sanchez > Kitware, Inc. > Senior R&D Engineer > 21 Corporate Drive > Clifton Park, NY 12065-8662 > Phone: 518-881-4901 -------------- next part -------------- An HTML attachment was scrubbed... URL: From milefn at rpi.edu Wed Mar 8 15:42:38 2017 From: milefn at rpi.edu (Milef, Nicholas Boris) Date: Wed, 8 Mar 2017 20:42:38 +0000 Subject: [vtkusers] Adding custom vertex attributes Message-ID: Is it possible to add custom vertex attributes? For example, I would like to add tangents for normal mapping, but from my understanding, these aren't provided. -------------- next part -------------- An HTML attachment was scrubbed... URL: From AMDx64BT at gmail.com Wed Mar 8 18:32:30 2017 From: AMDx64BT at gmail.com (amdx64bt) Date: Wed, 8 Mar 2017 16:32:30 -0700 (MST) Subject: [vtkusers] Cylinder to Texture Map In-Reply-To: <68acf3d00607110441u7b6dabc7ia2354507441f597c@mail.gmail.com> References: <68acf3d00607110441u7b6dabc7ia2354507441f597c@mail.gmail.com> Message-ID: <1489015950144-5742406.post@n5.nabble.com> Is there any updates? -- View this message in context: http://vtk.1045678.n5.nabble.com/Cylinder-to-Texture-Map-tp1227419p5742406.html Sent from the VTK - Users mailing list archive at Nabble.com. From seun at rogue-research.com Thu Mar 9 10:57:56 2017 From: seun at rogue-research.com (Seun Odutola) Date: Thu, 9 Mar 2017 10:57:56 -0500 Subject: [vtkusers] Half voxel loss during rendering In-Reply-To: References: <33703C8E-48FA-4F12-B425-75B874231E97@rogue-research.com> Message-ID: Hi David, I?m currently using vtkImageReslice and it?s set to BorderOn by default, still it doesn?t seem to be resolving my case as half the voxel is still missing. What are the significant differences between vtkImageReslice and vtkImageResliceMapper? Is vktImageResliceMapper the better approach to rendering slices correctly? > On Mar 7, 2017, at 2:34 PM, David Gobbi wrote: > > Hi Seun, > > The vtkImageSliceMapper and vtkImageResliceMapper both have a method called BorderOn() that will extend the rendering by half the sample spacing. > > In VTK, a vtkImageData consists of a grid of point data samples. There is no "size" associated with these points, just the spacing that separates them. Display of an image involves interpolating the data points to fill in the empty space that exists between them. > > - David > > > On Tue, Mar 7, 2017 at 11:01 AM, Seun Odutola > wrote: > Hi everyone, > > I was wondering if anyone is aware of my situation. I work with medical images and my general understanding of VTK is that voxels are rendered with the centre as their origin. On rendering MPR?s and slices for example I notice that there is a loss of half a voxel at both ends of a slice (technically an overall loss of a voxel) and would like to know if there?s a workaround to getting the half voxel rendered. -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.gobbi at gmail.com Thu Mar 9 11:09:12 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Thu, 9 Mar 2017 09:09:12 -0700 Subject: [vtkusers] Half voxel loss during rendering In-Reply-To: References: <33703C8E-48FA-4F12-B425-75B874231E97@rogue-research.com> Message-ID: Hi Sean, For people building a new image rendering pipeline I'd generally recommend vtkImageResliceMapper, but different projects have different requirements. Sometimes it makes more sense to use vtkImageReslice followed by a separate mapper. The reason that I prefer vtkImageResliceMapper is that it maps oblique views to the screen via a single interpolation operation, whereas e.g. vtkImageReslice plus vtkImageActor would perform two interpolation operations. If you are currently using vtkImageReslice plus vtkImageActor, then make sure that you are also calling BorderOn() for the actor's mapper as well (e.g. imageActor->GetMapper()->BorderOn()). - David On Thu, Mar 9, 2017 at 8:57 AM, Seun Odutola wrote: > Hi David, > I?m currently using vtkImageReslice and it?s set to BorderOn by > default, still it doesn?t seem to be resolving my case as half the voxel is > still missing. What are the significant differences between vtkImageReslice > and vtkImageResliceMapper? Is vktImageResliceMapper the better approach to > rendering slices correctly? > > On Mar 7, 2017, at 2:34 PM, David Gobbi wrote: > > Hi Seun, > > The vtkImageSliceMapper and vtkImageResliceMapper both have a method > called BorderOn() that will extend the rendering by half the sample spacing. > > In VTK, a vtkImageData consists of a grid of point data samples. There is > no "size" associated with these points, just the spacing that separates > them. Display of an image involves interpolating the data points to fill > in the empty space that exists between them. > > - David > > > On Tue, Mar 7, 2017 at 11:01 AM, Seun Odutola > wrote: > >> Hi everyone, >> >> I was wondering if anyone is aware of my situation. I work with >> medical images and my general understanding of VTK is that voxels are >> rendered with the centre as their origin. On rendering MPR?s and slices for >> example I notice that there is a loss of half a voxel at both ends of a >> slice (technically an overall loss of a voxel) and would like to know if >> there?s a workaround to getting the half voxel rendered. >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From seun at rogue-research.com Thu Mar 9 13:03:27 2017 From: seun at rogue-research.com (Seun Odutola) Date: Thu, 9 Mar 2017 13:03:27 -0500 Subject: [vtkusers] Half voxel loss during rendering In-Reply-To: References: <33703C8E-48FA-4F12-B425-75B874231E97@rogue-research.com> Message-ID: Huge thanks David, your suggestion fixed it. Apparently the vtkImageActor?s mapper?s border wasn?t set to On (unlike vtkImageReslice that?s by default on) and doing simply fixed it. Once again, thanks a lot for your help. > On Mar 9, 2017, at 11:09 AM, David Gobbi wrote: > > Hi Sean, > > For people building a new image rendering pipeline I'd generally recommend vtkImageResliceMapper, but different projects have different requirements. Sometimes it makes more sense to use vtkImageReslice followed by a separate mapper. The reason that I prefer vtkImageResliceMapper is that it maps oblique views to the screen via a single interpolation operation, whereas e.g. vtkImageReslice plus vtkImageActor would perform two interpolation operations. > > If you are currently using vtkImageReslice plus vtkImageActor, then make sure that you are also calling BorderOn() for the actor's mapper as well (e.g. imageActor->GetMapper()->BorderOn()). > > - David > > On Thu, Mar 9, 2017 at 8:57 AM, Seun Odutola > wrote: > Hi David, > I?m currently using vtkImageReslice and it?s set to BorderOn by default, still it doesn?t seem to be resolving my case as half the voxel is still missing. What are the significant differences between vtkImageReslice and vtkImageResliceMapper? Is vktImageResliceMapper the better approach to rendering slices correctly? > >> On Mar 7, 2017, at 2:34 PM, David Gobbi > wrote: >> >> Hi Seun, >> >> The vtkImageSliceMapper and vtkImageResliceMapper both have a method called BorderOn() that will extend the rendering by half the sample spacing. >> >> In VTK, a vtkImageData consists of a grid of point data samples. There is no "size" associated with these points, just the spacing that separates them. Display of an image involves interpolating the data points to fill in the empty space that exists between them. >> >> - David >> >> >> On Tue, Mar 7, 2017 at 11:01 AM, Seun Odutola > wrote: >> Hi everyone, >> >> I was wondering if anyone is aware of my situation. I work with medical images and my general understanding of VTK is that voxels are rendered with the centre as their origin. On rendering MPR?s and slices for example I notice that there is a loss of half a voxel at both ends of a slice (technically an overall loss of a voxel) and would like to know if there?s a workaround to getting the half voxel rendered. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From AMDx64BT at gmail.com Thu Mar 9 22:18:31 2017 From: AMDx64BT at gmail.com (amdx64bt) Date: Thu, 9 Mar 2017 20:18:31 -0700 (MST) Subject: [vtkusers] Displacement maps Message-ID: <1489115911553-5742412.post@n5.nabble.com> Is it possible to create displacement maps using vtk? If it is not possible, do you know any third-library? -- View this message in context: http://vtk.1045678.n5.nabble.com/Displacement-maps-tp5742412.html Sent from the VTK - Users mailing list archive at Nabble.com. From elvis.stansvik at orexplore.com Fri Mar 10 04:07:22 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Fri, 10 Mar 2017 10:07:22 +0100 Subject: [vtkusers] Artifacts along bounding box edges in volume rendering Message-ID: Hi all, I'm trying to debug a problem with artifacts appearing around the bounding box edges in my volume rendering (at certain camera angles). I can reproduce the problem with the minimal test case below. In the attached screen shot, notice the faint white artifacts along the bounding box edges. Anyone know where these come from and how I can fix it? Thanks in advance, Elvis main.cpp: #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char *argv[]) { vtkNew colorFunction; colorFunction->AddRGBPoint(0.0, 0.0, 0.0, 0.0); colorFunction->AddRGBPoint(1.0, 0.0, 0.0, 0.0); vtkNew opacityFunction; opacityFunction->AddPoint(0.0, 0.0); opacityFunction->AddPoint(1.0, 1.0); vtkNew data; data->SetExtent(0, 200, 0, 200, 0, 200); data->AllocateScalars(VTK_FLOAT, 1); std::fill_n(static_cast(data->GetScalarPointer()), 8000000, 0.1); vtkNew mapper; mapper->SetInputData(data.Get()); vtkNew property; property->SetScalarOpacity(opacityFunction.Get()); property->SetColor(colorFunction.Get()); vtkNew volume; volume->SetMapper(mapper.Get()); volume->SetProperty(property.Get()); vtkNew renderer; renderer->AddVolume(volume.Get()); renderer->SetBackground(1.0, 1.0, 1.0); vtkNew window; window->AddRenderer(renderer.Get()); // Position camera such that artifacts appear auto camera = renderer->GetActiveCamera(); camera->SetPosition(500.0, 220.0, 500.0); camera->SetFocalPoint(0.0, 80.0, 0.0); renderer->ResetCameraClippingRange(); vtkNew interactor; interactor->SetRenderWindow(window.Get()); interactor->Start(); return 0; } CMakeLists.txt: cmake_minimum_required(VERSION 3.1) project(TestCase) set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} /opt/VTK7) find_package(VTK 7.1 COMPONENTS vtkCommonCore vtkCommonDataModel vtkCommonExecutionModel vtkCommonMath vtkInteractionStyle vtkRenderingCore vtkRenderingOpenGL2 vtkRenderingVolume vtkRenderingVolumeOpenGL2 REQUIRED ) add_executable(TestCase WIN32 main.cpp) target_link_libraries(TestCase PUBLIC vtkCommonCore vtkCommonDataModel vtkCommonExecutionModel vtkCommonMath vtkInteractionStyle vtkRenderingCore vtkRenderingOpenGL2 vtkRenderingVolume vtkRenderingVolumeOpenGL2 ) target_include_directories(TestCase PUBLIC ${VTK_INCLUDE_DIRS} ) target_compile_definitions(TestCase PUBLIC ${VTK_DEFINITIONS} ) set_target_properties(TestCase PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED ON ) -------------- next part -------------- A non-text attachment was scrubbed... Name: testcase.png Type: image/png Size: 13704 bytes Desc: not available URL: From elvis.stansvik at orexplore.com Fri Mar 10 04:11:50 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Fri, 10 Mar 2017 10:11:50 +0100 Subject: [vtkusers] Artifacts along bounding box edges in volume rendering In-Reply-To: References: Message-ID: 2017-03-10 10:07 GMT+01:00 Elvis Stansvik : > Hi all, > > I'm trying to debug a problem with artifacts appearing around the > bounding box edges in my volume rendering (at certain camera angles). > I can reproduce the problem with the minimal test case below. In the > attached screen shot, notice the faint white artifacts along the > bounding box edges. > > Anyone know where these come from and how I can fix it? I forgot to say, this is with VTK 7.1.0. Elvis > > Thanks in advance, > Elvis > > > main.cpp: > > #include > > #include > #include > #include > #include > #include > #include > #include > #include > #include > #include > #include > > int main(int argc, char *argv[]) > { > vtkNew colorFunction; > colorFunction->AddRGBPoint(0.0, 0.0, 0.0, 0.0); > colorFunction->AddRGBPoint(1.0, 0.0, 0.0, 0.0); > > vtkNew opacityFunction; > opacityFunction->AddPoint(0.0, 0.0); > opacityFunction->AddPoint(1.0, 1.0); > > vtkNew data; > data->SetExtent(0, 200, 0, 200, 0, 200); > data->AllocateScalars(VTK_FLOAT, 1); > std::fill_n(static_cast(data->GetScalarPointer()), 8000000, 0.1); > > vtkNew mapper; > mapper->SetInputData(data.Get()); > > vtkNew property; > property->SetScalarOpacity(opacityFunction.Get()); > property->SetColor(colorFunction.Get()); > > vtkNew volume; > volume->SetMapper(mapper.Get()); > volume->SetProperty(property.Get()); > > vtkNew renderer; > renderer->AddVolume(volume.Get()); > renderer->SetBackground(1.0, 1.0, 1.0); > > vtkNew window; > window->AddRenderer(renderer.Get()); > > // Position camera such that artifacts appear > auto camera = renderer->GetActiveCamera(); > camera->SetPosition(500.0, 220.0, 500.0); > camera->SetFocalPoint(0.0, 80.0, 0.0); > renderer->ResetCameraClippingRange(); > > vtkNew interactor; > interactor->SetRenderWindow(window.Get()); > interactor->Start(); > > return 0; > } > > > CMakeLists.txt: > > cmake_minimum_required(VERSION 3.1) > > project(TestCase) > > set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} /opt/VTK7) > > find_package(VTK 7.1 COMPONENTS > vtkCommonCore > vtkCommonDataModel > vtkCommonExecutionModel > vtkCommonMath > vtkInteractionStyle > vtkRenderingCore > vtkRenderingOpenGL2 > vtkRenderingVolume > vtkRenderingVolumeOpenGL2 > REQUIRED > ) > > add_executable(TestCase WIN32 main.cpp) > > target_link_libraries(TestCase PUBLIC > vtkCommonCore > vtkCommonDataModel > vtkCommonExecutionModel > vtkCommonMath > vtkInteractionStyle > vtkRenderingCore > vtkRenderingOpenGL2 > vtkRenderingVolume > vtkRenderingVolumeOpenGL2 > ) > > target_include_directories(TestCase PUBLIC > ${VTK_INCLUDE_DIRS} > ) > > target_compile_definitions(TestCase PUBLIC > ${VTK_DEFINITIONS} > ) > > set_target_properties(TestCase PROPERTIES > CXX_STANDARD 14 > CXX_STANDARD_REQUIRED ON > ) From taron2000 at gmx.de Fri Mar 10 04:15:57 2017 From: taron2000 at gmx.de (Taron) Date: Fri, 10 Mar 2017 02:15:57 -0700 (MST) Subject: [vtkusers] VTK 7.1 with OpenGL2 with MESA (llvmpipe) drivers under Windows Message-ID: <1489137357205-5742415.post@n5.nabble.com> Hello everyone, I'm struggling to get VTK 7.1 with the new OpenGL2 Backend to work with Mesa-llvmpipe-Drivers on Windows. The main problem is, that Mesa ( I tried several Versions from 11.1 up to 17.0) reports back 3.0 OpenGL Context. From the Mesa board I know that Mesa with llvmpipe should support a context up to 3.3 but only with the "Core Profile" and 3.0 context with the "Compatibility Profile". Now my guess is, that in theory it should work, but VTK wants a compatibility profile and not a core profile and thus refuses to work because the context provided is only 3.0. When I use the enviroment var MESA_GL_OVERRIDE_VERSION and set to 3.2 the application starts and renders, but crashes in certain circumstances (this again is expected, because only the version returned is 3.2 by mesa but the context remains 3.0 with that override). My question now is: How can we make this work? Should it work and i do something wrong? Can the VTK guys fix the issue or do the mesa drivers not support what they claim? Best Regards Klaus -- View this message in context: http://vtk.1045678.n5.nabble.com/VTK-7-1-with-OpenGL2-with-MESA-llvmpipe-drivers-under-Windows-tp5742415.html Sent from the VTK - Users mailing list archive at Nabble.com. From m.nunes at fratoria.com Fri Mar 10 06:07:28 2017 From: m.nunes at fratoria.com (Shark) Date: Fri, 10 Mar 2017 04:07:28 -0700 (MST) Subject: [vtkusers] vtkVolumeTextureMapper3D in VTK 7.1? In-Reply-To: References: <1488814239807-5742368.post@n5.nabble.com> Message-ID: <1489144048714-5742416.post@n5.nabble.com> Glad to see this post enabled quite a positive discussion! I would like to add a question. For software rendering, vtkVolumeTextureMapper3D uses vtkFixedPointVolumeRayCastMapper. I can make it work with volumetric data together with a bunch of polyData. Now, what happens is that when I play around with it, the sampling of the volume goes down and it gets very blurred. Which is fine and understandable. Now, I do not understand why the same happens to the polydata. I would like to know if there is an option I can set in the vtkActor or polydataMapper so the renderer keeps showing contours/polydata/wireframe in a nice way. I've looked through the documentation and wasn't able to figure it out yet. If in the meantime I find something, I will post so other people can see it. Thanks! Shark -- View this message in context: http://vtk.1045678.n5.nabble.com/vtkVolumeTextureMapper3D-in-VTK-7-1-tp5742368p5742416.html Sent from the VTK - Users mailing list archive at Nabble.com. From ken.martin at kitware.com Fri Mar 10 07:22:53 2017 From: ken.martin at kitware.com (Ken Martin) Date: Fri, 10 Mar 2017 07:22:53 -0500 Subject: [vtkusers] VTK 7.1 with OpenGL2 with MESA (llvmpipe) drivers under Windows In-Reply-To: <1489137357205-5742415.post@n5.nabble.com> References: <1489137357205-5742415.post@n5.nabble.com> Message-ID: OpenGL2 uses core profile, not compatability. Using MESA_GL_OVERRIDE_VERSION is bad as it tries to trick VTK into thinking it has a better OpenGL than it has, often resulting in crashes, for VTK it is a no no. There was a fix for windows mesa in VTK a month or so ago. If the version of VTK you are using is older than that, then upgrading to VTK master might fix the issue. Thanks Ken On Fri, Mar 10, 2017 at 4:15 AM, Taron wrote: > Hello everyone, > > I'm struggling to get VTK 7.1 with the new OpenGL2 Backend to work with > Mesa-llvmpipe-Drivers on Windows. > The main problem is, that Mesa ( I tried several Versions from 11.1 up to > 17.0) reports back 3.0 OpenGL Context. From the Mesa board I know that Mesa > with llvmpipe should support a context up to 3.3 but only with the "Core > Profile" and 3.0 context with the "Compatibility Profile". Now my guess is, > that in theory it should work, but VTK wants a compatibility profile and > not > a core profile and thus refuses to work because the context provided is > only > 3.0. > When I use the enviroment var MESA_GL_OVERRIDE_VERSION and set to 3.2 the > application starts and renders, but crashes in certain circumstances (this > again is expected, because only the version returned is 3.2 by mesa but the > context remains 3.0 with that override). > > My question now is: How can we make this work? Should it work and i do > something wrong? Can the VTK guys fix the issue or do the mesa drivers not > support what they claim? > > Best Regards > > Klaus > > > > -- > View this message in context: http://vtk.1045678.n5.nabble. > com/VTK-7-1-with-OpenGL2-with-MESA-llvmpipe-drivers-under- > Windows-tp5742415.html > Sent from the VTK - Users mailing list archive at Nabble.com. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -- Ken Martin PhD Chairman & CFO Kitware Inc. 28 Corporate Drive Clifton Park NY 12065 518 371 3971 This communication, including all attachments, contains confidential and legally privileged information, and it is intended only for the use of the addressee. Access to this email by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken in reliance on it is prohibited and may be unlawful. If you received this communication in error please notify us immediately and destroy the original message. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.esneault at gmail.com Fri Mar 10 08:52:18 2017 From: simon.esneault at gmail.com (Simon ESNEAULT) Date: Fri, 10 Mar 2017 14:52:18 +0100 Subject: [vtkusers] VTK 7.1 error "Shader failed to compile" with GPU Volume rendering and clipping planes In-Reply-To: References: Message-ID: Hello, I've found the error, it is located in vtkVolumeShaderComposer.h, if someone use GPU volume rendering, cropping and clipping at the same time, the variable vec4 temp gets declared twice. Renaming 'temp' to 'temp_clip' fix the crash. HTH someone ;) Simon 2017-03-08 10:35 GMT+01:00 Simon ESNEAULT : > Hello, > > After the migration to VTK 7.1, we get a crash in the shader program (it > can't be build) when trying to use clipping planes on GPU volume rendering > mapper > > The error is : > Error: ERROR: In C:\Dev\ES-Externals\superbuild\VTK\src\Rendering\OpenGL2\vtkShaderProgram.cxx, > line 395 > vtkShaderProgram (000001FEBFB646D0): 0(474) : error C1038: declaration of > "temp" conflicts with previous declaration at 0(426) > > it appears the variable Vec4 temp is declared twice... > > Here is the full log > https://paste.ee/p/FsdWx > > On Windows 10, VTK is built in 64 bits with Visual Studio 2013 along with > Qt 5.3.2 and other libraries. > > Ring a bell to anyone ? > > Thanks > Simon > > -- > ------------------------------------------------------------------ > Simon Esneault > Rennes, France > ------------------------------------------------------------------ > -- ------------------------------------------------------------------ Simon Esneault Rennes, France ------------------------------------------------------------------ -------------- next part -------------- An HTML attachment was scrubbed... URL: From rustem.khabetdinov at gmail.com Fri Mar 10 09:10:15 2017 From: rustem.khabetdinov at gmail.com (Rustem Khabetdinov) Date: Fri, 10 Mar 2017 17:10:15 +0300 Subject: [vtkusers] About writers on windows Message-ID: Hello, I am not sure if I should write it here or paraview mailing list but I have an issue when I try to save multiblock dataset with vtkxmlmultiblockdatawriter. When I use it on Windows and try to save something with cyrillic chars in path it saves everything in UTF-8. So when I try to open this file in paraview(or vtk) there is an error that says that the xml file is not well-formed. But when I use paraview to save multiblock dataset it saves everything with local(cp1251) encoding and I am able to open it everywhere. Is there anything that I need to change in writer in order to use local encoding in xml files? Best Regards, Rustem Khabetdinov. -------------- next part -------------- An HTML attachment was scrubbed... URL: From cory.quammen at kitware.com Fri Mar 10 09:28:57 2017 From: cory.quammen at kitware.com (Cory Quammen) Date: Fri, 10 Mar 2017 09:28:57 -0500 Subject: [vtkusers] About writers on windows In-Reply-To: References: Message-ID: Rustem, Unfortunately, there is a longstanding issue with non-Latin characters in ParaView state files: https://gitlab.kitware.com/paraview/paraview/issues/12708 I'm not sure how much work it would be to support non-Latin characters (I'm no UTF-* expert). Best, Cory On Fri, Mar 10, 2017 at 9:10 AM, Rustem Khabetdinov wrote: > Hello, > I am not sure if I should write it here or paraview mailing list but I have > an issue when I try to save multiblock dataset with > vtkxmlmultiblockdatawriter. When I use it on Windows and try to save > something with cyrillic chars in path it saves everything in UTF-8. So when > I try to open this file in paraview(or vtk) there is an error that says that > the xml file is not well-formed. But when I use paraview to save multiblock > dataset it saves everything with local(cp1251) encoding and I am able to > open it everywhere. > Is there anything that I need to change in writer in order to use local > encoding in xml files? > > Best Regards, > Rustem Khabetdinov. > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -- Cory Quammen Staff R&D Engineer Kitware, Inc. From cory.quammen at kitware.com Fri Mar 10 09:29:54 2017 From: cory.quammen at kitware.com (Cory Quammen) Date: Fri, 10 Mar 2017 09:29:54 -0500 Subject: [vtkusers] About writers on windows In-Reply-To: References: Message-ID: Oops, sorry, this is a VTK XML file issue and I pointed to a ParaView issue - but I'm guessing the underlying problem is the same. On Fri, Mar 10, 2017 at 9:28 AM, Cory Quammen wrote: > Rustem, > > Unfortunately, there is a longstanding issue with non-Latin characters > in ParaView state files: > https://gitlab.kitware.com/paraview/paraview/issues/12708 > > I'm not sure how much work it would be to support non-Latin characters > (I'm no UTF-* expert). > > Best, > Cory > > On Fri, Mar 10, 2017 at 9:10 AM, Rustem Khabetdinov > wrote: >> Hello, >> I am not sure if I should write it here or paraview mailing list but I have >> an issue when I try to save multiblock dataset with >> vtkxmlmultiblockdatawriter. When I use it on Windows and try to save >> something with cyrillic chars in path it saves everything in UTF-8. So when >> I try to open this file in paraview(or vtk) there is an error that says that >> the xml file is not well-formed. But when I use paraview to save multiblock >> dataset it saves everything with local(cp1251) encoding and I am able to >> open it everywhere. >> Is there anything that I need to change in writer in order to use local >> encoding in xml files? >> >> Best Regards, >> Rustem Khabetdinov. >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: >> http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers >> > > > > -- > Cory Quammen > Staff R&D Engineer > Kitware, Inc. -- Cory Quammen Staff R&D Engineer Kitware, Inc. From rustem.khabetdinov at gmail.com Fri Mar 10 10:50:22 2017 From: rustem.khabetdinov at gmail.com (Rustem Khabetdinov) Date: Fri, 10 Mar 2017 18:50:22 +0300 Subject: [vtkusers] About writers on windows In-Reply-To: References: Message-ID: I am sorry but probably my description of the problem was not very clear. As far as I know ParaView uses vtk writers but when I save something from paraview gui everything after that loads fine. And if I open created .vtm file it says that it has cp1251 encoding. But when I try to use vtk itself to save multiblock dataset it saves everything in utf-8 encoding and because of that ParaView is unable to load this file. 2017-03-10 17:29 GMT+03:00 Cory Quammen : > Oops, sorry, this is a VTK XML file issue and I pointed to a ParaView > issue - but I'm guessing the underlying problem is the same. > > On Fri, Mar 10, 2017 at 9:28 AM, Cory Quammen > wrote: > > Rustem, > > > > Unfortunately, there is a longstanding issue with non-Latin characters > > in ParaView state files: > > https://gitlab.kitware.com/paraview/paraview/issues/12708 > > > > I'm not sure how much work it would be to support non-Latin characters > > (I'm no UTF-* expert). > > > > Best, > > Cory > > > > On Fri, Mar 10, 2017 at 9:10 AM, Rustem Khabetdinov > > wrote: > >> Hello, > >> I am not sure if I should write it here or paraview mailing list but I > have > >> an issue when I try to save multiblock dataset with > >> vtkxmlmultiblockdatawriter. When I use it on Windows and try to save > >> something with cyrillic chars in path it saves everything in UTF-8. So > when > >> I try to open this file in paraview(or vtk) there is an error that says > that > >> the xml file is not well-formed. But when I use paraview to save > multiblock > >> dataset it saves everything with local(cp1251) encoding and I am able to > >> open it everywhere. > >> Is there anything that I need to change in writer in order to use local > >> encoding in xml files? > >> > >> Best Regards, > >> Rustem Khabetdinov. > >> > >> _______________________________________________ > >> Powered by www.kitware.com > >> > >> Visit other Kitware open-source projects at > >> http://www.kitware.com/opensource/opensource.html > >> > >> Please keep messages on-topic and check the VTK FAQ at: > >> http://www.vtk.org/Wiki/VTK_FAQ > >> > >> Search the list archives at: http://markmail.org/search/?q=vtkusers > >> > >> Follow this link to subscribe/unsubscribe: > >> http://public.kitware.com/mailman/listinfo/vtkusers > >> > > > > > > > > -- > > Cory Quammen > > Staff R&D Engineer > > Kitware, Inc. > > > > -- > Cory Quammen > Staff R&D Engineer > Kitware, Inc. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wilma.xyw at gmail.com Fri Mar 10 12:08:21 2017 From: wilma.xyw at gmail.com (Yiwen Xu) Date: Fri, 10 Mar 2017 12:08:21 -0500 Subject: [vtkusers] Question About: Image Interpolation Method In-Reply-To: References: Message-ID: Hi, I am new to vtk, and I want to know the actual algorithm behind Linear Interpolation and Cubic Interpolation. I have looked through the following documentations: vtkImageInterpolatorInternals.h vtkAbstractImageInterpolator.h vtkImageInterpolator.h But they do not seem to contain the real algorithm. I'm trying to find how vtk actually interpolate points. Thank you very much in advance! Yiwen On Fri, Mar 10, 2017 at 11:52 AM, Yiwen Xu wrote: > Hi, > > I am new to vtk, and I want to know the actual algorithm behind Linear > Interpolation and Cubic Interpolation. I have looked through the following > documentations: vtkImageInterpolatorInternals.h > vtkAbstractImageInterpolator.h > vtkImageInterpolator.h > > But they do not seem to contain the real algorithm. I'm trying to find how > vtk actually interpolate points. Thank you very much in advance! > > Yiwen > > On Fri, Mar 10, 2017 at 11:31 AM, Yiwen Xu wrote: > >> Hi, >> >> I am new to vtk, and I want to know the actual algorithm behind Linear >> Interpolation and Cubic Interpolation. I have looked through the following >> documentations: vtkImageInterpolatorInternals.h >> vtkAbstractImageInterpolator.h >> vtkImageInterpolator.h >> >> But they do not seem to contain the real algorithm. I'm trying to find >> how vtk actually interpolate points. Thank you very much in advance! >> >> >> >> >> Yiwen >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.gobbi at gmail.com Fri Mar 10 12:18:01 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Fri, 10 Mar 2017 10:18:01 -0700 Subject: [vtkusers] Question About: Image Interpolation Method In-Reply-To: References: Message-ID: Hi Yiwen, The code is in vtkImageInterpolator.cxx. If you search for ::Trilinear and ::Tricubic then you will find it. Cheers, - David On Fri, Mar 10, 2017 at 10:08 AM, Yiwen Xu wrote: > Hi, > > I am new to vtk, and I want to know the actual algorithm behind Linear > Interpolation and Cubic Interpolation. I have looked through the following > documentations: vtkImageInterpolatorInternals.h > vtkAbstractImageInterpolator.h > vtkImageInterpolator.h > > But they do not seem to contain the real algorithm. I'm trying to find how > vtk actually interpolate points. Thank you very much in advance! > > Yiwen > -------------- next part -------------- An HTML attachment was scrubbed... URL: From edrecon at gmail.com Fri Mar 10 12:35:39 2017 From: edrecon at gmail.com (=?UTF-8?Q?Edson_Contreras_C=C3=A1rdenas?=) Date: Fri, 10 Mar 2017 14:35:39 -0300 Subject: [vtkusers] Questions about vtkMolecules Message-ID: Hello world! I'm working in a project where we used to display "atomistic data" as a combination of vtkUnstructuredGrid points + vtkGlyph. However, now I have to display bonds in between them and I realized that there is a class that already does this (and much faster), but I have some questions in order to use it appropiately, so please, I need your help. 1.- Custom colors for atoms As I read in this github commit there is a way to change vtkMoleculeMapper's color array and I was not able to do it, so please can you tell me how to achieve this :-). I tried several ways with no success. My idea is to specify specific rgb colors to atoms no matter their atomic number (in order to display zones of data) 2.- Cell picking (mixed polydata actors and molecule actors) As I explained above, I was using vtkUnstructuredGrid points + vtkGlyphs and that also mixed with polydata in something like attached picture (molecule_box.png). The image consists in a vtkMolecule -> vtkMoleculeMapper -> vtkActor and vtkCubeSource -> vtkMapper -> vtkActor displayed together in the same vtkRenderer. The problem is that if a use something like: vtkCellPicker* picker = vtkCellPicker::New(); if( picker->Pick( screen[0], screen[1], 0.0, m_renderer ) ) { // detect cube face } It crashes extracting mappers input as vtkPolyData (of vtkMolecule actors) so, do you have a clue of how to overcome it? Can I exclude actors in vtkCellPicker to not check for Molecule actors? Should I use other actor and/or picker? 3.- Dataset values in Atoms Is there any way of add vtkPointData and/or vtkCellData to a vtkAtom in order to visualize gradients later with a vtkContourBand or something like that? My idea is to visualize experimental potential energy and kinetic energy. Thanks in advance for your support. P.D.: I have been developing a very simple port of my project as an opensource application, for detecting memory leaks and bad practices. The attached picture comes from there. it can be found under: https://github.com/zxnord/Qt4VTK7SimpleViewer -- Atte. Edson Ren? Contreras C?rdenas Ingeniero Civil Electr?nico -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: molecule_box.png Type: image/png Size: 43661 bytes Desc: not available URL: From sean at rogue-research.com Fri Mar 10 18:15:58 2017 From: sean at rogue-research.com (Sean McBride) Date: Fri, 10 Mar 2017 18:15:58 -0500 Subject: [vtkusers] PyQt VTK on OSX only show up in the lower left quarter of the display window In-Reply-To: References: Message-ID: <20170310231558.853534987@mail.rogue-research.com> On Mon, 6 Mar 2017 03:06:09 -0500, Bill Q said: >Hi All, >I encountered a wired problem while using Python 2.7, PyQT5.6 and VTK7.1 on >OSX. The render window only take the lower left quarter of the entire >display window. While I tried the same code on windows with same versions >of libs, it worked fine. The code is as following: This is a VTK bug that should be fixed shortly, if you want, follow: Cheers, -- ____________________________________________________________ Sean McBride, B. Eng sean at rogue-research.com Rogue Research www.rogue-research.com Mac Software Developer Montr?al, Qu?bec, Canada From karanovicm at gmail.com Sat Mar 11 00:08:46 2017 From: karanovicm at gmail.com (KM) Date: Fri, 10 Mar 2017 22:08:46 -0700 (MST) Subject: [vtkusers] vtkBoxClipDataSet ClippedOutput In-Reply-To: <1366686973993-5720293.post@n5.nabble.com> References: <1366686973993-5720293.post@n5.nabble.com> Message-ID: <1489208926728-5742430.post@n5.nabble.com> Not sure why nobody responded to this post, and after 3 years, I tried to make this happen again but no luck. vtkBoxClipDataSet ClippedOutput produces cell data but not the point data, Anybody tried to get point data from second port?? Thanks -- View this message in context: http://vtk.1045678.n5.nabble.com/vtkBoxClipDataSet-ClippedOutput-tp5720293p5742430.html Sent from the VTK - Users mailing list archive at Nabble.com. From mat-83 at mail.ru Sat Mar 11 01:55:50 2017 From: mat-83 at mail.ru (kilop1989) Date: Fri, 10 Mar 2017 23:55:50 -0700 (MST) Subject: [vtkusers] Triangulate UnstructuredGrid Message-ID: <1489215350049-5742431.post@n5.nabble.com> Hello, i work with UnstructuredGrid and i want to triangulate it like in Paraview (when i clicked for model). How I can do it? I tried vtkDelaunay3D, vtkDelaunay2D and vtkTriangleFilter. 1) vtkDelaunay3D I transformed UnstructuredGrid to vtkPolyData, after used vtkCleanPolyData and vtkDelaunay3D like in http://www.paraview.org/Wiki/VTK/Examples/Cxx/Modelling/Delaunay3D. It's not worked. It's crushed with warning "vtkMath.cxx: Unable to factor linear system". 2) vtkDelaunay2D Similarry i used vtkDelaunay2D, but result not good for me. 3) Also i use vtkTriangleFilter, it's result not good for me too. -- View this message in context: http://vtk.1045678.n5.nabble.com/Triangulate-UnstructuredGrid-tp5742431.html Sent from the VTK - Users mailing list archive at Nabble.com. From nico.schloemer at gmail.com Sat Mar 11 13:39:19 2017 From: nico.schloemer at gmail.com (=?UTF-8?Q?Nico_Schl=C3=B6mer?=) Date: Sat, 11 Mar 2017 18:39:19 +0000 Subject: [vtkusers] tags in VTK? Message-ID: Hi everyone, To mark subdomains in VTK, I guess the most common thing is to use a integer-valued cell (or point) function that associates every cell with a subdomain index. Is this correct or are there other ways for marking subdomains? In other mesh formats, I've seen the approach of tagging entities, i.e., subdomain X would be represented by a list indices into the cell (or point) array. This fits many of my applications better since I typically need to iterate over all cells of a subdomain. The function approach makes it hard to even find out how many subdomains there are, let alone to have one cell belong to two subdomains at once. Any hints here? Cheers, Nico -------------- next part -------------- An HTML attachment was scrubbed... URL: From bill.lorensen at gmail.com Sat Mar 11 13:54:46 2017 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Sat, 11 Mar 2017 13:54:46 -0500 Subject: [vtkusers] vtkBoxClipDataSet ClippedOutput In-Reply-To: <1489208926728-5742430.post@n5.nabble.com> References: <1366686973993-5720293.post@n5.nabble.com> <1489208926728-5742430.post@n5.nabble.com> Message-ID: Definitely a bug. I did a quick brute force change that seems to work but I need to create a test that thoroughly tests all of the dataset types. I'll keep you posted. It may take a while. I've attached my quick fix if you want to try it on your data. Bill On Sat, Mar 11, 2017 at 12:08 AM, KM wrote: > Not sure why nobody responded to this post, and after 3 years, I tried to > make this happen again but no luck. vtkBoxClipDataSet ClippedOutput produces > cell data but not the point data, > Anybody tried to get point data from second port?? > Thanks > > > > > -- > View this message in context: http://vtk.1045678.n5.nabble.com/vtkBoxClipDataSet-ClippedOutput-tp5720293p5742430.html > Sent from the VTK - Users mailing list archive at Nabble.com. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers -- Unpaid intern in BillsBasement at noware dot com -------------- next part -------------- A non-text attachment was scrubbed... Name: vtkBoxClipDataSet.cxx Type: text/x-c++src Size: 214966 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: vtkBoxClipDataSet.h Type: text/x-chdr Size: 11581 bytes Desc: not available URL: From karanovicm at gmail.com Sat Mar 11 16:15:17 2017 From: karanovicm at gmail.com (KM) Date: Sat, 11 Mar 2017 14:15:17 -0700 (MST) Subject: [vtkusers] vtkBoxClipDataSet ClippedOutput In-Reply-To: References: <1366686973993-5720293.post@n5.nabble.com> <1489208926728-5742430.post@n5.nabble.com> Message-ID: <1489266917147-5742436.post@n5.nabble.com> Thanks Bill, unfortunately I'm using ActiViz version 5.8. So i'm hopping in near future will find a time to learn how to compile latest version VTK to the .net then for sure will need to get you big fixes implemented. Again, thanks for your response Marinko -- View this message in context: http://vtk.1045678.n5.nabble.com/vtkBoxClipDataSet-ClippedOutput-tp5720293p5742436.html Sent from the VTK - Users mailing list archive at Nabble.com. From bill.lorensen at gmail.com Sat Mar 11 16:46:51 2017 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Sat, 11 Mar 2017 16:46:51 -0500 Subject: [vtkusers] vtkBoxClipDataSet ClippedOutput In-Reply-To: <1489266917147-5742436.post@n5.nabble.com> References: <1366686973993-5720293.post@n5.nabble.com> <1489208926728-5742430.post@n5.nabble.com> <1489266917147-5742436.post@n5.nabble.com> Message-ID: Would you have a dataset you could share? On Mar 11, 2017 4:15 PM, "KM" wrote: > Thanks Bill, unfortunately I'm using ActiViz version 5.8. So i'm hopping in > near future will find a time to learn how to compile latest version VTK to > the .net then for sure will need to get you big fixes implemented. Again, > thanks for your response > > Marinko > > > > > -- > View this message in context: http://vtk.1045678.n5.nabble. > com/vtkBoxClipDataSet-ClippedOutput-tp5720293p5742436.html > Sent from the VTK - Users mailing list archive at Nabble.com. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -------------- next part -------------- An HTML attachment was scrubbed... URL: From karanovicm at gmail.com Sat Mar 11 19:57:52 2017 From: karanovicm at gmail.com (KM) Date: Sat, 11 Mar 2017 17:57:52 -0700 (MST) Subject: [vtkusers] vtkBoxClipDataSet ClippedOutput In-Reply-To: References: <1366686973993-5720293.post@n5.nabble.com> <1489208926728-5742430.post@n5.nabble.com> <1489266917147-5742436.post@n5.nabble.com> Message-ID: <1489280272903-5742438.post@n5.nabble.com> Yes, here you go QGNLOCWXPY.vtk -- View this message in context: http://vtk.1045678.n5.nabble.com/vtkBoxClipDataSet-ClippedOutput-tp5720293p5742438.html Sent from the VTK - Users mailing list archive at Nabble.com. From bakkari.abdelkhalek at hotmail.fr Sun Mar 12 06:46:36 2017 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Sun, 12 Mar 2017 10:46:36 +0000 Subject: [vtkusers] Normal Direction of point set In-Reply-To: References: , Message-ID: Dear Jon Haitz Legarreta, Could you please help me to define the VTK_MAJOR_VERSION, VTK_MINOR_VERSION. My own CMakeLists is writting as follow : -------------------------------------- cmake_minimum_required(VERSION 2.6) PROJECT(main) IF(NOT VTK_BINARY_DIR) FIND_PACKAGE(VTK) IF(NOT VTK_DIR) MESSAGE(FATAL_ERROR "Please set VTK_DIR.") ENDIF(NOT VTK_DIR) INCLUDE(${VTK_USE_FILE}) ENDIF(NOT VTK_BINARY_DIR) FIND_PACKAGE ( ITK) IF ( ITK_FOUND) INCLUDE( ${ITK_USE_FILE} ) ENDIF( ITK_FOUND) -------------------------------------- The VTK_MINOR_VERSION is 5.10.1 The VTK_MAJOR_VERSION is 7.1.0. Thank you in advance. Best regards, Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland ________________________________ From: Jon Haitz Legarreta Sent: 02 March 2017 10:54 To: Abdelkhalek Bakkari Cc: Bill Lorensen; VTK Users Subject: Re: [vtkusers] Normal Direction of point set If you mean using parts of a given version (say 5.10.1) and using some other parts of another version (say 7.1), chances are that this approach results in unexpected behavior to say the at least (if you even try). Regardless of whether the toolkit or external library used is VTK or not, that approach is not advisable. The class at issue may depend on other classes or features not present in earlier versions, so you'd better use 7.1 if you need the class. You can perfectly have as many VTK versions as needed installed/built in the same machine. You can use the VTK_MAJOR_VERSION, VTK_MINOR_VERSION, etc. flags in your project if you want to use the feature depending on the availability of the VTK version your project links against. At least if the feature is not critical. JON HAITZ -- On 2 March 2017 at 07:17, Abdelkhalek Bakkari > wrote: Mine is 5.10.1. Can I get two different versions of VTK in the same windows and used for the same project? Is there any other way please? ________________________________ From: Bill Lorensen > Sent: 02 March 2017 02:56 To: Abdelkhalek Bakkari Cc: VTK Users Subject: Re: [vtkusers] Normal Direction of point set What version of VTK? You need 7.1 On Mar 1, 2017 7:49 PM, "Abdelkhalek Bakkari" > wrote: Dear Mr Bill, Thank you for your prompt answer. I tried to adopt vtkPCANormalEstimation. But, I could not find the vtkFiltersPointsModule.h. Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland ________________________________ From: Bill Lorensen > Sent: 01 March 2017 18:34 To: Abdelkhalek Bakkari Cc: VTK Mailing List Subject: Re: [vtkusers] Normal Direction of point set In vtk7.1 use vtkPCANormalEstimation see the example: http://www.vtk.org/Wiki/VTK/Examples/Cxx/Points/NormalEstimation VTK/Examples/Cxx/Points/NormalEstimation - KitwarePublic www.vtk.org Download and Build NormalEstimation. Click here to download NormalEstimation. and its CMakeLists.txt file. Once the tarball NormalEstimation.tar has been downloaded ... On Wed, Mar 1, 2017 at 12:11 PM, Abdelkhalek Bakkari > wrote: > Dear VTK users, > > > I would like to ask about the way of normal direction computation of point > set. > > > Thank you in advance. > > > Best regards, > > > Abdelkhalek Bakkari > Ph.D candidate in Computer Science > Institute of Applied Computer Science > Lodz University of Technology, Poland > > > > _______________________________________________ > Powered by www.kitware.com [http://www.kitware.com/img/Areas_Index_Home.jpg] Kitware Inc. - leading edge, high-quality software www.kitware.com Kitware's mission is to create state-of-the-art software products and services in visualization and data processing using advanced quality software methods and ... > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html OPEN SOURCE - Kitware www.kitware.com Kitware develops, maintains and supports a wide array of toolkits and applications that are used by tens of thousands of software developers, researchers and ... > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -- Unpaid intern in BillsBasement at noware dot com _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ Search the list archives at: http://markmail.org/search/?q=vtkusers Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/vtkusers -------------- next part -------------- An HTML attachment was scrubbed... URL: From jhlegarreta at vicomtech.org Sun Mar 12 07:50:11 2017 From: jhlegarreta at vicomtech.org (Jon Haitz Legarreta) Date: Sun, 12 Mar 2017 12:50:11 +0100 Subject: [vtkusers] Normal Direction of point set In-Reply-To: References: Message-ID: These variables are set by VTK when running CMake. For VTK 5.10.0, for example, VTK_MAJOR_VERSION would be 5, and VTK_MINOR_VERSION would be 10. In your code you would use them as explained here [1]. HTH, JON HAITZ [1] http://www.vtk.org/Wiki/VTK/VTK6/Migration/WikiExamples -- On 12 March 2017 at 11:46, Abdelkhalek Bakkari < bakkari.abdelkhalek at hotmail.fr> wrote: > Dear Jon Haitz Legarreta, > > > Could you please help me to define the VTK_MAJOR_VERSION, > VTK_MINOR_VERSION. > > My own CMakeLists is writting as follow : > > > -------------------------------------- > > cmake_minimum_required(VERSION 2.6) > PROJECT(main) > > IF(NOT VTK_BINARY_DIR) > FIND_PACKAGE(VTK) > IF(NOT VTK_DIR) > MESSAGE(FATAL_ERROR "Please set VTK_DIR.") > ENDIF(NOT VTK_DIR) > INCLUDE(${VTK_USE_FILE}) > ENDIF(NOT VTK_BINARY_DIR) > FIND_PACKAGE ( ITK) > IF ( ITK_FOUND) > INCLUDE( ${ITK_USE_FILE} ) > ENDIF( ITK_FOUND) > -------------------------------------- > > The VTK_MINOR_VERSION is 5.10.1 > The VTK_MAJOR_VERSION is 7.1.0. > > Thank you in advance. > > Best regards, > > > > Abdelkhalek Bakkari > Ph.D candidate in Computer Science > Institute of Applied Computer Science > Lodz University of Technology, Poland > > > > > ------------------------------ > *From:* Jon Haitz Legarreta > *Sent:* 02 March 2017 10:54 > *To:* Abdelkhalek Bakkari > *Cc:* Bill Lorensen; VTK Users > > *Subject:* Re: [vtkusers] Normal Direction of point set > > If you mean using parts of a given version (say 5.10.1) and using some > other parts of another version (say 7.1), chances are that this approach > results in unexpected behavior to say the at least (if you even try). > Regardless of whether the toolkit or external library used is VTK or not, > that approach is not advisable. > > The class at issue may depend on other classes or features not present in > earlier versions, so you'd better use 7.1 if you need the class. > > You can perfectly have as many VTK versions as needed installed/built in > the same machine. > > You can use the VTK_MAJOR_VERSION, VTK_MINOR_VERSION, etc. flags in your > project if you want to use the feature depending on the availability of the > VTK version your project links against. At least if the feature is not > critical. > > JON HAITZ > > -- > > > On 2 March 2017 at 07:17, Abdelkhalek Bakkari < > bakkari.abdelkhalek at hotmail.fr> wrote: > >> Mine is 5.10.1. Can I get two different versions of VTK in the same >> windows and used for the same project? Is there any other way please? >> >> >> >> >> >> >> ------------------------------ >> *From:* Bill Lorensen >> *Sent:* 02 March 2017 02:56 >> *To:* Abdelkhalek Bakkari >> *Cc:* VTK Users >> >> *Subject:* Re: [vtkusers] Normal Direction of point set >> >> What version of VTK? You need 7.1 >> >> On Mar 1, 2017 7:49 PM, "Abdelkhalek Bakkari" < >> bakkari.abdelkhalek at hotmail.fr> wrote: >> >>> Dear Mr Bill, >>> >>> >>> Thank you for your prompt answer. I tried to adopt vtkPCANormalEstimation. >>> But, I could not find the vtkFiltersPointsModule.h. >>> >>> >>> >>> >>> Abdelkhalek Bakkari >>> Ph.D candidate in Computer Science >>> Institute of Applied Computer Science >>> Lodz University of Technology, Poland >>> >>> >>> >>> >>> ------------------------------ >>> *From:* Bill Lorensen >>> *Sent:* 01 March 2017 18:34 >>> *To:* Abdelkhalek Bakkari >>> *Cc:* VTK Mailing List >>> *Subject:* Re: [vtkusers] Normal Direction of point set >>> >>> In vtk7.1 use >>> vtkPCANormalEstimation >>> >>> see the example: >>> http://www.vtk.org/Wiki/VTK/Examples/Cxx/Points/NormalEstimation >>> VTK/Examples/Cxx/Points/NormalEstimation - KitwarePublic >>> >>> www.vtk.org >>> Download and Build NormalEstimation. Click here to download >>> NormalEstimation. and its CMakeLists.txt file. Once the tarball >>> NormalEstimation.tar has been downloaded ... >>> >>> >>> >>> >>> On Wed, Mar 1, 2017 at 12:11 PM, Abdelkhalek Bakkari >>> wrote: >>> > Dear VTK users, >>> > >>> > >>> > I would like to ask about the way of normal direction computation of >>> point >>> > set. >>> > >>> > >>> > Thank you in advance. >>> > >>> > >>> > Best regards, >>> > >>> > >>> > Abdelkhalek Bakkari >>> > Ph.D candidate in Computer Science >>> > Institute of Applied Computer Science >>> > Lodz University of Technology, Poland >>> > >>> > >>> > >>> > _______________________________________________ >>> > Powered by www.kitware.com >>> >>> Kitware Inc. - leading edge, high-quality software >>> >>> www.kitware.com >>> Kitware's mission is to create state-of-the-art software products and >>> services in visualization and data processing using advanced quality >>> software methods and ... >>> >>> >>> > >>> > Visit other Kitware open-source projects at >>> > http://www.kitware.com/opensource/opensource.html >>> OPEN SOURCE - Kitware >>> >>> www.kitware.com >>> Kitware develops, maintains and supports a wide array of toolkits and >>> applications that are used by tens of thousands of software developers, >>> researchers and ... >>> >>> >>> > >>> > Please keep messages on-topic and check the VTK FAQ at: >>> > http://www.vtk.org/Wiki/VTK_FAQ >>> > >>> > Search the list archives at: http://markmail.org/search/?q=vtkusers >>> > >>> > Follow this link to subscribe/unsubscribe: >>> > http://public.kitware.com/mailman/listinfo/vtkusers >>> > >>> >>> >>> >>> -- >>> Unpaid intern in BillsBasement at noware dot com >>> >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: >> http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bakkari.abdelkhalek at hotmail.fr Sun Mar 12 08:12:15 2017 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Sun, 12 Mar 2017 12:12:15 +0000 Subject: [vtkusers] Normal Direction of point set In-Reply-To: References: , Message-ID: Thank you Jon Haitz for your prompt answer. But, in my case I would like to use two different versions of VTK: 5.10.1 and 7.1.0. How can I indicate it in CMakeLists file ? Kind regards, Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland ________________________________ From: Jon Haitz Legarreta Sent: 12 March 2017 12:50 To: Abdelkhalek Bakkari Cc: Bill Lorensen; VTK Users Subject: Re: [vtkusers] Normal Direction of point set These variables are set by VTK when running CMake. For VTK 5.10.0, for example, VTK_MAJOR_VERSION would be 5, and VTK_MINOR_VERSION would be 10. In your code you would use them as explained here [1]. HTH, JON HAITZ [1] http://www.vtk.org/Wiki/VTK/VTK6/Migration/WikiExamples VTK/VTK6/Migration/WikiExamples - KitwarePublic www.vtk.org Define. Convert the VTK Wiki Examples to VTK6 while still maintaining VTK5 compatibility. Measure. As part of NA-MIC Project Week, the VTK Wiki Examples were built ... -- On 12 March 2017 at 11:46, Abdelkhalek Bakkari > wrote: Dear Jon Haitz Legarreta, Could you please help me to define the VTK_MAJOR_VERSION, VTK_MINOR_VERSION. My own CMakeLists is writting as follow : -------------------------------------- cmake_minimum_required(VERSION 2.6) PROJECT(main) IF(NOT VTK_BINARY_DIR) FIND_PACKAGE(VTK) IF(NOT VTK_DIR) MESSAGE(FATAL_ERROR "Please set VTK_DIR.") ENDIF(NOT VTK_DIR) INCLUDE(${VTK_USE_FILE}) ENDIF(NOT VTK_BINARY_DIR) FIND_PACKAGE ( ITK) IF ( ITK_FOUND) INCLUDE( ${ITK_USE_FILE} ) ENDIF( ITK_FOUND) -------------------------------------- The VTK_MINOR_VERSION is 5.10.1 The VTK_MAJOR_VERSION is 7.1.0. Thank you in advance. Best regards, Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland ________________________________ From: Jon Haitz Legarreta > Sent: 02 March 2017 10:54 To: Abdelkhalek Bakkari Cc: Bill Lorensen; VTK Users Subject: Re: [vtkusers] Normal Direction of point set If you mean using parts of a given version (say 5.10.1) and using some other parts of another version (say 7.1), chances are that this approach results in unexpected behavior to say the at least (if you even try). Regardless of whether the toolkit or external library used is VTK or not, that approach is not advisable. The class at issue may depend on other classes or features not present in earlier versions, so you'd better use 7.1 if you need the class. You can perfectly have as many VTK versions as needed installed/built in the same machine. You can use the VTK_MAJOR_VERSION, VTK_MINOR_VERSION, etc. flags in your project if you want to use the feature depending on the availability of the VTK version your project links against. At least if the feature is not critical. JON HAITZ -- On 2 March 2017 at 07:17, Abdelkhalek Bakkari > wrote: Mine is 5.10.1. Can I get two different versions of VTK in the same windows and used for the same project? Is there any other way please? ________________________________ From: Bill Lorensen > Sent: 02 March 2017 02:56 To: Abdelkhalek Bakkari Cc: VTK Users Subject: Re: [vtkusers] Normal Direction of point set What version of VTK? You need 7.1 On Mar 1, 2017 7:49 PM, "Abdelkhalek Bakkari" > wrote: Dear Mr Bill, Thank you for your prompt answer. I tried to adopt vtkPCANormalEstimation. But, I could not find the vtkFiltersPointsModule.h. Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland ________________________________ From: Bill Lorensen > Sent: 01 March 2017 18:34 To: Abdelkhalek Bakkari Cc: VTK Mailing List Subject: Re: [vtkusers] Normal Direction of point set In vtk7.1 use vtkPCANormalEstimation see the example: http://www.vtk.org/Wiki/VTK/Examples/Cxx/Points/NormalEstimation VTK/Examples/Cxx/Points/NormalEstimation - KitwarePublic www.vtk.org Download and Build NormalEstimation. Click here to download NormalEstimation. and its CMakeLists.txt file. Once the tarball NormalEstimation.tar has been downloaded ... On Wed, Mar 1, 2017 at 12:11 PM, Abdelkhalek Bakkari > wrote: > Dear VTK users, > > > I would like to ask about the way of normal direction computation of point > set. > > > Thank you in advance. > > > Best regards, > > > Abdelkhalek Bakkari > Ph.D candidate in Computer Science > Institute of Applied Computer Science > Lodz University of Technology, Poland > > > > _______________________________________________ > Powered by www.kitware.com [http://www.kitware.com/img/Areas_Index_Home.jpg] Kitware Inc. - leading edge, high-quality software www.kitware.com Kitware's mission is to create state-of-the-art software products and services in visualization and data processing using advanced quality software methods and ... > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html OPEN SOURCE - Kitware www.kitware.com Kitware develops, maintains and supports a wide array of toolkits and applications that are used by tens of thousands of software developers, researchers and ... > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -- Unpaid intern in BillsBasement at noware dot com _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ Search the list archives at: http://markmail.org/search/?q=vtkusers Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/vtkusers -------------- next part -------------- An HTML attachment was scrubbed... URL: From jhlegarreta at vicomtech.org Sun Mar 12 08:46:26 2017 From: jhlegarreta at vicomtech.org (Jon Haitz Legarreta) Date: Sun, 12 Mar 2017 13:46:26 +0100 Subject: [vtkusers] Normal Direction of point set In-Reply-To: References: Message-ID: If you are trying to include/exclude files from your project depending on the VTK_MAJOR_VERSION, then you'd nee to do something like: if(VTK_MAJOR_VERSION GREATER 5) # do stuff else(VTK_MAJOR_VERSION GREATER 5) # do stuff endif(VTK_MAJOR_VERSION GREATER 5) It would be similar with the VTK_MINOR_VERSION. To include features, etc. in your source files depending on the versions, use the VTK wiki link example. JON HAITZ -- On 12 March 2017 at 13:12, Abdelkhalek Bakkari < bakkari.abdelkhalek at hotmail.fr> wrote: > Thank you Jon Haitz for your prompt answer. But, in my case I would like > to use two different versions of VTK: 5.10.1 and 7.1.0. > > How can I indicate it in CMakeLists file ? > > > Kind regards, > > > Abdelkhalek Bakkari > Ph.D candidate in Computer Science > Institute of Applied Computer Science > Lodz University of Technology, Poland > > > > > ------------------------------ > *From:* Jon Haitz Legarreta > *Sent:* 12 March 2017 12:50 > *To:* Abdelkhalek Bakkari > *Cc:* Bill Lorensen; VTK Users > *Subject:* Re: [vtkusers] Normal Direction of point set > > These variables are set by VTK when running CMake. > > For VTK 5.10.0, for example, VTK_MAJOR_VERSION would be 5, and > VTK_MINOR_VERSION would be 10. > > In your code you would use them as explained here [1]. > > HTH, > JON HAITZ > > > [1] http://www.vtk.org/Wiki/VTK/VTK6/Migration/WikiExamples > VTK/VTK6/Migration/WikiExamples - KitwarePublic > > www.vtk.org > Define. Convert the VTK Wiki Examples to VTK6 while still maintaining VTK5 > compatibility. Measure. As part of NA-MIC Project Week, the VTK Wiki > Examples were built ... > > > -- > > > On 12 March 2017 at 11:46, Abdelkhalek Bakkari < > bakkari.abdelkhalek at hotmail.fr> wrote: > >> Dear Jon Haitz Legarreta, >> >> >> Could you please help me to define the VTK_MAJOR_VERSION, >> VTK_MINOR_VERSION. >> >> My own CMakeLists is writting as follow : >> >> >> -------------------------------------- >> >> cmake_minimum_required(VERSION 2.6) >> PROJECT(main) >> >> IF(NOT VTK_BINARY_DIR) >> FIND_PACKAGE(VTK) >> IF(NOT VTK_DIR) >> MESSAGE(FATAL_ERROR "Please set VTK_DIR.") >> ENDIF(NOT VTK_DIR) >> INCLUDE(${VTK_USE_FILE}) >> ENDIF(NOT VTK_BINARY_DIR) >> FIND_PACKAGE ( ITK) >> IF ( ITK_FOUND) >> INCLUDE( ${ITK_USE_FILE} ) >> ENDIF( ITK_FOUND) >> -------------------------------------- >> >> The VTK_MINOR_VERSION is 5.10.1 >> The VTK_MAJOR_VERSION is 7.1.0. >> >> Thank you in advance. >> >> Best regards, >> >> >> >> Abdelkhalek Bakkari >> Ph.D candidate in Computer Science >> Institute of Applied Computer Science >> Lodz University of Technology, Poland >> >> >> >> >> ------------------------------ >> *From:* Jon Haitz Legarreta >> *Sent:* 02 March 2017 10:54 >> *To:* Abdelkhalek Bakkari >> *Cc:* Bill Lorensen; VTK Users >> >> *Subject:* Re: [vtkusers] Normal Direction of point set >> >> If you mean using parts of a given version (say 5.10.1) and using some >> other parts of another version (say 7.1), chances are that this approach >> results in unexpected behavior to say the at least (if you even try). >> Regardless of whether the toolkit or external library used is VTK or not, >> that approach is not advisable. >> >> The class at issue may depend on other classes or features not present in >> earlier versions, so you'd better use 7.1 if you need the class. >> >> You can perfectly have as many VTK versions as needed installed/built in >> the same machine. >> >> You can use the VTK_MAJOR_VERSION, VTK_MINOR_VERSION, etc. flags in your >> project if you want to use the feature depending on the availability of the >> VTK version your project links against. At least if the feature is not >> critical. >> >> JON HAITZ >> >> -- >> >> >> On 2 March 2017 at 07:17, Abdelkhalek Bakkari < >> bakkari.abdelkhalek at hotmail.fr> wrote: >> >>> Mine is 5.10.1. Can I get two different versions of VTK in the same >>> windows and used for the same project? Is there any other way please? >>> >>> >>> >>> >>> >>> >>> ------------------------------ >>> *From:* Bill Lorensen >>> *Sent:* 02 March 2017 02:56 >>> *To:* Abdelkhalek Bakkari >>> *Cc:* VTK Users >>> >>> *Subject:* Re: [vtkusers] Normal Direction of point set >>> >>> What version of VTK? You need 7.1 >>> >>> On Mar 1, 2017 7:49 PM, "Abdelkhalek Bakkari" < >>> bakkari.abdelkhalek at hotmail.fr> wrote: >>> >>>> Dear Mr Bill, >>>> >>>> >>>> Thank you for your prompt answer. I tried to adopt vtkPCANormalEstimation. >>>> But, I could not find the vtkFiltersPointsModule.h. >>>> >>>> >>>> >>>> >>>> Abdelkhalek Bakkari >>>> Ph.D candidate in Computer Science >>>> Institute of Applied Computer Science >>>> Lodz University of Technology, Poland >>>> >>>> >>>> >>>> >>>> ------------------------------ >>>> *From:* Bill Lorensen >>>> *Sent:* 01 March 2017 18:34 >>>> *To:* Abdelkhalek Bakkari >>>> *Cc:* VTK Mailing List >>>> *Subject:* Re: [vtkusers] Normal Direction of point set >>>> >>>> In vtk7.1 use >>>> vtkPCANormalEstimation >>>> >>>> see the example: >>>> http://www.vtk.org/Wiki/VTK/Examples/Cxx/Points/NormalEstimation >>>> VTK/Examples/Cxx/Points/NormalEstimation - KitwarePublic >>>> >>>> www.vtk.org >>>> Download and Build NormalEstimation. Click here to download >>>> NormalEstimation. and its CMakeLists.txt file. Once the tarball >>>> NormalEstimation.tar has been downloaded ... >>>> >>>> >>>> >>>> >>>> On Wed, Mar 1, 2017 at 12:11 PM, Abdelkhalek Bakkari >>>> wrote: >>>> > Dear VTK users, >>>> > >>>> > >>>> > I would like to ask about the way of normal direction computation of >>>> point >>>> > set. >>>> > >>>> > >>>> > Thank you in advance. >>>> > >>>> > >>>> > Best regards, >>>> > >>>> > >>>> > Abdelkhalek Bakkari >>>> > Ph.D candidate in Computer Science >>>> > Institute of Applied Computer Science >>>> > Lodz University of Technology, Poland >>>> > >>>> > >>>> > >>>> > _______________________________________________ >>>> > Powered by www.kitware.com >>>> >>>> Kitware Inc. - leading edge, high-quality software >>>> >>>> www.kitware.com >>>> Kitware's mission is to create state-of-the-art software products and >>>> services in visualization and data processing using advanced quality >>>> software methods and ... >>>> >>>> >>>> > >>>> > Visit other Kitware open-source projects at >>>> > http://www.kitware.com/opensource/opensource.html >>>> OPEN SOURCE - Kitware >>>> >>>> www.kitware.com >>>> Kitware develops, maintains and supports a wide array of toolkits and >>>> applications that are used by tens of thousands of software developers, >>>> researchers and ... >>>> >>>> >>>> > >>>> > Please keep messages on-topic and check the VTK FAQ at: >>>> > http://www.vtk.org/Wiki/VTK_FAQ >>>> > >>>> > Search the list archives at: http://markmail.org/search/?q=vtkusers >>>> > >>>> > Follow this link to subscribe/unsubscribe: >>>> > http://public.kitware.com/mailman/listinfo/vtkusers >>>> > >>>> >>>> >>>> >>>> -- >>>> Unpaid intern in BillsBasement at noware dot com >>>> >>> >>> _______________________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Please keep messages on-topic and check the VTK FAQ at: >>> http://www.vtk.org/Wiki/VTK_FAQ >>> >>> Search the list archives at: http://markmail.org/search/?q=vtkusers >>> >>> Follow this link to subscribe/unsubscribe: >>> http://public.kitware.com/mailman/listinfo/vtkusers >>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From andy.bauer at kitware.com Sun Mar 12 11:17:35 2017 From: andy.bauer at kitware.com (Andy Bauer) Date: Sun, 12 Mar 2017 11:17:35 -0400 Subject: [vtkusers] tags in VTK? In-Reply-To: References: Message-ID: Hi Nico, The more common way in VTK is just as you said -- to create a cell array with that marking. That doesn't mean that you can't maintain a list of cells in a subdomain. You could also work with pieces or a multiblock to represent the subdomain. The main issue though is how that data is supposed to be interpreted by other things. If you're working on your own filters then you can have the convention of a field data array to keep track of subdomains but most/all VTK filters will have no idea what that data represents. The idea here is that if you want to a threshold filter to keep only certain subdomains you can either use a cell data array and the vtkThreshold filter or your own convention and your own threshold filter. Cheers, Andy On Sat, Mar 11, 2017 at 1:39 PM, Nico Schl?mer wrote: > Hi everyone, > > To mark subdomains in VTK, I guess the most common thing is to use a > integer-valued cell (or point) function that associates every cell with a > subdomain index. Is this correct or are there other ways for marking > subdomains? > > In other mesh formats, I've seen the approach of tagging entities, i.e., > subdomain X would be represented by a list indices into the cell (or point) > array. This fits many of my applications better since I typically need to > iterate over all cells of a subdomain. The function approach makes it hard > to even find out how many subdomains there are, let alone to have one cell > belong to two subdomains at once. > > Any hints here? > > Cheers, > Nico > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nantho2 at emory.edu Sun Mar 12 21:07:36 2017 From: nantho2 at emory.edu (nranthony) Date: Sun, 12 Mar 2017 18:07:36 -0700 (MST) Subject: [vtkusers] XDMF help for custom hdf5 file Message-ID: <1489367256393-5742444.post@n5.nabble.com> Hi all, I hope the data treats you well. I've been trying to get an xdmf file together for opening data from a custom hdf5 used by Bitplane Imaris. It's an '.ims' file, but it's created with hdf5 commands, and is a 3D array of intensity values for N channels (usually 1-4 channels). I've tried a bunch of different options on creating an xmdf file for importing the data into ParaView, but it crashes every time. Here's an example of the xdmf I've used: 0.0 0.0 0.0 0.1 0.1 0.21 NhBE_crop2.ims:/DataSet/ResolutionLevel 0/TimePoint 0/Channel 0/Data NhBE_crop2.ims:/DataSet/ResolutionLevel 0/TimePoint 0/Channel 1/Data I have random questions: - the data is compressed with a deflate of 2. Is that likely to be the issue? - also, I have a custom chunk size, but I assume that these things are taken care of with the h5 opening part of the code behind the scenes? - precision is the number of bits for the data, right? - is UInt correct for unsigned integers? - can I specify units for my dx dy dz? Thanks in advance for your time. Neil -- View this message in context: http://vtk.1045678.n5.nabble.com/XDMF-help-for-custom-hdf5-file-tp5742444.html Sent from the VTK - Users mailing list archive at Nabble.com. From jss at mensa.org.au Sun Mar 12 21:59:06 2017 From: jss at mensa.org.au (john) Date: Mon, 13 Mar 2017 12:29:06 +1030 Subject: [vtkusers] Pls help! tk gui window disappears when i start the vtkRenderWindowInteractor Message-ID: <20170313122906.00006fd8@internode.on.net> Hi good peoples, I'm wondering if someone can help me with an issue I'm seeing after updating an old vtk/tcl script to work with new VTK. The updates i made were things like changing the image pipeline filters to use SetInputConnection, instead of the deprecated old SetInput, and other minor updates. Basically, after the updates, the script works fine except that if when I add command to start the vtkRenderWindowInteractor, the little TK gui I've built does not appear. If i leave out the command to start the vtkRenderWindowInteractor (iren Start), then my tk gui appears, and I can use it to update some parameters of the renderer, and the the gui has a Render button which calls renWin Render to update the render window, and that's all working fine. But in this state, the render window cannot be interacted with. I can't zoom or rotate the view :-( Back when I had this working on VTK 4 or 5, I'm sure I had the TK gui up, and working, while at the same time being able to interact with the rendered window. I've tried with VTK 6.3 and 7.1, and behaviour is the same. I am basically a beginner with TCL/TK & VTK, so I've tried various things but had no success. I'm sure I must be just missing something relatively simple. I'd be happy with any solution that lets me use my tk gui, and the rendered window, even if only one window is active at a time, eg, I tried to get the "u" UserEvent of the vtkRenderWindowInteractor mapped so it would bring up the tk gui, but i couldn't get that to work. With most of the hacks i tried, the "u" button did nothing, and when i did get it to do something, all it did was bring up some blank windows called vtkInteract, which didn't seem to respond to anything i did with it. If i could get a key mapped which would pause the vtkRenderWindowInteractor and bring up my tk gui so i could make adjustments in the gui, then click a button to re-activate the vtkRenderWindowInteractor, that would be fine. If anyone can have a quick look at my script below, and tell me how to get my TK gui working whilst also being able to have interaction on the vtkRenderWindowInteractor working, that'd be awsm. Many thanks, John #!/bin/sh # pse3d.tcl v1.2 2003-03-04, updated 2017-03-13 # Author: me # usage > psed3d.tcl [data_path] data_filename # # TCL script to view a power spectrum estimate in 3D, using VTK (the Visualisation Toolkit) and data-files # generated by my psef (power spectrum estimate and filter) program. # # If your TCLLIBPATH or LD_LIBRARY_PATH are not set correctly for VTK, you may need to use the vtk executable # to ensure that wish can find the VTK packages and shared libraries. # usage for bad VTK setup > vtk pse3D.tcl [data_path] data_filename # # "u" displays the vtk interactor command dialog. # the next line restarts using wish \ exec wish "$0" "$@" package require vtk package require vtkinteraction if { [catch {set VTK_DATA $env(VTK_DATA)}] != 0} { set VTK_DATA "/usr/local/bin/jss/.vsa/pses/" } puts ""; puts "Starting up." set colour_scale 1000 set colour_scale_max 100000 set colour_scale_max_resolution 10000 set colour_scale_max_max 1000000 set colour_scale_resolution 10 set colour_scale_resolution_max 1000 set decimation 0.8 set decimation_resolution 0.01 set xAxisLabel "Frequency (Hz)" set yAxisLabel "Amplitude (dB)" set zAxisLabel "Time (%)" ############################### puts "Getting datafile parameters:" vtkPolyDataReader reader if $argc==1 { set datafile $argv }; #if $argc==1 { set datafile $VTK_DATA/$argv }; if $argc==2 { set VTK_DATA [lindex $argv 0]; set datafilename [lindex $argv 1] ; set datafile $VTK_DATA/$datafilename ; puts "datafilename=<$datafilename>" }; puts " VTK_DATA=<$VTK_DATA>" puts " datafile=<$datafile>" reader SetFileName "$datafile"; reader OpenVTKFile reader ReadHeader set HeaderString [reader GetHeader] puts " HeaderString=<$HeaderString>" reader CloseVTKFile #remap = to _ and - to _ giving Floor=-100 => Floor__100 ... so wordend works set HeaderString [string map {= _ - _} $HeaderString] #get "Floor__XXX " set DBindex [string first "Floor" $HeaderString] set DBindex_end [string wordend $HeaderString $DBindex] set DBstring [string range $HeaderString $DBindex $DBindex_end] #trim trailing space set DBstring [string trimright $DBstring] #get index of last (2nd) _ set DBindex [string last "_" $DBstring] set DBindex_end [string wordend $DBstring $DBindex] set DBstring [string range $DBstring $DBindex $DBindex_end] #convert _ to - set Floor [string map {_ -} $DBstring] #set Floor [string trimleft $DBstring _] puts " Floor = $Floor dB" ############################### vtkRenderer ren1 ren1 BackingStoreOn vtkRenderWindow renWin renWin AddRenderer ren1 vtkRenderWindowInteractor iren iren SetRenderWindow renWin puts "RenderWindow, Renderer and Interactor created." ############################### puts "Building the image pipeline:" vtkTriangleFilter cutTriangles cutTriangles SetInputConnection [reader GetOutputPort] vtkDecimatePro deci deci SetInputConnection [cutTriangles GetOutputPort] deci SetTargetReduction $decimation deci BoundaryVertexDeletionOff deci PreserveTopologyOn #these options are for vtkDecimate not vtkDecimatePro #deci PreserveEdgesOn #set decimationInitialError [deci GetInitialError] #puts "decimationInitialError=<$decimationInitialError>" #deci SetInitialError blah #deci SetErrorIncrement blah #may not need geometry filter vtkGeometryFilter geometry geometry SetInputConnection [deci GetOutputPort] #Create a vtkPolyDataNormals filter to calculate the normals of the data set. vtkPolyDataNormals normals normals SetInputConnection [geometry GetOutputPort] vtkPolyDataMapper map map SetInputConnection [geometry GetOutputPort] #map ScalarVisibilityOn map ImmediateModeRenderingOff map SetScalarRange 0 $colour_scale vtkActor surfaceActor surfaceActor SetMapper map [surfaceActor GetProperty] SetDiffuseColor 1.0000 0.3882 0.2784 [surfaceActor GetProperty] SetSpecularColor 1 1 1 [surfaceActor GetProperty] SetSpecular .4 [surfaceActor GetProperty] SetSpecularPower 50 puts "Image pipeline built." #create HeadLight and add to renderer vtkLight hlight hlight SetLightTypeToHeadlight hlight SetIntensity 1.0 ren1 AddLight hlight vtkLight keyLight keyLight SetLightTypeToSceneLight keyLight SetPosition 0.5 1.0 1.0 keyLight SetIntensity 1.0 keyLight SetColor 1 1 0.9 ren1 AddLight keyLight vtkLight rightLight rightLight SetLightTypeToSceneLight rightLight SetPosition 1.0 1.0 0.5 rightLight SetIntensity 0.5 rightLight SetColor 1 1 0.9 ren1 AddLight rightLight puts "HeadLight and SceneLights added to renderer." #Add the actors to the renderer, set the background and size iren LightFollowCameraOff ren1 AddActor surfaceActor ren1 SetBackground 0 0 0 renWin SetSize 800 800 renWin SetWindowName "VorpalLab - 3D Power Spectrum Estimate" puts "Actors added to renderer, background and size set." #[ren1 GetActiveCamera] SetFocalPoint 0 0 0 ### 0 0 0 is the default #[ren1 GetActiveCamera] SetPosition 0 0 -1 [ren1 GetActiveCamera] Azimuth 20 [ren1 GetActiveCamera] SetViewUp 0 1 0 [ren1 GetActiveCamera] Elevation 20 #[ren1 GetActiveCamera] Dolly 1.0 ren1 ResetCamera ren1 ResetCameraClippingRange set cam1 [ren1 GetActiveCamera] $cam1 Zoom 1.4 puts "Camera positioned and zoomed." puts "Setting up axes:" #we want to reverse the labelling of the z axis tho #vtkAxisActor2D zaxis #vtkDouble xmin xmax ymin ymax zmin zmax; #vtkFloatArray ranges; vtkDoubleArray ranges; ranges SetNumberOfValues 6 #Create a vtkCubeAxesActor2D. Use the outer edges of the bounding box to #draw the axes. Add the actor to the renderer. vtkCubeAxesActor2D axes axes SetInputConnection [normals GetOutputPort] axes SetCamera [ren1 GetActiveCamera] set ranges [axes GetRanges] axes SetNumberOfLabels 2 axes SetRanges 0 20050 $Floor 0 100 0 axes UseRangesOn #[axes GetZAxisActor2D] AdjustLabelsOn axes SetLabelFormat "%6.6g" axes SetFlyModeToOuterEdges axes SetFontFactor 0.8 axes SetXLabel $xAxisLabel axes SetYLabel $yAxisLabel axes SetZLabel $zAxisLabel [axes GetProperty] SetColor 1 1 1 ren1 AddViewProp axes puts "About to start rendering." renWin Render ##renWin SetFileName pse.ppm ##renWin SaveImageAsPPM puts "Three-D PSE up and running." puts "Press \"q\" in the PSE window to quit. Use the mouse to rotate and zoom." #prevent the tk window from showing up then start the event loop #wm withdraw . ############################### puts "" ; puts "Building the TK controls GUI:" wm title . "3D PSE Controls" #We first create a Tk frame into which we will pack all sliders. frame .sliders #Next we create a scale slider: set scolourscale [scale .sliders.scolourscale \ -from 1 -to $colour_scale_max \ -res $colour_scale_resolution \ -orient horizontal \ -label "Colour Gradient:" \ -command setColourScale] #Slider widget is initialized using the value obtained from corresponding VTK object $scolourscale set $colour_scale #button callback: proc setColourScale {colour_scale} { map SetScalarRange 0 $colour_scale #Use a separate button to render the scene in order to improve the responsiveness of #the slider, which is too slow if e ender here while slider is being moved #renWin Render } #Decimation slider: set sdecimation [scale .sliders.sdecimation \ -from 0 -to 1 -res $decimation_resolution \ -orient horizontal \ -label "Decimation:" \ -command setDecimation] $sdecimation set $decimation proc setDecimation {decimation} { deci SetTargetReduction $decimation } #Slider to limit maximum of colourscale parameter: set scolourscalemax [scale .sliders.scolourscalemax \ -from 10000 -to $colour_scale_max_max -res $colour_scale_max_resolution \ -orient horizontal \ -label "Colour Gradient Maximum:" \ -command setColourscalemax] $scolourscalemax set $colour_scale_max proc setColourscalemax {colourscalemax} { .sliders.scolourscale configure -to $colourscalemax } #Slider to set the resolution (smallest increment) of the colour scale: set scolourscaleres [scale .sliders.scolourscaleres \ -from 10 -to $colour_scale_resolution_max -res 10 \ -orient horizontal \ -label "Colour Gradient Resolution:" \ -command setColourscaleres] $scolourscaleres set $colour_scale_resolution proc setColourscaleres {colourscaleres} { .sliders.scolourscale configure -res $colourscaleres } #Create frame for buttons: frame .buttons1 #Quit button to trigger the builtin exit callback button .buttons1.quit -text "Quit" -command ::vtk::cb_exit #Render button to update rendering: button .buttons1.render -text "Render" -command TkRender proc TkRender {} { renWin Render } #pack the buttons into the current frame: pack .buttons1.render .buttons1.quit -side left -anchor nw -fill both -expand yes frame .buttons2 #Button for Immediate mode rendering - ON button .buttons2.immediateOn -text "IMR On" -command ImOn proc ImOn {} { map ImmediateModeRenderingOn } #Button for Immediate mode rendering - OFF button .buttons2.immediateOff -text "IMR Off" -command ImOff proc ImOff {} { map ImmediateModeRenderingOff } pack .buttons2.immediateOn .buttons2.immediateOff -side left -anchor nw -fill both -expand yes # Finally we pack all sliders on top of each other (-side top) pack $scolourscale $scolourscaleres $scolourscalemax $sdecimation -side top -anchor nw -fill both pack .sliders .buttons2 .buttons1 -side top -fill both -expand yes # Set up a check for aborting rendering. This doesnt seem to work #proc TkCheckAbort {} { # set foo [renWin GetEventPending] # if {$foo != 0} {renWin SetAbortRender 1} #} #renWin AddObserver AbortCheckEvent {TkCheckAbort} puts "TK GUI is built" ############################### # We set the window manager (wm command) so that it registers a # command to handle the WM_DELETE_WINDOW protocal request. This # request is triggered when the widget is closed using the standard # window manager icons or buttons. In this case the exit callback # will be called and it will free up any objects we created then exit # the application. wm protocol . WM_DELETE_WINDOW ::vtk::cb_exit # Set the user method (bound to key 'u') iren AddObserver UserEvent {wm deiconify .vtkInteract} #iren AddObserver UserEvent {wm deiconify .} #iren AddObserver UserEvent {TkCheckAbort} #iren AddObserver UserEvent {iren Disable} #wm deiconify . #wm withdraw . #Only needed if this script is run from Tcl shell (tclsh) instead of a Tk shell (wish): #tkwait window . #iren Initialize #if i start the vtkRenderWindowInteractor here, then my tk gui does not appear :-( #iren Start From david.gobbi at gmail.com Sun Mar 12 22:58:35 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Sun, 12 Mar 2017 20:58:35 -0600 Subject: [vtkusers] Pls help! tk gui window disappears when i start the vtkRenderWindowInteractor In-Reply-To: <20170313122906.00006fd8@internode.on.net> References: <20170313122906.00006fd8@internode.on.net> Message-ID: Hi John, Try running some of the Tcl gui examples to see if they work for you: http://www.vtk.org/gitweb?p=VTK.git;a=tree;f=Examples/GUI/Tcl The MaceTk.tcl example uses the vtkTkRenderWidget and eliminates the vtkRenderWindowInteractor (since the vtkTkRenderWidget can handle interaction all by itself). That might be the best approach. Unfortunately it's been a long, long time since I've written a vtk tcl program so I can't give any specific advice on your code. Regards, - David On Sun, Mar 12, 2017 at 7:59 PM, john wrote: > Hi good peoples, > > I'm wondering if someone can help me with an issue I'm seeing after > updating an old vtk/tcl script to work with new VTK. > > The updates i made were things like changing the image pipeline > filters to use SetInputConnection, instead of the deprecated old > SetInput, and other minor updates. > > Basically, after the updates, the script works fine except that if when > I add command to start the vtkRenderWindowInteractor, the little TK gui > I've built does not appear. > > If i leave out the command to start the vtkRenderWindowInteractor > (iren Start), then my tk gui appears, and I can use it to update some > parameters of the renderer, and the the gui has a Render button > which calls renWin Render to update the render window, and that's all > working fine. But in this state, the render window cannot be interacted > with. I can't zoom or rotate the view :-( > > Back when I had this working on VTK 4 or 5, I'm sure I had the TK gui > up, and working, while at the same time being able to interact with the > rendered window. > > I've tried with VTK 6.3 and 7.1, and behaviour is the same. > > I am basically a beginner with TCL/TK & VTK, so I've tried various > things but had no success. I'm sure I must be just missing something > relatively simple. > > I'd be happy with any solution that lets me use my tk gui, and the > rendered window, even if only one window is active at a time, eg, I > tried to get the "u" UserEvent of the vtkRenderWindowInteractor mapped > so it would bring up the tk gui, but i couldn't get that to work. > With most of the hacks i tried, the "u" button did nothing, and when i > did get it to do something, all it did was bring up some blank windows > called vtkInteract, which didn't seem to respond to anything i did with > it. > > If i could get a key mapped which would pause the > vtkRenderWindowInteractor and bring up my tk gui so i could make > adjustments in the gui, then click a button to re-activate the > vtkRenderWindowInteractor, that would be fine. > > If anyone can have a quick look at my script below, and tell me how to > get my TK gui working whilst also being able to have interaction on the > vtkRenderWindowInteractor working, that'd be awsm. > > Many thanks, > John > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jss at mensa.org.au Mon Mar 13 01:02:59 2017 From: jss at mensa.org.au (john) Date: Mon, 13 Mar 2017 15:32:59 +1030 Subject: [vtkusers] Pls help! tk gui window disappears when i start the vtkRenderWindowInteractor In-Reply-To: References: <20170313122906.00006fd8@internode.on.net> Message-ID: <20170313153259.00006041@internode.on.net> Thanks David! your tip re vtkRenderWidget and that MaceTk.tcl was enough to get me on the path to success. I canned the vtkRenderWindowInteractor, and then used just the vtkTkRenderWidget, creating another top level window for it. Now my little script is working just as I vaguely recall it used to (last time i did anything with this was back in about 2003). I have a little window with some controls, and a separate window for the rendered image, which i can rotate & zoom. In case it helps anyone in future, the extra snippet of code i needed was this (which creates the new window using the renWin renderer i created earlier): #Create a separate window for the rendered image: toplevel .renderwindow wm title .renderwindow "3D PSE" vtkTkRenderWidget .renderwindow.renwidget -width 600 -height 700 -rw renWin pack .renderwindow.renwidget # Setup Tk bindings and VTK observers for that widget. ::vtk::bind_tk_render_widget .renderwindow.renwidget On Sun, 12 Mar 2017 20:58:35 -0600 David Gobbi <> wrote: > Hi John, > > Try running some of the Tcl gui examples to see if they work for you: > http://www.vtk.org/gitweb?p=VTK.git;a=tree;f=Examples/GUI/Tcl > > The MaceTk.tcl example uses the vtkTkRenderWidget and eliminates the > vtkRenderWindowInteractor (since the vtkTkRenderWidget can handle > interaction all by itself). That might be the best approach. > > Unfortunately it's been a long, long time since I've written a vtk tcl > program so I can't give any specific advice on your code. > > Regards, > - David > > > On Sun, Mar 12, 2017 at 7:59 PM, john <> wrote: > > > Hi good peoples, > > > > I'm wondering if someone can help me with an issue I'm seeing after > > updating an old vtk/tcl script to work with new VTK. > > > > The updates i made were things like changing the image pipeline > > filters to use SetInputConnection, instead of the deprecated old > > SetInput, and other minor updates. > > > > Basically, after the updates, the script works fine except that if > > when I add command to start the vtkRenderWindowInteractor, the > > little TK gui I've built does not appear. > > > > If i leave out the command to start the vtkRenderWindowInteractor > > (iren Start), then my tk gui appears, and I can use it to update > > some parameters of the renderer, and the the gui has a Render button > > which calls renWin Render to update the render window, and that's > > all working fine. But in this state, the render window cannot be > > interacted with. I can't zoom or rotate the view :-( > > > > Back when I had this working on VTK 4 or 5, I'm sure I had the TK > > gui up, and working, while at the same time being able to interact > > with the rendered window. > > > > I've tried with VTK 6.3 and 7.1, and behaviour is the same. > > > > I am basically a beginner with TCL/TK & VTK, so I've tried various > > things but had no success. I'm sure I must be just missing something > > relatively simple. > > > > I'd be happy with any solution that lets me use my tk gui, and the > > rendered window, even if only one window is active at a time, eg, I > > tried to get the "u" UserEvent of the vtkRenderWindowInteractor > > mapped so it would bring up the tk gui, but i couldn't get that to > > work. With most of the hacks i tried, the "u" button did nothing, > > and when i did get it to do something, all it did was bring up some > > blank windows called vtkInteract, which didn't seem to respond to > > anything i did with it. > > > > If i could get a key mapped which would pause the > > vtkRenderWindowInteractor and bring up my tk gui so i could make > > adjustments in the gui, then click a button to re-activate the > > vtkRenderWindowInteractor, that would be fine. > > > > If anyone can have a quick look at my script below, and tell me how > > to get my TK gui working whilst also being able to have interaction > > on the vtkRenderWindowInteractor working, that'd be awsm. > > > > Many thanks, > > John > > > From elvis.stansvik at orexplore.com Mon Mar 13 02:53:23 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Mon, 13 Mar 2017 07:53:23 +0100 Subject: [vtkusers] Artifacts along bounding box edges in volume rendering In-Reply-To: References: Message-ID: 2017-03-10 10:11 GMT+01:00 Elvis Stansvik : > 2017-03-10 10:07 GMT+01:00 Elvis Stansvik : >> Hi all, >> >> I'm trying to debug a problem with artifacts appearing around the >> bounding box edges in my volume rendering (at certain camera angles). >> I can reproduce the problem with the minimal test case below. In the >> attached screen shot, notice the faint white artifacts along the >> bounding box edges. >> >> Anyone know where these come from and how I can fix it? > > I forgot to say, this is with VTK 7.1.0. Noone who knows where this comes from? Would be great if someone could confirm that they can reproduce it with my test case, as I'm beginning to suspect it might be graphics card specific (I'm on Linux, Intel graphics). Should I post to vtk-dev perhaps? Elvis > > Elvis > >> >> Thanks in advance, >> Elvis >> >> >> main.cpp: >> >> #include >> >> #include >> #include >> #include >> #include >> #include >> #include >> #include >> #include >> #include >> #include >> #include >> >> int main(int argc, char *argv[]) >> { >> vtkNew colorFunction; >> colorFunction->AddRGBPoint(0.0, 0.0, 0.0, 0.0); >> colorFunction->AddRGBPoint(1.0, 0.0, 0.0, 0.0); >> >> vtkNew opacityFunction; >> opacityFunction->AddPoint(0.0, 0.0); >> opacityFunction->AddPoint(1.0, 1.0); >> >> vtkNew data; >> data->SetExtent(0, 200, 0, 200, 0, 200); >> data->AllocateScalars(VTK_FLOAT, 1); >> std::fill_n(static_cast(data->GetScalarPointer()), 8000000, 0.1); >> >> vtkNew mapper; >> mapper->SetInputData(data.Get()); >> >> vtkNew property; >> property->SetScalarOpacity(opacityFunction.Get()); >> property->SetColor(colorFunction.Get()); >> >> vtkNew volume; >> volume->SetMapper(mapper.Get()); >> volume->SetProperty(property.Get()); >> >> vtkNew renderer; >> renderer->AddVolume(volume.Get()); >> renderer->SetBackground(1.0, 1.0, 1.0); >> >> vtkNew window; >> window->AddRenderer(renderer.Get()); >> >> // Position camera such that artifacts appear >> auto camera = renderer->GetActiveCamera(); >> camera->SetPosition(500.0, 220.0, 500.0); >> camera->SetFocalPoint(0.0, 80.0, 0.0); >> renderer->ResetCameraClippingRange(); >> >> vtkNew interactor; >> interactor->SetRenderWindow(window.Get()); >> interactor->Start(); >> >> return 0; >> } >> >> >> CMakeLists.txt: >> >> cmake_minimum_required(VERSION 3.1) >> >> project(TestCase) >> >> set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} /opt/VTK7) >> >> find_package(VTK 7.1 COMPONENTS >> vtkCommonCore >> vtkCommonDataModel >> vtkCommonExecutionModel >> vtkCommonMath >> vtkInteractionStyle >> vtkRenderingCore >> vtkRenderingOpenGL2 >> vtkRenderingVolume >> vtkRenderingVolumeOpenGL2 >> REQUIRED >> ) >> >> add_executable(TestCase WIN32 main.cpp) >> >> target_link_libraries(TestCase PUBLIC >> vtkCommonCore >> vtkCommonDataModel >> vtkCommonExecutionModel >> vtkCommonMath >> vtkInteractionStyle >> vtkRenderingCore >> vtkRenderingOpenGL2 >> vtkRenderingVolume >> vtkRenderingVolumeOpenGL2 >> ) >> >> target_include_directories(TestCase PUBLIC >> ${VTK_INCLUDE_DIRS} >> ) >> >> target_compile_definitions(TestCase PUBLIC >> ${VTK_DEFINITIONS} >> ) >> >> set_target_properties(TestCase PROPERTIES >> CXX_STANDARD 14 >> CXX_STANDARD_REQUIRED ON >> ) From spir.robert at gmail.com Mon Mar 13 03:10:31 2017 From: spir.robert at gmail.com (=?iso-8859-2?B?UvNiZXJ0IKlwaXI=?=) Date: Mon, 13 Mar 2017 08:10:31 +0100 Subject: [vtkusers] Artifacts along bounding box edges in volume rendering In-Reply-To: References: Message-ID: <000801d29bc8$e71dcca0$b55965e0$@gmail.com> Hi Elvis, this is caused by multisampling, if you set window->SetMultiSamples(0); the artifact will disappear. I can reproduce it in your example on windows with nvidia card. If you need antialiasing, you can try using FXAA which doesn't produce these artifacts #include vtkSmartPointer FXAAOptions = vtkSmartPointer::New(); FXAAOptions->SetRelativeContrastThreshold(0.125); FXAAOptions->SetHardContrastThreshold(0.045); FXAAOptions->SetSubpixelBlendLimit(0.75); FXAAOptions->SetSubpixelContrastThreshold(0.25); FXAAOptions->SetUseHighQualityEndpoints(true); FXAAOptions->SetEndpointSearchIterations(12); renderer->SetFXAAOptions(FXAAOptions); renderer->SetUseFXAA(true); Robert -----Original Message----- From: vtkusers [mailto:vtkusers-bounces at vtk.org] On Behalf Of Elvis Stansvik Sent: Monday, March 13, 2017 7:53 AM To: VTK Users Subject: Re: [vtkusers] Artifacts along bounding box edges in volume rendering 2017-03-10 10:11 GMT+01:00 Elvis Stansvik : > 2017-03-10 10:07 GMT+01:00 Elvis Stansvik : >> Hi all, >> >> I'm trying to debug a problem with artifacts appearing around the >> bounding box edges in my volume rendering (at certain camera angles). >> I can reproduce the problem with the minimal test case below. In the >> attached screen shot, notice the faint white artifacts along the >> bounding box edges. >> >> Anyone know where these come from and how I can fix it? > > I forgot to say, this is with VTK 7.1.0. Noone who knows where this comes from? Would be great if someone could confirm that they can reproduce it with my test case, as I'm beginning to suspect it might be graphics card specific (I'm on Linux, Intel graphics). Should I post to vtk-dev perhaps? Elvis > > Elvis > >> >> Thanks in advance, >> Elvis >> >> >> main.cpp: >> >> #include >> >> #include >> #include #include >> #include #include >> #include #include >> #include #include >> #include #include >> >> int main(int argc, char *argv[]) >> { >> vtkNew colorFunction; >> colorFunction->AddRGBPoint(0.0, 0.0, 0.0, 0.0); >> colorFunction->AddRGBPoint(1.0, 0.0, 0.0, 0.0); >> >> vtkNew opacityFunction; >> opacityFunction->AddPoint(0.0, 0.0); >> opacityFunction->AddPoint(1.0, 1.0); >> >> vtkNew data; >> data->SetExtent(0, 200, 0, 200, 0, 200); >> data->AllocateScalars(VTK_FLOAT, 1); >> std::fill_n(static_cast(data->GetScalarPointer()), >> 8000000, 0.1); >> >> vtkNew mapper; >> mapper->SetInputData(data.Get()); >> >> vtkNew property; >> property->SetScalarOpacity(opacityFunction.Get()); >> property->SetColor(colorFunction.Get()); >> >> vtkNew volume; >> volume->SetMapper(mapper.Get()); >> volume->SetProperty(property.Get()); >> >> vtkNew renderer; >> renderer->AddVolume(volume.Get()); >> renderer->SetBackground(1.0, 1.0, 1.0); >> >> vtkNew window; >> window->AddRenderer(renderer.Get()); >> >> // Position camera such that artifacts appear >> auto camera = renderer->GetActiveCamera(); >> camera->SetPosition(500.0, 220.0, 500.0); >> camera->SetFocalPoint(0.0, 80.0, 0.0); >> renderer->ResetCameraClippingRange(); >> >> vtkNew interactor; >> interactor->SetRenderWindow(window.Get()); >> interactor->Start(); >> >> return 0; >> } >> >> >> CMakeLists.txt: >> >> cmake_minimum_required(VERSION 3.1) >> >> project(TestCase) >> >> set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} /opt/VTK7) >> >> find_package(VTK 7.1 COMPONENTS >> vtkCommonCore >> vtkCommonDataModel >> vtkCommonExecutionModel >> vtkCommonMath >> vtkInteractionStyle >> vtkRenderingCore >> vtkRenderingOpenGL2 >> vtkRenderingVolume >> vtkRenderingVolumeOpenGL2 >> REQUIRED >> ) >> >> add_executable(TestCase WIN32 main.cpp) >> >> target_link_libraries(TestCase PUBLIC >> vtkCommonCore >> vtkCommonDataModel >> vtkCommonExecutionModel >> vtkCommonMath >> vtkInteractionStyle >> vtkRenderingCore >> vtkRenderingOpenGL2 >> vtkRenderingVolume >> vtkRenderingVolumeOpenGL2 >> ) >> >> target_include_directories(TestCase PUBLIC >> ${VTK_INCLUDE_DIRS} >> ) >> >> target_compile_definitions(TestCase PUBLIC >> ${VTK_DEFINITIONS} >> ) >> >> set_target_properties(TestCase PROPERTIES >> CXX_STANDARD 14 >> CXX_STANDARD_REQUIRED ON >> ) _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ Search the list archives at: http://markmail.org/search/?q=vtkusers Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/vtkusers From elvis.stansvik at orexplore.com Mon Mar 13 03:32:58 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Mon, 13 Mar 2017 08:32:58 +0100 Subject: [vtkusers] Artifacts along bounding box edges in volume rendering In-Reply-To: <000801d29bc8$e71dcca0$b55965e0$@gmail.com> References: <000801d29bc8$e71dcca0$b55965e0$@gmail.com> Message-ID: Den 13 mars 2017 8:10 fm skrev "R?bert ?pir" : > > Hi Elvis, > this is caused by multisampling, if you set window->SetMultiSamples(0); the > artifact will disappear. I can reproduce it in your example on windows with > nvidia card. > > If you need antialiasing, you can try using FXAA which doesn't produce these > artifacts Aha, thanks for having a look and clarifying. That makes perfect sense. I'll give FXAA a go in a little while, when I'm back at work. Elvis > #include > > vtkSmartPointer FXAAOptions = > vtkSmartPointer::New(); > FXAAOptions->SetRelativeContrastThreshold(0.125); > FXAAOptions->SetHardContrastThreshold(0.045); > FXAAOptions->SetSubpixelBlendLimit(0.75); > FXAAOptions->SetSubpixelContrastThreshold(0.25); > FXAAOptions->SetUseHighQualityEndpoints(true); > FXAAOptions->SetEndpointSearchIterations(12); > > renderer->SetFXAAOptions(FXAAOptions); > renderer->SetUseFXAA(true); > > Robert > > -----Original Message----- > From: vtkusers [mailto:vtkusers-bounces at vtk.org] On Behalf Of Elvis Stansvik > Sent: Monday, March 13, 2017 7:53 AM > To: VTK Users > Subject: Re: [vtkusers] Artifacts along bounding box edges in volume > rendering > > 2017-03-10 10:11 GMT+01:00 Elvis Stansvik : > > 2017-03-10 10:07 GMT+01:00 Elvis Stansvik : > >> Hi all, > >> > >> I'm trying to debug a problem with artifacts appearing around the > >> bounding box edges in my volume rendering (at certain camera angles). > >> I can reproduce the problem with the minimal test case below. In the > >> attached screen shot, notice the faint white artifacts along the > >> bounding box edges. > >> > >> Anyone know where these come from and how I can fix it? > > > > I forgot to say, this is with VTK 7.1.0. > > Noone who knows where this comes from? Would be great if someone could > confirm that they can reproduce it with my test case, as I'm beginning to > suspect it might be graphics card specific (I'm on Linux, Intel graphics). > > Should I post to vtk-dev perhaps? > > Elvis > > > > > Elvis > > > >> > >> Thanks in advance, > >> Elvis > >> > >> > >> main.cpp: > >> > >> #include > >> > >> #include > >> #include #include > >> #include #include > >> #include #include > >> #include #include > >> #include #include > >> > >> int main(int argc, char *argv[]) > >> { > >> vtkNew colorFunction; > >> colorFunction->AddRGBPoint(0.0, 0.0, 0.0, 0.0); > >> colorFunction->AddRGBPoint(1.0, 0.0, 0.0, 0.0); > >> > >> vtkNew opacityFunction; > >> opacityFunction->AddPoint(0.0, 0.0); > >> opacityFunction->AddPoint(1.0, 1.0); > >> > >> vtkNew data; > >> data->SetExtent(0, 200, 0, 200, 0, 200); > >> data->AllocateScalars(VTK_FLOAT, 1); > >> std::fill_n(static_cast(data->GetScalarPointer()), > >> 8000000, 0.1); > >> > >> vtkNew mapper; > >> mapper->SetInputData(data.Get()); > >> > >> vtkNew property; > >> property->SetScalarOpacity(opacityFunction.Get()); > >> property->SetColor(colorFunction.Get()); > >> > >> vtkNew volume; > >> volume->SetMapper(mapper.Get()); > >> volume->SetProperty(property.Get()); > >> > >> vtkNew renderer; > >> renderer->AddVolume(volume.Get()); > >> renderer->SetBackground(1.0, 1.0, 1.0); > >> > >> vtkNew window; > >> window->AddRenderer(renderer.Get()); > >> > >> // Position camera such that artifacts appear > >> auto camera = renderer->GetActiveCamera(); > >> camera->SetPosition(500.0, 220.0, 500.0); > >> camera->SetFocalPoint(0.0, 80.0, 0.0); > >> renderer->ResetCameraClippingRange(); > >> > >> vtkNew interactor; > >> interactor->SetRenderWindow(window.Get()); > >> interactor->Start(); > >> > >> return 0; > >> } > >> > >> > >> CMakeLists.txt: > >> > >> cmake_minimum_required(VERSION 3.1) > >> > >> project(TestCase) > >> > >> set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} /opt/VTK7) > >> > >> find_package(VTK 7.1 COMPONENTS > >> vtkCommonCore > >> vtkCommonDataModel > >> vtkCommonExecutionModel > >> vtkCommonMath > >> vtkInteractionStyle > >> vtkRenderingCore > >> vtkRenderingOpenGL2 > >> vtkRenderingVolume > >> vtkRenderingVolumeOpenGL2 > >> REQUIRED > >> ) > >> > >> add_executable(TestCase WIN32 main.cpp) > >> > >> target_link_libraries(TestCase PUBLIC > >> vtkCommonCore > >> vtkCommonDataModel > >> vtkCommonExecutionModel > >> vtkCommonMath > >> vtkInteractionStyle > >> vtkRenderingCore > >> vtkRenderingOpenGL2 > >> vtkRenderingVolume > >> vtkRenderingVolumeOpenGL2 > >> ) > >> > >> target_include_directories(TestCase PUBLIC > >> ${VTK_INCLUDE_DIRS} > >> ) > >> > >> target_compile_definitions(TestCase PUBLIC > >> ${VTK_DEFINITIONS} > >> ) > >> > >> set_target_properties(TestCase PROPERTIES > >> CXX_STANDARD 14 > >> CXX_STANDARD_REQUIRED ON > >> ) > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -------------- next part -------------- An HTML attachment was scrubbed... URL: From elvis.stansvik at orexplore.com Mon Mar 13 04:54:03 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Mon, 13 Mar 2017 09:54:03 +0100 Subject: [vtkusers] Artifacts along bounding box edges in volume rendering In-Reply-To: <000801d29bc8$e71dcca0$b55965e0$@gmail.com> References: <000801d29bc8$e71dcca0$b55965e0$@gmail.com> Message-ID: 2017-03-13 8:10 GMT+01:00 R?bert ?pir : > Hi Elvis, > this is caused by multisampling, if you set window->SetMultiSamples(0); the > artifact will disappear. I can reproduce it in your example on windows with > nvidia card. > > If you need antialiasing, you can try using FXAA which doesn't produce these > artifacts > #include > > vtkSmartPointer FXAAOptions = > vtkSmartPointer::New(); > FXAAOptions->SetRelativeContrastThreshold(0.125); > FXAAOptions->SetHardContrastThreshold(0.045); > FXAAOptions->SetSubpixelBlendLimit(0.75); > FXAAOptions->SetSubpixelContrastThreshold(0.25); > FXAAOptions->SetUseHighQualityEndpoints(true); > FXAAOptions->SetEndpointSearchIterations(12); > > renderer->SetFXAAOptions(FXAAOptions); > renderer->SetUseFXAA(true); > > Robert That indeed did the trick, and I can't see any ill effects of FXAA for my use case. Many thanks! Just a question: The parameters above, how did you derive them? Manual tuning to your use case, or my test case? Elvis > > -----Original Message----- > From: vtkusers [mailto:vtkusers-bounces at vtk.org] On Behalf Of Elvis Stansvik > Sent: Monday, March 13, 2017 7:53 AM > To: VTK Users > Subject: Re: [vtkusers] Artifacts along bounding box edges in volume > rendering > > 2017-03-10 10:11 GMT+01:00 Elvis Stansvik : >> 2017-03-10 10:07 GMT+01:00 Elvis Stansvik : >>> Hi all, >>> >>> I'm trying to debug a problem with artifacts appearing around the >>> bounding box edges in my volume rendering (at certain camera angles). >>> I can reproduce the problem with the minimal test case below. In the >>> attached screen shot, notice the faint white artifacts along the >>> bounding box edges. >>> >>> Anyone know where these come from and how I can fix it? >> >> I forgot to say, this is with VTK 7.1.0. > > Noone who knows where this comes from? Would be great if someone could > confirm that they can reproduce it with my test case, as I'm beginning to > suspect it might be graphics card specific (I'm on Linux, Intel graphics). > > Should I post to vtk-dev perhaps? > > Elvis > >> >> Elvis >> >>> >>> Thanks in advance, >>> Elvis >>> >>> >>> main.cpp: >>> >>> #include >>> >>> #include >>> #include #include >>> #include #include >>> #include #include >>> #include #include >>> #include #include >>> >>> int main(int argc, char *argv[]) >>> { >>> vtkNew colorFunction; >>> colorFunction->AddRGBPoint(0.0, 0.0, 0.0, 0.0); >>> colorFunction->AddRGBPoint(1.0, 0.0, 0.0, 0.0); >>> >>> vtkNew opacityFunction; >>> opacityFunction->AddPoint(0.0, 0.0); >>> opacityFunction->AddPoint(1.0, 1.0); >>> >>> vtkNew data; >>> data->SetExtent(0, 200, 0, 200, 0, 200); >>> data->AllocateScalars(VTK_FLOAT, 1); >>> std::fill_n(static_cast(data->GetScalarPointer()), >>> 8000000, 0.1); >>> >>> vtkNew mapper; >>> mapper->SetInputData(data.Get()); >>> >>> vtkNew property; >>> property->SetScalarOpacity(opacityFunction.Get()); >>> property->SetColor(colorFunction.Get()); >>> >>> vtkNew volume; >>> volume->SetMapper(mapper.Get()); >>> volume->SetProperty(property.Get()); >>> >>> vtkNew renderer; >>> renderer->AddVolume(volume.Get()); >>> renderer->SetBackground(1.0, 1.0, 1.0); >>> >>> vtkNew window; >>> window->AddRenderer(renderer.Get()); >>> >>> // Position camera such that artifacts appear >>> auto camera = renderer->GetActiveCamera(); >>> camera->SetPosition(500.0, 220.0, 500.0); >>> camera->SetFocalPoint(0.0, 80.0, 0.0); >>> renderer->ResetCameraClippingRange(); >>> >>> vtkNew interactor; >>> interactor->SetRenderWindow(window.Get()); >>> interactor->Start(); >>> >>> return 0; >>> } >>> >>> >>> CMakeLists.txt: >>> >>> cmake_minimum_required(VERSION 3.1) >>> >>> project(TestCase) >>> >>> set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} /opt/VTK7) >>> >>> find_package(VTK 7.1 COMPONENTS >>> vtkCommonCore >>> vtkCommonDataModel >>> vtkCommonExecutionModel >>> vtkCommonMath >>> vtkInteractionStyle >>> vtkRenderingCore >>> vtkRenderingOpenGL2 >>> vtkRenderingVolume >>> vtkRenderingVolumeOpenGL2 >>> REQUIRED >>> ) >>> >>> add_executable(TestCase WIN32 main.cpp) >>> >>> target_link_libraries(TestCase PUBLIC >>> vtkCommonCore >>> vtkCommonDataModel >>> vtkCommonExecutionModel >>> vtkCommonMath >>> vtkInteractionStyle >>> vtkRenderingCore >>> vtkRenderingOpenGL2 >>> vtkRenderingVolume >>> vtkRenderingVolumeOpenGL2 >>> ) >>> >>> target_include_directories(TestCase PUBLIC >>> ${VTK_INCLUDE_DIRS} >>> ) >>> >>> target_compile_definitions(TestCase PUBLIC >>> ${VTK_DEFINITIONS} >>> ) >>> >>> set_target_properties(TestCase PROPERTIES >>> CXX_STANDARD 14 >>> CXX_STANDARD_REQUIRED ON >>> ) > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > From elvis.stansvik at orexplore.com Mon Mar 13 05:32:51 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Mon, 13 Mar 2017 10:32:51 +0100 Subject: [vtkusers] Advice on mitigating choppy resize with Qt 5 + VTK 7.1 In-Reply-To: References: Message-ID: 2017-03-07 16:10 GMT+01:00 Elvis Stansvik : > 2017-03-07 15:58 GMT+01:00 Elvis Stansvik : >> 2017-03-07 15:53 GMT+01:00 David Cole : >>> On Windows, we make resizing our windows interactive by getting the >>> vtkInteractorStyle associated with the render window containing the >>> volume rendering, and then calling StartState at resize begin time >>> (OnEnterSizeMove) and StopState at resize end time (OnExitSizeMove). >>> >>> I suppose there may be a Qt equivalent which works on many platforms >>> for beginning and ending a resize action. If not, there are definitely >>> platform-specific hooks you can intercept to achieve smooth resizing >>> with this technique. >>> >>> Wrapping anything in a StartState/StopState pair on the >>> vtkInteractorStyle will cause "interactive frame rate rendering" to be >>> in effect in between the calls. The volume rendering is not as nice >>> looking during interactions, but it is definitely speedier. >> >> Ah, I was just about to reply to myself with some further information: >> >> I know that during interaction, the quality of the rendering is >> decreased, and that this can account for some of the performance >> discrepancy I'm seeing between camera movement vs window resize. >> >> But, I've experimented with disabling the quality degradation during >> interactions (so that the two should be on "equal footing"), and the >> resizing is still much more choppy than when interacting with the >> camera. So there must be something else. >> >> In fact, in the screencast I showed, I wasn't using the volume >> renderer's default built-in quality degradation during interaction. >> I'm using my own since I've found that VTKs own is a little too >> aggressive in degrading the quality to maintain frame rate. > > To illustrate, look at the attached screen recording. In this test > case, I'm using > > mapper->AutoAdjustSampleDistancesOff(); > mapper->SetSampleDistance(0.0002); > > on my vtkGPUVolumeRayCastMapper, to turn off the automatic adjustment > of sample distance during interactions, and hardcode the sample > distance to 0.0002. > > Notice how the rendering is still reasonably smooth during > interaction, but during resize, the rendering sometimes lags with 100s > of milliseconds. During the resizing I was getting warnings like > > Warning: In /buildbot/vtk7-builder/build/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx, > line 1207 > vtkXOpenGLRenderWindow (0x2a629d0): warning window did not resize in > the allotted time > > printed. No ideas where this discrepancy in refresh rate, despite automatic adjustment of sample distance being turned off, comes from? At the moment I've worked around it by simply resorting to bounding box rendering when my VTK windows are resized, since the choppy resize behavior was quite jarring. But that's a kludge and I'd much rather find the real problem :/ Below is a minimal test case, and I'm attaching a video where I first interact with the volume rendering, giving a smooth albeit a little slow frame rate, and then resizing the window, which gives a jerky and choppy rendering. This was on a Thinkpad T440s laptop with Intel HD 4400 graphics. VTK 7.1 and Qt 5.5.1 running on Kubuntu 16.04. Elvis main.cpp: #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char *argv[]) { vtkNew colorFunction; colorFunction->AddRGBPoint(0.0, 0.0, 0.0, 0.0); colorFunction->AddRGBPoint(1.0, 0.0, 0.0, 0.0); vtkNew opacityFunction; opacityFunction->AddPoint(0.0, 0.0); opacityFunction->AddPoint(1.0, 0.02); vtkNew data; data->SetExtent(0, 250, 0, 250, 0, 500); data->AllocateScalars(VTK_FLOAT, 1); std::random_device device; std::mt19937 engine(device()); std::uniform_real_distribution<> distribution(0, 1); auto dataPointer = static_cast(data->GetScalarPointer()); for (int i = 0; i < 250*250*500; ++i) { *dataPointer = distribution(engine); ++dataPointer; } vtkNew mapper; mapper->SetInputData(data.Get()); vtkNew property; property->SetScalarOpacity(opacityFunction.Get()); property->SetColor(colorFunction.Get()); vtkNew volume; volume->SetMapper(mapper.Get()); volume->SetProperty(property.Get()); vtkNew renderer; renderer->AddVolume(volume.Get()); renderer->SetBackground(1.0, 1.0, 1.0); vtkNew window; window->AddRenderer(renderer.Get()); renderer->ResetCamera(); vtkNew interactor; interactor->SetRenderWindow(window.Get()); interactor->Start(); return 0; } CMakeLists.txt: cmake_minimum_required(VERSION 3.1) project(TestCase) set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} /opt/VTK7) find_package(VTK 7.1 COMPONENTS vtkCommonCore vtkCommonDataModel vtkCommonExecutionModel vtkCommonMath vtkInteractionStyle vtkRenderingCore vtkRenderingOpenGL2 vtkRenderingVolume vtkRenderingVolumeOpenGL2 REQUIRED ) add_executable(TestCase WIN32 main.cpp) target_link_libraries(TestCase PUBLIC vtkCommonCore vtkCommonDataModel vtkCommonExecutionModel vtkCommonMath vtkInteractionStyle vtkRenderingCore vtkRenderingOpenGL2 vtkRenderingVolume vtkRenderingVolumeOpenGL2 ) target_include_directories(TestCase PUBLIC ${VTK_INCLUDE_DIRS} ) target_compile_definitions(TestCase PUBLIC ${VTK_DEFINITIONS} ) set_target_properties(TestCase PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED ON ) > > Elvis > >> >> Elvis >> >>> >>> >>> HTH, >>> David C. >>> >>> >>> >>> On Tue, Mar 7, 2017 at 9:33 AM, Elvis Stansvik >>> wrote: >>>> 2017-03-07 15:17 GMT+01:00 Elvis Stansvik : >>>>> Hi all, >>>>> >>>>> I'm using Qt 5.5.1 and VTK 7.1. The program has a couple of VTKWidget >>>>> showing volume renderings, as well as a window with a chart. >>>> >>>> Actually, I'm able to reproduce this behavior when not using Qt at >>>> all, but just a regular render window + interactor setup with a single >>>> volume rendered. Camera interaction is nice and fast, but resizing the >>>> window, the rendering is very choppy. I'm also getting >>>> >>>> Warning: In /buildbot/vtk7-builder/build/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx, >>>> line 1207 >>>> vtkXOpenGLRenderWindow (0x1353a10): warning window did not resize in >>>> the allotted time >>>> >>>> printed to the console, so it seems VTK detects what I'm seeing >>>> visually. I did not get this warning printed in the Qt + VTK app. >>>> >>>> Elvis >>>> >>>>> >>>>> Have a look at the attached screen recording. Notice how camera >>>>> interaction in both VTK render windows is nice and smooth, but when >>>>> resizing the windows, the updating of the renderings is very >>>>> slow/choppy. >>>>> >>>>> I've been trying to debug this, or at least finding a way of >>>>> mitigating it. Could it be that Qt is delivering too many resize >>>>> events? Has anyone else dealt with this problem? >>>>> >>>>> Thanks in advance for any advice, >>>>> Elvis >>>> _______________________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html >>>> >>>> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ >>>> >>>> Search the list archives at: http://markmail.org/search/?q=vtkusers >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://public.kitware.com/mailman/listinfo/vtkusers -------------- next part -------------- A non-text attachment was scrubbed... Name: testcase.mkv Type: video/x-matroska Size: 1715520 bytes Desc: not available URL: From elvis.stansvik at orexplore.com Mon Mar 13 05:37:47 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Mon, 13 Mar 2017 10:37:47 +0100 Subject: [vtkusers] Advice on mitigating choppy resize with Qt 5 + VTK 7.1 In-Reply-To: References: Message-ID: 2017-03-13 10:32 GMT+01:00 Elvis Stansvik : > 2017-03-07 16:10 GMT+01:00 Elvis Stansvik : >> 2017-03-07 15:58 GMT+01:00 Elvis Stansvik : >>> 2017-03-07 15:53 GMT+01:00 David Cole : >>>> On Windows, we make resizing our windows interactive by getting the >>>> vtkInteractorStyle associated with the render window containing the >>>> volume rendering, and then calling StartState at resize begin time >>>> (OnEnterSizeMove) and StopState at resize end time (OnExitSizeMove). >>>> >>>> I suppose there may be a Qt equivalent which works on many platforms >>>> for beginning and ending a resize action. If not, there are definitely >>>> platform-specific hooks you can intercept to achieve smooth resizing >>>> with this technique. >>>> >>>> Wrapping anything in a StartState/StopState pair on the >>>> vtkInteractorStyle will cause "interactive frame rate rendering" to be >>>> in effect in between the calls. The volume rendering is not as nice >>>> looking during interactions, but it is definitely speedier. >>> >>> Ah, I was just about to reply to myself with some further information: >>> >>> I know that during interaction, the quality of the rendering is >>> decreased, and that this can account for some of the performance >>> discrepancy I'm seeing between camera movement vs window resize. >>> >>> But, I've experimented with disabling the quality degradation during >>> interactions (so that the two should be on "equal footing"), and the >>> resizing is still much more choppy than when interacting with the >>> camera. So there must be something else. >>> >>> In fact, in the screencast I showed, I wasn't using the volume >>> renderer's default built-in quality degradation during interaction. >>> I'm using my own since I've found that VTKs own is a little too >>> aggressive in degrading the quality to maintain frame rate. >> >> To illustrate, look at the attached screen recording. In this test >> case, I'm using >> >> mapper->AutoAdjustSampleDistancesOff(); >> mapper->SetSampleDistance(0.0002); >> >> on my vtkGPUVolumeRayCastMapper, to turn off the automatic adjustment >> of sample distance during interactions, and hardcode the sample >> distance to 0.0002. >> >> Notice how the rendering is still reasonably smooth during >> interaction, but during resize, the rendering sometimes lags with 100s >> of milliseconds. During the resizing I was getting warnings like >> >> Warning: In /buildbot/vtk7-builder/build/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx, >> line 1207 >> vtkXOpenGLRenderWindow (0x2a629d0): warning window did not resize in >> the allotted time >> >> printed. > > No ideas where this discrepancy in refresh rate, despite automatic > adjustment of sample distance being turned off, comes from? > > At the moment I've worked around it by simply resorting to bounding > box rendering when my VTK windows are resized, since the choppy resize > behavior was quite jarring. But that's a kludge and I'd much rather > find the real problem :/ > > Below is a minimal test case, and I'm attaching a video where I first > interact with the volume rendering, giving a smooth albeit a little > slow frame rate, and then resizing the window, which gives a jerky and > choppy rendering. > > This was on a Thinkpad T440s laptop with Intel HD 4400 graphics. VTK > 7.1 and Qt 5.5.1 running on Kubuntu 16.04. > > Elvis > > > main.cpp: > > #include > > #include > #include > #include > #include > #include > #include > #include > #include > #include > #include > #include > > int main(int argc, char *argv[]) > { > vtkNew colorFunction; > colorFunction->AddRGBPoint(0.0, 0.0, 0.0, 0.0); > colorFunction->AddRGBPoint(1.0, 0.0, 0.0, 0.0); > > vtkNew opacityFunction; > opacityFunction->AddPoint(0.0, 0.0); > opacityFunction->AddPoint(1.0, 0.02); > > vtkNew data; > data->SetExtent(0, 250, 0, 250, 0, 500); > data->AllocateScalars(VTK_FLOAT, 1); > std::random_device device; > std::mt19937 engine(device()); > std::uniform_real_distribution<> distribution(0, 1); > auto dataPointer = static_cast(data->GetScalarPointer()); > for (int i = 0; i < 250*250*500; ++i) { > *dataPointer = distribution(engine); > ++dataPointer; > } > > vtkNew mapper; > mapper->SetInputData(data.Get()); Sorry, the test case should have had mapper->AutoAdjustSampleDistancesOff(); mapper->SetSampleDistance(1); here, to show that the discrepancy is there even when automatic adjustment of sample distance is turned off. The result is the same, the rendering is keeping up much better during interaction that it is during window resize. I can understand if it's a little heavier to re-render after window resize, but not by that much, so I think something is wrong Elvis > > vtkNew property; > property->SetScalarOpacity(opacityFunction.Get()); > property->SetColor(colorFunction.Get()); > > vtkNew volume; > volume->SetMapper(mapper.Get()); > volume->SetProperty(property.Get()); > > vtkNew renderer; > renderer->AddVolume(volume.Get()); > renderer->SetBackground(1.0, 1.0, 1.0); > > vtkNew window; > window->AddRenderer(renderer.Get()); > > renderer->ResetCamera(); > > vtkNew interactor; > interactor->SetRenderWindow(window.Get()); > interactor->Start(); > > return 0; > } > > > CMakeLists.txt: > > cmake_minimum_required(VERSION 3.1) > > project(TestCase) > > set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} /opt/VTK7) > > find_package(VTK 7.1 COMPONENTS > vtkCommonCore > vtkCommonDataModel > vtkCommonExecutionModel > vtkCommonMath > vtkInteractionStyle > vtkRenderingCore > vtkRenderingOpenGL2 > vtkRenderingVolume > vtkRenderingVolumeOpenGL2 > REQUIRED > ) > > add_executable(TestCase WIN32 main.cpp) > > target_link_libraries(TestCase PUBLIC > vtkCommonCore > vtkCommonDataModel > vtkCommonExecutionModel > vtkCommonMath > vtkInteractionStyle > vtkRenderingCore > vtkRenderingOpenGL2 > vtkRenderingVolume > vtkRenderingVolumeOpenGL2 > ) > > target_include_directories(TestCase PUBLIC > ${VTK_INCLUDE_DIRS} > ) > > target_compile_definitions(TestCase PUBLIC > ${VTK_DEFINITIONS} > ) > > set_target_properties(TestCase PROPERTIES > CXX_STANDARD 14 > CXX_STANDARD_REQUIRED ON > ) > >> >> Elvis >> >>> >>> Elvis >>> >>>> >>>> >>>> HTH, >>>> David C. >>>> >>>> >>>> >>>> On Tue, Mar 7, 2017 at 9:33 AM, Elvis Stansvik >>>> wrote: >>>>> 2017-03-07 15:17 GMT+01:00 Elvis Stansvik : >>>>>> Hi all, >>>>>> >>>>>> I'm using Qt 5.5.1 and VTK 7.1. The program has a couple of VTKWidget >>>>>> showing volume renderings, as well as a window with a chart. >>>>> >>>>> Actually, I'm able to reproduce this behavior when not using Qt at >>>>> all, but just a regular render window + interactor setup with a single >>>>> volume rendered. Camera interaction is nice and fast, but resizing the >>>>> window, the rendering is very choppy. I'm also getting >>>>> >>>>> Warning: In /buildbot/vtk7-builder/build/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx, >>>>> line 1207 >>>>> vtkXOpenGLRenderWindow (0x1353a10): warning window did not resize in >>>>> the allotted time >>>>> >>>>> printed to the console, so it seems VTK detects what I'm seeing >>>>> visually. I did not get this warning printed in the Qt + VTK app. >>>>> >>>>> Elvis >>>>> >>>>>> >>>>>> Have a look at the attached screen recording. Notice how camera >>>>>> interaction in both VTK render windows is nice and smooth, but when >>>>>> resizing the windows, the updating of the renderings is very >>>>>> slow/choppy. >>>>>> >>>>>> I've been trying to debug this, or at least finding a way of >>>>>> mitigating it. Could it be that Qt is delivering too many resize >>>>>> events? Has anyone else dealt with this problem? >>>>>> >>>>>> Thanks in advance for any advice, >>>>>> Elvis >>>>> _______________________________________________ >>>>> Powered by www.kitware.com >>>>> >>>>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html >>>>> >>>>> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ >>>>> >>>>> Search the list archives at: http://markmail.org/search/?q=vtkusers >>>>> >>>>> Follow this link to subscribe/unsubscribe: >>>>> http://public.kitware.com/mailman/listinfo/vtkusers From spir.robert at gmail.com Mon Mar 13 05:43:13 2017 From: spir.robert at gmail.com (=?UTF-8?B?UsOzYmVydCDFoHBpcg==?=) Date: Mon, 13 Mar 2017 10:43:13 +0100 Subject: [vtkusers] Artifacts along bounding box edges in volume rendering In-Reply-To: References: <000801d29bc8$e71dcca0$b55965e0$@gmail.com> Message-ID: <000b01d29bde$3bc13b10$b343b130$@gmail.com> I used the default parameters from paraview as described here https://blog.kitware.com/new-fxaa-anti-aliasing-option-in-paraviewvtk/ Robert -----Original Message----- From: Elvis Stansvik [mailto:elvis.stansvik at orexplore.com] Sent: Monday, March 13, 2017 9:54 AM To: R?bert ?pir Cc: VTK Users Subject: Re: [vtkusers] Artifacts along bounding box edges in volume rendering 2017-03-13 8:10 GMT+01:00 R?bert ?pir : > Hi Elvis, > this is caused by multisampling, if you set > window->SetMultiSamples(0); the artifact will disappear. I can > reproduce it in your example on windows with nvidia card. > > If you need antialiasing, you can try using FXAA which doesn't produce > these artifacts #include > > vtkSmartPointer FXAAOptions = > vtkSmartPointer::New(); > FXAAOptions->SetRelativeContrastThreshold(0.125); > FXAAOptions->SetHardContrastThreshold(0.045); > FXAAOptions->SetSubpixelBlendLimit(0.75); > FXAAOptions->SetSubpixelContrastThreshold(0.25); > FXAAOptions->SetUseHighQualityEndpoints(true); > FXAAOptions->SetEndpointSearchIterations(12); > > renderer->SetFXAAOptions(FXAAOptions); > renderer->SetUseFXAA(true); > > Robert That indeed did the trick, and I can't see any ill effects of FXAA for my use case. Many thanks! Just a question: The parameters above, how did you derive them? Manual tuning to your use case, or my test case? Elvis > > -----Original Message----- > From: vtkusers [mailto:vtkusers-bounces at vtk.org] On Behalf Of Elvis > Stansvik > Sent: Monday, March 13, 2017 7:53 AM > To: VTK Users > Subject: Re: [vtkusers] Artifacts along bounding box edges in volume > rendering > > 2017-03-10 10:11 GMT+01:00 Elvis Stansvik : >> 2017-03-10 10:07 GMT+01:00 Elvis Stansvik : >>> Hi all, >>> >>> I'm trying to debug a problem with artifacts appearing around the >>> bounding box edges in my volume rendering (at certain camera angles). >>> I can reproduce the problem with the minimal test case below. In the >>> attached screen shot, notice the faint white artifacts along the >>> bounding box edges. >>> >>> Anyone know where these come from and how I can fix it? >> >> I forgot to say, this is with VTK 7.1.0. > > Noone who knows where this comes from? Would be great if someone could > confirm that they can reproduce it with my test case, as I'm beginning > to suspect it might be graphics card specific (I'm on Linux, Intel graphics). > > Should I post to vtk-dev perhaps? > > Elvis > >> >> Elvis >> >>> >>> Thanks in advance, >>> Elvis >>> >>> >>> main.cpp: >>> >>> #include >>> >>> #include >>> #include #include >>> #include #include >>> #include #include >>> #include #include >>> #include #include >>> >>> >>> int main(int argc, char *argv[]) >>> { >>> vtkNew colorFunction; >>> colorFunction->AddRGBPoint(0.0, 0.0, 0.0, 0.0); >>> colorFunction->AddRGBPoint(1.0, 0.0, 0.0, 0.0); >>> >>> vtkNew opacityFunction; >>> opacityFunction->AddPoint(0.0, 0.0); >>> opacityFunction->AddPoint(1.0, 1.0); >>> >>> vtkNew data; >>> data->SetExtent(0, 200, 0, 200, 0, 200); >>> data->AllocateScalars(VTK_FLOAT, 1); >>> std::fill_n(static_cast(data->GetScalarPointer()), >>> 8000000, 0.1); >>> >>> vtkNew mapper; >>> mapper->SetInputData(data.Get()); >>> >>> vtkNew property; >>> property->SetScalarOpacity(opacityFunction.Get()); >>> property->SetColor(colorFunction.Get()); >>> >>> vtkNew volume; >>> volume->SetMapper(mapper.Get()); >>> volume->SetProperty(property.Get()); >>> >>> vtkNew renderer; >>> renderer->AddVolume(volume.Get()); >>> renderer->SetBackground(1.0, 1.0, 1.0); >>> >>> vtkNew window; >>> window->AddRenderer(renderer.Get()); >>> >>> // Position camera such that artifacts appear >>> auto camera = renderer->GetActiveCamera(); >>> camera->SetPosition(500.0, 220.0, 500.0); >>> camera->SetFocalPoint(0.0, 80.0, 0.0); >>> renderer->ResetCameraClippingRange(); >>> >>> vtkNew interactor; >>> interactor->SetRenderWindow(window.Get()); >>> interactor->Start(); >>> >>> return 0; >>> } >>> >>> >>> CMakeLists.txt: >>> >>> cmake_minimum_required(VERSION 3.1) >>> >>> project(TestCase) >>> >>> set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} /opt/VTK7) >>> >>> find_package(VTK 7.1 COMPONENTS >>> vtkCommonCore >>> vtkCommonDataModel >>> vtkCommonExecutionModel >>> vtkCommonMath >>> vtkInteractionStyle >>> vtkRenderingCore >>> vtkRenderingOpenGL2 >>> vtkRenderingVolume >>> vtkRenderingVolumeOpenGL2 >>> REQUIRED >>> ) >>> >>> add_executable(TestCase WIN32 main.cpp) >>> >>> target_link_libraries(TestCase PUBLIC >>> vtkCommonCore >>> vtkCommonDataModel >>> vtkCommonExecutionModel >>> vtkCommonMath >>> vtkInteractionStyle >>> vtkRenderingCore >>> vtkRenderingOpenGL2 >>> vtkRenderingVolume >>> vtkRenderingVolumeOpenGL2 >>> ) >>> >>> target_include_directories(TestCase PUBLIC >>> ${VTK_INCLUDE_DIRS} >>> ) >>> >>> target_compile_definitions(TestCase PUBLIC >>> ${VTK_DEFINITIONS} >>> ) >>> >>> set_target_properties(TestCase PROPERTIES >>> CXX_STANDARD 14 >>> CXX_STANDARD_REQUIRED ON >>> ) > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > From kevinrdixon at gmail.com Mon Mar 13 06:02:47 2017 From: kevinrdixon at gmail.com (Kevin Dixon) Date: Mon, 13 Mar 2017 10:02:47 +0000 Subject: [vtkusers] Issue list Message-ID: Hi, I'm looking for a list of the current known issue in VTK, specifically 7.0.0. The issues board https://gitlab.kitware.com/vtk/vtk/issues?scope=all&state=all does not seem to have a coherent way of listing issues by 'fix version'. Can anyone suggest how I might generate a list of known issues in a specific VTK version? Thanks Kevin -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrii at ebi.ac.uk Mon Mar 13 08:47:30 2017 From: andrii at ebi.ac.uk (Andrii Iudin) Date: Mon, 13 Mar 2017 12:47:30 +0000 Subject: [vtkusers] Unpacking VTP Message-ID: Dear VTK Users, Please could you help with the following issue? We are working on a loader of VTP files into three.js to display these files on-line. The VTP files are saved as binary and compressed with Zlib. However, when decoding the contents of these files from base64 and then decompressing, the result is truncated. Only 32768 bytes are obtained. This happens in the Javascript implementations of Zlib (both pako and zlib.js) and also when decompressing in Python. Please see the example files attached. emd_2557.vtp contains the binary compressed data emd_2557_ascii.vtp contains the ASCII data without compression Both files are perfectly viewable in Paraview, so the data has to be there. For example, the procedure in Python is the following: import base64 import zlib s = "eJyFnXm4V1Pbx8/eKQ1UpnN+DVSKksxJoYkSIhpUFE0nGtC..." # The whole string of the first of the Polys except the VTK header a = bytearray( base64.b64decode( s ) ) d = zlib.decompress( bytes( a ) ) d[-8:-1] '\x83\x18\x00\x00\x00\x00\x00' which is 131 + 256 * 24 = 6275. That is, only first 4096 numbers from the first of the Polys are being obtained. Is there a way, maybe a parameter that can be set in Zlib to allow obtaining the rest? Many thanks and best regards, Andrii -------------- next part -------------- -0.014881354757 -0.2537778914 -0.96714806557 0.08315936476 -0.31115180254 -0.94671487808 -0.030865892768 -0.20118919015 -0.97906601429 0.19883443415 -0.10052569211 -0.97486382723 -0.014399604872 -0.095344506204 -0.99534016848 0.073305919766 -0.064942121506 -0.99519282579 -0.25136739016 -0.14555472136 -0.95688468218 -0.020592028275 -0.035028889775 -0.99917411804 -0.013065416366 0.11799120903 -0.99292868376 0.14068213105 -0.13360995054 -0.98099792004 0.16336466372 0.10279679298 -0.98119562864 0.35436928272 0.05758478865 -0.93333083391 0.037882331759 0.1153120175 -0.99260669947 0.020592117682 0.03502888605 -0.99917411804 -0.073305927217 0.064942188561 -0.99519282579 0.014399516396 0.095344513655 -0.99534016848 -0.19883450866 0.10052566975 -0.97486382723 -0.083159476519 0.31115183234 -0.94671487808 0.021245626733 -0.28630897403 -0.95790177584 0.15397465229 -0.46122455597 -0.87382131815 0.15684992075 -0.26183000207 -0.952283144 0.34692406654 0.036429774016 -0.93718546629 0.32482227683 0.19279457629 -0.92591613531 0.2438941747 0.23789921403 -0.94016999006 -0.15397465229 0.46122449636 -0.87382137775 -0.021245544776 0.28630900383 -0.95790177584 0.056686986238 0.29168370366 -0.95483362675 -0.076245054603 -0.29844373465 -0.95137691498 0.19465622306 -0.43700841069 -0.87814158201 -0.52004170418 0.10313057899 -0.84789192677 0.32362928987 0.28913420439 -0.90092480183 -0.19465619326 0.43700841069 -0.87814158201 -0.04718440026 -0.62297600508 -0.78081661463 -0.17398028076 -0.4787286818 -0.86055195332 0.034105461091 -0.55016195774 -0.83436119556 0.17921461165 -0.43817028403 -0.88084554672 0.24664276838 -0.3538826704 -0.90218311548 0.45708522201 -0.37395489216 -0.80698871613 -0.49141657352 -0.24128268659 -0.83683472872 0.49141666293 0.24128271639 -0.83683466911 -0.45708522201 0.37395492196 -0.80698871613 0.37473574281 0.33822220564 -0.86323744059 -0.034105420113 0.55016201735 -0.83436119556 0.17398032546 0.478728652 -0.86055201292 0.047184478492 0.62297600508 -0.78081655502 0.082678705454 -0.57897025347 -0.81114590168 -0.41733157635 -0.32039162517 -0.85040199757 -0.62196785212 -0.048556972295 -0.78153580427 0.55154818296 0.045105081052 -0.83292263746 -0.24846497178 -0.64556831121 -0.72215420008 0.018325809389 -0.62034142017 -0.78411775827 0.62808424234 0.036873295903 -0.77727121115 -0.65502274036 0.36443266273 -0.66191697121 0.54769921303 0.46610638499 -0.69481682777 0.1346449405 -0.79849618673 -0.58674913645 -0.34826090932 -0.67711430788 -0.64825189114 0.20984560251 -0.81448656321 -0.54090338945 0.34498870373 -0.66884440184 -0.65850585699 -0.53261196613 -0.47337296605 -0.70160001516 -0.65397721529 -0.47429448366 -0.58937132359 -0.74460089207 -0.1314637661 -0.65443623066 0.77900451422 -0.21131767333 -0.59033620358 -0.70359605551 0.19568997622 -0.68312376738 0.74980527163 -0.03320210427 -0.66082501411 -0.78066951036 0.00018735097547 -0.62494409084 -0.71476829052 0.38334494829 -0.58493846655 0.65397721529 0.47429448366 -0.58937132359 -0.34498882294 0.66884422302 -0.6585059762 0.50894618034 0.52377909422 -0.68310266733 -0.34840923548 0.71665364504 -0.60416769981 -0.1346450001 0.79849618673 -0.58674919605 -0.013445345685 0.79688417912 -0.60398250818 -0.22251436114 -0.81280177832 -0.53836846352 0.029044814408 -0.86061811447 -0.50842189789 0.043458580971 -0.93680769205 -0.34713503718 -0.55511331558 -0.75747019053 -0.34363949299 -0.60407662392 -0.73033100367 -0.31891706586 0.6608632803 -0.48352906108 -0.57398551702 0.76526755095 -0.35698238015 -0.53565770388 -0.81166934967 -0.2117408514 -0.54438841343 0.8549478054 -0.40099015832 -0.32904577255 0.93162190914 -0.079092025757 -0.35471835732 -0.92139577866 0.24262937903 -0.3035800457 -0.8549478054 0.40099018812 -0.32904580235 0.67411541939 0.46143391728 -0.5767557025 0.60407674313 0.73033094406 -0.31891688704 0.61058145761 0.68625319004 -0.39528077841 -0.3213326931 0.89046812057 -0.32219839096 0.077994033694 0.81595522165 -0.57282978296 -0.25024887919 -0.89159423113 -0.37740594149 0.091758914292 -0.90600711107 -0.41319656372 0.077606059611 -0.98586320877 -0.14849583805 -0.43927201629 -0.73820477724 -0.5119510293 -0.52973771095 -0.78033256531 -0.33235383034 0.73330694437 -0.43884468079 -0.51930361986 0.87639582157 -0.45426154137 -0.15992754698 0.89903974533 0.19577553868 -0.39166244864 -0.87639588118 0.45426151156 -0.15992744267 0.6883276701 0.61241197586 -0.38878858089 -0.24754941463 0.8887514472 -0.38579812646 -0.32227247953 0.89338231087 -0.31306314468 0.47815167904 0.81225568056 -0.33408340812 0.43927195668 0.73820471764 -0.51195108891 -0.091758802533 0.90600705147 -0.41319668293 -0.058120042086 -0.99379318953 -0.094853244722 0.16519020498 -0.97672522068 0.13682101667 -0.43926587701 -0.73819249868 -0.51197397709 -0.38396650553 -0.78831034899 -0.48076656461 0.30686658621 -0.72907143831 0.61179059744 0.17469213903 -0.91148900986 0.37238487601 0.054728817195 -0.96105760336 0.27087453008 -0.43927425146 -0.73818773031 -0.51197361946 -0.45793944597 -0.66878426075 -0.5856782794 0.64496004581 -0.71505749226 -0.26966512203 0.83602696657 -0.53878301382 -0.10378714651 0.86990141869 -0.46694993973 -0.1588370651 0.87768667936 -0.45938116312 -0.13651028275 0.59916645288 -0.079906135798 0.79662698507 0.93885964155 -0.28940865397 0.18650789559 -0.65605354309 -0.70623165369 0.26614031196 -0.76389741898 -0.63255351782 0.12781560421 0.94780665636 -0.17460340261 0.26678869128 -0.82169669867 -0.54115045071 -0.17880354822 -0.89869534969 -0.42641085386 -0.10256939381 -0.93928921223 -0.32090801001 -0.1214652583 0.92388063669 -0.37289872766 0.085971496999 -0.93643110991 -0.17618453503 -0.30340704322 -0.86411100626 0.46414923668 0.19462189078 0.93928927183 0.3209079206 -0.12146523595 0.89869534969 0.42641079426 -0.10256940871 -0.52073597908 0.24608787894 0.81748080254 -0.89749997854 0.2426686734 0.36824679375 0.811604321 0.58226585388 0.047591287643 0.6560536027 0.70623153448 0.26614040136 -0.902746737 0.42465868592 0.068653315306 0.70314508677 0.60535216331 0.37300902605 -0.83602702618 0.53878301382 -0.10378663987 0.73306202888 0.67980265617 0.022100105882 -0.64495992661 0.71505761147 -0.26966515183 -0.1373911649 0.9103435874 -0.39038217068 -0.16247045994 0.98468697071 0.063205748796 -0.018510023132 0.97973328829 0.19944934547 0.38396662474 0.78831034899 -0.480766505 0.43927422166 0.73818767071 -0.51197373867 0.43926584721 0.73819243908 -0.5119740963 0.45793929696 0.66878426075 -0.58567839861 -0.28297656775 0.88819897175 0.36197638512 0.24276386201 0.95738738775 -0.15644522011 -0.17653863132 0.97382479906 0.14317582548 -0.046895548701 0.99882984161 -0.011822555214 0.058119863272 0.99379318953 -0.094853200018 -0.22213062644 -0.8566673398 -0.46559539437 0.053426448256 -0.70372927189 0.70845657587 0.19958622754 -0.50049829483 0.84241724014 -0.034139737487 -0.90198624134 0.43041291833 0.1091927737 -0.96970105171 0.21853326261 0.085065737367 -0.5089302659 0.85659432411 0.048653878272 -0.93891525269 0.34069180489 0.18140743673 -0.98330569267 0.014185713604 -0.61291241646 -0.56248152256 -0.55493503809 -0.17680682242 -0.37294706702 0.91085118055 0.57229840755 -0.66206681728 -0.48388230801 0.79158216715 -0.60455542803 -0.088940426707 0.8258484602 -0.4812335372 0.29391947389 -0.69298040867 -0.32036209106 0.64586865902 0.77988350391 -0.3150755465 0.5408411622 0.53351140022 -0.32522007823 0.78076726198 0.54011195898 -0.07649115473 0.83810985088 -0.52425247431 -0.42809090018 0.7361369133 -0.92765271664 -0.34571352601 0.14121842384 -0.93272149563 -0.35086512566 0.083212479949 -0.90547382832 -0.38354948163 -0.18167814612 0.8755594492 -0.40571528673 0.26227992773 0.82190257311 -0.4343290925 0.36855712533 -0.866928339 -0.30487942696 -0.3943143189 -0.84711849689 -0.13436351717 -0.51413679123 -0.8621442318 0.47336858511 -0.18063627183 0.84711837769 0.1343639493 -0.51413691044 -0.87555921078 0.40571549535 0.26228037477 -0.70302194357 0.48634839058 0.51886934042 0.93272149563 0.35086500645 0.083212450147 0.82707631588 0.45323222876 0.3324534595 -0.53085929155 0.31208282709 0.78790402412 -0.28331944346 0.14248234034 0.94838225842 -0.58006834984 0.07192260772 0.81138634682 -0.61570620537 0.26574376225 0.7418127656 -0.53351163864 0.32522013783 0.78076702356 0.69298034906 0.32036224008 0.64586859941 0.67554813623 0.3174714148 0.66546720266 0.76454609632 0.64241617918 0.052637394518 0.060969270766 0.91507226229 -0.39865455031 -0.18140749633 0.98330569267 0.014185697772 0.034139763564 0.90198618174 0.43041303754 0.075366146863 0.79994595051 0.59532040358 -0.17678709328 0.61550074816 0.76805281639 -0.053426548839 0.70372909307 0.70845675468 0.10564348102 0.97990399599 0.16919706762 -0.3850902319 -0.91589933634 -0.11328676343 -0.10531105101 -0.99318742752 -0.049882497638 0.032701946795 -0.99944216013 -0.0067787333392 0.0077500846237 -0.96382284164 -0.26643097401 0.37250372767 -0.8727388382 -0.31554374099 -0.52809816599 -0.80002534389 -0.28473106027 -0.64028608799 -0.71518200636 -0.28026485443 0.50678348541 -0.58999758959 0.62854856253 -0.81112003326 -0.51857721806 -0.2704846859 0.50321531296 -0.84196722507 -0.19459056854 -0.93934082985 -0.29343211651 -0.17758490145 -0.04104802385 -0.41433498263 0.90919828415 0.88540953398 -0.46471956372 -0.0092590553686 -0.53073787689 -0.085072025657 0.84325563908 0.86779510975 -0.47946676612 0.13054981828 -0.38269144297 -0.058508019894 0.92202174664 -0.37347444892 0.26057070494 0.89029192924 -0.032956555486 -0.14058920741 0.98951935768 0.18938556314 -0.044411052018 0.98089796305 -0.013397051021 -0.044993143529 0.99889743328 -0.030765879899 0.0010158264777 0.99952608347 0.098418936133 0.030480433255 0.99467813969 -0.12234001607 -0.12591281533 0.98446881771 0.058316268027 -0.1104401201 0.99217045307 0.29653483629 -0.36801820993 0.88126593828 0.30185636878 -0.3699875176 0.87863075733 0.35434764624 -0.2623269558 0.89756464958 -0.86668533087 -0.49880930781 -0.00677098101 -0.89156723022 -0.45163929462 -0.033613432199 -0.97322183847 -0.20719400048 -0.099548369646 0.075229085982 0.29245689511 0.95331501961 0.029867071658 -0.4841645658 0.87446707487 0.74317008257 -0.63801127672 -0.20159326494 -0.98170244694 -0.02586055547 -0.18865719438 0.046534854919 0.12987443805 0.99043786526 -0.076680205762 -0.076298087835 0.99413216114 -0.19172894955 -0.12992872298 0.97280961275 0.017351506278 -0.04963015765 0.99861693382 -0.15360242128 -0.11344150454 0.98159939051 0.89791315794 -0.34257143736 -0.27639964223 -0.89791321754 0.34257116914 -0.27639973164 -0.017351439223 0.049630153924 0.99861693382 0.19172891974 0.12992867827 0.97280961275 -0.74316996336 0.63801133633 -0.20159341395 -0.046534746885 -0.12987437844 0.99043786526 -0.075229078531 -0.29245686531 0.95331501961 0.97322183847 0.20719413459 -0.099548205733 -0.46997117996 0.53125172853 0.70491039753 -0.44799819589 0.5175063014 0.72903007269 0.89156717062 0.45163935423 -0.033613462001 0.86668527126 0.49880936742 -0.0067711304873 -0.30185639858 0.3699875772 0.87863069773 -0.29653486609 0.36801829934 0.88126593828 -0.058316309005 0.1104400754 0.99217045307 0.12233995646 0.12591266632 0.98446887732 0.18478932977 0.29469773173 0.93755328655 -0.098418921232 -0.030480353162 0.99467819929 -0.21610587835 0.23287631571 0.94819134474 0.030765878037 -0.0010158929508 0.99952608347 0.013396978378 0.044993307441 0.99889743328 -0.18938548863 0.044410966337 0.98089796305 0.055860027671 0.0058485651389 0.99842149019 0.22014085948 -0.1767064333 0.95932936668 0.38269159198 0.058507952839 0.92202168703 0.5307379365 0.08507206291 0.84325557947 -0.88540965319 0.4647192359 -0.0092592919245 -0.053893983364 0.15123298764 0.98702788353 0.2546376884 0.23557364941 0.93790441751 -0.74906271696 0.65735632181 -0.082387365401 0.23864220083 0.79156237841 0.56256455183 0.19383965433 0.48142415285 0.8547847271 0.64028614759 0.71518200636 -0.28026482463 -0.37250357866 0.8727388978 -0.31554383039 -0.0077500729822 0.96382284164 -0.2664309442 0.10531112552 0.99318742752 -0.049882285297 0.3850902319 0.91589939594 -0.1132864356 -0.024067737162 -0.99167579412 0.12649041414 -0.45426490903 -0.87049883604 0.18940746784 -0.38170799613 -0.86153322458 0.33475288749 -0.037939246744 -0.96299493313 0.26683580875 0.34295758605 -0.91093993187 0.22927819192 -0.66971546412 -0.70090252161 0.24539123476 -0.4722571671 -0.77709949017 0.41604033113 -0.61683762074 -0.53409385681 0.57814800739 -0.092288814485 -0.79795449972 0.59561014175 -0.84178364277 -0.4711740613 0.26342985034 -0.6981767416 -0.41632598639 0.58242756128 -0.93724870682 -0.108882837 0.3312240541 -0.81852829456 0.20919850469 0.53502094746 0.76889944077 -0.54323291779 0.33718192577 0.14520551264 -0.38614407182 0.91093802452 -0.35479080677 -0.12117987126 0.92705929279 -0.058891732246 -0.49019107223 0.8696231842 -0.2647549808 -0.095002904534 0.95962452888 -0.70018267632 -0.089854374528 0.70828700066 -0.24028900266 0.21689166129 0.94616025686 -0.28673443198 0.060559645295 0.95609408617 -0.52576708794 0.2038795352 0.82583421469 0.67514067888 0.14834168553 0.72262006998 0.68791234493 0.045613646507 0.72435903549 -0.24933168292 0.14187961817 0.95796865225 -0.48662090302 -0.2773334384 0.8284239769 0.30676433444 -0.37529265881 0.87467199564 -0.23617592454 -0.017537523061 0.97155201435 0.50396364927 -0.12880161405 0.85406720638 0.3362172544 0.0025130941067 0.94178110361 -0.2429818809 -0.018189432099 0.96986025572 -0.46615898609 -0.17520998418 0.86717772484 0.31500965357 -0.058586888015 0.94727844 -0.22827391326 -0.20452712476 0.95187169313 0.16703349352 -0.31982377172 0.93263745308 0.25906038284 -0.1242557019 0.95783519745 0.33683481812 -0.37761679292 0.8625241518 0.29653608799 -0.36801767349 0.88126575947 0.29653334618 -0.36800548434 0.88127177954 -0.83515888453 -0.54497152567 0.074267968535 0.30216500163 -0.16950151324 0.93806481361 0.16610632837 0.41389906406 0.89503979683 0.012559284456 0.41302663088 0.9106323123 -0.85180014372 -0.27515745163 0.44578570127 0.26154109836 -0.80264782906 0.53605288267 0.62872463465 -0.71542322636 0.30475392938 0.37883549929 0.37474882603 0.84619557858 -0.26722148061 0.063512742519 0.96153980494 -0.085212923586 -0.22327423096 0.97102385759 -0.091762237251 -0.31315976381 0.94525694847 0.19316911697 -0.70806342363 0.67921417952 0.89489144087 -0.36322882771 0.25929537416 -0.97598785162 0.051338985562 0.21168854833 -0.15373493731 -0.28631579876 0.94572132826 0.15807838738 0.42558193207 0.89100575447 0.15373487771 0.28631582856 0.94572132826 -0.22891867161 -0.19497312605 0.95371991396 -0.2040989548 -0.20040383935 0.95821809769 0.97598785162 -0.051339000463 0.21168854833 -0.89489156008 0.3632286191 0.25929528475 -0.62872463465 0.71542322636 0.30475386977 -0.26154103875 0.80264788866 0.53605282307 0.26722148061 -0.063512772322 0.96153980494 -0.37883558869 -0.37474885583 0.84619551897 0.26687696576 -0.2123850584 0.94003683329 0.8517999649 0.27515774965 0.44578585029 0.87183898687 0.44195756316 0.21111664176 -0.29653337598 0.36800560355 0.88127171993 -0.30216497183 0.16950155795 0.93806481361 -0.29653611779 0.3680177331 0.88126569986 -0.33683478832 0.37761679292 0.8625241518 0.27242544293 0.82261484861 0.49908831716 -0.12514056265 0.28700053692 0.94972127676 -0.44291269779 -0.10799194872 0.89003711939 0.22827383876 0.20452705026 0.95187169313 -0.031958010048 0.22674189508 0.97343045473 -0.44923350215 -0.0023092818446 0.89341139793 -0.31063491106 0.44603666663 0.83937907219 0.039609447122 0.26721972227 0.96282124519 0.2429818213 0.018189432099 0.96986031532 -0.33621713519 -0.0025130889844 0.94178116322 0.23617601395 0.017537470907 0.97155201435 -0.30676442385 0.3752925992 0.87467199564 0.48662081361 0.27733337879 0.8284240365 0.24933162332 -0.14187960327 0.95796865225 0.20929606259 0.01233340241 0.97777456045 0.071151934564 -0.3716661334 0.92563581467 0.071460492909 -0.38476723433 0.92024320364 -0.22109869123 -0.054674934596 0.97371762991 -0.53162878752 0.16972289979 0.82979816198 0.33397141099 -0.38547846675 0.86015665531 -0.11829892546 0.79183119535 0.59917336702 -0.92332530022 0.370552212 0.10080377758 0.058891702443 0.49019113183 0.8696231246 -0.14520551264 0.38614401221 0.91093808413 -0.76889926195 0.5432330966 0.33718201518 0.93724876642 0.10888281465 0.33122399449 -0.59961205721 0.7400842905 0.3045335114 0.84178352356 0.47117424011 0.26342993975 0.66971552372 0.70090246201 0.24539130926 -0.34295743704 0.91093999147 0.22927829623 0.037939380854 0.96299493313 0.26683592796 0.47225722671 0.77709949017 0.41604027152 -0.32707157731 0.91954278946 0.21786515415 0.068017184734 0.95342856646 0.29384973645 0.10139405727 -0.95368283987 0.28321075439 0.47743308544 -0.80791079998 0.34545299411 -0.12343542278 -0.72011250257 0.68278962374 -0.68307888508 -0.0067900945432 0.73031306267 0.70126980543 -0.30167007446 0.64592242241 -0.85909169912 -0.16148979962 0.48567730188 0.63621664047 -0.36858689785 0.67776995897 0.39706480503 -0.63997149467 0.65785717964 0.89335310459 -0.33818340302 0.29589229822 -0.29365170002 0.73130524158 0.61559838057 0.26834017038 -0.81359934807 0.51579999924 -0.064441971481 -0.95186680555 0.29966109991 -0.15954948962 -0.88540905714 0.43657162786 0.93137526512 0.059316076338 0.35919594765 -0.081079401076 0.68713617325 0.7219902873 -0.51093709469 0.4763892591 0.71553939581 0.72366696596 0.38125854731 0.57528084517 -0.49217167497 0.36645317078 0.78960692883 -0.66140651703 0.32249897718 0.67715275288 -0.73284465075 0.3491550386 0.58397728205 -0.766674757 0.12129525095 0.63047385216 0.1994278729 -0.68686163425 0.69889169931 -0.69003123045 -0.10098994523 0.7166993022 0.64076769352 0.27608039975 0.7163772583 0.25077104568 -0.59931278229 0.76022237539 -0.52053642273 -0.22949978709 0.82241815329 0.7892113328 -0.084847509861 0.60823214054 -0.83514970541 -0.46171274781 0.29890850186 0.88927823305 -0.23430329561 0.39279282093 0.44863772392 0.11681299657 0.88604676723 -0.64944785833 -0.45876780152 0.60642361641 -0.38931828737 -0.64373219013 0.65881723166 0.85809314251 -0.42931345105 0.28172001243 -0.18331536651 -0.70842701197 0.68156188726 0.020038023591 -0.74448239803 0.66734135151 0.08586024493 -0.7357724309 0.67176407576 -0.25952067971 -0.64669889212 0.71723741293 -0.034813806415 -0.51506620646 0.85644310713 -0.16821350157 -0.60114562511 0.78123503923 -0.43109861016 -0.82533866167 0.36465069652 0.2712212801 -0.15505442023 0.94994586706 0.10421982408 -0.28604128957 0.95253270864 -0.81661093235 -0.49633139372 0.29462134838 0.25639048219 -0.43543711305 0.86293596029 0.21414901316 -0.37500268221 0.90194964409 -0.91100972891 -0.27507671714 0.3072361052 -0.088749289513 0.7902251482 0.60635614395 -0.34801363945 0.65561598539 0.67011505365 -0.43626892567 0.46733829379 0.76893717051 0.54297757149 0.6287740469 0.55661350489 0.61131769419 0.43198981881 0.66308027506 -0.30345794559 0.24180015922 0.92165392637 -0.37395018339 0.260412395 0.89013856649 -0.19352561235 -0.83439338207 0.51607704163 -0.85984420776 -0.12609353662 0.49474069476 -0.89586859941 -0.074698917568 0.43799489737 -0.59004330635 -0.52860957384 0.61026293039 -0.39530169964 -0.76890730858 0.50251179934 0.5711440444 -0.44059154391 0.69258469343 -0.22201941907 -0.22419171035 0.94891804457 0.22201934457 0.22419174016 0.94891804457 -0.57114398479 0.4405913949 0.69258487225 0.19352559745 0.83439326286 0.51607722044 -0.20992054045 -0.39242205024 0.89551007748 0.89586865902 0.074698992074 0.43799480796 0.37395021319 -0.260412395 0.89013856649 0.43626898527 -0.46733832359 0.7689371109 0.34801363945 -0.655616045 0.67011499405 0.088749200106 -0.7902251482 0.60635614395 -0.11184713989 -0.69297987223 0.71222829819 -0.10199355334 -0.41972652078 0.90190184116 -0.56731319427 0.046325270087 0.82219809294 -0.21414910257 0.3750025928 0.90194970369 0.43109843135 0.82533866167 0.36465084553 0.16821360588 0.60114568472 0.78123497963 0.034813869745 0.51506614685 0.85644310713 -0.10421982408 0.28604128957 0.95253270864 -0.2712213397 0.15505439043 0.94994586706 0.2595205605 0.64669895172 0.71723741293 -0.085860170424 0.73577231169 0.67176419497 0.38931831717 0.64373230934 0.65881711245 0.10951751471 0.24124309421 0.96426534653 -0.85809320211 0.42931336164 0.28171995282 0.64944779873 0.45876783133 0.60642367601 0.36672797799 0.21181173623 0.90589535236 0.83514976501 0.46171280742 0.29890817404 -0.7892113924 0.084847398102 0.60823208094 0.59044158459 0.25659584999 0.7652041316 0.52053642273 0.2294998616 0.82241815329 -0.1994279176 0.68686163425 0.69889169931 -0.64076757431 -0.27608042955 0.71637737751 0.44438126683 0.20272545516 0.87259823084 0.69003123045 0.10098993033 0.7166993022 -0.40896010399 0.56848335266 0.71384751797 0.73290544748 0.28293809295 0.61870479584 -0.58947330713 -0.45654994249 0.66639578342 -0.66652387381 0.14295697212 0.73164832592 0.73284476995 -0.3491550684 0.58397716284 0.66140651703 -0.32249906659 0.67715269327 -0.76853746176 -0.049080081284 0.63791954517 -0.65870189667 -0.0020494854543 0.75240123272 0.32908302546 -0.31244632602 0.89111256599 -0.53715771437 0.22349794209 0.8133327961 0.15954943001 0.88540899754 0.43657171726 -0.10999093205 0.94798481464 0.29870852828 0.081079334021 -0.68713629246 0.72199016809 -0.93137538433 -0.059316072613 0.35919567943 -0.39706492424 0.63997161388 0.65785694122 -0.89335304499 0.33818358183 0.29589220881 -0.63621681929 0.36858701706 0.67776966095 -0.73652273417 0.6112601161 0.28964686394 -0.70126980543 0.30167004466 0.64592242241 -0.69738858938 0.3058180809 0.64817011356 -0.5748257041 0.51676857471 0.63444906473 0.68307882547 0.0067900861613 0.73031312227 -0.67180204391 0.4566962719 0.58318996429 0.37076413631 0.7690410614 0.52068209648 -0.10139396042 0.95368283987 0.28321066499 0.1709357053 -0.8073297739 0.56480050087 0.67638504505 -0.47595614195 0.56211125851 0.60314500332 -0.38471260667 0.69872188568 0.57018578053 -0.63162767887 0.52529478073 0.68698495626 -0.66177845001 -0.30016827583 0.24484500289 -0.48182088137 -0.84136766195 0.074276566505 -0.64761930704 -0.75833517313 0.79158163071 -0.28522717953 0.54041093588 -0.29209092259 0.89227485657 0.34427964687 0.037024915218 0.80744802952 0.58877575397 -0.11500970274 0.9433850646 0.31112274528 -0.50443214178 0.85956382751 -0.081842690706 0.12851317227 -0.77940684557 -0.61319601536 0.38394385576 -0.8700671792 -0.3091442883 -0.83585721254 0.41476178169 0.35960453749 0.80543446541 0.087032541633 0.58625990152 -0.90870130062 0.39684984088 -0.12950736284 0.78434461355 -0.61971658468 0.027475195006 -0.95461696386 0.27764701843 0.10778964311 -0.81956446171 0.42154088616 0.38809454441 -0.31244668365 -0.94916403294 -0.038272049278 -0.93859165907 0.2565138638 -0.23075157404 0.97449165583 0.016460210085 0.22381937504 -0.99075335264 0.12896241248 -0.042148854584 -0.50980037451 -0.83153343201 -0.22058042884 0.36822789907 -0.91704380512 -0.15309770405 -0.77309477329 -0.61971431971 -0.13519833982 0.51299488544 0.15031126142 -0.84512883425 -0.59418034554 -0.48111796379 -0.64457368851 -0.98445385695 0.062216948718 0.16425469518 0.85296541452 0.16188552976 0.49622881413 -0.63232827187 -0.75989753008 0.15072062612 0.53619247675 -0.12315271795 -0.83506351709 -0.83479171991 0.095171533525 0.54227775335 0.74300438166 0.32495617867 0.58510506153 -0.45607072115 -0.39818185568 -0.79589617252 -0.64430963993 0.041991397738 0.76361101866 -0.295173347 -0.93588721752 -0.19232223928 -0.12230468541 -0.69126844406 -0.71217232943 -0.27669635415 -0.43216791749 -0.85829484463 0.50484824181 0.23996989429 0.82918190956 -0.55729800463 -0.82829487324 0.057849358767 -0.66065382957 -0.71264594793 -0.23594965041 -0.62881660461 -0.75708478689 -0.17723529041 0.69129550457 -0.28175166249 -0.66537702084 -0.04958583042 -0.82611900568 0.56130975485 -0.37027323246 -0.24410295486 0.896276474 0.49262171984 -0.072680965066 0.86720317602 -0.53541594744 -0.69124829769 0.48528918624 -0.584856987 -0.56852257252 0.57855367661 0.45673668385 0.86804795265 -0.19463893771 -0.27851548791 0.9604279995 0.0026829363778 -0.32777646184 0.93316471577 0.14753383398 0.28140071034 -0.42828309536 0.85871255398 -0.00016013233108 -0.45252811909 0.89175009727 0.053499441594 0.19617024064 0.97910928726 0.38202825189 -0.013351709582 0.92405420542 -0.12688440084 -0.4907284081 0.86202436686 -0.35259830952 -0.53157711029 0.77012997866 0.97434169054 0.2214948982 -0.039977867156 0.767531991 0.52500742674 0.36777958274 -0.28752464056 0.92824029922 -0.23600758612 0.0063433293253 -0.25415855646 0.96714174747 0.74714893103 0.65979105234 0.080276086926 -0.43700405955 0.86168724298 0.25791969895 -0.43688458204 0.86034709215 0.26255431771 -0.32485112548 0.70339924097 0.63221931458 -0.33174964786 0.49188938737 0.80497640371 -0.29882970452 -0.32425159216 0.89753091335 -0.94566243887 -0.20202818513 0.25476893783 -0.0454236269 0.19747152925 0.97925567627 0.16145579517 0.48990935087 0.85669183731 0.040880255401 0.69938498735 0.71357512474 -0.079341515899 0.63927894831 0.76487082243 -0.92295187712 -0.0022611154709 0.38490873575 0.032058723271 0.0089738555253 0.9994456768 0.00021085409389 0.085141457617 0.99636882544 -0.04063623026 0.042054869235 0.99828857183 -0.48843351007 0.64542931318 0.58724242449 -0.29890906811 -0.10664591938 0.9483037591 -0 -3.8529364588e-08 1 0.057558428496 -0.77953523397 0.62370812893 0.079341553152 -0.63927900791 0.76487076283 -0.032058704644 -0.0089738965034 0.9994456768 0.045423738658 -0.19747142494 0.97925567627 0.012150635943 0.0014373019803 0.99992513657 0.32485121489 -0.70339912176 0.63221937418 -0.17643204331 0.060536976904 0.98244947195 -0.16052503884 -0.29717957973 0.94123113155 0.28752467036 -0.92824018002 -0.23600780964 -0.767531991 -0.52500736713 0.36777961254 0.35259854794 0.5315771699 0.77012985945 0.12688452005 0.4907284379 0.86202430725 0.091540314257 -0.98236709833 -0.1630192101 0.32777649164 -0.93316471577 0.14753367007 0.2785154283 -0.9604279995 0.0026828113478 -0.45673650503 -0.86804789305 -0.19463959336 -0.97434175014 -0.22149476409 -0.039978113025 0.53541570902 0.69124847651 0.48528918624 -0.38202807307 0.013351854868 0.92405426502 -0.053499475121 -0.19617033005 0.97910928726 0.6288164854 0.7570848465 -0.1772351563 -0.49262160063 0.072681032121 0.86720323563 0.37027314305 0.24410307407 0.896276474 0.27247929573 0.43039900064 -0.8605298996 0.12230467051 0.69126844406 -0.71217238903 0.29517313838 0.93588727713 -0.19232213497 -0.5048481226 -0.23996978998 0.82918202877 0.49589267373 0.11803553998 0.86032438278 0.45607072115 0.39818185568 -0.79589617252 0.77905654907 0.57602310181 -0.24752435088 0.64430975914 -0.041991241276 0.76361089945 -0.58323305845 0.61834394932 0.52677321434 -0.53619253635 0.12315282226 -0.83506345749 0.78152883053 0.6237565279 0.011851980351 0.63232833147 0.75989758968 0.15072025359 0.64279270172 0.74864721298 0.16231106222 -0.85296541452 -0.16188547015 0.49622884393 0.98445391655 -0.062216829509 0.16425457597 0.59418046474 0.48111781478 -0.6445736289 -0.51299500465 -0.15031124651 -0.84512877464 0.77309471369 0.61971437931 -0.13519868255 0.98915058374 -0.10967117548 -0.097741208971 0.31244689226 0.94916397333 -0.038271695375 0.99075329304 -0.12896285951 -0.042148672044 -0.97449165583 -0.016460167244 0.22381919622 0.93859159946 -0.25651401281 -0.23075164855 -0.97733694315 -0.18168526888 0.10864143819 0.8195644021 -0.42154103518 0.38809448481 -0.87304115295 -0.12374545634 0.47168442607 0.65080189705 -0.44742879272 0.61340391636 -0.98091703653 0.11745171994 -0.15494164824 -0.79583245516 -0.21490357816 0.56609815359 -0.97554838657 0.1867222935 -0.11593152583 -0.95892304182 0.27975991368 0.046914253384 -0.38394385576 0.87006729841 -0.30914407969 -0.065902680159 0.69180548191 -0.71907025576 0.90870136023 -0.39684972167 -0.12950748205 0.50443208218 -0.85956382751 -0.081842936575 0.11500968784 -0.94338512421 0.31112265587 -0.037024941295 -0.8074478507 0.58877599239 -0.083713375032 -0.77591878176 0.62525361776 0.2920909524 -0.89227473736 0.34427988529 -0.80543428659 -0.087032370269 0.58626013994 -0.074276514351 0.64761930704 -0.75833517313 -0.24484528601 0.48182079196 -0.84136766195 -0.7915815711 0.28522706032 0.54041105509 -0.62901210785 0.75021189451 0.20377908647 -0.6031448245 0.38471269608 0.69872200489 0.28150451183 0.92657989264 0.24940921366 -0.67638498545 0.47595620155 0.56211125851 -0.17093576491 0.80732983351 0.56480044127 0.32546615601 -0.58188521862 0.74530619383 -0.82186543941 -0.55931812525 0.10816828161 0.49344983697 -0.86929684877 0.028813751414 0.080023497343 -0.89955878258 -0.42940679193 -0.14933393896 -0.84563791752 -0.51244109869 0.083787076175 -0.68097430468 -0.72749823332 0.06360026449 -0.38188809156 -0.92201763391 0.75132066011 -0.63109350204 0.19297212362 0.19810324907 0.10634281486 0.97439533472 -0.70347577333 0.59070986509 0.39520084858 -0.52787464857 0.66473674774 0.52865248919 -0.27160555124 0.88361215591 0.38139221072 0.034680049866 0.53345525265 0.84511703253 0.31891027093 -0.24229814112 -0.9162902832 -0.92338740826 -0.051538959146 0.38039380312 -0.039654105902 0.89676713943 0.44072243571 0.14610671997 0.89732694626 0.41648194194 -0.52568876743 0.6679520607 -0.52677452564 -0.89185398817 0.23974177241 0.38356268406 -0.6891785264 0.58415228128 0.42871794105 -0.72274518013 0.34768563509 -0.59728896618 0.049113698304 -0.35835030675 0.93229442835 0.73366993666 0.041161973029 0.67825818062 0.66205948591 -0.14996142685 0.73429477215 -0.94643819332 0.048945821822 0.3191537261 0.91226130724 -0.40590453148 0.05496160686 -0.90170675516 -0.1051318571 -0.41937127709 -0.2653683126 -0.20291388035 -0.94255268574 0.25922772288 -0.77236759663 -0.57987004519 -0.74204498529 -0.16823364794 -0.64889651537 -0.31112781167 -0.15402176976 -0.93780422211 -0.67747765779 -0.35776615143 -0.64267206192 -0.89021354914 0.2755843401 -0.36273002625 -0.87541133165 0.44900503755 -0.17902378738 -0.8687209487 0.49520686269 -0.0096985921264 -0.40004983544 -0.31397387385 -0.86103457212 -0.47601750493 -0.28984355927 -0.83029997349 0.3111962378 -0.02703553997 -0.94996106625 -0.80061072111 -0.56564432383 -0.19765862823 -0.46080559492 0.49055039883 0.73960697651 0.56126868725 0.7024269104 0.43769156933 0.31889173388 0.033886946738 -0.94718515873 -0.79994624853 -0.57994800806 -0.15409830213 -0.69870692492 -0.62696683407 -0.34455943108 -0.20174953341 -0.62265878916 0.75603783131 -0.1637519002 0.82723605633 -0.53746241331 0.97174590826 -0.17095863819 0.16273595393 0.80238515139 -0.15056908131 0.57750064135 0.48166683316 0.28092047572 -0.830108881 -0.040627874434 -0.3411488235 0.93913090229 0.28718283772 0.78662180901 -0.54658228159 0.37084132433 0.84119057655 -0.39354169369 0.44490659237 0.1471003443 0.88341361284 -0.86899608374 -0.47223907709 0.1477701664 -0.79590904713 -0.40227136016 0.45244506001 0.010938609019 0.99248623848 0.12186634541 0.19115808606 0.44481211901 0.87498617172 0.12678338587 0.79889124632 0.58796149492 0.53119558096 0.67516893148 -0.51183801889 -0.32866424322 0.89994496107 0.28649419546 -0.19490842521 0.98075217009 -0.011657609604 -0.63374215364 -0.67780417204 0.37276318669 -0.35285907984 -0.85356795788 0.38329130411 -0.61114245653 0.76257067919 0.21211048961 0.35285910964 0.85356801748 0.3832910955 0.63374233246 0.67780417204 0.37276294827 0.61114275455 -0.76257044077 0.2121104598 -0.077335625887 -0.99433666468 -0.072896018624 0.19490835071 -0.98075217009 -0.011657510884 -0.12678310275 -0.79889136553 0.58796143532 -0.70596790314 -0.044063873589 0.70687180758 -0.49341753125 -0.63728356361 -0.5919533968 0.1637519002 -0.82723611593 -0.5374622941 -0.034400835633 -0.74180400372 -0.66973382235 -0.23235163093 -0.70566356182 -0.66936659813 0.040627866983 0.34114858508 0.93913096189 -0.010378462262 0.53909641504 0.84218013287 0.48813676834 0.53275167942 0.69130176306 -0.48166671395 -0.28092041612 -0.8301089406 -0.14361929893 -0.35026991367 0.92557251453 0.79994606972 0.57994836569 -0.1540979296 0.8006105423 0.56564444304 -0.19765906036 -0.31889167428 -0.033886894584 -0.94718515873 -0.56126874685 -0.7024268508 0.43769153953 -0.63930279016 -0.73531770706 0.22494411469 0.61451470852 -0.56549704075 0.55007708073 0.40004983544 0.31397390366 -0.86103457212 0.47601744533 0.28984358907 -0.83029997349 0.61688649654 0.600274086 -0.50904029608 0.85844069719 -0.29149183631 -0.42203322053 -0.34325474501 0.26337268949 -0.90156030655 0.67747753859 0.35776630044 -0.64267212152 -0.17132759094 0.73332589865 -0.6579361558 0.31112784147 0.15402178466 -0.93780422211 0.19889262319 0.2292804122 -0.95282328129 0.26536825299 0.20291386545 -0.94255274534 0.90170669556 0.1051318869 -0.41937127709 0.7907115221 0.40041264892 -0.46308207512 -0.91226136684 0.40590447187 0.054961625487 0.94643807411 -0.048946030438 0.31915390491 -0.73366993666 -0.041162390262 0.67825812101 0.6891785264 -0.58415228128 0.42871794105 0.72274518013 -0.34768566489 -0.59728896618 0.79198217392 -0.45492619276 0.40719330311 0.52568870783 -0.66795217991 -0.52677446604 -0.14610677958 -0.89732694626 0.41648182273 0.88691151142 -0.24134750664 0.39387729764 0.52633112669 -0.82601547241 0.20167803764 0.27160543203 -0.88361209631 0.38139232993 -0.71352702379 0.16571739316 0.68074733019 0.70347577333 -0.59070980549 0.39520093799 0.52787458897 -0.66473674774 0.52865248919 -0.063600301743 0.38188806176 -0.92201763391 -0.19490253925 0.96052402258 0.19851104915 -0.54341822863 0.49325269461 0.67926311493 0.55686318874 0.78044676781 0.28426426649 0.96483570337 -0.023808471859 0.26177313924 -0.3254660964 0.58188527822 0.74530619383 0.82186537981 0.55931824446 0.10816818476 -0.1503328234 -0.98847061396 0.018051961437 0.038047716022 -0.34964936972 -0.93610775471 0.082287095487 -0.24312511086 -0.96649831533 0.38931369781 -0.48961353302 0.78020089865 -0.96415412426 0.22036609054 0.14780275524 0.87136787176 -0.38818216324 0.30005434155 -0.6882610321 -0.46335217357 0.55821275711 -0.71886354685 -0.56922239065 0.39902511239 -0.043972723186 0.42115542293 0.90592193604 -0.7625439167 -0.36382591724 0.53493690491 0.74275064468 -0.034603431821 0.66867339611 -0.23736964166 0.74118608236 0.6279321909 0.0024097079877 0.7284065485 0.68514096737 0.25985616446 0.49055367708 0.8317642808 0.19754506648 0.61184448004 0.76591271162 -0.79101103544 -0.014470487833 0.61163067818 -0.92107540369 0.36395809054 -0.13840018213 -0.70394438505 0.25053173304 0.66460227966 -0.60490208864 0.3734549582 0.7032957077 -0.6963442564 0.48833882809 -0.52595615387 -0.29412215948 0.48162412643 0.82554852962 -0.088636815548 -0.2089844048 -0.97389376163 0.27570751309 -0.47601538897 -0.83510160446 -0.0099284481257 -0.72993981838 0.68343931437 0.44737553596 -0.87219041586 0.19783566892 0.48400861025 -0.77879238129 -0.3990214467 0.20861807466 -0.77543610334 -0.59596759081 -0.26535725594 -0.20292615891 -0.94255316257 -0.19401192665 -0.25181040168 -0.94813019037 -0.19305148721 -0.25522252917 -0.94741362333 -0.26540014148 -0.20289479196 -0.94254785776 -0.35382330418 -0.15660782158 -0.92210793495 -0.76221120358 -0.34688279033 -0.54654037952 -0.46058571339 -0.042525198311 -0.88659596443 0.74731427431 0.5322638154 -0.39776456356 -0.70186495781 -0.099172718823 -0.70537251234 0.8750962019 -0.28773593903 -0.38912031054 0.24704629183 0.15767262876 -0.95608967543 -0.61123359203 0.51266860962 0.60296303034 -0.041429374367 0.93662798405 -0.34786719084 0.92420840263 0.30152353644 -0.23435528576 -0.90137505531 -0.26902836561 -0.33933281898 0.1436637193 -0.40411403775 0.90335631371 -0.24795247614 -0.60409343243 0.75735771656 0.26833918691 -0.23023149371 0.93540769815 0.53352254629 -0.061909105629 0.84351700544 0.6303807497 0.14737325907 0.76216876507 0.62002313137 0.35649064183 0.69891756773 0.037688940763 0.86863005161 -0.49402564764 -0.093291379511 -0.82999438047 0.54991453886 0.040781307966 0.822879076 0.56675124168 0.17936456203 0.68460083008 0.70650553703 0.40140011907 0.65259408951 0.6426499486 -0.17936454713 -0.68460077047 0.70650559664 -0.62002307177 -0.35649058223 0.69891762733 0.96822750568 -0.1356472671 -0.2100840956 -0.63038092852 -0.14737308025 0.76216864586 0.76331841946 0.55776441097 0.32595074177 -0.53352254629 0.061909209937 0.84351700544 -0.26833918691 0.23023170233 0.93540763855 -0.56632971764 -0.80733776093 -0.16576001048 0.24838909507 -0.96182441711 0.11487661302 0.90137511492 0.26902842522 -0.33933266997 -0.29089564085 -0.30375412107 -0.90725582838 0.97072130442 -0.067233428359 0.23060753942 -0.31444984674 -0.17413796484 -0.9331651926 0.39115804434 -0.90478920937 -0.16838002205 0.92342954874 0.06342792511 -0.37849014997 -0.56363290548 -0.73025935888 -0.38605597615 -0.46714892983 -0.79609006643 -0.38472390175 -0.32692375779 0.16375540197 -0.93075507879 -0.8714056015 -0.27963927388 -0.40305602551 0.46058568358 0.042525220662 -0.88659596443 0.19401191175 0.25181037188 -0.94813019037 0.26540011168 0.20289477706 -0.94254785776 0.26535722613 0.2029261291 -0.94255322218 0.35382330418 0.15660782158 -0.92210793495 -0.39570915699 0.4891603291 -0.77726215124 0.19305145741 0.25522249937 -0.94741362333 -0.48400855064 0.77879238129 -0.3990214467 0.0099281938747 0.72993940115 0.6834397912 -0.84426224232 0.0053560119122 -0.53590351343 -0.2757075727 0.47601532936 -0.83510166407 0.29412218928 -0.48162400723 0.82554858923 0.088636852801 0.2089844048 -0.97389376163 -0.10606454313 0.1913857311 -0.97576731443 0.70394438505 -0.25053170323 0.66460227966 -0.19754491746 -0.61184465885 0.76591259241 -0.0024096081033 -0.72840642929 0.68514108658 0.23736958206 -0.74118608236 0.6279322505 0.79101109505 0.0144703025 0.61163067818 0.61257296801 -0.054280523211 0.78854805231 -0.66738116741 -0.031599890441 -0.74404555559 0.89557868242 -0.098707519472 0.43381521106 -0.25985613465 -0.49055382609 0.83176422119 0.73461478949 0.46909850836 0.49019145966 0.6882609725 0.46335241199 0.5582126379 0.043972685933 -0.42115545273 0.90592187643 0.75550580025 -0.42112070322 0.50186485052 0.86544895172 -0.3540379703 0.35447877645 0.17652675509 0.97324454784 -0.14708276093 -0.42198324203 0.2713239491 0.86505115032 -0.38675647974 0.21584625542 0.89656555653 -0.26248413324 0.735712111 0.624363482 0.88146847486 0.43411031365 -0.18590724468 0.026058198884 0.39642339945 -0.91769790649 -0.03477710858 -0.42888280749 -0.90269047022 -0.26548391581 -0.62622773647 -0.73304647207 -0.19332568347 -0.55689835548 -0.80776816607 -0.1562885493 -0.32995912433 -0.93096768856 0.38890457153 -0.91542291641 -0.10370204598 0.69592547417 -0.60729706287 -0.38324674964 0.46633350849 -0.5403624773 0.70038664341 0.30336922407 -0.15745346248 -0.93977421522 -0.30985575914 -0.16246069968 -0.93680089712 -0.028555946425 -0.34760659933 -0.93720555305 -0.33108758926 0.10058279335 -0.93822389841 -0.73999810219 0.67157906294 0.037206418812 0.36058619618 0.51584047079 0.7771011591 -0.76382470131 -0.24637636542 0.5965487957 -0.22194691002 0.71795266867 0.65976017714 0.80867266655 0.077869810164 0.58308213949 -0.4999024272 -0.072518706322 0.86304032803 0.0031230465975 0.27262219787 0.96211612225 -0.31768319011 0.19786308706 0.92732280493 0.31856960058 -0.29087263346 -0.90216767788 0.89492690563 0.1893286407 -0.40405508876 -0.6945836544 -0.66452080011 -0.27561861277 -0.75816011429 -0.50464558601 -0.41294801235 0.33025473356 -0.44021987915 -0.8349480629 0.50165367126 -0.6090092659 -0.6143707037 -0.67172586918 0.1716644913 -0.72063559294 -0.80651205778 0.28725606203 -0.51674199104 -0.095543161035 0.95952486992 -0.26492163539 -0.54584366083 -0.38051259518 -0.74650174379 -0.80403763056 0.56780391932 0.17641483247 0.33431950212 0.14071267843 -0.93189615011 -0.52887243032 0.83722758293 0.1390824765 -0.90738916397 -0.089573733509 -0.41063538194 0.24816358089 0.8439000845 -0.47565475106 -0.84510427713 0.45114114881 -0.2868282795 0.41847366095 0.81768524647 -0.39531078935 -0.60735684633 0.68525993824 -0.40191602707 -0.31751787663 -0.11121945083 -0.94170731306 0.16233119369 0.89243453741 0.42096215487 0.7621358037 -0.059606205672 0.64466744661 0.29891294241 0.22837154567 0.92655140162 0.30291971564 0.31245106459 0.90034103394 0.31845089793 0.23849694431 0.91744655371 -0.60898423195 -0.31123891473 -0.72956734896 0.2362279743 -0.24287196994 -0.9408557415 0.001695619314 0.79816561937 -0.60243570805 -0.27820917964 0.3084897995 -0.90963381529 0.092104114592 0.89080935717 -0.44494441152 0.092736780643 0.67107456923 -0.73556697369 -0.0016957692569 -0.79816561937 -0.60243570805 0.31057694554 -0.28201028705 -0.90775114298 0.27820920944 -0.30848994851 -0.90963375568 -0.2362279743 0.24287195504 -0.9408557415 0.45037159324 -0.74407172203 -0.49348017573 -0.31845092773 -0.23849691451 0.91744661331 -0.2989127934 -0.22837144136 0.92655146122 0.31751784682 0.11121948063 -0.94170731306 -0.26985362172 0.13469266891 0.9534342885 0.15107645094 0.5559412241 0.81737709045 0.63788312674 0.75323694944 -0.16043455899 0.11848884076 -0.92804682255 -0.3531139493 -0.027866857126 -0.67047148943 -0.74141174555 0.52887243032 -0.83722758293 0.139082551 -0.33431950212 -0.14071260393 -0.93189615011 0.78858608007 0.31957182288 -0.52536255121 0.88358217478 -0.45760703087 0.099389903247 -0.52690160275 -0.42188298702 -0.73782753944 0.76050817966 0.40595030785 -0.50678557158 -0.33025470376 0.44021975994 -0.8349481225 -0.2458408922 0.51061266661 -0.82391560078 -0.17651309073 0.67589461803 -0.71554845572 0.6945836544 0.66452085972 -0.27561855316 -0.13174712658 0.96210688353 -0.23873223364 0.45984145999 0.88016021252 0.11774468422 -0.36752480268 0.36038950086 -0.85734760761 0.25552403927 0.19135189056 -0.94767713547 0.96660661697 -0.18914872408 -0.17290015519 -0.31856957078 0.29087272286 -0.90216767788 0.31768327951 -0.19786296785 0.92732280493 0.97111386061 0.14553821087 0.18909403682 -0.0031229462475 -0.27262210846 0.96211612225 0.42451530695 -0.027897199616 0.90499091148 -0.68067121506 -0.46096718311 -0.5693821311 0.76222282648 0.25663143396 0.59426987171 0.77102977037 0.25689649582 0.58268111944 -0.08880084753 -0.20971173048 0.97372245789 -0.90957272053 0.23710331321 -0.34126159549 -0.58351576328 -0.26898705959 -0.76626062393 0.68651515245 0.56007969379 -0.46368926764 0.16079039872 0.46060267091 -0.87292134762 0.61656057835 -0.11140146852 -0.77938616276 -0.50761246681 0.4440767467 0.7383261323 -0.34641063213 0.14714938402 -0.92647004128 0.028555942699 0.34760662913 -0.93720549345 0.30985572934 0.16246066988 -0.93680089712 0.33635425568 -0.065521501005 -0.93945342302 -0.30336919427 0.15745344758 -0.93977421522 0.077655918896 0.61452883482 -0.78506296873 0.1562885046 0.32995909452 -0.93096774817 0.33601030707 0.55537313223 -0.76069557667 -0.22660647333 0.3187289238 -0.92035937309 -0.2257270813 0.39078727365 -0.89237469435 -0.045030895621 -0.41029989719 -0.91083818674 -0.22785969079 -0.69836187363 -0.67850619555 0.13352498412 -0.5365318656 -0.83324944973 -0.20192576945 -0.29116752744 -0.93511897326 0.081983298063 -0.39166069031 -0.91645002365 0.30623567104 -0.39121487737 -0.86785405874 0.37897157669 -0.44688794017 -0.81035280228 0.35813003778 -0.33011701703 -0.87336456776 -0.6119338274 -0.59901642799 -0.51644587517 0.29365330935 -0.065122790635 -0.95369112492 0.54274988174 0.1603217572 -0.8244510293 0.058146957308 0.77792471647 -0.62566131353 0.62879353762 0.31046912074 -0.71290081739 0.65732288361 0.38757964969 -0.64630383253 -0.29690241814 -0.61710304022 -0.72871994972 0.34064459801 -0.2315467447 -0.91123396158 0.8021761179 -0.32516142726 -0.50078290701 0.62125223875 -0.38781568408 -0.68091458082 0.62129825354 -0.38780379295 -0.68087935448 0.62140518427 -0.38785037398 -0.68075525761 -0.96649193764 0.23478738964 -0.10377012938 -0.070301398635 -0.97680610418 -0.20225602388 -0.038545176387 -0.94054108858 -0.33748584986 0.089555807412 -0.87270021439 -0.47997301817 0.23927815259 -0.75638371706 -0.60879355669 0.96764212847 0.12787988782 -0.21752120554 0.33746978641 -0.65035921335 -0.68054908514 -0.76859605312 -0.58568608761 -0.2573556304 0.86953228712 0.064954943955 -0.48958596587 0.62074375153 -0.44176495075 -0.64770436287 -0.79990577698 0.24901364744 -0.54602468014 0.76013201475 -0.03021106869 -0.64906597137 -0.80365371704 0.49580734968 -0.32911369205 0.00054129620548 0.11987773329 -0.99278849363 0.33368214965 0.0014525586739 -0.94268453121 0.39338958263 0.23101758957 -0.88987386227 0.21808323264 0.38934120536 -0.89490395784 0.5193746686 -0.0015974851558 -0.85454511642 -0.2786796391 0.45472306013 -0.84591048956 -0.57005566359 -0.085883051157 -0.81710499525 0.50663411617 0.026039257646 -0.86176782846 -0.13479600847 0.96380472183 -0.23002287745 0.60558307171 0.74102210999 -0.2900954783 0.26893317699 0.13437786698 -0.95373868942 0.058719348162 -0.68037766218 -0.73050552607 0.095583379269 -0.79660266638 -0.59689867496 0.45869246125 -0.88824522495 0.024932857603 0.37064239383 0.89907628298 -0.23299367726 -0.14178684354 0.52878552675 -0.83682870865 -0.030840862542 -0.29885825515 -0.95379900932 -0.34350878 -0.2365219295 -0.90887790918 0.48423221707 -0.86793971062 0.11045277864 -0.47638764977 -0.12485812604 -0.87032479048 0.32395684719 -0.3118416965 -0.89320027828 0.8379316926 -0.12478412688 0.53131848574 -0.30245360732 -0.050136175007 -0.95184463263 -0.54392200708 0.6584739089 -0.52015477419 0.38275927305 0.84668725729 -0.36961600184 -0.3370218277 0.062188141048 -0.93944072723 0.86468726397 0.41663965583 -0.28058388829 0.70405995846 -0.35493725538 -0.6150765419 0.3370218277 -0.062188111246 -0.93944072723 0.30245375633 0.050136253238 -0.95184457302 -0.837931633 0.1247843802 0.53131854534 -0.32395687699 0.3118417263 -0.89320021868 0.47638759017 0.12485811114 -0.87032485008 0.21323627234 -0.61608439684 -0.75826793909 0.34350883961 0.2365219593 -0.90887790918 0.14178684354 -0.52878552675 -0.83682876825 0.087653383613 -0.91607803106 -0.39130291343 -0.058719322085 0.68037772179 -0.73050546646 0.92440754175 -0.12003934383 -0.36202389002 -0.85610210896 -0.45794770122 -0.23952674866 0.2470793575 -0.93972176313 -0.23637850583 -0.51937460899 0.0015975463903 -0.85454517603 0.43363621831 -0.42667686939 -0.79366648197 -0.51043212414 0.21427679062 -0.83279317617 0.80075806379 -0.45201829076 -0.39302155375 0.40902498364 -0.063319571316 -0.91032367945 0.79990583658 -0.24901363254 -0.54602462053 -0.92274695635 0.012330540456 -0.38520911336 0.76859605312 0.58568608761 -0.2573556304 -0.42022839189 0.56497895718 -0.71007525921 -0.23927818239 0.75638377666 -0.60879355669 0.038545154035 0.94054108858 -0.33748587966 -0.96343445778 -0.12828277051 -0.23523929715 0.87328207493 -0.39303931594 -0.28792101145 -0.70344668627 0.51355648041 -0.49134764075 -0.62129825354 0.38780400157 -0.68087923527 -0.62125229836 0.38781586289 -0.68091446161 -0.62140512466 0.3878505528 -0.680755198 -0.80217599869 0.32516133785 -0.50078308582 0.39297142625 0.45435860753 -0.79945713282 -0.058146826923 -0.77792483568 -0.62566119432 -0.10069020838 -0.1182634905 -0.98786395788 -0.65249365568 -0.53523683548 -0.53644526005 -0.64996862411 -0.53817629814 -0.53656971455 0.7588045001 -0.54453665018 -0.35734522343 0.36571937799 0.0014719535829 -0.93072402477 -0.55858772993 -0.24935863912 -0.79107522964 -0.47218886018 -0.016135305166 -0.88134974241 0.57161617279 0.58074772358 -0.57964390516 -0.19250290096 0.29337197542 -0.93641632795 -0.65102690458 0.31164211035 -0.69212949276 -0.24825066328 0.30477082729 -0.91950333118 -0.099938459694 0.42906695604 -0.89772707224 -0.25738078356 -0.480430305 -0.83841627836 -0.24446550012 -0.7632600069 -0.59805583954 0.15569314361 -0.7713752985 -0.6170411706 0.33278846741 -0.71187835932 -0.61845052242 0.42567712069 -0.65294969082 -0.62646281719 -0.20432771742 -0.49026709795 -0.84728294611 -0.049690637738 -0.49723383784 -0.86619246006 0.22583058476 -0.50027304888 -0.83589917421 -0.39721557498 -0.33727741241 -0.85350090265 -0.48246088624 -0.70052343607 -0.52583122253 0.45637857914 -0.12743107975 -0.88061338663 -0.76971304417 -0.54864400625 -0.32639172673 0.92154985666 0.15141117573 -0.35751998425 0.50732880831 0.19514724612 -0.83936583996 -0.55898094177 -0.46309015155 -0.68781381845 0.61729204655 0.77548515797 -0.13256438076 -0.94827795029 -0.31445258856 0.043456666172 0.81733775139 0.54083329439 -0.19864121079 0.8168206811 0.5498509407 -0.17455047369 -0.60456246138 -0.50274920464 -0.61785715818 -0.71851199865 -0.34061536193 -0.60640060902 0.875254035 -0.44071871042 -0.19924201071 -0.98639768362 -0.040746562183 0.15924613178 -0.98427706957 0.13245458901 0.11685226113 -0.96564918756 0.25984427333 -0.0016206580913 0.2573004961 -0.85139393806 -0.45708289742 0.99261909723 -0.0045261136256 -0.12118917704 0.59386903048 -0.54548937082 -0.59140586853 -0.546677351 -0.51567351818 -0.65971565247 -0.4279204309 -0.75992035866 -0.48929044604 0.73792105913 -0.28143796325 -0.61340457201 -0.80157268047 0.56068843603 -0.20762881637 0.79387509823 0.0030445484444 -0.60807329416 0.0056407153606 0.92443448305 -0.38129922748 -0.50327843428 0.52522045374 -0.68618822098 0.41014477611 -0.40207248926 -0.81860792637 0.066354617476 -0.63293290138 -0.77135789394 0.14479480684 0.96724706888 -0.20848886669 -0.35296729207 -0.32293820381 -0.87813723087 -0.41095504165 0.7854603529 -0.4627828598 -0.86635303497 0.45142406225 -0.21365563571 -0.49396345019 -0.090206064284 -0.86479073763 -0.7498806119 0.03846963495 -0.66045373678 0.48380544782 -0.15278586745 -0.86173588037 -0.41184148192 0.028865538538 -0.91079819202 0.41184151173 -0.028865585104 -0.91079819202 -0.48380535841 0.15278586745 -0.86173593998 -0.44175583124 -0.89311856031 -0.084799900651 0.25216782093 -0.88586521149 -0.38942801952 -0.67277121544 -0.57156950235 -0.46977350116 0.19968025386 -0.97357648611 -0.11079971492 0.47749131918 0.18452270329 -0.85904216766 0.40518656373 -0.9046151638 0.13226956129 0.35296726227 0.32293814421 -0.87813723087 0.72341352701 -0.40248301625 -0.56096369028 0.50327843428 -0.52522045374 -0.68618822098 -0.0056404932402 -0.92443442345 -0.38129937649 -0.18187491596 0.71139365435 -0.67885237932 -0.73792105913 0.28143799305 -0.61340457201 -0.45522934198 0.6151496172 -0.64370584488 -0.65867596865 0.45874366164 -0.59640610218 -0.3646633625 0.90080291033 -0.23574288189 -0.47649908066 0.868242383 -0.13821655512 -0.59386897087 0.54548943043 -0.59140592813 -0.99261909723 0.0045261136256 -0.12118917704 0.5663998127 0.81186819077 0.14163760841 -0.68118739128 0.72924131155 -0.064736783504 -0.99252492189 -0.12076832354 -0.01758514531 0.77782994509 0.13898904622 -0.61291319132 -0.96951055527 -0.22442419827 -0.098402626812 -0.90414816141 0.39622470737 -0.15975651145 0.71851193905 0.34061533213 -0.60640066862 -0.81423711777 -0.088647000492 -0.57372438908 -0.35332500935 -0.85409402847 -0.38168680668 -0.71238672733 -0.60398960114 -0.35735377669 -0.52231001854 -0.82464975119 -0.21712903678 -0.89537632465 -0.41824316978 -0.15288515389 -0.50732892752 -0.19514732063 -0.83936578035 -0.45637851954 0.12743113935 -0.88061338663 0.5698055625 0.67061209679 -0.47497481108 -0.19488944113 0.5588375926 -0.80605125427 -0.33977779746 0.38026410341 -0.86020362377 -0.081679143012 0.40568929911 -0.91035419703 -0.1556930393 0.7713752985 -0.6170412302 0.24446554482 0.7632599473 -0.59805589914 0.27007496357 0.360319525 -0.89287704229 -0.22583054006 0.50027298927 -0.83589923382 0.049690622836 0.49723383784 -0.86619246006 0.20432774723 0.49026718736 -0.84728288651 0.14767329395 0.48001840711 -0.86473983526 0.21472217143 -0.5041410923 -0.83650231361 0.31917458773 -0.47385525703 -0.82072454691 0.39142128825 -0.41245532036 -0.82259953022 0.35009616613 -0.89694333076 -0.27004688978 -0.36254245043 -0.7958189249 -0.48501056433 0.039976835251 -0.70463645458 -0.7084414959 0.49905335903 -0.39992013574 -0.7687715292 0.60967290401 -0.091338559985 -0.78737300634 0.59355646372 0.027163296938 -0.80433380604 -0.93092828989 -0.34962782264 -0.10551243275 0.45881584287 0.37189558148 -0.80695831776 -0.58298695087 -0.47516912222 -0.65904515982 -0.66121971607 -0.70312309265 -0.26154607534 0.89394807816 0.36101910472 -0.26555997133 0.85844373703 0.50696265697 0.077866263688 -0.8107431531 -0.53671741486 -0.23373043537 0.8657746911 0.49549368024 0.070143893361 -0.89154857397 -0.31619259715 -0.32428908348 0.95698356628 0.2764544785 0.088064335287 -0.10713762045 -0.98645991087 -0.12417067587 0.13843913376 -0.94555431604 -0.29455322027 -0.25124266744 -0.9668700695 0.045159235597 -0.25596228242 -0.96563816071 0.045013412833 -0.030148467049 -0.99689936638 0.072681963444 0.099035412073 -0.92568457127 0.36510282755 0.91399031878 -0.32517799735 -0.24265396595 0.95334506035 -0.1351929158 -0.26991862059 0.74293583632 0.63294774294 -0.21776942909 -0.25937384367 -0.51518398523 -0.81689089537 0.41706690192 -0.45953705907 -0.78414338827 0.30205637217 0.94423288107 0.13109637797 0.20053809881 0.97831535339 0.051802709699 0.82281774282 -0.49257612228 -0.28344258666 -0.95292574167 0.30136650801 -0.033328272402 0.91685342789 0.15200345218 -0.36915403605 0.77346879244 0.62338864803 0.11459752917 0.21856383979 -0.97271424532 0.077825851738 -0.54468810558 0.32271277905 -0.77406162024 0.28810939193 -0.93449002504 0.20909643173 0.91728311777 -0.38822221756 -0.0887420699 0.44288375974 -0.87134379148 0.21122021973 -0.5529204011 0.66813200712 -0.49787411094 0.58033043146 0.24892859161 -0.77540385723 -0.41706699133 0.45953705907 -0.78414338827 -0.57801377773 0.63830715418 -0.50839358568 -0.79086703062 -0.60658043623 -0.081176191568 -0.70715546608 0.29231825471 -0.64380210638 0.13290642202 -0.98761969805 -0.083325669169 0.10271245241 0.56297463179 -0.82006692886 -0.281126827 -0.89757490158 -0.33959826827 -0.91399037838 0.32517793775 -0.24265395105 0.98474138975 0.14271759987 -0.0995792225 0.90921747684 -0.15687231719 -0.38563537598 -0.55875837803 0.6816368103 -0.47239845991 0.10713759065 0.98645991087 -0.12417057902 0.88270354271 0.257478863 -0.39311468601 -0.86577475071 -0.49549365044 0.07014387846 0.81074309349 0.53671753407 -0.23373040557 0.52384305 0.7336384058 -0.4328546226 -0.38697382808 -0.61308574677 -0.68875038624 0.58298689127 0.47516900301 -0.65904527903 -0.45881593227 -0.37189552188 -0.80695825815 -0.54780143499 -0.14887364209 -0.82325589657 0.86695188284 0.46736773849 -0.17309500277 -0.49905338883 0.39992007613 -0.7687715292 0.018916253 0.67852401733 -0.73433464766 0.36254245043 0.7958189249 -0.48501056433 -0.13883191347 0.96218830347 -0.23434872925 -0.39142131805 0.41245532036 -0.82259953022 -0.31917458773 0.47385522723 -0.82072454691 -0.21472214162 0.5041410923 -0.83650231361 -0.021927248687 0.66371661425 -0.74766266346 -0.051279712468 0.630448699 -0.77453523874 0.052636917681 -0.65667444468 -0.75233507156 0.39141824841 -0.41245990992 -0.82259869576 0.30500251055 -0.53638797998 -0.78693163395 -0.26115447283 -0.60911560059 -0.74885010719 0.39142477512 -0.4124507606 -0.82260018587 0.13880415261 -0.97232484818 0.18793040514 0.53160488605 -0.21564225852 -0.81908160448 0.3431275785 -0.91766172647 0.2004006952 -0.37432098389 -0.8648353219 -0.3345797658 -0.57417649031 -0.32880777121 -0.74980449677 -0.84573084116 -0.49796023965 -0.19176787138 -0.8157786727 0.076737001538 -0.57325088978 0.50545889139 0.21303735673 -0.83613777161 -0.88999116421 -0.43114840984 -0.14841414988 -0.84050703049 -0.53897637129 -0.055248826742 0.47050365806 0.87272197008 0.13031767309 -0.67288285494 -0.71304625273 0.19696111977 -0.80889809132 -0.57087832689 0.14064779878 0.98767781258 0.066016979516 0.14189518988 0.91757786274 -0.29819503427 0.26292687654 0.20147074759 -0.93190097809 -0.30161255598 0.46852380037 -0.79256039858 -0.39029920101 0.58515334129 -0.71816319227 -0.37661281228 -0.97981077433 0.181081146 0.084737725556 -0.92786759138 0.094433322549 -0.36075490713 0.92958754301 -0.32698580623 0.17013910413 -0.27244409919 -0.53284066916 -0.8011585474 -0.064743928611 0.99731522799 0.034212745726 0.92081320286 -0.38889795542 0.029349507764 -0.82066208124 0.57003134489 -0.039723590016 -0.53372758627 -0.46702474356 -0.70499843359 0.36088767648 -0.64235454798 -0.67612183094 0.87052094936 0.49123412371 -0.029703060165 -0.85996419191 0.32501858473 0.39347746968 0.59175765514 0.72865706682 0.34479242563 -0.98487615585 0.17007902265 0.033046193421 -0.31394127011 -0.90360403061 0.29144576192 -0.87052100897 -0.4912340939 -0.029702998698 -0.82762241364 -0.56069272757 0.025783563033 0.10372687876 -0.99131286144 0.080867104232 -0.10979221761 -0.99337309599 -0.033993236721 -0.92081320286 0.38889798522 0.029349453747 -0.92958748341 0.32698592544 0.17013913393 -0.89872288704 0.28239610791 0.33548408747 0.79069203138 0.44378167391 0.42173919082 -0.93508982658 -0.25963804126 0.2412365526 0.80889803171 0.5708783865 0.14064776897 -0.79832243919 -0.58685839176 -0.13519784808 0.064206182957 -0.98749774694 -0.14396460354 0.84050697088 0.53897643089 -0.055248830467 -0.34647485614 -0.56920051575 -0.74563121796 0.62677133083 0.18849678338 -0.75605994463 0.57417649031 0.32880777121 -0.74980449677 -0.13880418241 0.97232484818 0.18793034554 0.22498400509 0.92086040974 -0.31843101978 -0.53160488605 0.21564219892 -0.81908160448 -0.39142480493 0.4124507308 -0.82260012627 -0.39141827822 0.41245988011 -0.82259869576 -0.30500254035 0.53638803959 -0.78693157434 -0.17739064991 -0.76916456223 -0.61393684149 -0.29652807117 -0.70805197954 -0.64088493586 -0.018026281148 -0.99751579762 -0.068097569048 -0.62228792906 -0.44798928499 -0.64192157984 0.4335038662 0.0928793028 -0.89635252953 0.27258065343 0.18636922538 -0.94391012192 -0.7065128088 -0.69912743568 0.10982020944 -0.82283574343 0.07920153439 -0.56273305416 -0.89994585514 -0.3932967782 -0.18818892539 -0.96105164289 0.27583470941 -0.017173303291 0.1977352798 0.96380096674 0.1788533181 -0.27745395899 0.95394736528 -0.11403384805 0.32687392831 0.16111625731 -0.93123304844 0.53815460205 0.82191932201 -0.18664993346 0.077796459198 0.10332134366 -0.99160093069 0.93073517084 0.295976758 0.21477852762 0.91010826826 -0.24779780209 0.33211317658 -0.039900675416 -0.80488950014 -0.5920817256 0.40529823303 -0.81530445814 -0.41353592277 0.73784017563 -0.61531162262 0.27745905519 -0.49650406837 0.018480796367 -0.86783766747 -0.67183423042 0.51727843285 -0.53015261889 0.67950302362 -0.43750059605 0.5889557004 0.27066737413 -0.55854934454 0.78406745195 0.45238682628 -0.23256829381 -0.86096352339 -0.52214330435 -0.46181255579 -0.71700453758 0.35255178809 0.84831994772 0.39504489303 0.65912002325 -0.4720916152 0.58539754152 -0.61063575745 0.69114476442 0.38657838106 -0.75244283676 0.55112677813 0.36067852378 0.19797766209 -0.91184395552 -0.35964635015 0.17187172174 0.94589030743 0.2752302587 -0.74852252007 -0.24249443412 -0.61717945337 -0.60699754953 0.75648593903 0.24348095059 0.7028670907 -0.29428765178 -0.64758986235 -0.75763446093 -0.17102394998 -0.62987369299 -0.6546612978 0.27186873555 0.70534104109 0.88268637657 0.20242975652 0.42413082719 -0.75463312864 0.18762999773 0.62874782085 0.55950272083 0.41580405831 0.71698236465 -0.74748897552 -0.16466422379 0.64354169369 0.86404126883 -0.49962511659 0.061703879386 0.28760364652 -0.93715941906 0.19752551615 0.74852257967 0.24249438941 -0.61717945337 -0.47374239564 0.58664596081 -0.65682160854 -0.28067141771 0.80105930567 -0.52870362997 -0.18402656913 0.9677349925 -0.17211396992 0.4107606411 -0.82398355007 0.39029064775 -0.65061581135 -0.6582993865 0.37860396504 -0.70400124788 -0.44433426857 0.55403006077 -0.65911990404 0.47209179401 0.58539754152 0.26757341623 0.43144884706 -0.86154299974 0.5746743679 0.74205827713 0.34510704875 0.30750972033 0.77623331547 0.55036318302 -0.19847507775 0.20974332094 -0.95740032196 -0.078084625304 0.82688724995 0.55692028999 -0.091615878046 0.13104215264 -0.98713445663 0.83934617043 0.19508972764 0.50738352537 0.62240993977 0.76785129309 0.15169155598 0.49650406837 -0.018480759114 -0.86783766747 -0.59996157885 0.71708595753 -0.35473060608 0.98000055552 -0.13311561942 0.14791584015 0.92705327272 0.1600445956 -0.3390545547 0.87537062168 0.47873470187 -0.067374564707 -0.93073517084 -0.29597678781 0.21477854252 0.55490547419 0.64836972952 0.52124524117 0.41793727875 0.56560659409 0.710927248 0.63896811008 0.43090927601 0.63721030951 -0.47064399719 -0.08101978153 -0.87859547138 0.88025009632 -0.23513379693 -0.41215512156 -0.69615769386 0.18857496977 -0.69267880917 0.82283574343 -0.079201497138 -0.56273299456 0.7065128088 0.69912743568 0.1098202318 -0.20533707738 0.71230846643 0.67115819454 0.71749055386 0.69371920824 0.062936156988 0.018026260659 0.99751579762 -0.068097665906 0.62228798866 0.44798925519 -0.64192152023 -0.10544809699 -0.016979862005 -0.99427986145 0.29652810097 0.70805197954 -0.64088493586 -0.12348006666 0.082592502236 -0.98890399933 -0.09863499552 0.19985666871 -0.97484791279 0.096450775862 0.78924745321 -0.60645335913 0.014858791605 -0.83772194386 -0.54589486122 0.015476191416 -0.34068399668 -0.94005048275 -0.34574320912 -0.81251722574 -0.46933722496 -0.065584219992 -0.8538300395 -0.51640385389 0.22311109304 -0.85095113516 -0.47550347447 -0.75815331936 -0.61372059584 -0.22034202516 0.40102389455 -0.76951241493 -0.4970215559 -0.81469404697 -0.57309252024 -0.088535584509 -0.10147622973 -0.51904648542 -0.84870100021 0.12102554739 -0.54943186045 -0.82672697306 0.36880007386 -0.63127505779 -0.68225973845 0.21279902756 -0.94641602039 0.24292652309 0.29036304355 -0.76673662663 0.57254195213 -0.79367148876 -0.31839847565 -0.51837044954 -0.21800629795 0.14456515014 -0.96518087387 -0.89288026094 -0.020396087319 -0.44983205199 -0.47943988442 -0.60290271044 0.63768780231 -0.91716092825 0.30139970779 -0.26071840525 -0.96715497971 -0.21890801191 -0.12919178605 -0.91858971119 -0.022362703457 -0.39457935095 0.68076097965 -0.25162032247 -0.68793296814 -0.96936386824 -0.22481355071 -0.098957397044 0.29452055693 -0.09091668576 -0.95131057501 0.33316096663 -0.21069736779 -0.91902685165 -0.46620646119 0.86602342129 -0.18070687354 -0.76544618607 0.063993141055 0.64031010866 -0.26785126328 0.89045608044 -0.3678907752 0.31756648421 -0.19793602824 -0.92734718323 0.50020080805 0.84059137106 -0.2078589946 -0.25990447402 0.33828446269 -0.90444087982 0.1814493984 -0.047971487045 -0.98222953081 0.12873572111 -0.39612919092 -0.90912526846 -0.27365627885 -0.84944975376 -0.45116227865 0.39018529654 -0.36660376191 -0.84460473061 -0.16622766852 -0.24222995341 -0.95587289333 -0.4341994226 -0.231789276 -0.87048524618 0.73838549852 -0.3981218636 -0.54432141781 0.69870901108 -0.20437729359 -0.68559145927 -0.35948109627 -0.19961939752 -0.9115511179 -0.050489295274 0.66835695505 -0.74212521315 -0.67576688528 0.70934104919 -0.20043548942 0.47728550434 0.23705171049 -0.84617078304 0.049990974367 -0.5251967907 0.84951114655 -0.42381623387 -0.12448643148 0.89715266228 0.34504243731 -0.28678166866 0.89370125532 -0.018915606663 0.90526396036 0.42442822456 0.11212749034 0.71296370029 0.69217789173 0.18488408625 0.4643188715 0.8661558032 0.70393401384 0.44397428632 0.5544039011 -0.6835462451 -0.12559948862 0.71901971102 0.64164298773 -0.18658261001 0.74396318197 -0.8107098937 0.18682834506 0.55483746529 0.32319390774 -0.66810953617 0.6702054143 0.25306105614 -0.89996659756 -0.35499325395 -0.76572781801 -0.39559483528 -0.50711500645 0.7689499259 0.45968624949 0.44430235028 0.65182566643 -0.5359557271 -0.53653967381 -0.24017764628 0.89701741934 0.37104511261 -0.18362924457 0.90476751328 0.38428649306 -0.79425317049 0.43343490362 0.42578881979 -0.83868688345 -0.21407540143 -0.50077545643 -0.35987329483 0.79327529669 0.49112674594 0.612388134 0.50941359997 0.60454827547 0.84903240204 -0.20481847227 -0.48702502251 -0.85985839367 -0.076392918825 -0.50478482246 0.46164318919 0.62847232819 0.62602567673 -0.17186205089 0.28066328168 0.94429421425 0.41808363795 -0.32191696763 0.84945601225 0.85985839367 0.076392948627 -0.50478470325 -0.84903240204 0.20481869578 -0.4870249629 -0.81413191557 0.28987592459 -0.50315123796 0.79425317049 -0.43343475461 0.425788939 -0.65182566643 0.53595560789 -0.53653967381 -0.25306099653 0.89996659756 -0.35499325395 -0.072916552424 0.98565304279 -0.15222105384 0.81070977449 -0.18682846427 0.5548375845 -0.64164298773 0.18658261001 0.74396318197 -0.62406921387 -0.20461317897 0.75410282612 -0.18488411605 -0.46431875229 0.86615586281 -0.036456912756 -0.66742902994 0.74378049374 -0.19682316482 -0.24629537761 0.94899904728 -0.3450422883 0.28678181767 0.89370131493 -0.56186330318 0.14250995219 0.81486231089 -0.58812814951 -0.14932309091 0.79486346245 0.42381602526 0.12448664755 0.89715272188 -0.47728544474 -0.23705171049 -0.84617084265 0.40001422167 0.23462474346 -0.88596832752 0.050489269197 -0.66835689545 -0.74212527275 0.53586131334 -0.49362164736 -0.68497473001 0.38088685274 0.18571422994 -0.90577888489 0.36614453793 -0.17446088791 -0.91405773163 -0.84323239326 0.37012329698 -0.38983055949 0.75054430962 0.49798846245 -0.43438544869 0.16622768342 0.2422299087 -0.95587289333 -0.010094204918 0.32024949789 -0.94727945328 0.74910265207 0.64190739393 0.16370745003 0.68390935659 0.6554223299 0.32045209408 0.67704367638 0.022650286555 0.7355941534 0.46133977175 0.45455393195 0.76193588972 -0.24123229086 0.10568868369 -0.96469521523 0.76544612646 -0.063993170857 0.64031010866 -0.29452049732 0.090916611254 -0.95131057501 0.84782451391 -0.39830347896 0.35006850958 -0.39902293682 0.28677919507 -0.8709411025 0.8782889843 -0.47689947486 0.034283421934 -0.5026191473 0.40669164062 -0.76287347078 -0.72674673796 -0.35848993063 -0.58593869209 -0.58278864622 -0.42708650231 -0.69134253263 0.91716092825 -0.3013997376 -0.26071837544 -0.73435157537 0.35064119101 -0.58118718863 0.61309218407 -0.10890248418 -0.78246933222 0.89288014174 0.020396247506 -0.449832201 -0.73284476995 0.45775404572 -0.50338828564 0.42666843534 0.2112544477 -0.87938934565 0.25990092754 0.21780353785 -0.94075137377 0.79367154837 0.31839847565 -0.51837044954 0.10147625208 0.51904642582 -0.84870100021 -0.033083736897 0.30794125795 -0.95082998276 -0.40102395415 0.76951235533 -0.49702167511 0.81469404697 0.57309252024 -0.088535644114 0.75815337896 0.61372047663 -0.22034202516 0.065584175289 0.8538300395 -0.5164039135 0.34574326873 0.81251716614 -0.46933719516 -0.084549032152 0.09778611362 -0.99160945415 0.20937506855 0.83981442451 -0.50087302923 -0.065120629966 0.67466014624 -0.73525029421 0.0078826425597 -0.51688605547 -0.8560179472 -0.118678689 -0.94214367867 -0.31349742413 -0.1320951879 -0.77964031696 -0.61213707924 0.17768415809 -0.22424906492 -0.95819658041 0.16536733508 -0.13271661103 -0.97726142406 0.20735040307 -0.061485417187 -0.97633260489 -0.47322052717 -0.87984776497 -0.043934579939 -0.11071934551 -0.97428482771 -0.19624051452 0.081664070487 -0.96661061049 -0.24288856983 -0.36062848568 -0.8932659626 -0.26837095618 -0.50975722075 -0.85994660854 -0.02528517507 0.32849380374 -0.92195391655 -0.205165416 0.41172614694 0.17659047246 -0.89403432608 -0.84455627203 -0.51163119078 0.15798172355 0.5204680562 -0.81376701593 -0.25864306092 -0.83165717125 -0.49702706933 -0.24760939181 0.44727015495 -0.82478702068 0.3459418416 -0.95924383402 -0.23350329697 -0.15914604068 -0.20646549761 0.51674073935 -0.83087366819 -0.88315039873 0.44961279631 0.13376751542 0.58608621359 0.44504618645 -0.67707961798 -0.75200116634 0.28664696217 -0.59357208014 -0.98173034191 -0.039727039635 -0.18608403206 0.1593644917 -0.51575213671 0.84178543091 0.50943374634 -0.49639889598 -0.7028978467 -0.70298963785 0.032495845109 0.71045726538 -0.11290647835 -0.29987552762 -0.9472733736 -0.68114423752 2.5396871933e-05 0.73214924335 0.49835419655 -0.31696557999 -0.80695468187 0.20468434691 -0.2232927829 -0.95301872492 0.57077288628 0.81712543964 0.080773152411 -0.0883044824 0.77368682623 -0.627384305 -0.1877989769 -0.24513740838 -0.95112520456 0.84489542246 -0.22897732258 0.48344710469 0.83534741402 -0.18903771043 0.51619714499 -0.3008427918 -0.25510028005 -0.91892188787 0.55601370335 -0.36925774813 -0.74464589357 -0.47268635035 -0.71550184488 0.51441681385 0.34675842524 -0.09736866504 -0.93288689852 -0.31808587909 -0.91556835175 -0.24608120322 0.29888343811 -0.00083588104462 -0.95428925753 0.19840097427 0.11780658364 -0.97301524878 0.1272688657 0.27109256387 -0.95410245657 0.90105187893 0.18527626991 0.3921456933 0.87269222736 -0.029448768124 0.48738181591 0.1059242487 0.62701195478 -0.77177464962 -0.79162865877 0.31725272536 0.52218270302 -0.5606610775 0.47403791547 0.67893093824 -0.56049329042 0.47428840399 0.67889451981 -0.56063586473 0.47417849302 0.67885357141 -0.26481345296 0.81874155998 0.50944685936 -0.4238255024 0.71880674362 0.55107969046 0.65544015169 -0.15975283086 -0.73815798759 -0.83642065525 -0.38321712613 -0.39184841514 0.73361223936 0.29665666819 0.61139827967 0.44108459353 -0.8959671855 -0.051838435233 0.7229861021 -0.32969087362 -0.6071202755 0.77956116199 -0.58639293909 -0.22006301582 0.89453691244 -0.36884781718 -0.25249758363 0.2628903687 0.90455144644 0.33567148447 0.3492591083 0.66574752331 0.65939235687 -0.96671169996 -0.058483310044 -0.24909469485 0.97064775229 -0.12146656215 -0.20757848024 0.91102713346 -0.022266615182 -0.41174474359 -0.97064775229 0.1214665398 -0.20757837594 0.96671169996 0.058483395725 -0.24909472466 0.18922942877 -0.78381538391 0.5914606452 0.92944961786 0.22737924755 -0.29055476189 -0.71158713102 -0.49728372693 0.49633929133 -0.89453679323 0.36884811521 -0.25249764323 0.48033881187 -0.7520878911 0.45126315951 -0.77956134081 0.58639276028 -0.22006291151 -0.44108450413 0.8959671855 -0.051838383079 -0.66008806229 0.081489421427 0.74675512314 0.26481351256 -0.81874150038 0.50944691896 0.56049388647 -0.47428819537 0.67889422178 -0.41984465718 0.43964394927 0.79400479794 0.71446353197 0.28119018674 -0.64068239927 0.4238255322 -0.71880656481 0.55107986927 0.56066137552 -0.47403809428 0.67893058062 0.56063622236 -0.47417846322 0.678853333 0.79162865877 -0.31725269556 0.52218270302 0.78813099861 0.12981882691 -0.60166156292 -0.12726888061 -0.27109259367 -0.95410245657 -0.29888349771 0.00083591247676 -0.95428925753 0.10293740779 0.75290626287 -0.65002769232 0.589225173 0.68955290318 -0.42110624909 0.47268632054 0.71550190449 0.51441681385 0.21648719907 0.79783606529 0.56266409159 0.31808575988 0.91556835175 -0.24608139694 -0.34675842524 0.097368717194 -0.93288689852 -0.55601364374 0.36925780773 -0.74464589357 0.3008428812 0.25510028005 -0.91892188787 -0.84489542246 0.22897739708 0.48344710469 -0.83534735441 0.18903779984 0.51619714499 0.11327900738 -0.84251767397 -0.52662301064 -0.57077276707 -0.81712555885 0.080773100257 0.42859441042 0.1805434674 0.88527446985 0.3449613452 0.51005733013 0.78793603182 -0.19777309895 0.26454216242 -0.94387668371 -0.00047434546286 0.29693627357 -0.9548971653 0.1129065007 0.29987555742 -0.947273314 0.79892301559 -0.42709240317 0.42345497012 -0.1593645215 0.51575213671 0.84178543091 0.98173034191 0.03972709924 -0.18608404696 -0.42718267441 -0.54798471928 -0.71918541193 0.20646546781 -0.51674079895 -0.83087360859 0.88315033913 -0.44961288571 0.13376747072 0.98247730732 -0.18608510494 0.010520796292 0.95924377441 0.23350349069 -0.15914620459 -0.44727009535 0.82478702068 0.34594193101 0.83165717125 0.49702703953 -0.24760955572 -0.68082398176 0.66477769613 -0.3074888289 -0.52046817541 0.81376689672 -0.25864309072 0.8492847085 0.49857389927 0.17360763252 0.61674892902 0.75751030445 -0.21400676668 -0.32849368453 0.92195391655 -0.2051654011 0.3606287837 0.89326584339 -0.26837095618 -0.081664092839 0.96661067009 -0.24288848042 0.11071941257 0.97428482771 -0.19624048471 0.50975722075 0.85994660854 -0.025285134092 0.47322079539 0.87984764576 -0.043934408575 -0.20735032856 0.06148551777 -0.97633260489 -0.22038419545 -0.73071217537 -0.64613503218 0.29030793905 -0.1007475853 -0.95161503553 -0.26812031865 -0.96333014965 0.010319224559 0.45693907142 0.15926609933 -0.87512344122 -0.24998115003 -0.90823233128 0.33559414744 0.18590140343 -0.97279077768 0.13827058673 -0.54699987173 -0.82765889168 0.12558613718 -0.5935228467 -0.66716492176 0.45013508201 0.32705527544 -0.93623799086 0.12842616439 0.46563026309 0.31992697716 -0.8251273632 0.6531317234 -0.75672978163 0.027911012992 -0.75969046354 -0.63333439827 0.14750573039 0.72906988859 0.26219174266 -0.63222825527 0.65000981092 0.50436371565 -0.56842285395 -0.88022530079 -0.41541755199 0.22941587865 0.95880585909 -0.27858510613 0.055512979627 -0.9278985858 -0.063542202115 0.36737793684 -0.82732582092 -0.040681283921 0.56024724245 -0.86540722847 0.25972431898 0.42850154638 -0.83992654085 0.17923858762 0.51224696636 0.63809263706 -0.69960153103 -0.32155171037 -0.84873080254 0.37126770616 0.37658515573 0.48207470775 -0.68571513891 -0.545342803 0.29437786341 -0.34037035704 0.89302277565 0.69646722078 0.27735841274 0.66181999445 -0.7373675704 0.6627753377 0.13045279682 0.59228366613 -0.5147190094 -0.61989068985 0.17372658849 -0.34750694036 -0.92144346237 -0.27000200748 -0.25761449337 -0.92775732279 -0.7975924015 0.56950598955 0.19876937568 -0.73896366358 0.40959686041 0.53494220972 -0.48403334618 0.46645098925 0.74036157131 -0.26850304008 -0.41640380025 0.86862766743 -0.60514014959 0.78851437569 -0.10977485031 0.23269084096 0.92029833794 -0.31449311972 0.45607289672 0.88018280268 0.13143709302 0.23419113457 0.91208928823 -0.33652278781 0.51800709963 -0.39196017385 0.7602866888 0.24242943525 -0.49943900108 0.83173835278 -0.27697682381 0.63526165485 -0.72092056274 0.39559599757 -0.91222983599 -0.10649193823 -0.36919125915 0.53710079193 -0.75843298435 -0.57327848673 0.38200077415 -0.72486358881 0.29839763045 -0.95404303074 0.027582323179 -0.76809614897 -0.23953892291 -0.59384286404 0.37960711122 -0.1511734277 -0.91271299124 0.25318986177 0.12580476701 -0.95920175314 -0.64669877291 -0.25505140424 -0.71883898973 0.72880250216 0.67575436831 0.11046665907 0.76995706558 0.60016214848 0.21672920883 0.099046520889 0.42798662186 -0.89834135771 -0.85344445705 0.36132153869 0.37560531497 0.10247322172 0.81466448307 -0.57080733776 -0.75679832697 0.39555814862 0.52037495375 0.72218626738 0.32828581333 0.60883122683 0.30807358027 0.73340809345 0.60597294569 -0.92742788792 -0.17555102706 -0.33024138212 0.60889416933 0.20963703096 -0.76504915953 -0.0021345433779 -0.58720904589 0.80943250656 -0.06539375335 -0.91154658794 0.40596356988 0.32190743089 -0.8232498765 0.46758446097 0.15600638092 0.44901540875 0.87979948521 -0.16653229296 -0.73840945959 0.65346646309 0.75030434132 -0.58257216215 0.3124948442 -0.94305741787 -0.32561656833 -0.067945227027 -0.97347533703 -0.22808304429 0.01799620688 0.8921636343 -0.40524962544 0.19954143465 -0.34360912442 0.63776385784 0.68934029341 -0.92030072212 -0.21418975294 -0.32736724615 -0.98496955633 -0.16798432171 0.040202047676 0.99443423748 0.013763017952 0.10445607454 0.98496961594 0.16798424721 0.04020197317 -0.20191994309 -0.91366744041 0.35276076198 -0.8921636343 0.40524971485 0.19954128563 -0.75030434132 0.58257228136 0.31249478459 0.97347539663 0.22808286548 0.01799620688 -0.32190740108 0.8232498765 0.46758452058 0.065393663943 0.91154658794 0.40596362948 0.002133410424 0.58720833063 0.809433043 0.16653227806 0.73840987682 0.65346604586 -0.56325572729 -0.09709290415 0.82055830956 -0.59404706955 -0.27334094048 0.7565664649 0.84194600582 -0.039464283735 0.53811657429 0.9243144989 0.34903931618 -0.15431879461 -0.74297916889 0.5389329195 0.39690461755 -0.60889410973 -0.20963704586 -0.76504915953 -0.22151780128 -0.75524127483 -0.61687964201 -0.099046483636 -0.42798653245 -0.89834141731 -0.76995712519 -0.60016202927 0.21672923863 -0.23321346939 -0.25680992007 -0.93790197372 0.088489897549 -0.72559607029 -0.68240743876 -0.25318992138 -0.12580475211 -0.95920175314 -0.37960711122 0.15117348731 -0.91271299124 0.76809620857 0.23953896761 -0.59384280443 -0.2983969748 0.95404320955 0.027583442628 -0.39559614658 0.91222977638 -0.10649185628 0.57327842712 -0.38200071454 -0.72486364841 0.36919125915 -0.53710079193 -0.75843298435 -0.69544786215 0.52346348763 0.4922786057 0.2769767642 -0.63526159525 -0.72092062235 -0.51800704002 0.39196023345 0.7602866888 -0.45607283711 -0.88018286228 0.13143700361 -0.24242947996 0.49943906069 0.83173829317 0.26850301027 0.41640388966 0.86862760782 -0.50305813551 0.39555373788 -0.76842033863 0.36025214195 -0.73853415251 -0.56989973783 -0.23269088566 -0.92029833794 -0.31449314952 0.48403337598 -0.46645101905 0.74036151171 -0.53479117155 0.38725760579 -0.75101929903 0.57925361395 -0.66973125935 -0.46467763186 0.44845071435 0.21953006089 -0.86642861366 0.7975924015 -0.56950604916 0.19876940548 0.27000203729 0.25761440396 -0.92775738239 0.7373675108 -0.66277545691 0.13045267761 -0.69646728039 -0.27735841274 0.66181999445 -0.57978928089 -0.12668316066 0.80485761166 -0.51546126604 0.55199551582 -0.65543925762 -0.29437798262 0.34037032723 0.89302277565 -0.51973247528 0.73336052895 -0.43824705482 0.85815650225 0.34246715903 0.38247054815 0.23767113686 -0.68639647961 -0.6872934103 -0.63809263706 0.69960147142 -0.32155179977 -0.74584174156 0.63724321127 -0.19401352108 0.89986515045 0.39459109306 0.18585088849 0.86540716887 -0.25972434878 0.42850163579 0.83992654085 -0.17923854291 0.51224696636 0.9278986454 0.063542209566 0.36737784743 0.82732588053 0.040681280196 0.56024724245 0.88022530079 0.4154175818 0.22941581905 -0.65000981092 -0.50436365604 -0.56842285395 -0.6531317234 0.75672972202 0.027911007404 -0.48766240478 0.86639750004 0.1074277088 0.5935228467 0.66716498137 0.4501349628 0.54699999094 0.82765883207 0.12558615208 -0.18590122461 0.97279083729 0.13827060163 -0.028742747381 0.98086941242 0.19253318012 0.24998109043 0.90823233128 0.33559417725 0.29733905196 0.84056931734 0.45280539989 -0.39098721743 -0.037760138512 -0.91962122917 0.22038419545 0.73071223497 -0.64613503218 -0.29030784965 0.10074754804 -0.95161509514 -0.013661431149 0.43437120318 -0.90063035488 0.049912612885 -0.40458804369 -0.9131359458 0.24312967062 -0.44666829705 -0.86103159189 -0.17472174764 -0.80883747339 -0.56147509813 0.22080297768 -0.15778826177 -0.96247023344 -0.37150204182 -0.86003679037 -0.34974706173 -0.46034857631 -0.88417887688 -0.079416178167 -0.23269589245 -0.93189281225 0.27825966477 0.48907235265 0.27706822753 -0.82706797123 0.10298662633 -0.88464617729 0.4547470212 -0.77691954374 -0.30567210913 0.55041855574 0.80029475689 0.54321461916 -0.25386241078 0.55837988853 0.077060267329 0.82599854469 0.21367396414 -0.56241327524 -0.79877078533 -0.84001982212 0.31012663245 0.44518327713 0.30925750732 -0.46073970199 0.83191269636 -0.22530245781 -0.41299700737 -0.88242411613 0.58036744595 -0.69275838137 -0.42808815837 -0.14260652661 -0.24574112892 -0.95878815651 0.2956186235 0.53832757473 -0.78918504715 0.4125611186 -0.32014802098 -0.85281801224 0.3136613369 0.35590884089 -0.88030987978 -0.96450340748 -0.058943483979 -0.25740781426 -0.48289257288 0.19652882218 -0.85334122181 -0.95681852102 0.16769807041 -0.23743571341 -0.85248833895 0.33295601606 -0.40299373865 -0.80658298731 -0.14742456377 -0.57244199514 0.83199673891 0.11752250046 0.54218995571 -0.61431896687 0.55357992649 -0.56228238344 -0.93895810843 -0.17210240662 -0.29788994789 -0.77017492056 0.63700914383 -0.032402671874 0.12142080814 0.85497188568 -0.50426191092 -0.98789525032 0.010588453151 -0.15476055443 0.85304939747 -0.29079771042 -0.43329364061 0.85507810116 -0.22071895003 -0.46917438507 0.31849959493 -0.70925915241 0.62889546156 -0.083299890161 0.37203046679 -0.92447525263 -0.20679278672 0.37215682864 -0.90484035015 -0.6774482131 0.035306535661 -0.73472267389 -0.52098542452 0.20729357004 -0.82801181078 0.53319150209 -0.32164186239 -0.78246623278 -0.13162328303 -0.5677754283 0.8125923872 -0.42856934667 -0.87281858921 -0.23348668218 -0.34568369389 -0.7511600256 -0.56237125397 -0.40562802553 -0.8825275898 -0.23793062568 0.53347784281 -0.15866570175 -0.83079874516 0.25997468829 0.040479712188 -0.96476656199 0.24935314059 0.55494087934 0.79363948107 0.48179021478 0.6020680666 0.63670420647 -0.07069452107 0.94653338194 0.31476476789 -0.0046849502251 0.98705822229 -0.16029383242 0.62318891287 0.085022628307 0.77743601799 0.47662389278 0.69944143295 0.53255170584 -0.096213035285 0.8195297718 -0.56490176916 -0.56983804703 0.79148972034 -0.22097210586 0.064237222075 0.13363681734 -0.98894631863 -0.626311481 0.70064556599 -0.34180364013 -0.60986232758 0.75892579556 -0.22825330496 -0.57722955942 0.78007668257 -0.24142575264 0.8318797946 0.13008704782 0.5394936204 -0.93338799477 -0.30615010858 0.18724040687 0.1746532321 0.91920995712 0.35291546583 -0.93042570353 -0.27584168315 0.24128679931 0.12525629997 0.85295623541 0.50673121214 0.47321611643 0.62621992826 0.61960887909 -0.48020842671 0.67394930124 0.56141984463 0.63722151518 -0.50949138403 0.57824498415 0.82200080156 -0.32135668397 0.47015371919 0.90803569555 -0.13262215257 0.39734429121 -0.77078896761 -0.10080915689 -0.62906432152 0.92765635252 0.091201104224 0.36212709546 -0.82200080156 0.32135665417 0.47015374899 -0.43264940381 -0.68716627359 0.58362406492 -0.41557866335 0.68239474297 0.60135829449 0.31071102619 0.94476729631 -0.10427557677 0.93338799477 0.30615016818 0.18724040687 0.63372021914 -0.74254959822 -0.21683816612 -0.064237199724 -0.13363674283 -0.98894631863 0.56983804703 -0.79148966074 -0.22097215056 -0.31826201081 -0.43907767534 -0.84019052982 0.99153578281 -0.017504239455 -0.1286483407 0.81439858675 0.51790744066 0.26177623868 -0.48179021478 -0.60206788778 0.63670438528 -0.54407393932 -0.15120506287 0.82530027628 -0.24935302138 -0.55494093895 0.79363948107 -0.2599747479 -0.04047973454 -0.96476656199 0.49170848727 0.85306739807 -0.17463895679 -0.5334777236 0.15866556764 -0.83079886436 0.93383669853 -0.31755596399 0.1646425873 0.74161821604 0.27820852399 -0.61041170359 0.42856931686 0.87281858921 -0.23348671198 0.34568372369 0.7511600256 -0.56237119436 0.97022306919 -0.22677254677 0.085096672177 -0.31849944592 0.70925915241 0.62889552116 -0.45670875907 0.63044381142 0.62766051292 -0.53319144249 0.32164186239 -0.78246623278 0.52098548412 -0.20729351044 -0.82801181078 0.20679275692 -0.37215679884 -0.90484035015 -0.85304945707 0.29079768062 -0.43329364061 0.99346417189 -0.096407055855 -0.061111215502 -0.25228908658 0.69159811735 0.67678815126 0.98789525032 -0.010588406585 -0.15476059914 0.20734488964 -0.7995454073 -0.56368011236 0.96266072989 0.15035034716 -0.22512020171 -0.36187025905 -0.56301814318 -0.74300771952 0.93895810843 0.17210236192 -0.29788994789 0.71293252707 -0.50189143419 -0.48972666264 0.85248833895 -0.33295601606 -0.40299373865 0.8065829277 0.14742454886 -0.57244217396 -0.60428059101 0.57337456942 -0.55325084925 0.95681852102 -0.16769805551 -0.2374356389 0.48289263248 -0.19652880728 -0.8533411622 -0.3136613667 -0.3559089005 -0.88030982018 -0.4125611186 0.32014811039 -0.85281801224 -0.58036738634 0.69275844097 -0.42808809876 0.97205400467 0.22235289216 -0.075300849974 -0.29561859369 -0.53832751513 -0.78918510675 0.14260660112 0.24574109912 -0.9587880969 0.22530257702 0.41299700737 -0.88242405653 -0.72835606337 0.67358440161 0.12562444806 -0.83432877064 0.013951478526 0.5510905385 -0.83813333511 -0.0074686715379 0.54541426897 -0.80029475689 -0.54321467876 -0.25386244059 0.77691948414 0.30567210913 0.55041861534 -0.56573021412 0.74579155445 0.3517729938 -0.43468886614 0.80586206913 0.40203469992 0.10361788422 0.83393418789 0.54204899073 0.45237660408 0.79431420565 0.40548786521 0.23269589245 0.93189275265 0.27825972438 0.33863028884 0.94091933966 0.0005891941255 0.37150210142 0.86003673077 -0.34974703193 -0.22080299258 0.15778817236 -0.96247023344 -0.24312953651 0.44666832685 -0.86103159189 0.048264563084 0.53494352102 -0.84350812435 -0.055415902287 -0.75745719671 -0.65052878857 0.43075013161 -0.54006820917 -0.72303569317 -0.4030674994 -0.88750433922 -0.22332186997 0.65609419346 -0.19939929247 -0.72786009312 -0.57914078236 -0.81506901979 0.016077740118 0.6641613245 0.020045150071 -0.74732047319 -0.42270359397 -0.88524287939 0.19407907128 0.30863973498 -0.7688511014 0.56000846624 0.40392673016 -0.71317398548 0.57291018963 0.55854159594 0.77360993624 -0.29926392436 -0.77730196714 -0.60794889927 0.16186353564 0.67335879803 0.71184700727 0.19965413213 -0.086723059416 -0.70025110245 -0.70860952139 0.51992064714 0.61934483051 0.58829796314 -0.86752820015 -0.48696455359 -0.10129314661 0.51794105768 -0.8441067338 0.13863942027 0.69561970234 -0.50618582964 -0.50979322195 0.11992042512 -0.13317911327 0.98381012678 0.63450729847 -0.3482426405 -0.69001996517 -0.90595507622 0.42195928097 0.034579746425 0.17451697588 0.20952244103 -0.9621040225 -0.8873257637 -0.09232160449 -0.4518071413 0.71751189232 -0.23274998367 -0.65650910139 -0.73908960819 0.15773901343 -0.65487784147 -0.39195346832 0.10866817087 -0.91354459524 -0.60621106625 0.21162718534 -0.76663035154 -0.66247421503 0.58134543896 -0.47240382433 0.1311583668 0.73378664255 -0.66659927368 -0.24853460491 0.47261404991 -0.845497787 0.068717703223 -0.81206488609 0.5795071125 0.65133047104 -0.38748639822 -0.65239781141 -0.31354978681 -0.57098561525 0.75872391462 -0.2420770824 -0.016440376639 -0.97011774778 -0.18065969646 -0.39091444016 -0.90252310038 0.69764971733 -0.18813027442 -0.69129729271 -0.93533617258 -0.17421199381 -0.30789023638 -0.18282407522 0.67575442791 0.71409475803 -0.29499429464 0.9423879385 0.15774460137 0.78560060263 0.095123209059 -0.6113781333 0.58264690638 0.34692513943 -0.73495954275 0.43442887068 0.49093037844 -0.7551549077 -0.59898608923 0.56751441956 0.56492745876 -0.31835332513 0.70703631639 0.63146716356 0.15091621876 0.56574290991 -0.81065362692 -0.99422734976 0.072692506015 0.078916504979 -0.23822212219 0.38224828243 -0.89282500744 0.5789424181 0.5760923624 0.5770123601 0.030815811828 -0.99848765135 -0.045527979732 0.64161223173 0.46263718605 0.61180114746 -0.72951900959 0.28593090177 0.62132567167 -0.63741832972 0.47745528817 0.60475969315 0.27690258622 0.73031699657 0.62446939945 -0.26997774839 0.80502176285 0.52825373411 -0.6307991147 -0.45277345181 -0.6301497817 0.55912774801 -0.55693000555 0.61417025328 -0.82548475266 -0.049483280629 0.562251091 0.69479107857 0.15018470585 -0.70335620642 0.82642781734 -0.026701632887 0.56240916252 0.68698275089 0.28273287416 -0.66941529512 0.2699777782 -0.80502176285 0.52825367451 0.33538305759 0.82220077515 -0.45989575982 0.6293014884 0.43574166298 -0.64351284504 -0.14081266522 0.96759343147 0.20960606635 0.23180608451 0.86041474342 -0.45381978154 0.3472661972 -0.58415430784 -0.73360067606 -0.23776336014 0.0055796727538 -0.97130709887 0.23822200298 -0.38224828243 -0.89282500744 0.050552491099 -0.23404489458 -0.97091060877 0.929723382 0.15414506197 0.33444547653 0.78564703465 0.18444900215 0.59053981304 0.80151718855 0.36511594057 0.47356155515 0.80615448952 0.45915019512 0.37322390079 -0.14099168777 -0.81447631121 0.56280523539 -0.15091620386 -0.56574302912 -0.81065350771 0.31835335493 -0.70703631639 0.63146716356 0.59898608923 -0.56751435995 0.56492751837 -0.58264702559 -0.34692519903 -0.73495942354 -0.78560090065 -0.095123045146 -0.61137783527 0.29499426484 -0.9423879385 0.15774463117 -0.31927341223 -0.34989738464 0.88070219755 -0.37405198812 -0.20383007824 0.90473109484 0.18282413483 -0.67575442791 0.71409469843 -0.12827308476 -0.22125884891 0.96674221754 -0.5763091445 0.24670787156 0.77910393476 -0.69764959812 0.18813019991 -0.69129735231 0.36805489659 0.59627497196 -0.71343660355 0.57316708565 0.39027065039 -0.72053337097 0.18065977097 0.39091408253 -0.90252327919 -0.65133053064 0.38748651743 -0.6523976922 -0.12625050545 0.79001784325 0.59994381666 0.8448459506 0.26622334123 -0.46406939626 0.6652649045 -0.46756601334 -0.58206927776 0.60621112585 -0.21162717044 -0.76663029194 0.39195346832 -0.10866817087 -0.91354459524 -0.090425141156 -0.32381922007 -0.94178789854 -0.64473670721 0.58273977041 -0.49470081925 -0.82974386215 0.12122329324 0.54482108355 -0.56953901052 0.46367448568 0.67869824171 -0.17451699078 -0.20952235162 -0.9621040225 -0.71751183271 0.23274993896 -0.65650910139 -0.73907083273 0.27831754088 -0.61344408989 -0.32227408886 0.60458087921 0.72843766212 0.46017926931 0.55689114332 -0.69145303965 -0.2916097939 0.3621442318 0.88533341885 -0.27234441042 0.15174975991 0.95015817881 -0.20975869894 0.65552687645 -0.72545558214 0.086722828448 0.70025110245 -0.70860958099 -0.58086425066 0.77238947153 0.25692644715 -0.67335873842 -0.71184706688 0.19965413213 -0.30863967538 0.7688511014 0.56000852585 -0.018766466528 0.82216978073 0.56893289089 -0.54225510359 -0.48563295603 -0.68565303087 0.26804897189 0.85636496544 0.44134885073 -0.56877630949 -0.3550093174 -0.74193120003 -0.62824678421 -0.25365012884 -0.73550498486 0.57914084196 0.81506896019 0.016077732667 0.40306758881 0.88750427961 -0.22332184017 -0.65609401464 0.19939945638 -0.72786027193 -0.43075022101 0.54006820917 -0.72303563356 0.1643575877 0.74994540215 -0.64075613022 0.055415984243 0.75745719671 -0.65052872896 -0.23056447506 -0.89651358128 -0.37829011679 -0.063255958259 -0.94203090668 -0.32950943708 0.14929811656 -0.93267327547 -0.32837569714 0.34327119589 -0.89370572567 -0.28888571262 -0.34016788006 -0.93231284618 -0.12279498577 0.79315322638 -0.57862341404 -0.19000761211 -0.51132398844 -0.85099369287 0.11982282251 0.93845111132 -0.2888379097 -0.18942575157 -0.57901513577 -0.79011309147 0.20115356147 0.85634458065 0.25300610065 -0.45017981529 0.7508482933 0.41289618611 -0.51550316811 0.024187387899 -0.77235203981 0.63473403454 0.44890141487 0.8910561204 0.067130178213 -0.34850081801 -0.91053467989 -0.22242696583 0.19869035482 -0.96453595161 -0.17376001179 0.39264604449 -0.87489110231 -0.28353956342 -0.70164221525 -0.63157814741 -0.32985943556 0.4785784781 -0.78199768066 -0.39930218458 0.45005005598 0.59676015377 0.66432839632 0.37895679474 -0.874825418 0.30178171396 0.53880608082 0.27893275023 0.794911623 0.47772175074 -0.87244397402 0.10307002813 -0.9728294611 0.22078181803 0.069701291621 0.24094371498 -0.4319319427 0.8691265583 0.63022542 -0.77606195211 -0.023318551481 -0.8533629775 -0.40528762341 -0.32789263129 -0.82835155725 -0.29144945741 -0.47842544317 0.37128651142 -0.63906294107 0.67360585928 -0.73732674122 -0.02039404586 -0.67522835732 -0.78889638186 -0.17313934863 -0.58963143826 -0.54556667805 0.42031913996 -0.72504401207 0.74377501011 -0.58351433277 -0.32605171204 -0.71790832281 0.52485817671 -0.45730906725 -0.30677381158 0.62862509489 -0.71464699507 0.81433236599 -0.46484717727 -0.34753400087 0.99744355679 0.069299720228 0.017433935776 0.36079123616 -0.84140384197 0.40232980251 -0.8862760663 0.39863014221 0.23581506312 -0.042815398425 0.85441219807 0.51782876253 -0.12888249755 0.49550583959 0.85898965597 0.52942419052 -0.087619170547 0.84382045269 0.18943740427 0.086576059461 0.97806853056 0.23130890727 0.033033430576 0.97231936455 -0.36457002163 0.73208624125 0.57544630766 0.93177551031 -0.19912500679 -0.30355173349 -0.9966185689 -0.073169179261 0.03738560155 -0.82987451553 -0.48063156009 -0.28337541223 0.399921 -0.26160377264 0.87842285633 -0.47841149569 0.83620107174 0.2681235075 -0.55993205309 0.82819616795 0.023816518486 0.96073365211 0.14023163915 -0.23942829669 -0.96719527245 0.12736739218 0.21979731321 0.67291986942 0.70411068201 -0.22673112154 0.53322046995 -0.50121867657 0.68150997162 -0.37518724799 -0.36403501034 0.85247462988 -0.082430385053 0.81854885817 -0.56849181652 0.19252252579 0.86173737049 -0.46940788627 0.8238261342 -0.045390367508 0.56502228975 -0.77090448141 -0.10941120982 0.62748342752 0.33954259753 0.54172086716 -0.76892739534 0.40666553378 0.8150395751 -0.41271495819 0.075936257839 0.96832096577 0.23788267374 0.64790338278 0.33681565523 -0.68321037292 -0.25293013453 -0.74017494917 0.62303084135 -0.33954268694 -0.54172086716 -0.76892733574 0.010530624539 0.96027255058 -0.27886500955 0.81217622757 0.058792490512 0.58044224977 -0.70581454039 -0.51017010212 0.49147969484 -0.67992466688 -0.3388684094 0.65028506517 -0.82382625341 0.04539027065 0.56502211094 -0.72536581755 -0.005872387439 0.68833857775 0.91378593445 -0.081530474126 0.39792972803 -0.19252257049 -0.86173731089 -0.46940794587 0.082430422306 -0.81854891777 -0.56849181652 -0.59218943119 -0.76422560215 -0.25548160076 0.37518727779 0.36403501034 0.85247462988 -0.53322041035 0.50121861696 0.68151003122 -0.89827334881 -0.39312645793 -0.1963583678 0.78428786993 0.57670193911 0.228708148 0.56473815441 -0.57752275467 0.58952379227 -0.96073365211 -0.14023156464 -0.2394284755 0.47841149569 -0.83620107174 0.2681235075 0.36835956573 -0.76832836866 0.52343356609 0.8697810173 0.41282275319 -0.27029314637 0.76708197594 -0.51218914986 0.38632568717 -0.93177551031 0.19912487268 -0.3035518527 0.36457002163 -0.73208630085 0.57544624805 -0.18943709135 -0.086576469243 0.97806853056 0.12888242304 -0.49550577998 0.85898971558 -0.23130890727 -0.033033423126 0.97231936455 -0.52942419052 0.08761908859 0.84382045269 0.7634858489 -0.14884109795 -0.62843906879 0.97964572906 0.18802264333 -0.070297554135 0.042815409601 -0.85441219807 0.51782876253 0.46346756816 -0.26701053977 -0.84492790699 -0.99744355679 -0.069299735129 0.01743394509 -0.81433236599 0.46484717727 -0.34753400087 -0.029028836638 -0.66911321878 -0.74259328842 -0.070056572556 -0.68823701143 -0.7220954895 0.65467000008 -0.50717973709 -0.56051403284 0.71790832281 -0.5248581171 -0.45730909705 -0.67317432165 0.70634031296 -0.21890556812 0.73732674122 0.020394038409 -0.67522835732 0.78889632225 0.17313934863 -0.58963155746 0.82835155725 0.29144948721 -0.47842547297 0.8533629775 0.405287534 -0.3278927207 -0.47772169113 0.87244397402 0.10307011008 0.01376143191 0.50971466303 0.86023342609 -0.24094380438 0.43193200231 0.8691264987 -0.29741600156 -0.043639529496 0.95375013351 -0.53880614042 -0.27893263102 0.794911623 0.95917528868 -0.14736676216 0.24138307571 0.70164233446 0.63157814741 -0.32985925674 -0.4165956676 -0.49624940753 0.76169848442 -0.3926461041 0.87489104271 -0.28353956342 -0.19869036973 0.96453595161 -0.173760131 0.090653263032 0.98140245676 -0.16920743883 -0.4166149199 0.63060671091 0.65480321646 -0.42671129107 -0.85074329376 -0.30684423447 -0.024187326431 0.77235209942 0.63473391533 -0.85634469986 -0.25300604105 -0.45017963648 0.57901507616 0.79011315107 0.20115359128 0.51132410765 0.85099363327 0.11982285976 -0.93845111132 0.28883782029 -0.18942594528 0.27023485303 0.95683515072 -0.10695617646 -0.79315316677 0.57862353325 -0.19000761211 0.28965198994 0.91004687548 -0.29650706053 -0.3432712853 0.89370572567 -0.28888568282 -0.14929808676 0.93267327547 -0.32837569714 0.15711309016 0.93342810869 -0.32253286242 0.0212522652 -0.99943441153 -0.026061458513 0.19937904179 -0.97981548309 0.014476954937 0.38824409246 -0.91925191879 0.065133690834 0.53150230646 -0.84296894073 0.08311829716 -0.41650950909 -0.90574866533 -0.078352794051 0.79250586033 -0.60155773163 0.10031333566 -0.3951934278 -0.89495003223 0.20709091425 -0.46214571595 -0.82356095314 0.32889011502 0.93771827221 -0.33804035187 0.080082111061 0.99366080761 -0.085078768432 -0.073483675718 -0.52897512913 -0.65936607122 0.53424870968 0.80445075035 0.41256400943 -0.42737564445 0.326810956 0.82983547449 -0.45229157805 -0.5120832324 -0.85533249378 0.078594565392 0.15747798979 -0.98360991478 0.087819114327 0.41462805867 0.84354799986 0.34133610129 -0.68149441481 -0.73108643293 0.032833665609 0.63997238874 -0.743686378 -0.19330264628 0.72104918957 -0.62544202805 -0.29817831516 0.84318268299 0.34496730566 0.4123596549 0.91590344906 0.23986507952 0.32184714079 -0.87992227077 -0.47379365563 -0.035445209593 0.74701726437 -0.48987430334 -0.44943121076 0.88767778873 -0.17403818667 0.42630833387 0.26315915585 -0.64417201281 0.71818500757 -0.81457740068 -0.43744954467 -0.38092193007 0.51236134768 -0.81191468239 0.27978631854 0.26305520535 -0.68313461542 0.68127012253 0.39873746037 -0.61011832952 0.68466347456 -0.81468015909 -0.39508295059 -0.42450642586 0.71209454536 -0.51483625174 0.47735202312 0.2889432013 -0.53454875946 0.79420995712 -0.60270279646 -0.043602328748 -0.7967736125 -0.96321105957 -0.2033803761 -0.17567273974 -0.95825397968 -0.27073949575 -0.091920994222 0.75722461939 -0.64970415831 -0.067047692835 -0.99152857065 -0.085186459124 -0.098052971065 -0.46215507388 0.82907307148 -0.31472289562 0.96324580908 0.22513315082 -0.14653539658 -0.27167013288 -0.57303655148 -0.7731910944 0.16334040463 0.66389650106 -0.7297680378 -0.35038861632 -0.67111122608 0.6533280611 0.27499103546 -0.85282552242 0.44392409921 -0.56887412071 0.82168060541 0.03497389704 0.69888585806 -0.6920645833 0.18056887388 0.4651452601 0.81513983011 0.34523466229 -0.32978087664 0.83883833885 0.43312218785 0.94539809227 -0.32587423921 -0.005337334238 -0.97020459175 -0.055347345769 0.23588062823 -0.41238036752 -0.55182552338 0.72486621141 -0.72564375401 0.49059915543 0.48244541883 0.73870527744 0.096932053566 0.66702228785 0.98674064875 -0.15432664752 0.050260845572 -0.97852396965 -0.087837949395 -0.18648149073 0.69280302525 -0.22502242029 0.6851195693 -0.66556936502 0.72360354662 -0.18279862404 0.98118281364 0.17682683468 0.077540814877 0.90414756536 0.41549244523 0.099414467812 0.90142720938 -0.14692617953 0.40723669529 -0.78289061785 -0.41391283274 0.46449804306 0.74809604883 0.66165864468 0.050597507507 0.55630624294 -0.74044716358 0.37717548013 -0.079420641065 -0.83471614122 0.54492324591 -0.56286358833 -0.35495990515 0.74645030499 0.29588925838 0.93505007029 -0.1952713877 0.043900504708 -0.92276233435 0.38286083937 -0.79761362076 -0.27356541157 0.53756350279 -0.80518066883 0.10774062574 0.58316034079 0.74908149242 0.0117056733 0.66237443686 0.71673434973 0.4776674211 0.50806069374 0.094931095839 -0.92384088039 -0.37081819773 -0.60317391157 0.43910199404 0.66586083174 -0.57468765974 -0.34607774019 -0.74159580469 0.60074108839 0.69202876091 -0.40025782585 0.57080030441 -0.749584198 0.33512762189 0.71302491426 -0.2997533083 0.63383233547 -0.63567525148 0.53315508366 0.55826753378 -0.07505376637 -0.95644402504 0.28210231662 0.57468760014 0.34607768059 -0.7415958643 -0.094931088388 0.92384088039 -0.37081819773 -0.56485044956 -0.49142551422 0.66290640831 0.79905360937 0.17988079786 0.57372134924 0.27392947674 -0.73162972927 -0.62424397469 0.36857688427 0.7395105958 0.56327182055 0.07942058146 0.83471614122 0.5449231863 -0.043900512159 0.92276233435 0.38286080956 -0.55630612373 0.74044722319 0.37717553973 0.58530110121 0.38335204124 0.71446752548 0.56286358833 0.35495993495 0.74645024538 0.2306406498 -0.72970455885 0.64368951321 -0.90414756536 -0.41549247503 0.099414467812 -0.98118281364 -0.17682683468 0.077540799975 -0.98674064875 0.15432669222 0.050260793418 0.45643883944 -0.79363167286 0.4022590816 0.32978081703 -0.83883833885 0.43312224746 -0.73870527744 -0.096932046115 0.66702228785 0.7731897831 -0.34248027205 -0.5337460041 -0.27499088645 0.85282540321 0.44392442703 0.35038867593 0.67111110687 0.65332812071 0.34025141597 0.53808927536 0.77116078138 0.97020459175 0.055347390473 0.23588065803 -0.94539797306 0.32587447762 -0.0053371838294 -0.4651453495 -0.81513977051 0.34523463249 0.77162438631 -0.48137953877 0.41577589512 0.27166774869 0.57304555178 -0.77318525314 0.54192352295 -0.54654532671 -0.63844114542 0.031990095973 -0.81421864033 -0.57967633009 -0.12476559728 -0.76848703623 -0.62758362293 -0.75722461939 0.64970415831 -0.067047849298 -0.616076231 0.77930271626 -0.11461807787 0.95825397968 0.27073949575 -0.091920927167 0.60270285606 0.043602593243 -0.79677355289 -0.71209442616 0.51483666897 0.47735181451 0.96321088076 0.20338089764 -0.17567296326 0.81468009949 0.39508298039 -0.42450645566 -0.51236128807 0.81191474199 0.27978625894 -0.0056708534248 0.65687811375 0.75397545099 -0.26315915585 0.64417201281 0.71818500757 -0.88767778873 0.17403814197 0.42630842328 -0.96274185181 0.12864013016 0.23786509037 -0.74701726437 0.48987430334 -0.44943121076 -0.8431827426 -0.34496721625 0.41235968471 -0.91590350866 -0.23986499012 0.32184717059 -0.72104918957 0.62544202805 -0.29817828536 -0.63997238874 0.743686378 -0.19330267608 0.68149453402 0.73108625412 0.03283360973 -0.58064550161 -0.69238364697 0.42831727862 -0.41636246443 0.90567243099 -0.079998277128 0.31105783582 0.94624257088 0.088701926172 0.51208329201 0.85533243418 0.078594692051 0.72207581997 0.62208747864 -0.30267757177 -0.42443853617 -0.83881574869 0.34093996882 0.3391917944 0.67953795195 0.65052062273 0.48292449117 0.6445350647 0.59275501966 0.52897512913 0.65936613083 0.53424865007 0.56703954935 0.7184869051 0.40279364586 0.46214577556 0.82356089354 0.32889011502 -0.79250574112 0.60155791044 0.10031338036 0.41650953889 0.90574866533 -0.078352734447 -0.53150224686 0.84296900034 0.083118289709 -0.38824421167 0.91925191879 0.065133646131 0.1684371084 0.98400306702 -0.058025132865 -0.021252207458 0.99943441153 -0.026061344892 0.23645596206 -0.91278451681 0.3330360949 -0.42962968349 -0.87858176231 0.20859634876 0.52556335926 -0.77784109116 0.34459593892 0.87723839283 -0.41347402334 0.24390988052 -0.55164188147 -0.67014950514 -0.49657917023 0.21262460947 0.97518694401 0.061654292047 -0.60362398624 -0.36718583107 -0.70768117905 -0.32253336906 -0.88655799627 0.33164313436 -0.63241863251 -0.69399756193 0.34411346912 0.21546491981 -0.81103676558 0.54386967421 0.95660561323 -0.17815069854 0.23058189452 0.67009866238 -0.29668793082 -0.68039995432 -0.68919068575 -0.19195728004 -0.69869059324 0.45205262303 -0.17255790532 -0.87514126301 -0.50365501642 0.096572741866 -0.85849016905 -0.18218614161 0.35669669509 -0.91628360748 -0.80029702187 0.36018106341 -0.47936865687 0.084168575704 -0.63747417927 0.76586049795 0.16757246852 -0.61587393284 0.76981735229 -0.9065361619 -0.34741440415 0.23978196084 -0.94470763206 0.25425431132 -0.20708036423 0.61373233795 -0.75654011965 0.22578687966 -0.71282655001 0.50605785847 -0.48557570577 -0.69360417128 0.48951461911 0.52847772837 -0.85155183077 0.44684660435 -0.2742036283 -0.95552927256 -0.18249899149 0.23164188862 0.88057911396 0.23440490663 0.41186746955 -0.62177550793 0.56977164745 -0.53735971451 0.92098641396 0.19605284929 0.33667087555 -0.6021476984 0.60003525019 -0.5266648531 -0.78965502977 0.57617723942 -0.21086654067 -0.11133677512 0.99242907763 -0.051852174103 -0.091403543949 0.9950209856 -0.039731625468 0.9269246459 0.34934327006 -0.13700337708 0.2422015965 0.82353490591 -0.51296067238 0.81344795227 -0.47706604004 0.33273181319 -0.53432643414 0.84381896257 0.049647204578 -0.6181563139 0.4699523747 0.63010126352 0.90224015713 -0.27526316047 0.33195313811 0.94926679134 0.29849824309 0.098951049149 -0.040952030569 -0.58011364937 0.81350541115 0.51628756523 -0.62489110231 0.58562642336 0.7878254056 0.4422070682 0.42870038748 -0.72186410427 0.63127011061 -0.28356704116 0.8180257082 0.42856523395 0.38362190127 -0.65311336517 0.71587604284 0.24690981209 -0.71280604601 0.68572849035 0.14725467563 0.66546553373 -0.68224471807 0.3028164506 -0.54754137993 0.51771432161 0.65739661455 -0.43094691634 0.47190243006 0.76915073395 0.69301390648 0.51100260019 0.50853520632 0.74320745468 -0.117471084 0.65866774321 -0.48333582282 -0.4183010757 0.76903229952 -0.21997326612 0.63522034883 0.74034237862 0.45153835416 0.61164236069 0.64962047338 0.93074458838 0.16180865467 0.32792136073 0.74045866728 -0.58754867315 0.32635483146 0.78768032789 -0.40769982338 0.46188804507 0.4284979701 0.89824682474 -0.097684137523 0.37863871455 -0.89694684744 0.22829602659 0.28886294365 0.91595935822 -0.27852594852 0.53346478939 0.33530157804 0.77652311325 -0.73054081202 -0.013867399655 0.68272823095 -0.037046350539 -0.95297557116 -0.30077430606 -0.15060667694 -0.69854199886 -0.69954031706 -0.057837370783 -0.34847268462 -0.9355328083 0.27840796113 0.63875240088 0.71727561951 -0.48912081122 0.31627121568 0.81285506487 0.30997374654 0.8294968009 0.46459802985 -0.22371631861 -0.97419381142 -0.029957631603 -0.28918629885 -0.95726656914 -0.0034707214218 0.55390566587 0.79068332911 0.26078414917 -0.35972183943 0.62103956938 0.69635486603 -0.16711124778 0.79868388176 0.57808125019 0.040099147707 0.9117911458 0.40869173408 0.21876430511 0.93902552128 0.26527947187 -0.81880396605 -0.38713011146 -0.42389893532 -0.80664569139 -0.23584240675 -0.54194200039 -0.84124153852 -0.17769916356 -0.510622859 -0.80778634548 0.0082469740883 0.58941763639 -0.77670621872 0.31312277913 0.54651767015 0.82934367657 0.31124660373 -0.46402001381 -0.040099125355 -0.9117911458 0.40869173408 0.16711136699 -0.79868382215 0.57808125019 0.81880408525 0.38712990284 -0.42389893532 0.28918588161 0.95726668835 -0.0034703586716 0.35972175002 -0.62103950977 0.69635492563 -0.28361782432 -0.68513476849 0.6709331274 -0.20265319943 0.84024977684 -0.50290358067 0.017258398235 0.93855416775 -0.34470018744 0.2237162739 0.97419381142 -0.029957232997 0.10117902607 0.97767806053 -0.18414250016 0.48912081122 -0.31627127528 0.81285500526 0.67262685299 -0.20950870216 0.70970362425 -0.13289563358 -0.13214117289 -0.98228174448 0.05783733353 0.34847271442 -0.9355328083 -0.63693833351 0.023817328736 0.77054673433 -0.53346478939 -0.33530160785 0.77652311325 -0.61836498976 -0.048851728439 0.78437125683 -0.16407433152 0.95370334387 0.25205078721 -0.78113508224 0.26734024286 0.56423151493 0.79752510786 -0.21802558005 0.56251096725 -0.78768032789 0.40769988298 0.46188798547 -0.74045872688 0.58754867315 0.32635480165 -0.93074458838 -0.16180850565 0.32792145014 0.76350349188 -0.64518249035 -0.028318583965 -0.11365976185 -0.64155381918 0.7586106658 0.48333585262 0.4183010757 0.76903229952 0.71280604601 -0.68572854996 0.14725469053 0.43094694614 -0.47190243006 0.76915073395 0.55840092897 -0.5078856945 0.65592718124 -0.51628756523 0.62489104271 0.58562648296 0.35705545545 0.49675500393 0.79104101658 -0.94834566116 -0.24540713429 0.20103704929 0.65311330557 -0.71587610245 0.24690981209 -0.81802564859 -0.42856529355 0.38362193108 -0.78782534599 -0.4422070682 0.42870047688 0.040952421725 0.58011358976 0.81350547075 0.089119717479 0.56265640259 0.82187312841 -0.94926679134 -0.29849824309 0.098951034248 -0.90224021673 0.27526319027 0.3319529891 -0.066439546645 -0.91529011726 0.39727798104 -0.2422016114 -0.82353484631 -0.51296073198 -0.15698181093 -0.84240072966 -0.51547813416 0.56027948856 -0.82830142975 0.0019117132761 0.53432649374 -0.84381890297 0.049647305161 -0.75260221958 0.56046831608 0.34563726187 0.58635944128 -0.65589082241 -0.47538387775 -0.89245277643 -0.33435469866 0.30287778378 0.11133688688 -0.99242907763 -0.051852207631 -0.92692470551 -0.34934327006 -0.13700337708 0.091403193772 -0.99502104521 -0.039731390774 -0.74775648117 0.60453307629 0.27459064126 0.62177550793 -0.56977158785 -0.53735977411 -0.88057905436 -0.23440504074 0.41186749935 -0.61373215914 0.75654023886 0.22578687966 0.85155171156 -0.44684696198 -0.27420344949 0.69360417128 -0.48951536417 0.52847701311 0.90653544664 0.34741535783 0.23978325725 -0.24089464545 0.58791863918 0.77221852541 0.18218617141 -0.35669666529 -0.91628360748 -0.6942179203 0.026673102751 -0.71927046776 0.87434053421 0.38184869289 0.29953327775 -0.39400702715 0.68672996759 0.61086851358 0.50365513563 -0.096572779119 -0.85849010944 0.87574726343 0.41469532251 -0.24717308581 -0.84364849329 0.42983072996 0.32171845436 -0.95660561323 0.17815072834 0.23058193922 0.68919062614 0.19195735455 -0.69869065285 0.82447421551 0.45169010758 0.34090805054 0.63241875172 0.69399756193 0.34411323071 -0.68086904287 -0.60513323545 0.41259068251 -0.22907756269 0.96454584599 0.13105247915 0.32253333926 0.88655799627 0.33164304495 0.73851960897 0.49973616004 -0.45260640979 0.72543758154 0.50504159927 -0.46762517095 0.60362392664 0.36718592048 -0.70768117905 -0.032582554966 0.85942161083 0.51022827625 -0.43316751719 -0.54403281212 -0.71860575676 -0.99860471487 -0.017334632576 -0.049880616367 0.53685718775 0.68775761127 0.48864492774 -0.52556347847 0.77784109116 0.34459581971 -0.23645585775 0.91278451681 0.3330360651 0.12946179509 0.95281803608 0.27454957366 0.017545357347 -0.79754072428 0.60300987959 -0.18656679988 -0.8373541832 0.51383924484 0.51217699051 -0.68018776178 0.52442288399 -0.43841165304 -0.76448178291 0.47261276841 -0.4971370995 -0.55668181181 0.66555243731 -0.57023948431 -0.50211602449 0.65015876293 0.50923418999 -0.06426627934 -0.85822510719 0.50510036945 -0.16949883103 -0.84625273943 0.50065428019 -0.67187106609 -0.54583382607 -0.12807761133 0.47666952014 -0.86970239878 -0.41860485077 0.41652449965 -0.80701756477 -0.17679902911 -0.85888463259 0.48068621755 0.22528225183 -0.96545982361 0.13090150058 0.6908479929 0.50354397297 0.51881837845 0.36573553085 -0.93056166172 -0.017103193328 -0.80610185862 -0.533816576 0.25542065501 0.94668328762 0.016617443413 0.321736902 -0.66464328766 -0.42868071795 0.61194944382 0.12350413948 -0.73837262392 -0.66298764944 -0.78838866949 -0.44821381569 -0.42136409879 0.21917814016 -0.43278294802 -0.87444829941 -0.9334743619 -0.35478663445 -0.052460189909 0.90765678883 -0.24482911825 0.34090733528 -0.15811066329 0.37844541669 -0.91201978922 -0.98077750206 -0.075081303716 0.18010617793 0.50065636635 -0.71856784821 0.48270428181 0.74857181311 0.33029571176 -0.57493042946 -0.6435084343 0.54100334644 -0.54149079323 0.038189470768 -0.45390459895 0.89023154974 0.26454329491 -0.49318024516 0.82872796059 0.21959221363 -0.51919692755 0.82596236467 -0.97074961662 0.17931324244 0.15966187418 0.59925639629 -0.61069071293 0.51763755083 -0.83745658398 -0.20065121353 0.5083360672 0.26070815325 -0.33555364609 0.90522646904 0.4920860827 -0.22171013057 0.84184080362 -0.86042076349 0.50905138254 0.023298555985 0.8578311801 0.42550835013 -0.28821581602 0.21728488803 0.96488296986 0.14760798216 0.27652323246 -0.12550039589 0.9527772665 0.72755098343 0.071317240596 0.68233674765 0.55337512493 -0.053001210093 0.83124417067 -0.70570409298 0.68191355467 -0.1922904402 -0.2264919728 0.76356083155 0.60471171141 -0.39285412431 0.58048796654 0.71323162317 0.77538645267 0.2525485158 0.57878756523 0.63639336824 -0.38607701659 0.66779339314 -0.8819847703 0.025835515931 0.47056925297 -0.72845196724 0.68268078566 0.057486075908 0.31793054938 0.92133885622 -0.22372937202 0.41202121973 0.26854816079 0.8707010746 0.23036724329 0.95696687698 -0.17648033798 0.52823477983 0.3780772686 0.76027995348 0.74312400818 -0.3046797514 0.59576588869 0.91565293074 0.36496716738 0.16845962405 -0.22156725824 0.33017867804 0.91754561663 0.021309688687 0.35558858514 0.9343996048 0.32413074374 0.42059251666 0.84737312794 0.74637210369 0.59064793587 0.30669808388 0.82168787718 -0.1460031867 0.55091935396 0.10861402005 -0.5591840744 0.82189792395 0.48957434297 -0.56171667576 0.6669267416 -0.7216989994 0.6516957283 0.23333068192 0.75721859932 0.21718493104 0.61599570513 -0.19161632657 -0.45650559664 0.8688416481 0.058944240212 -0.49086833 0.86923754215 -0.5415597558 0.37286314368 0.75344944 0.46344456077 0.023331834003 0.88581871986 0.84966123104 0.12215816975 0.51298457384 -0.36047706008 -0.32617852092 0.87387865782 0.30819350481 -0.32986462116 0.89230382442 0.65367001295 -0.47976648808 0.58526885509 0.83114260435 0.31688812375 0.45692878962 -0.28685826063 -0.22346405685 0.93154501915 0.48740926385 -0.2429523617 0.83869326115 0.73432779312 -0.43688577414 0.51951277256 -0.31335520744 -0.23387277126 0.92038691044 0.65364563465 -0.254576087 0.71269798279 -0.55208432674 -0.16252399981 0.81779515743 -0.62611049414 0.26161170006 0.73453730345 -0.2409671545 -0.74757611752 0.61892223358 0.27552461624 0.084335163236 0.95758748055 -0.63761752844 0.36236360669 -0.67980617285 0.063548743725 -0.82353591919 0.56369328499 0.3873668313 0.17022433877 0.90607428551 -0.70463877916 0.19807523489 -0.68135923147 -0.51854521036 0.029170399532 0.8545525074 0.44470596313 0.1459672302 0.88370251656 -0.22090607882 -0.97409212589 0.048425458372 -0.098158471286 -0.93895721436 -0.32973361015 -0.15395398438 -0.72182577848 -0.67473381758 -0.16838309169 0.63524341583 0.75373268127 -0.20510748029 0.41424593329 0.88675320148 -0.045092076063 0.45000332594 0.8918877244 0.20308157802 0.78299885988 0.58793765306 0.24357397854 0.4751817286 0.84550225735 0.35871422291 0.58745205402 0.72541314363 -0.70594519377 -0.69370186329 0.14289559424 0.75328141451 -0.13130663335 -0.64445763826 0.60703599453 0.55826407671 0.56555145979 0.60480046272 0.55602544546 0.57013338804 0.84225976467 -0.49508422613 -0.21328414977 0.85259264708 -0.29064998031 0.43429067731 -0.86035495996 0.39478546381 0.3223875761 -0.97662115097 -0.2142496556 -0.017557397485 0.93523430824 0.32904034853 -0.13064923882 -0.60703599453 -0.55826407671 0.56555145979 -0.84225976467 0.49508413672 -0.21328417957 0.41372358799 0.8946287632 0.16873688996 0.70594537258 0.69370162487 0.14289560914 -0.20308147371 -0.78299885988 0.58793765306 -0.75328141451 0.13130667806 -0.64445763826 0.22090603411 0.97409212589 0.048425458372 -0.40689277649 -0.45653697848 0.7912093401 -0.24357390404 -0.475181669 0.84550231695 0.045092020184 -0.45000335574 0.8918877244 0.25460276008 -0.1223661676 0.95927262306 -0.29457977414 -0.40887600183 0.86373788118 -0.13351275027 -0.18980804086 0.97270101309 0.64438277483 -0.12232727557 0.75485551357 0.63761758804 -0.36236363649 -0.67980617285 0.70463877916 -0.19807519019 -0.68135923147 -0.3873667419 -0.17022439837 0.90607428551 -0.50261950493 0.038848504424 0.86363440752 -0.27552449703 -0.084335200489 0.95758748055 -0.65364575386 0.254576087 0.71269786358 0.31335526705 0.23387278616 0.92038685083 0.45836788416 0.32760119438 0.82618176937 -0.48740923405 0.2429523617 0.83869326115 0.28685826063 0.22346408665 0.93154501915 -0.83114260435 -0.31688806415 0.45692881942 -0.65367001295 0.47976654768 0.58526879549 -0.3081934154 0.32986468077 0.89230382442 0.36047706008 0.32617849112 0.87387865782 -0.84966129065 -0.12215808034 0.51298451424 -0.48957425356 0.56171673536 0.6669268012 -0.10861403495 0.5591840744 0.82189792395 -0.058944221586 0.4908683002 0.86923754215 0.19161634147 0.45650562644 0.8688416481 0.72169905901 -0.6516956687 0.23333068192 -0.32413074374 -0.42059248686 0.84737312794 -0.021309722215 -0.35558861494 0.9343996048 0.22156722844 -0.33017867804 0.91754567623 -0.094271764159 -0.99532467127 -0.021015269682 -0.74312394857 0.30467972159 0.5957659483 -0.52823477983 -0.378077209 0.76027995348 -0.31793054938 -0.92133891582 -0.22372932732 0.72845202684 -0.68268072605 0.057486146688 -0.66433310509 0.44208604097 0.60267853737 -0.41202118993 -0.2685482502 0.8707010746 0.44412249327 -0.4574200511 0.770403862 0.39285418391 -0.58048796654 0.71323162317 -0.31308090687 -0.94900637865 -0.036975547671 0.8819847703 -0.025835482404 0.47056925297 -0.66374212503 -0.19300881028 0.72262990475 0.2264918685 -0.76356095076 0.6047115922 -0.85783112049 -0.42550837994 -0.28821581602 -0.70676499605 0.45630475879 0.54061925411 0.70570403337 -0.68191367388 -0.1922904253 -0.72755098343 -0.071317285299 0.68233674765 0.86709415913 0.10579048097 0.48678135872 0.8604208827 -0.50905114412 0.023298604414 -0.4920861721 0.22171020508 0.84184074402 -0.38654944301 0.39215382934 0.83474242687 -0.74857181311 -0.33029571176 -0.57493036985 -0.50065648556 0.7185677886 0.48270428181 0.97074961662 -0.17931343615 0.15966181457 -0.12030837685 0.52511882782 0.84248209 0.1581107527 -0.37844535708 -0.91201978922 0.80321002007 0.28283622861 0.52426838875 -0.44307169318 0.53027522564 0.72283858061 0.96303522587 0.26064273715 0.068033456802 -0.90765684843 0.24482908845 0.34090727568 -0.21917794645 0.43278285861 -0.87444841862 0.91165184975 0.3810326159 -0.1539645493 0.63728553057 0.47819209099 0.60431736708 0.36369535327 0.7722786665 0.52087551355 0.50242519379 0.67238610983 0.54356771708 0.17679910362 0.85888463259 0.48068618774 0.79946053028 0.29110252857 -0.52547329664 -0.41360810399 -0.76985043287 0.48606449366 0.41860488057 -0.41652438045 -0.80701762438 -0.041114620864 -0.97278219461 -0.2280446291 0.53804051876 0.4072535336 0.73800879717 0.4971370995 0.55668199062 0.6655523181 0.43841171265 0.76448178291 0.47261273861 0.27998495102 0.81741333008 0.50343209505 -0.017545286566 0.79754078388 0.60300981998 0.83109694719 -0.18972398341 -0.52276450396 -0.040318287909 0.99073988199 -0.12964944541 0.33580282331 -0.8203727603 0.4628444612 -0.45969432592 -0.73219627142 0.50256317854 -0.045004360378 -0.93617016077 0.3486546874 -0.41849157214 -0.63120442629 0.65302819014 0.39394903183 -0.78497761488 -0.47813630104 -0.69460833073 -0.71847468615 0.036239970475 -0.0014703336637 -0.57041192055 0.82135748863 0.54798036814 0.2554282248 0.79653871059 0.040002029389 0.079024858773 0.99606972933 -0.86645203829 0.37297907472 0.33188480139 -0.68697595596 -0.1198964864 0.71672087908 -0.1103881076 0.068622596562 0.99151670933 -0.76850479841 0.60755950212 0.20067843795 0.11275523156 0.052840035409 0.99221682549 0.32426631451 0.09553938359 0.94112890959 -0.69318771362 0.71724838018 0.071032054722 -0.06657705456 0.69669097662 0.7142752409 -0.46378049254 0.49321371317 0.73596733809 -0.74194896221 0.013774842024 0.67031484842 -0.46518045664 0.82438760996 0.32247826457 0.32284903526 0.94645047188 -9.3553455372e-05 -0.023215916008 0.14841902256 0.98865199089 -0.26671287417 0.90495896339 0.3315321207 -0.070073656738 0.94485449791 0.3199056685 -0.58613753319 0.8097679019 0.026808673516 -0.73794257641 0.55459064245 0.38453865051 -0.52267920971 0.80545210838 0.27938038111 0.0099736498669 0.84017753601 0.54221975803 0.062335424125 -0.026412950829 0.99770569801 0.018840303645 -0.10718350112 0.99406075478 0.23785957694 -0.12704095244 0.96295553446 0.71588152647 0.69737881422 0.034299504012 -0.43950614333 -0.037421684712 0.89745974541 0.10351575911 -0.5819543004 0.80660629272 0.027246918529 0.14542916417 0.9889934063 -0.18791623414 0.014409520663 0.98207932711 -0.92098069191 -0.051844682544 -0.38614341617 -0.56588703394 -0.2611425817 0.78203350306 0.068296387792 0.17746415734 0.981754601 -0.24009513855 -0.95642465353 0.16615110636 -0.48546478152 -0.81543439627 0.31526279449 -0.83365315199 -0.46902403235 0.29161423445 -0.9711996913 -0.22607769072 0.075233176351 0.83365315199 0.46902409196 0.29161417484 0.48546472192 0.81543445587 0.3152628541 -0.57840251923 -0.62484222651 -0.52442610264 0.24009519815 0.95642465353 0.16615109146 0.20828336477 0.97337287664 -0.095725297928 -0.068296410143 -0.17746414244 0.981754601 -0.10351570696 0.58195418119 0.80660635233 -0.58551156521 -0.77951133251 -0.22257184982 -0.027246888727 -0.14542919397 0.9889934063 0.43950620294 0.037421636283 0.8974596858 -0.82024264336 -0.52956348658 0.21625094116 -0.84568780661 -0.36523193121 0.38912439346 -0.23785945773 0.12704099715 0.96295559406 -0.018840204924 0.10718352348 0.99406075478 -0.73360025883 -0.076472826302 0.67526483536 0.52735286951 -0.21581949294 0.82177913189 -0.7606946826 0.079217232764 0.6442579031 -0.547929883 -0.55106633902 0.62936377525 -0.28327915072 -0.73947328329 0.61068171263 0.28108480573 -0.85600727797 0.4338696897 0.70105457306 -0.11351881921 0.70401418209 0.58613759279 -0.8097679019 0.026808703318 -0.12486292422 -0.96975493431 0.20972496271 0.070073693991 -0.94485449791 0.31990563869 0.26671281457 -0.90495896339 0.3315320909 0.46518048644 -0.82438755035 0.32247829437 0.023215914145 -0.14841905236 0.98865199089 0.74194896221 -0.013774934225 0.67031484842 0.46378040314 -0.49321362376 0.73596739769 -0.32426631451 -0.095539294183 0.94112890959 -0.11275521666 -0.052840020508 0.99221682549 0.76850479841 -0.60755950212 0.20067834854 -0.097576759756 0.1402977556 0.98528945446 0.11038807034 -0.068622671068 0.99151670933 -0.040001939982 -0.079024940729 0.99606972933 0.68697601557 0.11989656091 0.71672087908 0.86645197868 -0.37297907472 0.33188486099 -0.012591063976 0.19739492238 0.98024320602 0.69428616762 -0.69973087311 -0.168355003 -0.33645355701 0.65989947319 0.67181223631 -0.78065377474 -0.022094340995 0.62457305193 0.95244795084 0.25385969877 0.16851764917 0.49424809217 0.80085337162 -0.33816072345 -0.20778429508 0.97653275728 0.056652508676 0.045004367828 0.93617016077 0.3486546576 0.96864807606 -0.026207609102 -0.24705074728 -0.19621936977 -0.80655628443 0.55764228106 0.053853821009 -0.99654257298 -0.063266731799 -0.24755449593 0.95507723093 0.16292394698 0.26672154665 0.50008672476 0.82387673855 0.42974749207 0.5270807147 0.73314595222 -0.50864952803 0.6193561554 0.59805822372 0.081148557365 -0.69732916355 0.7121425271 0.94034606218 -0.33451992273 0.062013935298 -0.47895249724 -0.27068445086 0.83506554365 -0.47616145015 -0.12170166522 0.87089550495 -0.04551178962 -0.60232800245 0.79695022106 -0.057661220431 0.40980049968 0.91035091877 0.32101431489 -0.85314524174 0.41120913625 0.31085026264 -0.81339138746 0.49169766903 -0.42647603154 -0.71890747547 0.54889911413 -0.12782281637 0.94122475386 0.3126617074 -0.22526700795 0.69390755892 0.68392038345 -0.91942358017 0.13403181732 0.36972394586 -0.84639286995 0.072037346661 0.52766442299 0.071670547128 -0.98329800367 0.16729710996 -0.14726616442 -0.97504395247 0.16613824666 -0.53011798859 -0.75557124615 0.38482072949 -0.9001660347 -0.10275946558 0.42325124145 0.33593642712 0.89629995823 0.28947037458 0.3837813735 0.78535139561 0.48573148251 -0.86883980036 0.19494333863 0.45509836078 0.0071772411466 -0.19611926377 0.98055380583 0.20259276032 -0.63918244839 0.74189084768 0.82769334316 0.55169343948 0.10275216401 -0.77311491966 0.50784617662 0.37998101115 0.80771243572 0.57637649775 0.12405944616 -0.58431369066 0.69321429729 0.42193767428 0.81690865755 0.5432806015 0.19366595149 0.52636092901 0.24983860552 0.81272679567 0.46354800463 0.29067602754 0.83703684807 0.10013864189 0.15040805936 0.98353934288 0.86321103573 0.41269698739 0.29077124596 -0.12712222338 -0.17868711054 0.97565919161 0.082992009819 -0.44688794017 0.89073199034 0.24713069201 -0.65533328056 0.71376794577 0.42351558805 -0.77365684509 0.4712638855 -0.97025251389 0.0011480675312 0.24209244549 -0.75796979666 0.33014288545 0.56257212162 -0.30824747682 -0.88027691841 0.36068829894 0.70526772738 0.70687395334 -0.054098531604 0.62727165222 0.76670712233 -0.13671314716 -0.37197926641 -0.82156127691 0.43205150962 0.71135777235 0.70110183954 -0.049257963896 0.94154274464 0.17053371668 0.2905434072 0.90451860428 -0.10154471546 0.41416755319 0.97207778692 0.17881318927 0.15195578337 0.94203329086 0.25978726149 0.21232950687 -0.86420696974 0.14118620753 0.4829210639 -0.94154280424 -0.17053362727 0.2905434072 -0.71304798126 -0.14667603374 0.68560099602 0.3719792366 0.82156127691 0.43205147982 -0.89398747683 0.20252196491 0.39971396327 -0.70526766777 -0.70687401295 -0.054098539054 -0.42351558805 0.77365684509 0.4712638557 0.97025251389 -0.0011482303962 0.24209246039 -0.26070806384 0.81739407778 0.51371020079 0.27246254683 -0.058810185641 0.96036738157 -0.86321103573 -0.41269695759 0.29077127576 -0.84481531382 -0.079554021358 0.5291107893 -0.64373081923 -0.43051871657 0.63266444206 -0.5838971138 0.3779976368 0.71845805645 0.58431369066 -0.69321429729 0.42193773389 -0.58839762211 -0.63777691126 0.49702000618 -0.80771243572 -0.57637649775 0.12405943125 0.77311497927 -0.50784605742 0.37998101115 -0.28419882059 -0.18567822874 0.94061398506 0.58536309004 -0.71647328138 0.37949448824 0.024771077558 0.56664663553 0.82358849049 0.86883974075 -0.19494335353 0.45509839058 -0.38378146291 -0.7853512764 0.48573157191 -0.41402187943 0.27194556594 0.86869525909 0.61251008511 0.32365363836 0.72116553783 0.9001660347 0.10275943577 0.42325124145 0.90202569962 0.18068535626 0.39204901457 -0.92384415865 0.20546352863 0.32294997573 -0.29319086671 0.94926714897 -0.11371469498 0.61616438627 0.64432626963 0.45297369361 -0.071670524776 0.98329806328 0.16729703546 0.35796326399 0.74879950285 0.5578186512 0.91942358017 -0.13403178751 0.36972394586 0.84639286995 -0.07203733176 0.52766442299 0.097414396703 -0.98798912764 0.11994968355 -0.34567016363 0.014427507296 0.93824517727 -0.32101437449 0.85314524174 0.41120913625 -0.57055133581 0.76918464899 0.28779542446 0.045511838049 0.60232794285 0.79695022106 -0.80050653219 0.58464038372 0.13185182214 -0.96503049135 0.23612818122 -0.11384022981 0.43969976902 -0.00940095447 0.89809560776 0.47895240784 0.27068439126 0.83506560326 -0.14062130451 -0.63256317377 0.76163607836 0.7401407361 -0.53717082739 0.40452343225 -0.48223936558 -0.50953429937 0.71261489391 0.92720705271 -0.27813583612 0.25085359812 -0.61926323175 -0.060406267643 0.78285640478 -0.028756573796 0.94640660286 0.32169485092 0.24720105529 0.71550643444 0.65340811014 0.29177334905 0.11579754949 0.94945204258 0.3288859427 -0.30501541495 0.89375591278 -0.20901654661 0.21551778913 0.9538680315 0.34104973078 -0.63441181183 0.69369065762 0.26551932096 -0.61342424154 0.74378103018 0.21749833226 -0.94367331266 0.2493494302 -0.4601931572 -0.4385869801 0.77192211151 -0.26620152593 -0.39198514819 0.88061594963 0.24845063686 -0.2316839546 0.94052898884 -0.2275224328 0.03484512493 0.97314918041 -0.37412115932 0.011363403872 0.92731022835 0.39496207237 0.46348056197 0.79321545362 0.38351589441 0.34964004159 0.85479086637 0.91531205177 0.014104817063 0.40249836445 -0.78614240885 0.045321509242 0.61638140678 -0.51386624575 0.42945498228 0.74263709784 -0.16726323962 -0.61717283726 0.76884377003 0.20426256955 0.93983560801 0.27383545041 -0.83084946871 0.31864568591 0.45623901486 -0.68491190672 0.12138320506 0.71844404936 0.31901851296 0.84189152718 0.43525373936 -0.40694370866 0.4295501411 0.80615353584 0.68975561857 -0.20565450191 0.69422143698 0.78947085142 -0.047727748752 0.61192965508 -0.86795926094 0.40699362755 0.28461003304 0.83530342579 0.11034978926 0.53860110044 0.85095268488 0.29546365142 0.43425887823 0.20185945928 -0.89628171921 0.39488205314 -0.75136834383 0.33505415916 0.56849300861 0.72636646032 0.63976532221 0.25118148327 0.40024012327 0.78016036749 0.48078852892 0.20932090282 0.73843544722 0.64101314545 -0.25747928023 -0.73803275824 0.62370830774 0.027810944244 -0.15042307973 0.98823046684 0.33085370064 0.57840329409 0.74564433098 0.22699923813 -0.2456382364 0.94240820408 0.38205486536 -0.080610789359 0.92061716318 0.99581199884 -0.042374752462 0.081011280417 -0.76024264097 -0.087094016373 0.64377462864 0.72972041368 -0.034566584975 0.68287134171 -0.72972035408 0.034566581249 0.68287140131 0.75574183464 0.083969138563 0.64946395159 0.5331851244 0.57528936863 0.62028682232 -0.38205474615 0.080610863864 0.92061722279 -0.22699926794 0.24563831091 0.94240814447 0.25747931004 0.73803269863 0.62370836735 0.18450438976 0.61617410183 0.76569420099 -0.53798091412 0.72131603956 0.43621066213 0.57310062647 0.45579361916 0.68103438616 -0.57135987282 -0.76281446218 0.30275735259 0.45368909836 0.15270085633 0.87797987461 -0.20185948908 0.89628171921 0.39488202333 -0.81140589714 -0.48606431484 0.32459509373 0.67819213867 -0.52715051174 0.51202315092 0.86795926094 -0.40699362755 0.28461006284 0.40694370866 -0.4295501411 0.80615353584 -0.75339251757 -0.55223685503 0.35697925091 0.68491184711 -0.121383138 0.71844404936 -0.42742267251 0.51530313492 0.74281394482 0.60460692644 0.25596010685 0.75427770615 0.78614246845 -0.045321531594 0.61638134718 0.37412115932 -0.011363386177 0.92731022835 -0.32631573081 -0.040667071939 0.94438564777 -0.24845059216 0.2316839695 0.94052904844 -0.46701353788 0.71046847105 0.52643412352 0.41883417964 0.55820220709 0.71623194218 0.47285687923 0.58736521006 0.65681695938 -0.50165164471 0.56354677677 0.65632361174 -0.21749819815 0.94367337227 0.24934925139 0.044462442398 0.93628174067 0.34842446446 0.20001740754 0.86643588543 0.45747339725 -0.39114296436 0.62826997042 0.67252063751 0.40312099457 0.59405404329 0.6961273551 -0.029481513426 0.37669757009 0.92586702108 0.075360231102 0.16127799451 0.98402756453 0.17360810935 -0.69565337896 0.69708436728 0.10292800516 -0.96040135622 0.25891125202 0.093790248036 0.78514283895 0.61217164993 -0.3288859427 0.30501526594 0.89375597239 -0.52711671591 0.16677379608 0.83326733112 0.19520194829 -0.81580340862 0.54439043999 -0.70350003242 0.018812282011 0.71044617891 -0.94454228878 0.1419159919 0.29614129663 -0.86874914169 0.40582284331 0.28387102485 0.48223933578 0.50953435898 0.71261489391 -0.082756087184 0.69414412975 0.7150632143 0.3156658411 -0.6159954071 0.72173732519 0.51797384024 -0.55585670471 0.65017420053 0.68899285793 -0.4315316081 0.58229655027 0.51903492212 -0.45295071602 0.72487127781 0.72981911898 0.054599747062 0.68145650625 0.54924738407 0.30592212081 0.77764964104 -0.47247889638 0.60754388571 0.63847798109 0.39099964499 0.53331691027 0.75012820959 -0.31698524952 -0.52979910374 0.78665953875 -0.15009525418 -0.78526234627 0.6006949544 0.28699564934 -0.74291348457 0.60474216938 -0.14669524133 -0.39116749167 0.90855294466 0.13482157886 -0.50851523876 0.85043245554 0.081630378962 -0.61071193218 0.78763407469 0.34688666463 -0.57340699434 0.74220889807 0.80474752188 -0.34624278545 0.48217982054 -0.40012511611 -0.2635551393 0.87774628401 0.87097704411 -0.2176014334 0.44050946832 0.75127536058 0.34342646599 0.56359881163 -0.42841416597 0.30557319522 0.85034483671 -0.22555558383 -0.61763501167 0.75342667103 0.75336718559 0.46885201335 0.46110266447 -0.35139617324 0.43310010433 0.83002710342 0.78926676512 0.61404776573 -0.0018284419784 -0.16584739089 0.72418987751 0.66936069727 0.21115264297 0.97525197268 0.065560027957 -0.77811414003 -0.070136867464 0.62419486046 -0.21641109884 0.97372108698 -0.070946998894 0.32350593805 0.71875756979 0.61541157961 -0.84795504808 0.38181334734 0.36768299341 0.66251534224 -0.028448449448 0.74850791693 -0.73793083429 0.4632320106 0.49078932405 -0.62543916702 0.47248995304 0.62095016241 0.74800372124 0.16921798885 0.64175981283 0.42112019658 0.42353662848 0.80204391479 0.4108928442 0.63774108887 0.65150088072 0.19723312557 -0.36188623309 0.91111880541 -0.50648206472 0.12988558412 0.85241168737 0.50648194551 -0.12988558412 0.85241174698 -0.80617541075 0.56721907854 0.16835589707 -0.69929951429 -0.42405158281 0.57546538115 -0.410892874 -0.63774102926 0.65150088072 -0.42112037539 -0.42353653908 0.80204391479 -0.6860281229 -0.13875748217 0.71422111988 0.62543916702 -0.47248995304 0.62095016241 0.85198938847 -0.34718778729 0.39188605547 -0.23539252579 -0.93331760168 0.27112472057 -0.024563292041 -0.99305933714 0.11502061039 0.78674703836 -0.19114100933 0.58693629503 -0.65713316202 -0.60560017824 0.44880330563 -0.21115261316 -0.97525197268 0.065560027957 0.24724203348 -0.60414725542 0.75754702091 -0.045403320342 0.70265471935 0.71008092165 -0.76255106926 -0.31245213747 0.56647109985 0.35139626265 -0.43310007453 0.83002710342 -0.909943223 -0.35348492861 0.21691423655 0.42841413617 -0.30557319522 0.85034483671 -0.77692359686 -0.37440234423 0.50617444515 -0.66573351622 0.29834672809 0.68395036459 -0.60291737318 0.17355629802 0.77869689465 -0.55764257908 0.3279889822 0.76253390312 -0.35901200771 0.525208354 0.77153515816 0.40012514591 0.26355519891 0.87774628401 -0.28699558973 0.74291360378 0.60474199057 0.31544697285 0.66065013409 0.68120086193 0.14669522643 0.39116746187 0.90855300426 0.37216091156 0.36050352454 0.85529732704 -0.10534027219 0.51728159189 0.84930747747 0.31698524952 0.52979910374 0.78665953875 -0.49052268267 -0.463968575 0.73764532804 -0.39099964499 -0.53331691027 0.75012820959 0.60617476702 -0.27403005958 0.74663221836 0.66677576303 0.40227454901 0.6273637414 -0.68899279833 0.43153166771 0.58229660988 -0.51797384024 0.5558565855 0.65017426014 0.039355669171 -0.53983807564 0.84084832668 0.19251286983 -0.47547590733 0.85840636492 -0.64620774984 -0.55483192205 0.52400100231 0.34995177388 -0.20638857782 0.91374915838 0.5559977293 -0.16503641009 0.81463456154 -0.54229271412 0.70330649614 0.45965048671 0.28046968579 0.27879980206 0.91848105192 -0.26959425211 0.84084397554 0.46936163306 0.16166777909 0.55176460743 0.81818050146 -0.36322456598 -0.38523638248 0.84832829237 -0.36228555441 -0.46087220311 0.81015181541 -0.17291782796 -0.44127166271 0.88055592775 0.13052879274 -0.40034994483 0.90701830387 0.35441142321 -0.49247905612 0.79489427805 0.15597772598 -0.23021513224 0.96055811644 0.40102481842 -0.214846313 0.89051681757 -0.42663887143 -0.016010161489 0.90428036451 0.56610190868 -0.38160961866 0.73068648577 0.42534008622 -0.068769298494 0.90241706371 -0.53891825676 -0.26785638928 0.79863637686 -0.40839502215 -0.78872674704 0.45948192477 -0.34995058179 0.73100745678 0.58580088615 -0.40963247418 -0.79046487808 0.45537516475 0.2307574451 -0.93616336584 0.26523408294 0.44115439057 -0.68674272299 0.5777258873 -0.4179276526 0.69068753719 -0.59015858173 -0.57281500101 0.45662936568 -0.68071478605 0.41884249449 0.9080567956 0.0019510871498 0.51409143209 0.83326792717 0.20340745151 0.49583768845 -0.34567949176 0.79664963484 -0.53214013577 0.71120131016 0.45936870575 -0.48765471578 0.74446487427 0.45603168011 0.37594881654 0.81285256147 0.44489681721 -0.29416236281 0.32354792953 0.89932489395 0.31677758694 0.054195456207 0.94695025682 0.53298455477 -0.029553968459 0.84560865164 -0.39023473859 0.44215369225 0.80759948492 -0.15423728526 0.37661039829 0.91344153881 0.23215009272 0.25201418996 0.93946534395 0.49236321449 0.16620759666 0.85437315702 0.16981755197 0.48763564229 0.85637229681 0.54105299711 -0.83542954922 0.096535742283 0.64783620834 -0.73660075665 -0.19423598051 -0.61894601583 -0.27539306879 0.73557090759 0.44926220179 -0.10777138174 -0.88687586784 0.67680537701 0.20478416979 -0.70710533857 -0.7676705122 -0.62976366282 -0.11865802854 -0.77587902546 -0.61015105247 -0.16039767861 0.61894595623 0.2753931284 0.73557084799 -0.33258703351 0.61420834064 -0.71563535929 -0.54105305672 0.83542948961 0.096535690129 -0.41852173209 0.87277680635 0.25119757652 -0.16981761158 -0.48763564229 0.85637223721 -0.49236315489 -0.16620759666 0.85437321663 -0.23215015233 -0.25201416016 0.93946534395 0.15423728526 -0.37661039829 0.91344153881 -0.31677758694 -0.054195497185 0.94695025682 -0.55199748278 0.16627000272 0.81710040569 0.45239183307 -0.35769698024 0.81694215536 -0.37594875693 -0.81285262108 0.44489681721 0.48765474558 -0.74446481466 0.45603173971 -0.014591694809 -0.83043378592 -0.55692619085 0.24674382806 -0.65030533075 -0.71848481894 0.53213995695 -0.71120136976 0.45936879516 -0.51303207874 0.35389110446 0.7820224762 -0.056036513299 -0.27943193913 -0.95852893591 -0.69545930624 -0.47803133726 0.53649073839 -0.60097098351 -0.35322442651 0.7169842124 0.68978458643 0.16633202136 0.70464944839 0.96022421122 -0.23943264782 0.14367136359 0.34507498145 -0.7618907094 0.54812937975 0.34995055199 -0.73100745678 0.58580094576 -0.65920066833 -0.33809503913 0.67167419195 0.66872864962 0.1778229028 0.72192871571 -0.30399981141 0.77984154224 0.54720312357 0.40839508176 0.78872680664 0.45948177576 -0.80462110043 -0.096287995577 0.58592957258 -0.58380156755 -0.24295225739 0.77469342947 -0.99440288544 -0.031349841505 0.10089651495 0.53374034166 0.30436825752 0.78897476196 -0.96880543232 0.062137689441 0.23990602791 -0.42534002662 0.068769320846 0.90241712332 0.2659046948 0.2826192975 0.92164039612 0.42663890123 0.016010150313 0.90428036451 0.33250787854 0.35953456163 0.87187922001 -0.13052877784 0.40035006404 0.90701824427 0.17291784286 0.44127178192 0.88055586815 -0.079875648022 0.4981816709 0.86338573694 -0.42875158787 0.66443198919 0.61212921143 0.06611879915 -0.83979344368 0.53886479139 0.26959434152 -0.84084385633 0.46936175227 -0.16166776419 -0.55176460743 0.81818050146 0.54229271412 -0.70330655575 0.4596503973 -0.4208433032 -0.29590219259 0.85751545429 0.77920234203 -0.42365086079 0.46191301942 -0.55599778891 0.16503638029 0.81463456154 -0.34995174408 0.20638868213 0.91374915838 -0.19251285493 0.47547593713 0.85840630531 -0.46063840389 -0.84219932556 0.28020098805 -0.033742059022 -0.51490038633 0.85658574104 0.11889404804 -0.26701128483 0.95633107424 0.17644788325 0.018219990656 0.98414134979 -0.40822967887 0.71573060751 0.56663769484 0.4344689548 -0.81254720688 0.38859197497 0.75742024183 -0.6123482585 0.22659246624 0.95433449745 -0.29860237241 0.0090729231015 0.96094477177 -0.21831201017 -0.17007356882 -0.15308891237 -0.22576756775 0.96207731962 0.81924378872 -0.11680416763 -0.56142354012 0.32902675867 0.026093345135 0.94396001101 -0.9421467185 -0.31230926514 0.12174768746 -0.53131699562 -0.82651811838 0.18593023717 -0.71926790476 0.69472634792 -0.0029993923381 -0.69774287939 0.6974080801 -0.1636364013 0.71738696098 -0.48488932848 0.50023818016 0.35752248764 0.12214401364 0.9258825779 -0.26018926501 0.36315613985 -0.89466148615 0.58982867002 0.33765757084 0.73354583979 0.46553531289 -0.0020147380419 -0.88502699137 -0.41823616624 -0.31319925189 -0.8526340127 -0.62972658873 0.37684994936 0.67928534746 -0.13792933524 0.34472054243 0.92851668596 0.40780001879 -0.27906766534 0.869379282 -0.62474036217 0.77008670568 0.12909661233 0.39854300022 0.61578005552 -0.67968988419 0.26897081733 0.8629167676 0.42781928182 -0.50747948885 0.3593942225 0.78313499689 -0.0028926422819 0.20096811652 -0.9795935154 0.26572674513 0.19063144922 -0.94501268864 -0.3790102005 -0.060335747898 -0.92342346907 -0.062116608024 0.19073536992 0.97967422009 0.14602583647 0.052581898868 0.98788237572 0.34290584922 -0.086496643722 0.93537902832 -0.16768144071 0.25986757874 -0.95097410679 0.12763141096 0.23895381391 -0.96260648966 -0.20436282456 0.12243457884 -0.97120833397 -0.02317054756 0.3159609735 -0.94848918915 0.051352515817 0.36924234033 -0.92791324854 0.11452049017 0.15963537991 0.98051089048 -0.085558265448 -0.97239124775 0.21710598469 0.22758422792 -0.49147415161 -0.84062987566 0.27030062675 -0.19021987915 -0.94379764795 -0.69131982327 0.19409076869 0.695992589 0.24034497142 -0.064610481262 -0.96853488684 -0.16398994625 -0.28152358532 -0.94543731213 0.026836037636 -0.41189047694 -0.91083812714 -0.2787848711 -0.77660381794 -0.56494736671 0.16676069796 0.92644530535 0.33747589588 0.27878478169 0.77660375834 -0.56494742632 0.28264543414 0.088576681912 -0.95512604713 -0.28264540434 -0.088576674461 -0.95512604713 -0.22092857957 -0.5149102211 -0.82828623056 -0.037761565298 0.70508933067 0.70811235905 -0.02683602646 0.41189053655 -0.91083806753 0.16398997605 0.28152358532 -0.94543731213 -0.24293327332 0.002080590697 -0.97004079819 -0.32284593582 0.22054444253 -0.92039698362 -0.32301795483 0.75695770979 -0.56804436445 -0.21358957887 0.97652983665 0.027729725465 0.085558272898 0.97239124775 0.21710604429 -0.11452049017 -0.15963546932 0.98051089048 -0.051352508366 -0.36924231052 -0.92791324854 0.02317051217 -0.3159609437 -0.94848924875 -0.01673977077 -0.15184733272 0.98826217651 0.20436283946 -0.12243460119 -0.97120833397 -0.12763138115 -0.23895376921 -0.96260654926 0.16768141091 -0.25986748934 -0.95097416639 -0.14602582157 -0.052581798285 0.98788237572 -0.304261446 -0.47405487299 -0.82625478506 0.13304194808 -0.10687923431 -0.98533076048 0.37901028991 0.060335747898 -0.92342340946 -0.26572674513 -0.19063144922 -0.94501268864 0.0028926339 -0.20096814632 -0.9795935154 -0.54860788584 -0.68648964167 -0.47724348307 -0.39854300022 -0.61578011513 -0.67968988419 0.31251877546 0.12533171475 -0.94160711765 -0.26897078753 -0.8629168272 0.42781925201 0.62474042177 -0.77008670568 0.12909637392 -0.39439809322 0.25474268198 0.88292485476 -0.65581685305 -0.52594941854 0.54155468941 -0.59030395746 -0.37640881538 0.71404314041 -0.40780004859 0.27906763554 0.869379282 -0.24856548011 -0.047640506178 0.96744281054 -0.74473017454 -0.66698855162 0.02243373543 -0.46553534269 0.0020148179028 -0.88502699137 0.26018920541 -0.36315613985 -0.89466148615 -0.58982872963 -0.33765757084 0.73354578018 0.85275137424 -0.12405849248 0.50737023354 -0.71738690138 0.48488950729 0.50023818016 -0.77387070656 0.42241364717 0.47190129757 -0.27120184898 0.93810665607 0.21541923285 -0.56940060854 -0.0058036502451 -0.8220397234 -0.47714367509 -0.16077281535 0.86399424076 -0.15978318453 0.015687417239 0.9870274663 -0.93090891838 -0.25451266766 0.26197695732 0.9421467185 0.31230926514 0.12174766511 -0.78988343477 0.2444819957 0.56241685152 -0.26761844754 0.017799820751 0.96336054802 -0.19337308407 0.54919797182 0.81301194429 0.10431715846 0.50836384296 0.85480064154 -0.75742018223 0.6123483181 0.22659257054 0.66008007526 0.57293844223 0.48583516479 0.28101506829 0.77561914921 0.56519508362 0.40822950006 -0.71573066711 0.56663775444 -0.17644794285 -0.018219923601 0.98414134979 -0.13613289595 0.0065040611662 0.99066925049 -0.0081383632496 0.40216007829 0.91553318501 0.033741969615 0.51490032673 0.85658574104 -0.14620909095 0.85774028301 0.49285343289 -0.30236381292 -0.91638147831 0.26233786345 -0.92178326845 0.072902925313 0.38078966737 -0.1867890656 0.28412240744 0.94041711092 0.01629457064 0.59313046932 0.80494141579 0.024834267795 -0.99870860577 -0.044321157038 0.32530283928 -0.92340534925 -0.20371703804 -0.7166787982 -0.55387419462 0.42378634214 -0.82183140516 -0.30880108476 0.47878497839 -0.87405240536 -0.058619450778 0.48228225112 -0.4952930212 -0.74366849661 0.44904568791 0.64909428358 -0.72817730904 0.2200781852 -0.95087099075 0.27880883217 0.1345731765 -0.92953824997 0.35410425067 -0.10280499607 0.94718748331 0.17508102953 -0.26866796613 -0.75407499075 -0.36710354686 0.54461538792 0.37417462468 -0.89668101072 0.23655126989 -0.64503908157 -0.50856202841 -0.57034128904 -0.77329576015 -0.06236070767 0.63097137213 -0.70747208595 -0.015313109383 0.70657539368 0.79468238354 -0.28890258074 0.53386819363 0.09391682595 0.061181355268 0.99369835854 0.70710831881 -0.20852795243 -0.67565816641 0.032765138894 0.32346272469 0.94567346573 -0.67334014177 -0.59275853634 0.44187149405 0.074721612036 -0.38533389568 0.91974693537 -0.50158846378 -0.44772687554 -0.74023622274 -0.96252888441 -0.06581042707 0.26307246089 -0.4896017909 0.82217007875 0.29039016366 -0.28389561176 -0.036241937429 0.95817005634 0.5506940484 0.33670488 0.76378387213 0.3710552752 0.69732052088 0.61323899031 0.37162765861 0.18368366361 0.9100292325 0.57432210445 0.093178741634 -0.81330919266 -0.56575596333 -0.15903161466 -0.80909156799 -0.6524399519 0.35173630714 -0.67127019167 -0.71377450228 -0.078573390841 -0.695954144 -0.45678079128 0.39698889852 -0.79608488083 0.40898671746 0.31079289317 -0.85798466206 -0.44022881985 0.18329256773 -0.8789780736 -0.27452227473 0.47840449214 -0.83412629366 -0.042579922825 0.44543451071 -0.89430141449 0.25912249088 0.44718164206 -0.85608649254 -0.44343537092 0.36390942335 -0.8191062212 -0.13351017237 0.35257944465 -0.92620879412 0.3700363934 0.59010952711 -0.71752619743 0.11755792052 0.64173835516 -0.75786018372 -0.012674547732 0.52028262615 -0.85390007496 -0.95252591372 -0.23522181809 0.1933003962 0.40802815557 -0.40072363615 -0.820325315 -0.94243377447 0.047811988741 0.33095708489 0.42050439119 -0.17984129488 -0.88928800821 -0.37891814113 -0.49314239621 -0.78309106827 -0.11993789673 -0.51853334904 -0.84660387039 0.12481400371 -0.64280664921 -0.75579166412 -0.631313622 0.6089823246 0.48019123077 -0.45635151863 0.75222271681 0.47529387474 -0.38953769207 -0.23565450311 -0.89035236835 0.15020355582 -0.96894025803 -0.19645263255 0.21364100277 -0.97611749172 0.039397276938 -0.34124368429 0.85223984718 0.39653491974 -0.11696698517 0.90289342403 -0.41364502907 0.38953766227 0.2356544584 -0.89035242796 0.631313622 -0.608982265 0.48019129038 -0.12481400371 0.64280664921 -0.75579172373 0.11993788183 0.51853328943 -0.84660387039 0.37891817093 0.49314233661 -0.78309106827 -0.4205044508 0.17984127998 -0.88928800821 0.94243371487 -0.047811962664 0.3309572041 -0.40802812576 0.40072366595 -0.820325315 -0.28828436136 0.50823116302 -0.8115375638 -0.0092295398936 0.95126014948 -0.30825135112 0.62410849333 0.75415313244 -0.20430786908 0.012674626894 -0.52028274536 -0.85390001535 -0.11755794287 -0.64173829556 -0.75786024332 -0.3700363934 -0.59010952711 -0.71752619743 0.13351020217 -0.35257947445 -0.92620879412 0.44343546033 -0.36390939355 -0.81910616159 -0.25912249088 -0.44718161225 -0.85608655214 0.04257986322 -0.44543451071 -0.89430141449 0.27452224493 -0.47840440273 -0.83412635326 0.53460389376 -0.5057259798 -0.67708188295 0.44022887945 -0.18329256773 -0.87897801399 -0.40898671746 -0.31079298258 -0.85798460245 0.45678076148 -0.39698892832 -0.79608488083 0.71377450228 0.078573264182 -0.695954144 0.6524400115 -0.35173627734 -0.67127013206 -0.37105536461 -0.69732046127 0.61323904991 0.48960110545 -0.8221706748 0.29038956761 0.56164574623 0.38651919365 -0.73154425621 -0.55069428682 -0.33670496941 0.76378375292 -0.3716275394 -0.18368376791 0.9100292325 0.96252888441 0.065810762346 0.26307246089 0.2838961482 0.036242019385 0.95816987753 -0.074721455574 0.3853341639 0.91974687576 -0.032765228301 -0.32346245646 0.94567358494 -0.70710831881 0.20852799714 -0.6756581068 -0.79468220472 0.28890252113 0.53386843204 -0.37417477369 0.89668083191 0.23655171692 -0.093916997313 -0.061181101948 0.99369835854 0.75407505035 0.36710309982 0.54461556673 0.70747214556 0.015313014388 0.70657533407 0.92953824997 -0.35410422087 -0.10280489922 -0.95890027285 0.21114172041 -0.18955074251 0.95087099075 -0.27880880237 0.13457323611 0.65441322327 0.71348392963 0.25036785007 -0.6112203598 0.7518004775 0.24739795923 0.028327863663 0.89271891117 0.44972261786 0.87405234575 0.058619495481 0.48228231072 0.82183134556 0.30880111456 0.47878500819 0.7166788578 0.55387413502 0.42378628254 -0.32530280948 0.92340534925 -0.20371711254 0.19223235548 0.97151374817 0.13859196007 -0.024834258482 0.99870860577 -0.044321008027 -0.016295025125 -0.59313040972 0.80494147539 0.92178326845 -0.072902917862 0.38078963757 0.30236375332 0.91638147831 0.26233789325 0.18678934872 -0.28412187099 0.94041717052 -0.44477272034 -0.7617713809 -0.4710431397 -0.7134295702 -0.53709834814 -0.45004850626 -0.71370106936 -0.53676813841 -0.45001196861 -0.71343392134 -0.53691279888 -0.45026293397 0.67856758833 -0.50657439232 -0.53191024065 -0.71180695295 -0.21475824714 -0.6687374115 0.20118291676 -0.86663490534 -0.45658442378 0.7021240592 -0.47657600045 -0.5290530324 0.76773756742 -0.30913227797 -0.56126308441 -0.66925638914 -0.45650187135 -0.58626097441 -0.31080451608 0.63158202171 -0.71028494835 0.09592166543 0.63911539316 -0.76310586929 -0.12391918153 0.70663994551 -0.69663763046 -0.31315115094 -0.76449006796 -0.5634636879 0.36643493176 -0.64198607206 -0.6734829545 0.21131750941 -0.78545498848 -0.58172619343 -0.80957329273 0.3752938211 -0.45138192177 -0.64118874073 0.63264328241 -0.4343265295 0.6208833456 -0.055610127747 -0.78192800283 0.28675574064 -0.8757724762 -0.38832172751 -0.38504236937 0.82873147726 -0.40613603592 0.62406635284 0.096887759864 -0.77534121275 -0.62406629324 -0.096887774765 -0.77534121275 -0.6208833456 0.055610042065 -0.78192800283 0.53086894751 -0.30526208878 -0.79056513309 -0.21131749451 0.78545498848 -0.58172619343 0.80957329273 -0.37529373169 -0.45138198137 -0.36643487215 0.64198607206 -0.67348301411 0.67683953047 0.49094983935 -0.54850387573 -0.095921635628 -0.63911545277 -0.76310580969 0.12391921133 -0.70663994551 -0.69663769007 0.31080448627 -0.63158208132 -0.71028488874 -0.58047026396 -0.33004248142 -0.74439656734 -0.76345181465 0.30494582653 -0.56934118271 -0.80651944876 0.18863593042 -0.56030601263 -0.75827080011 0.37217077613 -0.53527027369 0.89706999063 0.068694874644 -0.43651622534 0.71370106936 0.5367680788 -0.45001199841 0.71180701256 0.21475824714 -0.6687374115 0.7134295702 0.53709828854 -0.45004853606 0.44477269053 0.7617713809 -0.47104310989 0.71343392134 0.53691273928 -0.45026293397 -0.5010021925 0.65094172955 -0.57032591105 0.45054402947 0.55230796337 -0.701402843 0.070849448442 0.78770011663 -0.61197131872 -0.283072263 -0.43932768703 -0.85256159306 0.06230186671 -0.52928435802 -0.84615397453 -0.32767322659 -0.22344560921 -0.91798818111 -0.14183956385 -0.23185881972 -0.96235287189 0.26332002878 -0.35066637397 -0.89871889353 -0.30434131622 -0.034779503942 -0.95192790031 0.025092452765 -0.021701997146 -0.99944955111 0.23580220342 -0.14736951888 -0.96056210995 0.34991562366 -0.18939578533 -0.91743570566 -0.36727297306 0.051958050579 -0.92866080999 -0.053732987493 0.23232485354 -0.97115290165 0.66663444042 -0.48273456097 -0.56794881821 -0.036627907306 -0.15998445451 -0.9864397645 0.14607946575 -0.39009279013 -0.90911406279 -0.17917981744 -0.075509957969 -0.98091429472 -0.18220664561 -0.34340682626 -0.92134279013 0.012485983782 -0.619135499 -0.78518486023 -0.54266840219 -0.18589131534 -0.81911867857 -0.3321634531 -0.14299565554 -0.9323195219 -0.098257727921 -0.098503693938 -0.99027389288 -0.0090114986524 0.065658941865 -0.99780142307 -0.55330502987 -0.0084410356358 -0.8329359293 -0.50567638874 0.043830286711 -0.8616091013 -0.29827141762 0.10183660686 -0.94903290272 -0.072142593563 0.11294908822 -0.99097830057 -0.48735669255 -0.52512079477 -0.69766151905 0.16202093661 0.18394365907 -0.96949160099 -0.26710230112 0.31343320012 -0.91127163172 0.1568223089 0.26633155346 -0.95103853941 -0.84760147333 0.29171791673 -0.44325205684 0.89328843355 -0.089607775211 -0.44046133757 -0.8001075387 -0.40992301702 -0.43793961406 0.80893880129 0.21265813708 -0.5480825901 -0.88007003069 -0.10112154484 -0.46395164728 0.66385775805 0.50490152836 -0.5516949892 -0.79824703932 0.35567450523 -0.48610427976 -0.56810683012 0.67954570055 -0.46418985724 -0.32752594352 0.82386624813 -0.46257016063 0.24589700997 0.82899844646 -0.50229096413 0.45648345351 0.71846240759 -0.52481865883 0.49441894889 0.74570065737 -0.44663232565 -0.23863871396 -0.23735818267 -0.94165420532 -0.04772733897 -0.31514126062 -0.94784390926 0.17621490359 -0.33497861028 -0.92560124397 0.086891546845 -0.89694994688 -0.43350967765 -0.13971373439 0.8290117383 -0.54149752855 0.13237673044 0.81995719671 -0.55690807104 0.27181252837 0.80609160662 -0.52567505836 0.43174809217 -0.16375128925 -0.88700568676 0.18325121701 -0.9048615098 -0.38424551487 -0.23937799037 -0.030293866992 -0.97045373917 -0.05230005458 0.03122301586 -0.99814319611 0.51976817846 -0.67907226086 -0.51836460829 -0.14443744719 0.076243668795 -0.98657220602 -0.041106872261 0.12644857168 -0.9911210537 0.46756613255 0.054290976375 -0.88228929043 -0.34834116697 -0.80768358707 -0.47571596503 -0.15337489545 -0.86916977167 -0.47012773156 0.062084760517 -0.90271013975 -0.42574623227 0.082090273499 0.1790843606 -0.98040294647 0.30036434531 -0.84906810522 -0.43458560109 0.25684776902 0.25727808475 -0.9315778017 -0.69515693188 -0.52879935503 -0.48695793748 0.15295672417 -0.53081291914 -0.83357173204 0.32528060675 -0.44529813528 -0.83420747519 -0.33184146881 0.049663081765 -0.94202697277 0.8514418602 0.14278467 -0.50463777781 -0.8514419198 -0.1427847147 -0.5046377182 0.33184146881 -0.049663089216 -0.94202697277 -0.15295670927 0.53081291914 -0.83357173204 -0.26598683 0.86995577812 -0.4152444303 0.69515699148 0.52879941463 -0.48695784807 0.34834095836 0.80768358707 -0.47571605444 0.70512390137 -0.047580465674 -0.70748597383 -0.24218663573 -0.18461032212 -0.95250439644 -0.46756604314 -0.054291028529 -0.88228935003 0.04110686481 -0.12644858658 -0.9911210537 -0.35566192865 0.82555794716 -0.43813088536 0.052300080657 -0.031222997233 -0.99814319611 0.23937797546 0.03029383719 -0.97045373917 -0.13237673044 -0.81995713711 -0.55690813065 0.13971377909 -0.8290117979 -0.54149746895 -0.14013747871 0.88339906931 -0.44717738032 -0.43174806237 0.16375134885 -0.88700568676 0.30611926317 0.13093003631 -0.94294661283 0.51883488894 -0.67479228973 -0.52484828234 -0.45648342371 -0.71846246719 -0.52481859922 -0.24589703977 -0.82899844646 -0.50229090452 0.098469875753 -0.87851393223 -0.46745800972 0.32752588391 -0.82386630774 -0.46257013083 -0.1762149334 0.33497861028 -0.92560124397 0.047727324069 0.31514126062 -0.94784390926 0.23863868415 0.23735828698 -0.94165420532 -0.60540604591 -0.68299227953 -0.4086625278 0.79824703932 -0.35567444563 -0.48610424995 -0.66385781765 -0.50490140915 -0.5516949296 0.87201923132 -0.1360861361 -0.47017341852 -0.80893886089 -0.21265815198 -0.5480825305 0.84035140276 0.28693819046 -0.45986518264 0.8001075387 0.40992295742 -0.43793955445 0.87290072441 -0.26419532299 -0.41017693281 -0.89830422401 0.1768116802 -0.40222775936 0.6144258976 0.67084747553 -0.41526430845 -0.1568223536 -0.26633149385 -0.95103853941 0.10564380139 -0.31975603104 -0.94159197807 0.43043354154 0.48726788163 -0.75980061293 0.29827144742 -0.10183663666 -0.94903290272 0.50567638874 -0.043830275536 -0.8616091013 -0.01248599682 0.619135499 -0.78518491983 0.098257772624 0.098503738642 -0.99027389288 0.3321634531 0.14299564064 -0.9323195219 0.18220664561 0.34340682626 -0.92134279013 0.52899962664 0.16050603986 -0.83330500126 0.38993895054 0.33662238717 -0.85710734129 0.036627907306 0.15998445451 -0.9864397645 -0.0021631463896 0.21748664975 -0.97606092691 0.20760129392 0.43182763457 -0.87773948908 -0.25358536839 0.093591473997 -0.96277469397 0.36727309227 -0.051958043128 -0.92866075039 -0.34991559386 0.18939574063 -0.91743576527 -0.23580221832 0.14736953378 -0.96056210995 -0.025092486292 0.021702006459 -0.99944955111 0.30434134603 0.034779570997 -0.95192790031 -0.26331996918 0.35066634417 -0.89871895313 0.14183959365 0.23185887933 -0.96235281229 0.32767313719 0.22344559431 -0.91798824072 -0.06230186671 0.52928429842 -0.84615403414 0.283072263 0.43932765722 -0.85256159306 -0.42858359218 -0.41880598664 -0.800573349 0.29075917602 -0.59396791458 -0.75010746717 -0.54474246502 -0.28080496192 -0.79019248486 0.49819767475 -0.45907565951 -0.73556005955 -0.51629912853 -0.10638614744 -0.84977477789 -0.27913859487 -0.62290149927 -0.73080462217 0.78463536501 -0.46519628167 -0.40980455279 -0.35773539543 0.33349642158 -0.87224167585 0.23997072875 -0.25841143727 -0.93575507402 -0.37830576301 0.45856070518 -0.80411863327 -0.57677316666 -0.38269931078 -0.72171598673 -0.45405831933 0.30311596394 -0.83782559633 -0.17304821312 0.43783056736 -0.88224637508 0.89049464464 -0.3303950727 -0.31282329559 0.81663149595 -0.046580825001 -0.57527667284 -0.57455867529 0.52747702599 -0.62581968307 0.83995068073 0.27034589648 -0.4705273211 0.25984215736 0.54089784622 -0.79994475842 -0.67815750837 -0.69457167387 -0.24015121162 -0.90693974495 0.25269815326 -0.33705180883 0.94679754972 -0.21503554285 -0.23944538832 0.95177364349 0.051772292703 -0.30240127444 0.72607082129 0.61840093136 -0.300668329 0.87426507473 0.36325010657 -0.32204028964 -0.071911670268 -0.58162581921 -0.81027162075 -0.79013037682 0.5346263051 -0.29978099465 0.77514511347 0.5485830307 -0.31337940693 -0.4238538444 -0.40564584732 -0.80981439352 0.43628102541 -0.46042436361 -0.77309006453 0.45066362619 0.85440987349 -0.25862345099 -0.78883355856 0.55529916286 -0.26340925694 0.53730762005 0.79728114605 -0.27503329515 0.66821116209 -0.31790715456 -0.67262834311 -0.56657683849 -0.54035234451 -0.62210124731 -0.10229663551 0.95596170425 -0.27508658171 -0.54159241915 0.79912143946 -0.26092645526 -0.33320721984 0.89865058661 -0.28530704975 0.44514206052 0.84516274929 -0.29588595033 0.32905298471 -0.90801769495 -0.25928363204 -0.022316193208 0.94817167521 -0.31697398424 -0.53963655233 -0.068930052221 -0.83907151222 0.64057737589 -0.69835704565 -0.31930872798 0.71499621868 0.010733203031 -0.69904589653 0.221942693 -0.94157081842 -0.253349334 0.88178724051 -0.35226857662 -0.31362098455 0.68663829565 0.20471781492 -0.69758039713 -0.81024104357 -0.51487112045 -0.28003066778 0.96594071388 -0.041670039296 -0.25538635254 -0.90532118082 -0.34075146914 -0.25353887677 0.90532118082 0.34075152874 -0.25353878736 -0.96594065428 0.041670013219 -0.25538644195 -0.46737870574 -0.28170922399 -0.83797198534 0.056491158903 0.68201845884 -0.72914993763 0.81024104357 0.51487112045 -0.28003069758 -0.93545901775 0.20527777076 -0.28771078587 -0.221942693 0.94157075882 -0.2533493638 -0.78954023123 0.52305448055 -0.32099884748 -0.64057743549 0.69835698605 -0.31930869818 -0.7339451313 0.096820756793 -0.67227250338 -0.16049358249 -0.93398863077 -0.31922876835 0.022316247225 -0.9481716156 -0.31697401404 -0.41369360685 0.86460059881 -0.28517255187 -0.07608383894 -0.96398240328 -0.25485122204 0.5665768981 0.54035234451 -0.62210124731 0.53656685352 0.16762281954 -0.82704210281 -0.45066356659 -0.85440987349 -0.25862342119 0.55455952883 -0.78617721796 -0.27274367213 0.05286245048 0.90284925699 -0.42669516802 -0.66821116209 0.31790724397 -0.67262834311 0.78883355856 -0.55529910326 -0.26340934634 -0.43628105521 0.46042436361 -0.77309006453 0.32780754566 0.39822617173 -0.8567135334 0.42385387421 0.40564587712 -0.80981433392 -0.77514511347 -0.54858309031 -0.31337937713 0.79013043642 -0.5346263051 -0.29978090525 0.071911685169 0.58162581921 -0.81027162075 0.2134603858 0.56338971853 -0.79813951254 0.95030426979 -0.12446493655 -0.28535982966 -0.87426507473 -0.36325010657 -0.32204028964 0.9159886241 0.28846389055 -0.27884292603 0.85872155428 0.42125442624 -0.29179099202 0.93815946579 -0.22288557887 -0.26491296291 -0.80922651291 -0.43037828803 -0.39990869164 -0.16524769366 -0.51093685627 -0.84358566999 0.16783380508 -0.52897399664 -0.83187639713 -0.83995074034 -0.27034583688 -0.4705272913 0.27315923572 -0.43074589968 -0.86014068127 -0.81663143635 0.046580806375 -0.57527673244 0.17304822803 -0.43783056736 -0.88224637508 0.45601138473 -0.20531834662 -0.86596649885 -0.33691126108 0.48979958892 -0.80410641432 0.27052113414 -0.43311163783 -0.85978639126 0.1026398465 0.31444677711 -0.94370985031 0.4777097702 -0.22981840372 -0.84792506695 0.23979227245 0.61581087112 -0.75051754713 0.27913862467 0.62290143967 -0.73080462217 0.51629906893 0.10638616979 -0.84977483749 -0.49819767475 0.45907574892 -0.73555999994 0.54474252462 0.28080493212 -0.79019248486 -0.29075917602 0.59396797419 -0.75010740757 0.42858356237 0.41880604625 -0.80057328939 -0.1582134068 -0.70592397451 -0.69039112329 -0.4859688282 -0.54105961323 -0.68635904789 -0.02957415767 -0.66600716114 -0.74535888433 -0.042913541198 -0.90569388866 -0.42175474763 0.42644038796 -0.84621185064 -0.31949046254 0.53749221563 -0.30576947331 -0.78587985039 -0.57980704308 0.31439697742 -0.75165039301 -0.6958271265 -0.25079315901 -0.67299878597 -0.63944327831 0.1596314311 -0.75208383799 -0.59512174129 0.29944723845 -0.74576234818 -0.59502011538 0.29962071776 -0.74577373266 -0.59509909153 0.29961714149 -0.74571216106 0.95702683926 0.089694187045 -0.27577990294 -0.59568983316 0.4403501749 -0.6717479825 0.90611684322 0.34939745069 -0.23848208785 -0.33848881721 0.61492693424 -0.71224308014 0.056174036115 0.6213273406 -0.7815349102 -0.83120590448 -0.53232544661 -0.16039428115 -0.1867339313 -0.73081982136 -0.65653085709 0.41860160232 -0.6855186224 -0.59568190575 -0.89314889908 0.42010834813 -0.16060525179 0.92212557793 0.37034004927 -0.11194954067 -0.39687460661 -0.54307615757 -0.73997217417 -0.74461936951 0.65245145559 -0.140886724 -0.43971896172 -0.84479576349 -0.30490544438 0.62230211496 0.77474427223 -0.11185429245 -0.80688309669 0.58090007305 -0.10721355677 0.65481352806 0.74656611681 -0.11772096902 -0.76479065418 -0.50599944592 -0.39882311225 -0.31950214505 0.93627536297 -0.14596869051 0.10459726304 0.98903650045 -0.10424114764 -0.35743197799 0.92713600397 -0.11252193153 -0.18737563491 0.97524923086 -0.11738521606 0.14978800714 0.9816454649 -0.11804971099 0.68631929159 -0.71392172575 -0.13885822892 0.27735644579 -0.95912647247 -0.056123070419 0.74250620604 0.1071831882 -0.66120821238 0.93010753393 -0.34973967075 -0.11217005551 -0.8655487299 -0.4866758883 -0.11820304394 -0.98283207417 -0.16325309873 -0.085962764919 -0.52986842394 -0.34476199746 -0.77484101057 -0.14570720494 0.98129069805 -0.12584885955 -0.20284835994 0.97161096334 -0.12175666541 0.5667027235 0.80938059092 -0.15411366522 -0.68631929159 0.71392172575 -0.13885828853 -0.14978799224 -0.9816454649 -0.11804968119 0.18737564981 -0.97524923086 -0.11738517135 0.35743182898 -0.92713606358 -0.11252188683 -0.40228554606 0.90616583824 -0.13049814105 -0.25189116597 -0.96330040693 -0.092753082514 0.078312925994 -0.98944044113 -0.12196206301 0.76479065418 0.50599932671 -0.39882314205 0.65611666441 0.13792657852 -0.74194824696 -0.65481358767 -0.74656605721 -0.11772096902 -0.62230217457 -0.77474427223 -0.111854285 0.14894112945 0.95589691401 -0.25313556194 0.43971899152 0.84479576349 -0.30490538478 0.80688309669 -0.58090007305 -0.10721352696 -0.68201363087 0.3966691494 -0.61441922188 -0.1872228533 0.63179671764 -0.75218385458 0.98154085875 -0.11527069658 -0.15261130035 -0.41860163212 0.68551856279 -0.59568190575 0.98265862465 0.10495779663 -0.15285912156 0.92436212301 -0.35256761312 -0.14577642083 0.95016777515 0.27692937851 -0.14314796031 0.83120590448 0.53232544661 -0.16039435565 -0.9813863039 0.14910320938 -0.12103365362 -0.056174017489 -0.62132722139 -0.78153496981 0.69315266609 0.71819746494 -0.061088282615 0.10183094442 -0.67627441883 -0.72957754135 -0.32771158218 -0.61875778437 -0.71396350861 0.59568983316 -0.4403501749 -0.6717479825 -0.95702689886 -0.089694216847 -0.27577981353 0.59502005577 -0.29962065816 -0.74577385187 0.59512168169 -0.29944717884 -0.74576240778 0.59509909153 -0.29961708188 -0.74571222067 -0.89569050074 0.26559719443 -0.35664632916 0.8519128561 0.33385381103 -0.40346765518 0.63944321871 -0.1596313864 -0.75208389759 -0.78161221743 0.46290263534 -0.41809508204 0.75685179234 -0.073446191847 -0.64944672585 0.48725005984 -0.4236638844 -0.76360738277 0.37713140249 -0.61195790768 -0.69518303871 -0.59688168764 0.53077948093 -0.60166883469 0.57980704308 -0.31439694762 -0.75165045261 -0.75545716286 0.60445320606 -0.25282552838 0.41703817248 0.65869474411 -0.62625902891 -0.42644041777 0.84621179104 -0.31949043274 0.04291343689 0.90569382906 -0.42175477743 0.14534573257 0.83393085003 -0.53238517046 0.68451595306 0.13776792586 -0.71586161852 0.15821349621 0.70592391491 -0.69039112329 0.4859688282 0.54105967283 -0.68635904789 0.32815441489 -0.82542192936 -0.45934003592 0.63625067472 -0.61417847872 -0.46687248349 0.018456140533 -0.99189698696 -0.12569697201 -0.36230319738 -0.81551939249 -0.45129203796 -0.16174840927 -0.87486302853 -0.45656555891 0.095956273377 -0.84594970942 -0.52455836535 0.46539890766 -0.88502913713 -0.011284353212 0.77491408587 -0.39262604713 -0.49533110857 0.73320090771 -0.674305439 -0.087912492454 -0.72448462248 -0.52237790823 -0.44971475005 -0.41244760156 0.7015786171 -0.58109760284 -0.82986330986 -0.1080692932 -0.54740107059 -0.77626699209 0.098334752023 -0.62268763781 0.97915422916 -0.20224222541 -0.018842972815 0.99347889423 0.11315330118 -0.014002096839 -0.94212669134 0.3169156909 0.10936994851 -0.76505893469 -0.64390021563 -0.0087920762599 0.99710839987 -0.075982518494 -0.0012005514 -0.91170299053 -0.40873026848 -0.041679996997 0.18473342061 -0.73910290003 -0.64776569605 -0.94586521387 0.32451832294 -0.0051856548525 -0.99284517765 -0.10274965316 -0.060835618526 -0.98942369223 0.13960792124 -0.039375457913 0.70490288734 -0.51163774729 -0.49126237631 0.83145201206 0.55381262302 0.044487528503 0.00046497394214 -0.96925598383 -0.24605418742 0.68345344067 0.72998911142 0.0026996706147 -0.63073539734 -0.77567183971 -0.022496169433 -0.28712126613 0.95742052794 -0.030122412369 -0.05927908048 0.99812561274 -0.015207259916 0.25341433287 0.96610450745 -0.049227133393 -0.55572503805 0.83014917374 -0.044966578484 0.58209049702 0.81312388182 0.00041923328536 0.84037357569 -0.27627527714 -0.46630915999 0.3927628696 -0.91963768005 0.0019764050376 -0.023474546149 0.99888247252 0.041022021323 0.29781317711 0.95459479094 0.0074875298887 -0.75101035833 -0.020651325583 -0.65996742249 0.66254919767 -0.74895268679 0.0099229505286 -0.88070452213 -0.41210174561 -0.23352020979 -0.1587780565 -0.98612326384 -0.048481427133 0.8964484334 -0.015773367137 -0.44286718965 0.8591221571 -0.51002973318 0.042175911367 -0.82595449686 -0.33182525635 -0.45573148131 -0.70411127806 -0.70954036713 -0.027924431488 0.063138455153 -0.99499154091 0.077494040132 0.83417129517 0.28886479139 -0.4698035121 -0.83417135477 -0.28886476159 -0.46980348229 -0.86482095718 -0.1925264895 -0.46370059252 -0.19918194413 0.97425961494 0.10556867719 -0.29208806157 0.95310133696 0.079261764884 0.70411133766 0.70954030752 -0.027924455702 -0.93258064985 0.3597009182 0.030142223462 0.82595455647 0.33182519674 -0.45573145151 -0.080111175776 0.9960924983 -0.037174206227 0.1587780863 0.98612326384 -0.048481456935 -0.85912203789 0.51002985239 0.042175941169 -0.66254919767 0.74895262718 0.0099229486659 0.02347458899 -0.99888247252 0.041021965444 -0.48955968022 0.87196910381 0.0010942324298 -0.86549943686 0.1833256036 -0.46615713835 -0.46536761522 -0.88511711359 0.00084687297931 -0.81878507137 0.34949100018 -0.45546361804 0.92475354671 -0.38027152419 -0.014983413741 -0.70490288734 0.51163780689 -0.49126234651 0.31178990006 0.66688370705 -0.6767962575 -0.97551977634 -0.2196867317 0.009943254292 -0.99912208319 -0.04189241305 -0.000201040908 0.91170299053 0.40873029828 -0.041680000722 0.96457612514 -0.23760125041 0.11462367326 0.7019751668 0.71040171385 0.05059948191 0.51486730576 -0.83656340837 -0.18727864325 -0.079340353608 -0.88892644644 -0.45112621784 -0.99347889423 -0.11315323412 -0.01400211174 -0.97915428877 0.202242136 -0.018842954189 0.77626699209 -0.098334789276 -0.6226875782 0.82986325026 0.10806930065 -0.54740107059 0.81550365686 0.32045426965 -0.48193654418 0.76358985901 0.46250844002 -0.45057353377 -0.46539887786 0.88502913713 -0.011284328066 0.36230322719 0.81551939249 -0.45129200816 -0.77491414547 0.39262598753 -0.49533113837 -0.018456233665 0.99189698696 -0.12569701672 -0.63625061512 0.61417853832 -0.46687248349 0.73886471987 0.24491427839 -0.6277706027 -0.32815444469 0.82542198896 -0.45934000611 -0.22607715428 0.85631293058 -0.46434614062 -0.35573241115 -0.83947914839 -0.41076660156 -0.16066674888 -0.93365246058 -0.32012379169 -0.023821512237 -0.96140980721 -0.27408704162 0.14114773273 -0.94879758358 -0.28259599209 0.43319877982 -0.85874181986 -0.27368101478 -0.66996574402 -0.5054038763 -0.54379481077 0.53103208542 -0.80185866356 -0.27391156554 -0.16365613043 -0.95404684544 -0.25102043152 0.81327682734 -0.52830767632 -0.24386849999 -0.47589829564 -0.83609414101 -0.27288708091 0.86774015427 -0.43870782852 -0.23358617723 -0.73682677746 -0.61185669899 -0.28760695457 -0.592261374 0.22500397265 -0.77369225025 0.87164372206 -0.48402091861 -0.077207565308 -0.87882345915 -0.38375198841 -0.28355553746 -0.33942845464 0.78199625015 -0.52275246382 0.96997529268 0.2286901772 -0.082757070661 -0.26615467668 0.96314162016 0.038986314088 -0.65119457245 -0.7457973361 0.14047068357 -0.0023389495909 -0.84066575766 -0.54154926538 0.085075736046 -0.91840720177 -0.38638105989 0.99001711607 0.052685532719 0.13072991371 -0.51181578636 -0.31696635485 -0.7984841466 0.82196331024 -0.49073934555 -0.28905230761 -0.16284552217 -0.96992945671 -0.18088179827 -0.84287840128 0.53726631403 0.030014278367 0.4595503509 0.87940269709 0.12435565144 -0.87929129601 -0.47627103329 -0.0035602587741 -0.31925481558 -0.94700741768 0.035401724279 -0.95222049952 -0.20687456429 -0.22467552125 0.95778489113 0.084661468863 -0.27473732829 -0.54066246748 -0.83300632238 0.11740776151 -0.78781539202 -0.56918621063 -0.23531681299 0.88659435511 0.3872615695 -0.25294047594 0.85038763285 0.46801128983 -0.24042932689 -0.88659435511 -0.3872616291 -0.25294044614 0.86330550909 0.50354760885 0.033813901246 -0.94205594063 -0.20384699106 -0.26641517878 0.59789973497 0.79953485727 0.057095907629 -0.11475016922 -0.98360031843 0.13915044069 -0.94034892321 0.18695048988 -0.28424185514 0.7791865468 0.60858917236 0.14995844662 0.77078634501 0.047988522798 -0.63528382778 0.52435553074 -0.85032588243 0.044690292329 0.30669549108 0.95126694441 -0.032079838216 -0.11630792171 0.92563015223 -0.3601129353 0.16284550726 0.96992939711 -0.18088187277 0.60404783487 0.30037218332 -0.73817527294 -0.82196325064 0.49073943496 -0.28905230761 0.0023389682174 0.84066575766 -0.54154926538 0.95270878077 -0.21036808193 0.21929724514 -0.97443038225 0.2241999507 -0.014824979939 0.80338227749 -0.54276937246 0.24490475655 0.90438687801 0.3520719409 0.24110098183 -0.88406467438 0.46192267537 0.071113526821 0.87882345915 0.38375204802 -0.28355544806 0.79070156813 0.54322826862 -0.28230133653 0.68102633953 0.67354869843 -0.28728958964 -0.9057970047 0.36215290427 -0.21994772553 0.56679701805 0.77431166172 -0.28139406443 -0.90197968483 0.36366710067 -0.23276351392 0.62152355909 0.079340517521 -0.7793674469 0.36746636033 0.89012616873 -0.26952522993 -0.86774015427 0.43870773911 -0.23358623683 -0.01233590208 0.99850523472 0.053245633841 0.16365624964 0.95404684544 -0.25102046132 -0.81327688694 0.52830755711 -0.24386847019 -0.53103220463 0.80185866356 -0.27391156554 -0.43319883943 0.85874181986 -0.27368104458 0.66996574402 0.50540399551 -0.54379475117 -0.14114774764 0.94879758358 -0.28259596229 0.16066677868 0.93365246058 -0.3201238513 0.35573241115 0.83947914839 -0.41076663136 -0.27069321275 -0.95080780983 -0.15063080192 -0.015248683281 -0.99459517002 -0.1027033478 0.23002716899 -0.96557968855 -0.12142237276 0.44420471787 -0.8893982172 -0.10794904828 0.67495083809 -0.73104542494 -0.10006996244 0.78877133131 -0.6083483696 -0.088045991957 -0.24084657431 -0.96607875824 -0.093192286789 0.2064102143 -0.92018020153 0.33266079426 0.31954294443 -0.9188850522 0.2313926369 0.90660625696 -0.42104417086 -0.0280519519 0.6555300951 -0.70869505405 -0.26082873344 0.34986466169 -0.41673958302 -0.83900111914 0.72371864319 -0.38059973717 -0.57565188408 0.19983230531 -0.17112933099 -0.96477031708 -0.86113864183 -0.49512508512 -0.11528841406 0.064442187548 0.05434364453 -0.99644064903 0.84250074625 -0.19775131345 -0.5010856986 -0.51435697079 0.85622519255 -0.048117518425 -0.98085451126 -0.073544576764 -0.18032091856 -0.82878261805 0.47315853834 0.29873132706 -0.95383751392 0.14106178284 -0.26513317227 0.94492417574 -0.1503881067 -0.29069182277 -0.85576999187 -0.23867183924 0.45901355147 -0.8542959094 0.3449190259 -0.38885647058 -0.6049683094 0.65172415972 0.45745930076 0.96453982592 0.16994519532 -0.20194450021 0.95963549614 0.17864732444 -0.21722073853 0.86777275801 0.16384457052 -0.46917527914 0.30144530535 -0.91286599636 -0.27532961965 0.55365157127 -0.81276154518 -0.18135218322 -0.11266016215 -0.068361893296 -0.99127912521 0.55619430542 0.71804910898 -0.41839376092 -0.28532868624 -0.082716435194 -0.95485365391 0.004393691197 -0.11746837944 -0.99306690693 0.0068234042265 -0.65306794643 -0.75726854801 0.18237559497 -0.48941853642 -0.85276532173 0.88688993454 -0.44111660123 -0.13726750016 -0.46820777655 -0.88361346722 -0.0029609664343 0.3746856153 -0.75498789549 -0.53814864159 -0.2971714437 0.94649338722 0.1258547157 0.23131264746 0.97025835514 0.071366325021 0.97601026297 -0.18181322515 -0.11978269368 -0.77394115925 -0.54692137241 0.31920537353 -0.99620443583 0.020387548953 -0.084622822702 0.9423673749 -0.29623395205 0.15552859008 -0.83923012018 -0.53424054384 0.10138978064 0.94390130043 0.3169413805 -0.092727892101 -0.863245368 -0.50203508139 -0.052613619715 -0.98798632622 -0.13515715301 0.074936904013 -0.94390130043 -0.3169413805 -0.092727869749 -0.032999400049 0.90677964687 0.42031148076 0.83140867949 0.48094382882 0.27830314636 -0.88080918789 0.43235871196 0.19297960401 0.94031828642 -0.19405142963 -0.27954518795 -0.43366166949 -0.88475310802 0.17073211074 0.49608755112 -0.8622828126 0.10181081295 -0.94790941477 0.29219210148 -0.12685239315 -0.3746856153 0.75498789549 -0.53814864159 -0.88688993454 0.44111663103 -0.13726750016 -0.89038670063 -0.39914646745 0.21884609759 -0.0043936478905 0.11746833473 -0.99306690693 0.40059110522 0.34037008882 -0.85069090128 -0.27097025514 -0.59027647972 -0.76036095619 0.96426647902 -0.24679020047 0.096357308328 -0.55365157127 0.81276154518 -0.18135209382 -0.30144527555 0.91286605597 -0.27532953024 0.9575445056 0.27759206295 0.077789612114 0.065439946949 -0.41268438101 -0.90852034092 0.10966045409 0.61022645235 -0.78460067511 -0.35340431333 -0.2490952462 -0.90169668198 -0.61515802145 -0.49395313859 -0.61448425055 -0.6149302721 -0.38382107019 -0.68887019157 -0.10718885064 -0.96677833796 0.23205651343 0.8542959094 -0.3449190259 -0.38885650039 -0.94492417574 0.15038813651 -0.29069182277 0.95383751392 -0.14106175303 -0.26513320208 0.82878255844 -0.47315856814 0.29873132706 0.98085451126 0.073544576764 -0.18032097816 -0.87988501787 0.31241995096 0.35804489255 0.12314618379 -0.91174030304 -0.39187321067 0.95240056515 0.27993971109 -0.12069327384 -0.85842490196 0.44015824795 0.26337689161 0.16846615076 -0.20698828995 -0.96372973919 0.86113864183 0.49512502551 -0.11528842896 -0.19983233511 0.17112925649 -0.96477031708 -0.72371864319 0.38059976697 -0.57565194368 0.26569318771 0.038996804506 -0.96326857805 -0.64649671316 0.72850292921 -0.22655116022 -0.49223843217 0.87013924122 0.023643346503 -0.080052874982 0.94637721777 0.31298837066 0.47697663307 0.87228292227 -0.10777646303 -0.90660625696 0.42104417086 -0.028051940724 -0.0025572066661 0.9989413619 -0.045930452645 -0.78877133131 0.60834830999 -0.088045969605 -0.67495077848 0.73104542494 -0.10006992519 -0.44420480728 0.8893981576 -0.10794906318 -0.23002716899 0.96557968855 -0.12142239511 0.27069327235 0.95080780983 -0.15063083172 -0.61337822676 -0.77661532164 -0.14365175366 0.54433208704 -0.83662730455 0.061297275126 -0.46738162637 -0.88235288858 0.054843060672 -0.35265353322 -0.93336254358 0.066856734455 0.15053908527 -0.84190928936 0.51819562912 -0.57021057606 -0.27756291628 -0.77318739891 -0.67009848356 -0.74175965786 0.02757926099 0.39106705785 -0.88131004572 -0.26525300741 -0.49042707682 -0.20323857665 -0.84745228291 0.83536928892 -0.27382189035 0.47663369775 0.72388583422 -0.32358473539 0.60932928324 -0.95028287172 -0.30564174056 0.059544980526 -0.49183058739 0.76212441921 0.42103329301 -0.98964631557 -0.13949163258 0.033797353506 0.63199132681 0.2329454124 -0.73913693428 -0.23476934433 0.68258655071 0.69206857681 0.25859603286 -0.47397223115 -0.84171158075 0.41432598233 -0.90765672922 -0.067031495273 0.61336225271 -0.78898787498 0.035845421255 0.38985812664 0.74451649189 -0.54194629192 0.26196175814 0.0088297696784 -0.96503788233 0.4621501267 -0.30483582616 -0.83276188374 -0.55915462971 0.098078384995 -0.82324159145 0.53104519844 -0.6371936202 -0.5585474968 0.50820857286 0.82292848825 0.25399363041 -0.75310409069 0.616071105 0.23084756732 0.2462015748 0.9409763217 0.23226781189 -0.47795724869 0.83996528387 0.25693422556 0.26442620158 0.93930482864 0.21859832108 0.61579668522 -0.76615965366 0.1838311255 -0.8274769783 0.36655637622 -0.42534485459 0.99364387989 0.092728376389 0.063822418451 0.33416745067 -0.85058909655 0.40599292517 0.97325694561 0.21870183945 0.070288307965 0.15624503791 -0.82869619131 0.53744781017 -0.65579795837 -0.31802195311 0.6846832037 -0.90765744448 -0.35922658443 0.21705806255 0.89832544327 0.4277613759 0.10015780479 0.96573483944 0.11492018402 0.23270060122 -0.15624502301 0.82869613171 0.53744786978 0.90765744448 0.35922658443 0.21705807745 -0.96089893579 0.12873201072 0.2451556772 0.47144055367 0.55548930168 0.68496382236 0.65579801798 0.31802198291 0.68468314409 -0.97325694561 -0.21870179474 0.070288315415 0.64237099886 0.65711766481 0.39440575242 -0.51276224852 0.85222828388 0.10383561999 0.078261166811 -0.96380734444 0.25485414267 -0.2462015152 -0.9409763813 0.23226775229 -0.037745691836 -0.97672224045 0.2111608386 -0.50820845366 -0.82292854786 0.25399360061 0.82031154633 -0.52784711123 0.22015093267 0.43458786607 -0.36061236262 -0.82528305054 0.10594253987 -0.5691947937 -0.81534868479 -0.15515235066 0.039456944913 -0.98710227013 -0.34693351388 -0.42399182916 -0.83658117056 -0.61336231232 0.78898781538 0.03584548831 -0.1175166741 0.9045060873 -0.40994945168 -0.9568426609 0.046075038612 -0.28693071008 -0.76480728388 0.3316603899 0.55233252048 0.11883661151 -0.96819114685 -0.22019022703 0.98964631557 0.13949161768 0.033797364682 -0.18540281057 -0.40458831191 -0.8955077529 -0.83536928892 0.27382197976 0.47663369775 0.023331174627 0.2026604414 -0.97897106409 -0.26944875717 0.95966345072 0.080270916224 0.67009842396 0.74175971746 0.027579307556 0.2476336211 0.56019639969 -0.79047936201 0.46738159657 0.88235294819 0.054843027145 -0.91387963295 0.37451532483 0.1567235291 -0.80128282309 0.59215474129 0.085431829095 0.71515619755 0.57616090775 -0.39571481943 -0.54433214664 0.83662724495 0.06129726395 0.43029022217 0.90267568827 -0.0051881875843 -0.22238068283 -0.95870125294 0.1773095727 0.075955972075 -0.98668599129 0.14381057024 0.16176198423 -0.97710829973 0.1381752342 0.083112955093 -0.94258493185 0.32345923781 0.85072118044 -0.43701818585 0.29204216599 0.33878347278 -0.74953514338 0.56870275736 -0.53882950544 -0.8249360323 0.17071405053 -0.10433197021 -0.8922213316 0.4393812716 -0.11733368784 -0.78584110737 -0.60719567537 0.3542996943 -0.4538397789 0.81761920452 -0.86949205399 -0.46492129564 0.16682864726 -0.93391501904 -0.30471155047 0.18695873022 -0.27933830023 0.72891503572 0.62502235174 0.030527744442 0.90139269829 0.43192508817 -0.23038636148 0.30428931117 0.92429983616 0.18078243732 0.55152052641 0.81433582306 0.69479328394 -0.53317028284 0.48269212246 0.87699174881 0.14685732126 -0.45751330256 0.8288628459 -0.54481399059 0.12713833153 0.78919017315 -0.51897865534 -0.32839006186 -0.79413115978 -0.39177885652 -0.4646127522 -0.33280357718 0.50582426786 -0.79585403204 0.87851345539 -0.45222261548 0.15397658944 -0.26441773772 0.89206957817 0.36646291614 0.10496713966 0.95872026682 0.26426762342 0.95411407948 -0.26363757253 0.14199152589 -0.75941348076 -0.30057525635 0.57701450586 0.98407137394 -0.059369172901 0.16756755114 0.69343179464 -0.68852949142 0.21231922507 -0.78491348028 0.56087946892 -0.26329660416 -0.46770960093 -0.86705708504 0.17163848877 0.94310230017 0.22494462132 0.2448631376 -0.75534194708 0.11270940304 0.64556574821 0.92392081022 -0.12081826478 0.36300587654 0.84100615978 0.45836904645 0.28741332889 -0.92227679491 -0.11210065335 0.36991757154 0.068483456969 -0.60835707188 0.79070329666 -0.84100615978 -0.45836910605 0.28741332889 0.3324894309 0.411311239 0.84868949652 0.50545483828 0.13599921763 0.85206782818 0.88006448746 0.33093395829 0.34054249525 -0.92392081022 0.12081816792 0.36300590634 0.75534200668 -0.11270942539 0.64556568861 0.80096805096 0.52833974361 0.28161549568 -0.94310230017 -0.22494459152 0.2448631376 0.24189867079 0.96464598179 0.10460941494 0.46770948172 0.86705714464 0.17163844407 0.44115188718 0.37857595086 0.81367391348 0.5447075963 0.31004995108 0.77920645475 -0.98407137394 0.059369239956 0.16756753623 -0.97534638643 0.15839782357 0.15365403891 -0.27874290943 -0.88338470459 0.37674108148 0.26528951526 -0.93654561043 0.22913707793 0.56986755133 -0.30879944563 -0.76150763035 0.71829408407 -0.68850374222 0.10008087009 0.88353085518 0.46827700734 -0.0094781834632 -0.064446166158 -0.72928392887 -0.68116933107 -0.83640861511 0.5213482976 0.16916422546 0.98413568735 -0.01057682652 0.17710202932 -0.68128138781 0.70958381891 0.17985115945 -0.78919017315 0.51897865534 -0.32839009166 -0.85167002678 -0.19107857347 -0.48800325394 -0.18078239262 -0.5515204668 0.81433588266 0.28630682826 0.12761731446 0.94960105419 -0.093619704247 -0.5562492013 -0.8257252574 -0.32854214311 -0.41497257352 0.84844434261 -0.030527746305 -0.90139269829 0.43192499876 -0.50708550215 0.0048108357005 0.86188232899 0.86949199438 0.46492132545 0.16682867706 0.067734986544 0.9859495163 0.15269422531 0.53882956505 0.8249360323 0.17071405053 0.24041651189 0.59238725901 -0.76894551516 0.33762827516 0.91298353672 0.22905929387 0.11922588944 0.96001774073 0.25328063965 -0.85072118044 0.43701812625 0.29204210639 0.63595217466 0.65499341488 -0.40810355544 -0.25548836589 0.95568728447 0.14624460042 0.22238071263 0.95870125294 0.1773095727 -0.11921868473 -0.9433965683 0.30949935317 0.15436635911 -0.94708406925 0.28142994642 0.81541448832 -0.39675188065 0.42152953148 -0.10297072679 -0.91657191515 0.38638451695 0.39805734158 -0.65443480015 0.64285725355 -0.44172939658 -0.88397926092 -0.15315295756 0.8385887146 -0.11798051745 0.53183603287 0.54152494669 -0.29008439183 0.78905117512 -0.076904073358 -0.23210118711 0.96964675188 -0.86468690634 -0.38180917501 0.32640212774 0.1407828182 0.3687877357 0.91879040003 0.21182999015 0.96050137281 0.18045836687 -0.11210201681 0.27536192536 0.95478212833 0.14878644049 0.78543901443 -0.60078960657 0.91622847319 0.3175983429 0.2442470938 0.55744558573 -0.79415172338 0.24202786386 -0.37636655569 -0.92242711782 0.086466491222 -0.36564004421 -0.86931711435 0.33255839348 0.37757834792 -0.79638820887 -0.47244089842 -0.38145765662 -0.92157542706 0.072033211589 0.99111825228 0.12995316088 -0.028226679191 -0.80940109491 -0.58724492788 0.0036446708255 0.46593648195 -0.86679387093 -0.17768403888 0.92963510752 0.27119976282 0.24945792556 0.68351149559 -0.67549586296 0.27661773562 0.79318547249 -0.51411962509 0.32640132308 -0.96365612745 -0.046859618276 -0.26300388575 0.56191658974 0.70898652077 0.42613127828 -0.81277626753 0.48025530577 0.32977193594 -0.44313833117 0.86978292465 0.2170394659 0.37669748068 0.92510563135 -0.047734122723 0.88174021244 -0.36995384097 0.29269164801 -0.1536488235 0.90968680382 0.38582637906 0.05755077675 0.95106703043 0.30357769132 -0.093670129776 -0.99329352379 0.067778505385 0.7960485816 -0.52441269159 0.3021556437 -0.27163100243 -0.021591108292 0.96215927601 -0.61819261312 -0.74327045679 0.25570869446 -0.095914199948 -0.46712565422 0.87897330523 -0.80378240347 -0.50489473343 0.31466680765 0.57599008083 -0.74333500862 0.34013009071 0.84180933237 0.35832953453 0.40367934108 -0.57314765453 -0.63834625483 0.5138246417 0.37315347791 -0.27275201678 0.88677102327 0.90964478254 0.10098454356 0.40292492509 -0.33147281408 0.076977409422 0.94031924009 0.5709990263 0.63109725714 0.52504891157 0.80378234386 0.50489467382 0.31466689706 0.12509980798 -0.13332812488 0.98314476013 0.72874307632 -0.64239257574 0.23720315099 -0.32197418809 0.94563609362 -0.04587995261 0.61819273233 0.74327033758 0.25570872426 0.26249665022 0.092708431184 0.96046900749 0.093670129776 0.99329352379 0.067778512836 -0.7960485816 0.52441269159 0.3021555841 0.51082265377 -0.20655657351 0.83450257778 0.64129167795 -0.64858138561 -0.4099843502 0.81769162416 0.073716752231 0.57091706991 0.54256647825 -0.72946590185 0.41653457284 -0.62536990643 0.70977336168 -0.32424414158 -0.88174021244 0.36995384097 0.2926916182 0.30362963676 -0.7402305007 -0.59988981485 0.81277626753 -0.48025533557 0.32977199554 0.92204487324 -0.27515509725 0.27225521207 -0.79888594151 -0.49646410346 0.3395653069 0.9829416275 -0.17724849284 -0.049079164863 -0.85121649504 -0.22802121937 -0.47269099951 -0.24729068577 0.83730512857 -0.48761406541 0.61376458406 0.78776431084 -0.052157860249 0.92686986923 -0.14416106045 -0.34659743309 -0.30153289437 0.78697687387 -0.53827995062 -0.37757831812 0.79638826847 -0.47244086862 -0.56584817171 0.81614428759 0.11715120822 -0.86741232872 -0.26279553771 -0.4225332737 -0.55744552612 0.79415178299 0.24202790856 -0.14878647029 -0.78543895483 -0.60078966618 -0.24488835037 -0.77761781216 -0.57908570766 0.094896018505 0.34359443188 0.93431133032 -0.014963716269 0.080932334065 0.99660724401 0.11210200936 -0.27536183596 0.95478218794 -0.018463119864 -0.77352201939 0.63350045681 -0.14078275859 -0.3687877357 0.91879040003 -0.21701006591 -0.74169540405 0.63466095924 0.86468684673 0.38180920482 0.32640212774 0.076904088259 0.23210121691 0.96964675188 -0.54152488708 0.29008445144 0.78905123472 0.71480643749 0.63577634096 0.29127341509 -0.8385887742 0.11798048764 0.53183597326 -0.34625566006 0.71869587898 0.60297864676 0.10297074914 0.91657191515 0.38638451695 0.30751827359 0.88650244474 0.34575408697 -0.84250885248 0.25778952241 0.47299405932 0.51542299986 0.82416641712 -0.23471005261 -0.15436641872 0.94708406925 0.28142997622 0.005702523049 0.95032757521 0.31119921803 0.3988943696 -0.81520974636 0.41990044713 -0.52843254805 -0.83588075638 -0.14853408933 0.070369340479 -0.84438431263 0.53109633923 -0.39511677623 -0.81588661671 0.42215132713 -0.56423538923 -0.69100010395 0.45183762908 0.58641123772 -0.31379270554 0.74676370621 0.63447296619 0.29509985447 0.71439492702 0.35287407041 0.79751199484 -0.48934087157 0.31457978487 -0.8141503334 0.48805615306 -0.95211231709 -0.26881572604 0.14567169547 0.32359609008 -0.94115871191 -0.097497843206 -0.98187428713 -0.18887886405 0.015736669302 0.35374972224 -0.9142127037 -0.19767709076 -0.98781520128 0.056164637208 -0.14514364302 0.57494354248 -0.8169593811 -0.044914901257 -0.96936291456 0.1339635551 -0.20588673651 -0.98269498348 -0.042167138308 -0.18036769331 -0.96876162291 -0.065094612539 0.23929807544 -0.87661546469 0.48104941845 0.011696792208 -0.63806772232 0.74398565292 0.1983807385 -0.070550538599 0.91553491354 -0.39600303769 0.01947899349 0.93423521519 0.35612517595 0.21715724468 0.89878815413 0.3808183372 -0.36096206307 0.8306645155 0.42391374707 0.8193346858 -0.37917119265 0.43002313375 0.90005004406 -0.14370730519 0.4114099741 0.77605873346 -0.50770777464 0.37411987782 0.50888293982 -0.84246742725 -0.17688088119 -0.56718426943 0.82110804319 -0.06390298903 0.88005203009 0.17774021626 0.44035986066 -0.59070432186 0.70166313648 0.39841851592 0.87004411221 -0.26716193557 0.41430389881 0.90176320076 -0.11133757234 0.41764473915 -0.91308832169 -0.078709870577 0.40009304881 0.58382201195 -0.69950592518 0.41212049127 -0.25530105829 0.60762244463 0.75207471848 -0.6062374115 -0.55250364542 0.57202792168 0.88448983431 0.27425706387 0.37743973732 -0.90176320076 0.11133753508 0.41764473915 0.43498313427 -0.60609269142 0.66591387987 0.59070432186 -0.70166307688 0.39841854572 -0.83230561018 -0.28402939439 0.47601959109 0.40146189928 0.88480812311 0.23652248085 -0.026942236349 0.99963390827 0.002484646393 -0.90005004406 0.143707335 0.41140991449 0.90828377008 -0.23120890558 0.34865897894 -0.86707544327 0.26803356409 0.41992640495 -0.21549940109 -0.93221408129 0.29075235128 -0.019478954375 -0.93423527479 0.35612502694 0.18984620273 -0.92547482252 0.32780298591 -0.78281575441 0.45166215301 0.42801961303 -0.62564605474 -0.65513885021 0.42350924015 0.96433955431 -0.22107820213 -0.14551173151 0.94712275267 -0.18334026635 -0.26333412528 0.98269498348 0.04216716066 -0.18036776781 0.94990867376 0.27793037891 0.14292734861 0.97135406733 0.21346534789 -0.104421556 -0.94001686573 -0.33834117651 -0.043514929712 0.98781520128 -0.05616460368 -0.14514365792 -0.319858253 0.91478842497 -0.24668358266 -0.32014638186 0.91082137823 -0.26059684157 -0.29924234748 0.91753572226 -0.26188212633 -0.32359609008 0.94115871191 -0.097497887909 -0.29557940364 0.94943064451 0.10589756072 -0.62361055613 -0.59482455254 -0.50724118948 0.98187428713 0.18887883425 0.015736669302 -0.43692681193 -0.87865358591 -0.19251716137 0.72158330679 0.074448741972 0.68831306696 -0.38251256943 -0.91657614708 0.11650033295 -0.73877519369 -0.14530898631 0.65810066462 0.66012531519 0.75014781952 -0.038894921541 -0.070369303226 0.84438425303 0.53109639883 -0.76869761944 0.36829251051 0.52293843031 0.60675007105 0.76334631443 -0.22171330452 0.52843248844 0.83588081598 -0.14853408933 -0.3988943696 0.81520974636 0.41990035772 -0.26004594564 0.87175661325 0.41523063183 0.27829220891 0.95915699005 0.050707992166 -0.47921150923 -0.87642621994 0.047259278595 0.6566374898 -0.50559574366 0.55964285135 0.7255692482 -0.34523105621 0.59528547525 -0.27717721462 -0.803786695 0.52640265226 0.1332334429 -0.77986085415 0.6116092205 -0.52803999186 -0.66037118435 0.53393226862 0.63065057993 0.41631540656 0.6549513936 -0.66961938143 -0.51474350691 0.53539609909 0.56122136116 0.74034774303 -0.37002140284 0.60938996077 0.71319097281 -0.34641376138 -0.026519399136 -0.85233938694 0.52231627703 0.20472671092 0.75091809034 -0.62786060572 0.21207763255 -0.97642016411 0.040332835168 0.54618096352 0.78805357218 -0.28400343657 -0.25362607837 -0.89480233192 0.36742702127 0.64498734474 -0.75421911478 0.12306446582 0.82481151819 -0.067198269069 -0.56140035391 0.85855817795 -0.1439704448 -0.49208778143 -0.92936420441 -0.31998607516 -0.18409535289 0.822891891 0.18729455769 -0.53644168377 0.77143549919 0.23242786527 -0.59233820438 0.75282180309 -0.48025795817 0.45012402534 -0.16559103131 0.89407330751 0.41618809104 -0.61722391844 0.64325296879 0.45305654407 -0.92636066675 0.35612076521 0.12261299789 0.94342529774 -0.31290543079 -0.10972206295 0.087573170662 -0.99272078276 -0.082682684064 -0.38667422533 0.87339103222 -0.29609313607 -0.48458853364 -0.79333072901 0.36851090193 0.74441683292 0.33568531275 0.57719922066 0.62145674229 0.47486037016 0.62313657999 0.29328712821 -0.74332457781 0.60120815039 0.89463239908 0.067615687847 0.44165703654 0.015017352998 -0.78691631556 0.6168769598 0.61143553257 -0.595046103 0.52160012722 0.321980685 0.9058650732 0.27520340681 0.48458850384 0.79333078861 0.36851090193 -0.84750032425 -0.08139847964 0.52451646328 0.58617085218 -0.53794431686 -0.60582143068 0.20721869171 -0.86369073391 0.45945477486 -0.7731551528 0.36820074916 0.51639068127 -0.47015365958 -0.75641083717 0.45475068688 0.16559107602 -0.89407330751 0.41618809104 -0.93548417091 0.016503958032 -0.35298290849 0.55887371302 -0.76663261652 0.31612434983 0.77914202213 -0.61551231146 0.11866890639 -0.77143549919 -0.23242783546 -0.59233826399 0.96555685997 -0.25943464041 -0.019840195775 0.89859056473 -0.18207520247 0.39922872186 -0.73402798176 -0.14247204363 -0.66400647163 0.98710632324 -0.15365447104 -0.044848416001 0.94915026426 0.14929297566 0.27717384696 -0.82481151819 0.067198269069 -0.5614002943 -0.64498728514 0.75421911478 0.12306445092 0.93638008833 0.32886832952 0.12262955308 -0.40183547139 0.91571164131 -0.00064838473918 0.79941564798 0.59145832062 -0.10541190207 -0.30067169666 -0.8345656991 -0.46162387729 0.98804795742 0.12350788713 0.092233285308 -0.25376778841 0.96712690592 -0.016354590654 -0.27217295766 -0.83437681198 -0.47930914164 -0.99892085791 0.039839569479 -0.023871997371 0.94574636221 0.28132250905 0.16254667938 0.85592389107 0.40051355958 0.32708287239 -0.90828561783 0.078198075294 0.41097721457 -0.45331692696 -0.73744362593 0.5006801486 -0.73316347599 0.20443940163 0.64859527349 -0.63910675049 -0.4490814209 0.62439447641 0.52804005146 0.66037112474 0.53393232822 0.27717712522 0.80378675461 0.52640259266 0.75137293339 0.65643680096 0.067301362753 0.64785146713 0.76055490971 -0.042949363589 -0.40450081229 0.74536347389 0.52991735935 0.32357802987 0.94079846144 0.10097267479 0.029021285474 0.88855433464 0.4578525722 -0.26344799995 -0.93179744482 0.249697119 -0.61582934856 -0.77885776758 0.11888965219 0.59572553635 -0.38640385866 0.70413291454 0.75470966101 0.033342409879 0.65521115065 0.41127082705 -0.61911994219 0.66898941994 -0.27844336629 -0.68473362923 0.67350512743 0.76501363516 -0.30671164393 0.56628805399 -0.88613826036 -0.31606283784 0.33891478181 -0.81189972162 -0.41629287601 0.40929099917 0.56781440973 0.65170359612 -0.50286096334 0.12684865296 -0.97316551208 0.19198527932 -0.88775032759 -0.34617340565 0.30341935158 0.067961759865 0.9479637146 -0.31104022264 0.31710597873 0.82088816166 -0.47495937347 -0.20160205662 -0.95112234354 0.23392936587 -0.3568341434 -0.93260145187 -0.054073110223 -0.75519424677 -0.65528297424 0.016907826066 0.43505036831 -0.88709795475 0.15423499048 -0.90014404058 -0.37943902612 0.21393164992 -0.86160939932 -0.50586760044 0.041560254991 -0.92443186045 -0.18176960945 0.33523949981 0.83672183752 -0.28242456913 -0.46918326616 -0.90425789356 -0.42425024509 -0.048263538629 0.81934678555 -0.075496658683 -0.5683054328 -0.99906629324 -0.02487495169 -0.035323537886 0.85184645653 0.32939872146 -0.40725186467 -0.79461860657 0.57436496019 0.19668801129 -0.84031552076 0.23884120584 0.4866463542 -0.51569122076 0.7479211092 0.41794326901 -0.72660177946 0.44142392278 0.5264929533 -0.14753480256 0.85800111294 0.49200367928 0.053559280932 0.85255581141 0.51988458633 0.27437824011 0.80299460888 0.52907115221 0.98835659027 -0.093566045165 0.1199862361 0.76868915558 -0.16193333268 0.61878478527 -0.40016233921 0.73829871416 -0.54294115305 -0.12252797186 -0.96626496315 0.22653689981 -0.19738036394 0.92094510794 -0.33600765467 -0.29086524248 -0.893666327 0.34169858694 0.30209794641 -0.95307081938 0.019819069654 0.79909193516 -0.59944605827 -0.046005487442 0.55519372225 0.42762559652 0.71336966753 0.80115354061 -0.29846388102 0.51872181892 -0.67510873079 -0.53710627556 0.50571238995 0.30522155762 0.65473228693 0.69149506092 0.83857160807 -0.14494507015 0.5251557827 0.79062318802 0.30824071169 0.529058218 -0.83857160807 0.14494498074 0.5251557827 -0.30522155762 -0.65473234653 0.69149500132 0.608720541 0.54890817404 0.57285171747 0.71169519424 -0.6351429224 0.30013895035 -0.8046219945 0.59370392561 -0.0099540185183 -0.79909193516 0.59944605827 -0.046005472541 -0.30209806561 0.95307081938 0.019819054753 0.29086539149 0.8936662674 0.34169867635 -0.72032499313 -0.23699960113 0.65189194679 0.19738036394 -0.92094510794 -0.33600765467 0.12252797186 0.96626496315 0.22653676569 0.40016233921 -0.73829883337 -0.54294103384 0.76531326771 -0.53116208315 -0.36354160309 0.020776629448 -0.862590909 0.50547522306 0.42391145229 -0.72735881805 0.53967422247 -0.27437824011 -0.80299454927 0.52907121181 -0.053559284657 -0.85255581141 0.51988458633 0.51569128036 -0.7479211092 0.41794320941 -0.87870937586 -0.36971774697 -0.3019579649 0.79461854696 -0.5743650794 0.19668796659 -0.85184645653 -0.32939878106 -0.40725180507 0.99906629324 0.024874949828 -0.035323422402 -0.81934684515 0.075496681035 -0.56830537319 0.90425789356 0.4242502749 -0.048263520002 0.98384970427 -0.12786774337 0.12525814772 0.92443192005 0.18176959455 0.3352394104 0.90014398098 0.37943908572 0.21393166482 0.75519436598 0.65528285503 0.01690796949 0.77947795391 0.35545194149 0.51581788063 -0.3359951973 0.93495196104 0.11389508843 -0.27681949735 0.95278632641 0.12477649748 0.356834203 0.93260145187 -0.054073095322 -0.22886827588 -0.86372876167 -0.44898989797 -0.067961812019 -0.9479637146 -0.31104019284 -0.54573059082 -0.83208978176 0.099018536508 0.9520599246 0.1807205379 0.24682374299 -0.12684868276 0.97316551208 0.19198529422 -0.56781435013 -0.65170371532 -0.50286096334 -0.69877815247 -0.63190799952 -0.33526310325 -0.78690725565 0.23312731087 0.57133936882 -0.75470966101 -0.03334241733 0.65521115065 0.76111000776 0.62113761902 0.18681436777 -0.66351628304 0.35538911819 0.65836519003 -0.55423957109 0.52082234621 0.64927852154 -0.062239337713 -0.90806901455 0.41417011619 -0.0005291835987 -0.88284218311 0.46966943145 -0.65480530262 -0.71062684059 0.25737041235 -0.74171537161 -0.60406249762 0.29149076343 0.66950023174 -0.028049143031 0.74228209257 -0.13316737115 -0.63178253174 0.76362115145 0.22010858357 -0.59386599064 0.77387040854 0.88099253178 -0.23054893315 0.4131578505 0.75541943312 0.65515464544 -0.010670985095 0.71401226521 0.70006966591 0.0094303414226 0.54700452089 0.81323581934 0.19857877493 0.10523861647 -0.96238964796 0.25046154857 0.10364294052 0.92298698425 0.37061184645 0.35752877593 0.90562701225 0.22806324065 0.16904076934 0.95594799519 0.23997628689 0.25760146976 -0.93042087555 0.26068848372 -0.89193075895 -0.24031105638 0.38302761316 -0.27090859413 -0.79253929853 0.54634237289 0.46961504221 -0.82863217592 0.30468091369 -0.74048435688 -0.3530344069 0.57188254595 0.59938329458 -0.71332252026 0.36319506168 0.74479222298 0.41578444839 0.5219270587 -0.80141234398 -0.34233489633 0.49045398831 0.9567463994 0.046143822372 0.28724047542 -0.74050408602 0.15820294619 0.65316575766 -0.82764410973 0.11592186242 0.5491514802 0.8941295743 0.37525063753 0.24437534809 0.57552719116 0.50478619337 0.64339673519 -0.32579135895 0.76495528221 0.55561083555 0.32113468647 0.71624797583 0.61956548691 -0.5184879899 0.5478978157 0.65648925304 -0.37899118662 0.83802676201 0.39252623916 0.88010048866 -0.21261119843 0.42452284694 -0.81133651733 0.54628062248 0.20811200142 -0.53374618292 0.81133061647 0.23844839633 -0.23175732791 0.97078162432 0.06222236529 0.71403515339 -0.4199898839 0.56014490128 0.18056513369 -0.7664206624 0.61643785238 -0.24676038325 0.9690669179 -0.0043116542511 0.59855979681 0.27100998163 0.7538433075 -0.44514027238 -0.71378618479 0.54070270061 0.71595138311 -0.54525828362 0.43601259589 -0.23734754324 0.87688308954 0.41802173853 -0.71734005213 -0.32213997841 0.61777758598 0.77734947205 0.08152744174 0.62376362085 -0.77734953165 -0.081527419388 0.62376356125 -0.81947910786 0.50523138046 0.27054607868 -0.71595138311 0.54525828362 0.43601262569 -0.75127977133 0.289470613 0.59311503172 -0.18056507409 0.7664206028 0.61643791199 0.30856281519 0.79462701082 0.52283543348 -0.59855985641 -0.27101004124 0.75384324789 0.53374618292 -0.81133067608 0.23844818771 -0.67673969269 -0.0049495655112 0.73620575666 0.13035483658 -0.84933716059 0.51150172949 0.32579132915 -0.76495528221 0.55561083555 0.89723312855 -0.32436484098 0.29959994555 -0.13088743389 -0.71374303102 0.68806928396 0.75235366821 -0.30227687955 0.58531415462 -0.63373017311 -0.49689742923 0.59285664558 -0.8941295743 -0.37525060773 0.24437536299 0.93934476376 -0.22066017985 0.26256513596 0.74050396681 -0.15820293128 0.65316587687 -0.9567463994 -0.046143982559 0.28724047542 0.80141228437 0.34233486652 0.49045404792 -0.95321583748 0.28502839804 0.10068961233 -0.59938335419 0.71332246065 0.36319509149 -0.93374365568 0.35684368014 -0.028024600819 0.070751681924 0.92214566469 0.38031768799 0.74048429728 0.35303446651 0.57188260555 0.27090880275 0.79253917933 0.5463424325 -0.16904075444 -0.95594805479 0.23997618258 -0.50592035055 -0.78200805187 0.3640165329 0.89193075895 0.24031102657 0.38302764297 -0.54700446129 -0.81323587894 0.19857871532 -0.71401238441 -0.7000695467 0.0094303293154 -0.75541949272 -0.65515458584 -0.010670961812 -0.5140838623 0.49468040466 0.70072036982 -0.70302659273 -0.26734131575 0.65900093317 -0.1798966676 -0.84292590618 0.50706321001 0.059202611446 -0.79480147362 0.60397487879 -0.47179788351 -0.76781600714 0.43343436718 0.47387763858 -0.3280916214 0.8171877861 0.65162825584 0.14490136504 0.74456983805 -0.78035849333 -0.4723008275 0.40984454751 -0.29345354438 -0.57187825441 0.76605498791 0.045932624489 -0.58380711079 0.81059205532 0.55921518803 -0.44407767057 0.70005238056 0.63208758831 0.70887416601 0.31298995018 0.10753006488 0.87178719044 0.47793763876 0.42257007957 0.78834170103 0.44715973735 -0.74334436655 -0.40380111337 0.53327655792 -0.17435482144 -0.96489739418 0.19640111923 0.40381413698 -0.80837708712 0.42832303047 -0.29392269254 -0.67917698622 0.67255336046 -0.89544594288 -0.013533823192 0.44496446848 -0.58327770233 -0.29002204537 0.75873208046 0.64230954647 -0.56405055523 0.51892721653 -0.65721637011 0.019080983475 0.75346040726 -0.73125779629 -0.035751208663 0.68116360903 -0.88380628824 0.22896410525 0.40799742937 -0.32431614399 0.54090738297 0.77604007721 -0.088907912374 0.70973861217 0.69883227348 0.14317122102 0.58055841923 0.80153220892 0.80070304871 0.10957379639 0.58895516396 0.70260643959 -0.16100628674 0.69312417507 -0.76043570042 0.51339304447 0.39769977331 -0.57722997665 0.63209712505 0.51697081327 -0.41167572141 0.80344080925 0.43012323976 -0.28073865175 0.91525441408 0.28895530105 -0.21906520426 0.93115234375 0.29148885608 -0.046965751797 -0.69540917873 0.71707761288 -0.022323245183 0.79797786474 0.60227322578 0.11079271883 0.6980573535 0.70741850138 -0.26651373506 -0.60283493996 0.75203752518 0.7022228241 -0.58497589827 0.40581557155 0.55106079578 0.14347289503 0.82203865051 -0.71276336908 0.12571585178 0.69004631042 -0.28173854947 0.61718297005 0.73464858532 0.26651373506 0.60283493996 0.75203752518 0.022323202342 -0.79797786474 0.60227316618 -0.81924808025 0.10813095421 0.56315213442 -0.83920264244 -0.12123031914 0.53013408184 0.85787546635 -0.30923476815 0.41039431095 0.15009208024 -0.67209565639 0.72509294748 0.58480876684 -0.37545490265 0.71904957294 0.10003257543 -0.56758612394 0.81721448898 0.32431611419 -0.54090744257 0.77604007721 0.50748813152 -0.49174630642 0.70756012201 0.88380628824 -0.22896410525 0.40799739957 0.62136667967 -0.16464063525 0.7660266757 -0.58209055662 -0.40165519714 0.70699620247 -0.71240651608 0.45603775978 0.53339153528 0.62382405996 0.062320649624 0.779076159 0.58327770233 0.29002204537 0.75873202085 -0.52669429779 -0.47619560361 0.70415258408 -0.94910299778 0.28315645456 0.13793458045 -0.23771049082 -0.83375382423 0.49834549427 -0.63208758831 -0.70887416601 0.31298992038 0.60699158907 0.45768019557 0.64968460798 0.41502186656 0.53024840355 0.73931956291 0.29345357418 0.57187825441 0.76605498791 0.78035843372 0.4723008275 0.40984463692 -0.65162825584 -0.14490135014 0.74456983805 -0.59495282173 0.094034209847 0.79824101925 -0.47387769818 0.3280915916 0.8171877861 -0.32987141609 0.52284640074 0.78601306677 0.1798966825 0.84292584658 0.50706326962 -0.048334211111 -0.7670327425 0.63978481293 -0.29717710614 -0.71736639738 0.63013589382 -0.41498556733 -0.68442207575 0.59946095943 -0.60302662849 -0.55001658201 0.57778942585 0.32267129421 -0.44115576148 0.83741557598 0.54728740454 -0.091448076069 0.8319337368 0.71666282415 0.53179395199 0.45120900869 0.63514518738 0.44034355879 0.63457715511 -0.13377176225 -0.53952097893 0.83127748966 0.27828830481 -0.53565579653 0.79726314545 0.53308111429 -0.41691097617 0.73621314764 0.83789122105 -0.33160850406 0.43355983496 -0.16415174305 -0.94838088751 0.2713445425 0.096168167889 -0.78095895052 0.61713433266 0.90707868338 -0.23976078629 0.34601020813 -0.78373217583 -0.14213596284 0.604616642 -0.74720323086 -0.17819195986 0.64026165009 -0.66324776411 -0.044768057764 0.74705970287 0.41543284059 -0.59006780386 0.69226837158 -0.47314581275 0.17310447991 0.86381006241 -0.35329717398 -0.058504547924 0.93367999792 -0.79905831814 0.12281230837 0.58857703209 -0.38012897968 0.33997994661 0.8601834774 -0.13627481461 0.41192910075 0.9009681344 0.13838544488 0.42674013972 0.89372384548 0.40884664655 0.39860898256 0.82094782591 -0.45250573754 0.17769864202 0.87387740612 -0.13508871198 0.30867484212 0.94152581692 0.66396099329 -0.29479107261 0.6872074604 -0.58979362249 0.30541619658 0.74757236242 -0.64023935795 0.46855381131 0.60872888565 0.48140799999 0.17277735472 0.85929870605 0.54547655582 0.11040895432 0.83082199097 -0.75196057558 0.42647585273 0.50266653299 -0.12889094651 0.84311896563 0.52205121517 0.47017127275 -0.2108604759 0.85701626539 -0.67544955015 0.65767383575 0.33351618052 -0.050751041621 -0.48325952888 0.87400490046 -0.40963989496 0.59150278568 0.69449234009 -0.31537699699 0.54892802238 0.77409005165 -0.071332663298 0.41283980012 0.90800601244 0.36170172691 0.1993611902 0.91072881222 -0.36170172691 -0.19936127961 0.91072881222 0.31537693739 -0.54892802238 0.77409005165 0.55713838339 -0.61523759365 0.55774497986 0.050751049072 0.48325952888 0.87400490046 -0.42456886172 0.053014401346 0.90384221077 0.63367468119 -0.65021669865 0.41913563013 -0.47017127275 0.2108604759 0.85701626539 -0.30028364062 -0.51935321093 0.80006372929 -0.087858572602 -0.71716755629 0.69134038687 0.19104276597 -0.92146492004 0.33823823929 0.78062486649 -0.53475254774 0.32351896167 -0.41409605742 -0.33568024635 0.84607517719 0.75196057558 -0.42647576332 0.5026665926 -0.54547655582 -0.11040893942 0.83082199097 -0.48140797019 -0.17277732491 0.85929876566 0.64023935795 -0.46855381131 0.60872888565 -0.63819015026 -0.10390778631 0.76283454895 0.58979356289 -0.30541613698 0.74757242203 0.11293939501 -0.585077703 0.80307459831 0.13508862257 -0.30867481232 0.94152581692 0.28171622753 -0.22425279021 0.93292373419 -0.40884667635 -0.39860886335 0.82094782591 -0.13838545978 -0.42674013972 0.89372384548 0.13627491891 -0.41192907095 0.9009681344 0.35329711437 0.058504551649 0.93367999792 0.47314581275 -0.17310446501 0.86381006241 -0.83144104481 -0.049908291548 0.55336689949 -0.41464483738 0.66977721453 0.61600989103 0.36504939198 0.38518920541 0.84756606817 -0.41032370925 -0.34960269928 0.84226620197 0.74720311165 0.17819198966 0.64026176929 -0.096168063581 0.78095895052 0.61713439226 -0.021159915254 0.85071545839 0.52520042658 0.78373223543 0.14213606715 0.60461652279 -0.8895881176 0.29863932729 0.34561190009 -0.86985170841 0.30759420991 0.38567322493 -0.63094431162 -0.68234586716 0.36920639873 -0.53308111429 0.41691100597 0.73621314764 0.13565990329 0.50274258852 0.85372495651 -0.70392662287 -0.5972930789 0.38435438275 -0.052676085383 0.54590439796 0.83618992567 -0.71666288376 -0.53179395199 0.45120894909 -0.46421921253 0.25004807115 0.84969198704 -0.17691853642 0.61297500134 0.77003991604 0.29717701674 0.71736639738 0.63013589382 0.15723396838 -0.5105471611 0.8453514576 -0.50490128994 -0.407923311 0.76070576906 0.49167090654 0.036275897175 0.87002515793 0.42077973485 0.16545498371 0.8919467926 0.5451952219 0.23594479263 0.80442041159 0.26271477342 -0.42010906339 0.86861342192 -0.73392373323 -0.44323888421 0.51467972994 -0.34716585279 -0.5142852664 0.78421074152 -0.0054152635857 0.23349831998 0.97234213352 -0.074471205473 0.44785681367 0.8909984827 0.31822565198 0.66471481323 0.6759338975 -0.35671657324 -0.41670042276 0.83613038063 -0.84775471687 -0.21957726777 0.48280194402 0.24406628311 0.03553423658 0.96910732985 0.32441279292 0.28314387798 0.90254414082 -0.53168058395 -0.34577924013 0.77314454317 -0.59039741755 0.041835714132 0.80602771044 0.38896644115 0.35597369075 0.84969866276 0.61419308186 -0.17594593763 0.76929181814 0.21271313727 0.29584294558 0.93125188351 -0.040595084429 -0.82628935575 0.56178098917 0.21624675393 -0.7336024642 0.64425522089 0.026016494259 -0.595926404 0.80261749029 -0.61154943705 -0.17219811678 0.77224028111 -0.39278098941 0.076118439436 0.91647642851 -0.27813783288 -0.2315312773 0.93221920729 0.0091722374782 -0.41524022818 0.90966552496 0.72143095732 0.10693693906 0.68417966366 -0.12647849321 0.35240280628 0.92726236582 0.28436508775 -0.46714183688 0.8372066617 -0.47637182474 0.20526787639 0.85494732857 -0.54335749149 0.23906339705 0.80474305153 0.5030374527 0.12501144409 0.85517567396 -0.5309419632 0.4773465991 0.70017200708 -0.33751788735 0.57300972939 0.74682092667 0.39404338598 0.22394512594 0.89139127731 -0.67151933908 0.12740504742 0.72995185852 -0.62848484516 0.03090576455 0.77720755339 0.43616178632 -0.14009796083 0.88889563084 -0.15518979728 0.70051604509 0.69655829668 -0.0337812379 0.57977259159 0.81407773495 0.18488478661 0.4766125679 0.85945218801 -0.74579250813 0.3332413435 0.57683944702 0.33932167292 5.6637531998e-06 0.94067037106 -0.5020673871 0.62444704771 0.59832620621 -0.09610093385 0.47136271 0.87668800354 -0.40698048472 0.62667894363 0.66456025839 -0.28752446175 0.50374674797 0.81459736824 0.27033630013 -0.0029093467165 0.96276158094 0.096236914396 0.19602173567 0.9758657217 0.15837150812 -0.40798801184 0.89914637804 -0.096236974001 -0.19602169096 0.9758657217 0.40698045492 -0.62667888403 0.6645603776 -0.27033624053 0.0029093804769 0.96276158094 0.50206726789 -0.62444728613 0.59832602739 0.1196699813 -0.76129758358 0.63726377487 0.76224470139 -0.36846023798 0.5321842432 -0.18488481641 -0.4766125977 0.85945218801 -0.39404341578 -0.22394509614 0.89139127731 0.33751788735 -0.57300978899 0.74682092667 -0.44078272581 -0.080911614001 0.89395970106 -0.53963142633 0.16812486947 0.82494360209 -0.44962674379 -0.3232460916 0.83267503977 0.040218621492 -0.35814982653 0.93279749155 0.1752268374 -0.13904803991 0.97465950251 0.58371287584 -0.02295454219 0.81163561344 -0.009172251448 0.41524025798 0.90966552496 0.29069617391 -0.016170278192 0.95667874813 0.47183033824 0.037890203297 0.8808748126 -0.02601644583 0.595926404 0.80261749029 -0.048669848591 -0.21725688875 0.97490036488 0.32123780251 -0.11068615317 0.94050776958 0.040595110506 0.82628941536 0.56178098917 -0.21271310747 -0.29584297538 0.93125188351 -0.61419308186 0.17594598234 0.76929181814 0.73795050383 0.035847976804 0.67390203476 -0.46846443415 0.25374606252 0.8462588191 0.44125190377 0.38048267365 0.81272977591 -0.31822562218 -0.66471481323 0.6759339571 -0.24406626821 -0.035534158349 0.96910732985 0.84775471687 0.21957737207 0.48280194402 -0.26271477342 0.42010912299 0.86861342192 -0.03521630168 0.44138425589 0.89662688971 0.26690390706 0.4555516541 0.84925556183 0.30029371381 0.45168748498 0.84012031555 -0.5451951623 -0.23594474792 0.80442047119 -0.42077976465 -0.16545495391 0.8919467926 -0.49167087674 -0.036275863647 0.87002515793 0.50490128994 0.4079233706 0.76070570946 0.28194966912 0.52331709862 0.80414152145 0.16509695351 -0.24736948311 0.95475196838 0.28844237328 -0.21736545861 0.93249839544 0.37147852778 -0.0086176143959 0.92840152979 -0.2899222672 -0.2124157548 0.93317985535 -0.23774291575 -0.18390905857 0.95375877619 0.371496737 -0.0085588432848 0.92839479446 0.37150466442 -0.0085070999339 0.92839211226 0.37148958445 -0.0085604693741 0.92839765549 0.15155942738 0.010152120143 0.98839598894 0.32538148761 0.12015078962 0.93791824579 0.29053017497 0.18555693328 0.93870168924 -0.2017955929 0.10545885563 0.97373354435 -0.075328208506 0.33712527156 0.93844139576 -0.29943069816 -0.17238520086 0.93841600418 0.13296054304 -0.10481501371 0.98556345701 -0.094275526702 -0.28116875887 0.95501637459 0.08268674463 -0.25942525268 0.9622169137 -0.24178794026 0.17633228004 0.95417267084 0.18028917909 0.22334824502 0.95792031288 -0.37219825387 -0.24309231341 0.89575362206 -0.22703263164 -0.11871115118 0.9666249752 0.25036716461 -0.071824260056 0.96548306942 0.091144740582 -0.25631767511 0.96228575706 -0.22555270791 -0.013749157079 0.97413396835 -0.2344250828 0.14295135438 0.961566329 -0.34485462308 0.058716636151 0.93681782484 0.12455137074 0.11518529058 0.98550456762 0.47175452113 0.18257470429 0.86262053251 -0.092401079834 -0.21357321739 0.97254741192 -0.002267367905 0.16978299618 0.98547887802 -0.27080154419 -0.046982094646 0.9614880085 0.24361090362 -0.24993319809 0.93711638451 0.22033558786 0.28058969975 0.93419575691 0.35957276821 -0.15427082777 0.92027598619 -0.21161165833 0.19450011849 0.95780491829 -0.067893363535 0.2231362313 0.97242003679 -0.32525426149 0.21254999936 0.92142939568 -0.17297355831 0.36334070563 0.91545820236 -0.0039683855139 0.30487054586 0.95238554478 0.18829503655 0.18987090886 0.96358394623 0.1058357507 -0.16004732251 0.98141920567 0.11471936852 0.35273340344 0.92866498232 0.11963770539 -0.16443419456 0.97910583019 -0.33934408426 0.17653369904 0.92394882441 0.0075004394166 0.33078813553 0.94367522001 0.10721517354 0.086145445704 0.99049675465 0.35319688916 -0.24662402272 0.90245693922 -0.10721534491 -0.086145482957 0.99049675465 0.33934399486 -0.17653335631 0.92394894361 -0.11471932381 -0.35273343325 0.92866498232 -0.18829505146 -0.18987087905 0.96358394623 0.0039683873765 -0.30487054586 0.95238554478 0.17297355831 -0.36334067583 0.91545820236 0.0104142325 -0.087422661483 0.9961168766 0.067893348634 -0.2231362164 0.97242003679 0.21161167324 -0.19450011849 0.95780485868 -0.359572649 0.15427088737 0.9202760458 0.3585255146 -0.052475251257 0.93204391003 -0.042630124837 -0.23109892011 0.97199589014 -0.24361091852 0.24993312359 0.93711638451 -0.13108088076 0.23800216615 0.96237868071 0.27080148458 0.046982094646 0.9614880085 -0.15880045295 -0.21017722785 0.96468025446 -0.010284257121 0.27659681439 0.96093100309 0.092401094735 0.21357318759 0.97254747152 0.24052123725 0.011337683536 0.97057765722 -0.47175464034 -0.18257470429 0.86262047291 -0.12455133349 -0.11518529803 0.98550462723 -0.052923731506 -0.19094356894 0.98017328978 0.20608514547 -0.17436647415 0.96287345886 -0.41900238395 -0.012214832008 0.90790295601 0.22555269301 0.013749177568 0.97413396835 -0.091144859791 0.25631767511 0.96228575706 -0.25036719441 0.071824252605 0.96548306942 0.22703260183 0.11871118098 0.9666249752 0.37219822407 0.24309231341 0.89575368166 0.22256675363 -0.20184224844 0.95379441977 -0.18028907478 -0.22334834933 0.95792031288 0.24178805947 -0.17633236945 0.95417267084 -0.08268673718 0.25942519307 0.9622169733 0.094275563955 0.28116875887 0.95501637459 -0.13296067715 0.10481497645 0.98556345701 0.29943093657 0.17238518596 0.93841594458 -0.0093287406489 -0.53666943312 0.8437409997 0.075328201056 -0.33712533116 0.93844133615 0.16001777351 -0.28754249215 0.94430589676 0.15162014961 -0.16613534093 0.97437691689 -0.33161616325 -0.29152971506 0.89724081755 -0.062013670802 -0.19295123219 0.97924673557 0.2017955929 -0.10545884818 0.97373354435 0.26732948422 0.067404970527 0.96124476194 -0.37150457501 0.0085072731599 0.92839217186 -0.32538145781 -0.12015074492 0.9379183054 -0.15155942738 -0.01015213225 0.98839598894 -0.3714966774 0.0085588283837 0.92839485407 -0.37147852778 0.0086173862219 0.92840152979 -0.37148952484 0.0085604479536 0.92839765549 0.23774296045 0.18390907347 0.95375871658 0.289922297 0.21241571009 0.93317985535 -0.28844240308 0.21736542881 0.93249839544 -0.16509696841 0.24736945331 0.95475196838 0.19881668687 0.26773375273 0.94275689125 0.2089484781 0.38813781738 0.8976021409 -0.056388128549 -0.19986362755 -0.97819983959 -0.086666718125 -0.11579791456 -0.98948454857 -0.18909433484 -0.046527307481 -0.98085600138 0.092321395874 0.046899020672 -0.99462419748 0.16350972652 -0.15457491577 -0.97435677052 -0.076262138784 0.17295892537 -0.98197215796 -0.094239413738 -0.094467759132 -0.99105739594 -0.22344349325 0.070044733584 -0.972196877 0.22344335914 -0.070044726133 -0.972196877 0.09423943609 0.09446772933 -0.99105739594 0.07626221329 -0.17295891047 -0.98197215796 0.21728239954 -0.0011431534076 -0.97610813379 -0.16350969672 0.15457493067 -0.97435677052 -0.11878618598 0.051868196577 -0.99156415462 0.18909427524 0.046527329832 -0.98085606098 -0.048122607172 0.10187232494 -0.99363285303 -0.029963169247 -0.46309030056 -0.88580447435 -0.37547770143 -0.24313850701 -0.89437139034 -0.026361545548 -0.27108454704 -0.96219450235 -0.0075350096449 -0.47144201398 -0.88186484575 -0.25534617901 -0.052076026797 -0.96544623375 0.18298003078 -0.32696458697 -0.92715287209 -0.097747288644 0.22305645049 -0.96989238262 -0.39689862728 0.085018642247 -0.91391646862 -0.39286378026 0.2468598634 -0.88584327698 -0.096894443035 0.1564720422 -0.98291808367 -0.0011987104081 0.24618206918 -0.96922284365 -0 -6.2917095534e-08 -1 0.0011986468453 -0.24618202448 -0.96922284365 0.096894435585 -0.15647210181 -0.98291808367 0.39286381006 -0.2468598932 -0.88584321737 0.097747221589 -0.22305642068 -0.96989244223 0.39689865708 -0.085018642247 -0.91391646862 0.24602858722 0.12162064016 -0.96160197258 0.2923835516 0.18155452609 -0.93890881538 -0.18016894162 -0.089267224073 -0.97957670689 -0.37259498239 0.11475993693 -0.92087084055 -0.13351482153 0.15743435919 -0.97846215963 0.0075349598192 0.47144207358 -0.88186484575 -0.1057106033 0.19522485137 -0.97504490614 0.39078482985 0.12715288997 -0.91165745258 0.02636161074 0.27108463645 -0.96219444275 0.029963210225 0.46309030056 -0.88580447435 -0.34263470769 -0.61800676584 -0.70757973194 -0.092927992344 -0.59535980225 -0.7980670929 0.11431511492 -0.38692769408 -0.9149967432 -0.48699641228 -0.4060074985 -0.77329969406 0.20986665785 -0.62882369757 -0.74869000912 -0.26533779502 -0.16501493752 -0.94992941618 -0.57716649771 -0.20564500988 -0.79030936956 -0.56651037931 0.039822649211 -0.82309180498 -0.5330799222 0.21757282317 -0.81761103868 0.5330799222 -0.21757267416 -0.81761109829 0.56651043892 -0.039822679013 -0.82309174538 -0.38736271858 0.11488898098 -0.91474074125 -0.22015352547 0.10074472427 -0.970248878 -0.44067206979 0.24152886868 -0.86456459761 -0.1981382817 0.47498261929 -0.857398808 0.50649303198 0.22748252749 -0.83169496059 0.34830605984 0.42897024751 -0.83346712589 -0.11431509256 0.38692775369 -0.9149966836 0.34263470769 0.61800664663 -0.70757985115 -0.16457337141 -0.66733700037 -0.72634494305 0.056570611894 -0.6618565321 -0.74749290943 -0.4689873457 -0.34030726552 -0.81501030922 0.70222222805 0.10380081832 -0.70435029268 0.65590143204 0.19321873784 -0.72969847918 0.65696567297 0.30633857846 -0.68887788057 0.48371186852 0.37503492832 -0.79080438614 -0.50093525648 0.24757425487 -0.82931947708 -0.47756928205 0.4460285902 -0.75695842505 -0.45464888215 0.55361187458 -0.69771647453 -0.38962334394 0.62849134207 -0.67319560051 0.56957393885 0.40637597442 -0.7144536972 0.16457343102 0.66733705997 -0.72634488344 -0.2918843329 -0.7042093277 -0.64721930027 0.13516657054 -0.6982293129 -0.70299774408 -0.4225512445 -0.52429831028 -0.73929816484 0.46277597547 -0.62274694443 -0.63089191914 -0.52154886723 -0.37736621499 -0.76523298025 -0.59271609783 -0.36837005615 -0.71623402834 0.51902359724 -0.13760192692 -0.8436114192 0.53368675709 -0.12139770389 -0.83692359924 -0.53368669748 0.12139778584 -0.83692359924 -0.50326931477 0.1084497869 -0.85729730129 0.7458102107 0.11923861504 -0.65540009737 0.2989025116 0.30658999085 -0.90369236469 -0.50413095951 0.56400722265 -0.65402430296 -0.45273289084 0.65127938986 -0.60898941755 0.29188418388 0.7042093277 -0.64721930027 -0.36301985383 -0.66404926777 -0.6536476016 0.61474704742 -0.2579421699 -0.74535357952 -0.74870401621 -0.34368950129 -0.56685078144 0.67667770386 -0.26470822096 -0.68704938889 0.63087290525 -0.050474528223 -0.77424263954 -0.67667770386 0.26470831037 -0.68704932928 0.36301973462 0.66404932737 -0.653647542 -0.36692106724 0.71669858694 -0.5930531621 -0.2549828887 0.56036949158 -0.78801637888 -0.051682181656 -0.80662816763 -0.5887953043 -0.39661410451 -0.7512589097 -0.52754837275 -0.53635895252 -0.64763092995 -0.54119610786 -0.64165860415 -0.53680354357 -0.54782861471 -0.64755100012 -0.44661650062 -0.61742317677 0.67917770147 -0.454526335 -0.57630157471 -0.67872422934 -0.42207056284 -0.60099071264 0.72519689798 -0.33915790915 -0.59921729565 0.70616865158 -0.34225651622 -0.61982762814 0.77526462078 -0.17061316967 -0.60815781355 0.79999226332 0.0071664787829 -0.59996753931 -0.77526473999 0.17061319947 -0.60815769434 -0.70616865158 0.34225657582 -0.61982762814 -0.71649289131 0.34257245064 -0.60768580437 -0.30186593533 0.73829072714 -0.6031614542 -0.039447039366 0.80379629135 -0.59359538555 0.051682222635 0.80662816763 -0.5887953639 0.51373594999 -0.687541008 -0.51318883896 0.81441307068 -0.35233011842 -0.46108004451 -0.85186260939 -0.15839776397 -0.49923968315 0.79875564575 0.39785012603 -0.45133659244 -0.51373589039 0.6875411272 -0.51318866014 -0.082695782185 -0.93584173918 -0.3425808847 -0.4333307147 -0.77425569296 -0.46125108004 0.37890487909 -0.75696921349 -0.53238022327 0.63279050589 -0.63795429468 -0.4388512969 0.6328112483 -0.63793963194 -0.43884274364 0.63281357288 -0.63794434071 -0.43883258104 0.80996155739 -0.42726835608 -0.40175113082 -0.88185876608 0.023734889925 -0.47091585398 0.88185876608 -0.023734955117 -0.47091582417 0.86122041941 0.30376899242 -0.4074601531 -0.85542142391 0.3820541203 -0.34969827533 -0.6328111887 0.63793963194 -0.43884277344 -0.63279044628 0.63795435429 -0.4388513267 -0.63281351328 0.63794434071 -0.43883258104 -0.52387881279 0.69573587179 -0.49142917991 -0.37890481949 0.75696915388 -0.53238034248 0.43333077431 0.77425569296 -0.46125110984 0.16393356025 0.90045279264 -0.40287780762 0.074009649456 -0.9683085084 -0.23853965104 0.3204690814 -0.8905056119 -0.32295414805 -0.42975175381 -0.81210428476 -0.39471513033 0.54237890244 -0.72935581207 -0.41697150469 0.65567821264 -0.64519613981 -0.39218366146 0.71471720934 -0.5944340229 -0.3685477972 -0.71259593964 -0.64833968878 -0.2680721581 0.75230544806 -0.56858885288 -0.33278107643 -0.89029347897 -0.34153288603 -0.30121892691 0.90405416489 -0.16936269403 -0.39243134856 -0.0082841161638 0.38880965114 0.9212808609 -0.001082498231 0.19959570467 0.97987771034 0.22277604043 0.12019735575 0.96743136644 -0.23279774189 0.11214014888 0.96603822708 0.2327978164 -0.11214015633 0.96603816748 -0.22277605534 -0.12019737065 0.96743136644 0.0010824694764 -0.19959564507 0.97987776995 0.0082840770483 -0.38880965114 0.9212808609 -0.26173359156 -0.37167271972 0.89070475101 0.78614699841 0.52166002989 -0.3314267695 -0.75230544806 0.56858885288 -0.33278107643 -0.7476888299 0.56538671255 -0.34828048944 0.71259588003 0.64833968878 -0.2680722177 0.51685160398 0.7521648407 -0.40879386663 -0.45059454441 0.81419187784 -0.36613684893 -0.32428148389 0.86845523119 -0.37500271201 -0.28425621986 0.91792821884 -0.27677822113 0.071555167437 0.97132664919 -0.22672533989 -0.099871270359 -0.96708881855 -0.23401907086 0.16664086282 -0.97324168682 -0.1582134217 -0.38857376575 -0.88879156113 -0.24302259088 -0.27185899019 -0.93425667286 -0.23077523708 -0.48566576838 -0.83375543356 -0.26264157891 0.49051859975 -0.83284312487 -0.2564446032 -0.82536476851 -0.55101585388 -0.12310348451 0.89455968142 -0.42733803391 -0.13093963265 -0.90388786793 -0.35020130873 -0.24565367401 -0.36381101608 0.39302110672 0.84449744225 0.39078241587 0.24622876942 0.88693881035 -0.39078241587 -0.24622879922 0.88693881035 0.36381095648 -0.39302116632 0.84449744225 0.11850364506 -0.45216780901 0.88402551413 0.90388786793 0.35020139813 -0.2456536293 0.90537148714 0.40668603778 -0.12210226804 -0.85664433241 0.50054824352 -0.12494777888 -0.46769464016 0.8241341114 -0.31947556138 0.48566564918 0.83375549316 -0.26264163852 -0.20384418964 -0.97660046816 -0.068549998105 0.3209117353 -0.9342290163 -0.15566572547 0.47183823586 -0.85696601868 -0.20731124282 -0.63028407097 -0.75919210911 -0.1623865366 0.81805187464 -0.57301127911 -0.049489058554 -0.85238349438 -0.52289974689 -0.0042722886428 -0.9091835022 -0.40696233511 -0.088130921125 -0.010552321561 0.53077846766 0.84744495153 0.95970183611 -0.24504078925 -0.13757677376 -0.51916015148 0.34471285343 0.78207784891 0.97330611944 -0.1524528116 -0.17156130075 -0.53504037857 0.073532626033 0.84162032604 0.61222183704 -0.087855264544 0.78578996658 -0.59846925735 -0.067888207734 0.79826420546 -0.97631072998 0.078744634986 -0.20153571665 -0.54694521427 -0.16839207709 0.82005792856 -0.96454149485 0.21901778877 -0.14727841318 0.42393377423 -0.43886843324 0.79225921631 -0.42461836338 -0.45977336168 0.77994084358 -0.9203299284 0.39049947262 -0.022426033393 0.8554199934 0.51790434122 -0.0056299264543 0.83936667442 0.54340982437 -0.013011093251 0.76839196682 0.63102513552 -0.10668207705 -0.78937977552 0.60923725367 -0.075561478734 0.63028407097 0.75919210911 -0.16238647699 -0.27679631114 0.95076924562 -0.13936144114 -0.027230301872 0.9996214509 -0.003930722829 0.10419106483 0.98925507069 -0.1025602594 -0.15958747268 -0.98715597391 0.0074076666497 0.1873908788 -0.98216891289 -0.015129074454 0.30667608976 -0.95166099072 -0.017061399296 0.52884191275 -0.84330320358 -0.095738835633 -0.57651484013 -0.81524932384 -0.054764878005 0.54817277193 -0.83298611641 -0.07510536164 0.78827768564 -0.61382049322 0.042926970869 -0.8743507266 -0.48132184148 0.061968471855 -0.92474424839 -0.38058882952 -0.00050469790585 -0.9295361042 -0.36802074313 0.022877616808 -0.92529594898 -0.37492284179 0.057098869234 -0.3884716928 0.49571186304 0.77676218748 -0.43167182803 0.44427871704 0.78503239155 0.96215158701 -0.27240121365 -0.0078717973083 0.48231783509 0.44889476895 0.75223863125 -0.97613817453 -0.21314126253 0.041533965617 0.97262442112 -0.23204398155 -0.012544102035 0.99640196562 -0.0047091753222 -0.084622554481 0.60876625776 -0.1565310508 0.77775424719 0.59895139933 -0.23922844231 0.76421660185 -0.9621515274 0.27240127325 -0.007871822454 0.43167179823 -0.44427862763 0.78503245115 0.38847175241 -0.49571183324 0.77676218748 0.92474424839 0.38058882952 -0.00050469627604 -0.89287626743 0.44385623932 0.075918614864 -0.80866074562 0.58814930916 0.012171285227 -0.77960586548 0.6225079298 0.068546488881 -0.54817283154 0.8329860568 -0.075105339289 -0.44901376963 0.89078295231 -0.069945499301 0.4481177628 0.88917148113 -0.092544645071 0.4126226902 0.91090166569 0.00078513572225 -0.18739078939 0.98216891289 -0.015129104257 0.15958747268 0.98715597391 0.0074078268372 0.15537393093 0.98560279608 0.066678635776 0.26113659143 -0.9553578496 0.13819947839 -0.32290428877 -0.93144059181 0.16778331995 -0.24038855731 -0.95388197899 0.17978459597 0.30038401484 -0.94668841362 0.11640632898 0.51833868027 -0.85254007578 0.067084923387 -0.6543597579 -0.74566417933 0.12569119036 -0.8109408021 -0.56927877665 0.13526540995 0.83832204342 -0.50080567598 0.21542923152 -0.8371232748 -0.50754839182 0.2040078491 -0.8443275094 -0.49084201455 0.21490734816 -0.43164736032 0.44430369139 0.7850317359 0.92223107815 -0.35940107703 0.14255088568 -0.43167662621 0.4442576468 0.78504168987 -0.50700980425 0.35853248835 0.78383386135 -0.95822048187 -0.22506228089 0.17652328312 0.62061059475 0.21313801408 0.75459569693 0.98314094543 -0.13854344189 0.11932966113 0.63685685396 0.034416355193 0.77021348476 -0.99618393183 -0.058623015881 0.064659915864 -0.6068674922 -0.13698653877 0.78290903568 0.50700980425 -0.35853245854 0.78383386135 0.43167662621 -0.44425755739 0.78504174948 0.47615224123 -0.41523173451 0.77515268326 0.43164733052 -0.44430357218 0.7850317955 -0.92223107815 0.35940104723 0.14255091548 0.90473651886 0.37337490916 0.20504382253 -0.85074806213 0.48406785727 0.20470964909 -0.79696857929 0.56818985939 0.20494231582 0.84758144617 0.50374478102 0.16687382758 -0.7574211359 0.62046772242 0.20330521464 -0.75912433863 0.61679065228 0.20808544755 0.699665308 0.70194625854 0.13319143653 0.59980100393 0.79155552387 0.11695575714 -0.51833873987 0.85254007578 0.06708484143 0.32290437818 0.93144059181 0.16778330505 -0.26113659143 0.95535778999 0.13819956779 -0.088004909456 0.98764824867 0.12963829935 0.12079150975 0.97103017569 0.20617902279 0.16028724611 0.96399629116 0.2121770829 0.19818276167 0.96033990383 0.19613984227 -0.11462955177 -0.90415358543 0.41154140234 0.49239683151 -0.83234483004 0.25445517898 -0.51728487015 -0.81189000607 0.27064922452 0.57991313934 -0.77703565359 0.24477815628 -0.80915725231 -0.52690941095 0.26005959511 0.73371577263 -0.54860210419 0.40087017417 -0.82279449701 -0.41179019213 0.39171171188 0.27785354853 0.74546569586 0.60586982965 0.15204158425 0.66552376747 0.7307266593 -0.83865368366 -0.36039015651 0.40838572383 -0.21526762843 0.63659793139 0.74054229259 0.43884131312 0.57369571924 0.69158625603 -0.84904098511 -0.34001252055 0.40437719226 -0.4695994556 0.50667160749 0.72302162647 -0.88492155075 -0.31235414743 0.34546893835 0.94576686621 -0.14325577021 0.29155239463 0.9574996233 -0.060723125935 0.28197017312 -0.9574996233 0.06072306633 0.28197011352 -0.94528508186 0.17726804316 0.27388352156 -0.65474194288 -0.20789861679 0.72669875622 -0.92660200596 0.26401630044 0.26777616143 0.85195839405 0.33125260472 0.40551030636 -0.85187035799 0.4769064188 0.21651144326 0.80915731192 0.52690935135 0.26005965471 -0.57991325855 0.77703559399 0.24477814138 -0.39585286379 0.87389492989 0.28214925528 0.35907974839 0.9002404809 0.24622911215 0.1488173604 0.90112179518 0.40722584724 0.024086542428 -0.92235600948 0.3855894506 -0.5186393857 -0.73580467701 0.43543621898 -0.6136713028 -0.68138813972 0.3988956213 -0.68980461359 -0.59526997805 0.41209617257 0.66992044449 -0.50358504057 0.54553520679 -0.65097081661 0.53201806545 0.5414737463 -0.79287457466 -0.35034814477 0.49860417843 0.87402898073 -0.27863729 0.3980384469 0.74634492397 0.39343833923 0.53681981564 -0.90188777447 0.15265598893 0.40409728885 0.88841962814 0.20355735719 0.41143044829 -0.74634492397 -0.39343827963 0.53681987524 -0.87402892113 0.27863737941 0.3980384469 0.74289810658 -0.37423664331 0.55502194166 0.65097075701 -0.53201806545 0.5414737463 -0.65228897333 -0.48786950111 0.58008825779 -0.53840118647 -0.54808318615 0.64010077715 -0.12939363718 -0.82110589743 0.55591583252 -0.8110447526 0.43593144417 0.39009001851 -0.72903758287 0.51735377312 0.44816210866 0.81215465069 0.39252620935 0.4316572547 -0.66992044449 0.50358498096 0.5455352664 -0.64249700308 0.51784110069 0.56483465433 0.71590870619 0.53816747665 0.44480386376 -0.65653836727 0.61178779602 0.44121772051 0.6136713624 0.68138813972 0.3988955915 0.2477260083 0.87413549423 0.41775467992 0.36090418696 0.84468191862 0.39529809356 0.085634194314 0.83632159233 0.54150992632 -0.024086432531 0.92235606909 0.38558939099 0.59123754501 -0.51380562782 0.62164455652 0.62142413855 -0.51829820871 0.5875364542 0.62144726515 -0.51829695702 0.58751302958 0.62142765522 -0.51830655336 0.58752524853 0.62911427021 -0.48884823918 0.60435307026 -0.76022565365 -0.31708830595 0.56702029705 0.0802058056 0.89358192682 0.44167670608 -0.27404519916 0.77207130194 0.57341533899 0.68289679289 0.53128480911 0.50138652325 -0.791418612 0.37914547324 0.47948437929 -0.81185281277 -0.15682649612 0.56240594387 -0.81946969032 -0.0059322109446 0.57309180498 0.797354877 -0.18595926464 0.57414662838 -0.8257984519 -0.27871847153 0.49027842283 0.791418612 -0.37914541364 0.4794844687 -0.48768281937 -0.65517616272 0.57698327303 -0.71270763874 0.38925027847 0.58355122805 0.27404510975 -0.77207130194 0.5734153986 -0.20038738847 -0.85177761316 0.48406586051 -0.62911427021 0.48884829879 0.60435307026 -0.62144732475 0.51829695702 0.58751302958 -0.62142419815 0.51829814911 0.5875363946 -0.62142771482 0.51830655336 0.58752524853 -0.59123754501 0.51380562782 0.62164455652 0.35778862238 0.74878227711 0.55795377493 0.19882245362 -0.76169109344 0.61668169498 -0.4336951673 -0.65030264854 0.62371063232 -0.6106865406 -0.51845860481 0.59855043888 0.29413330555 0.80752575397 0.51126092672 0.75675940514 -0.23566648364 0.60973483324 -0.81286174059 0.3955924511 0.4275071919 -0.83514410257 0.069245390594 0.54565501213 -0.8108817935 -0.48451349139 0.32820338011 -0.63937580585 -0.60323512554 0.47676610947 0.65136861801 0.46365174651 0.60062134266 -0.5137719512 0.46904730797 0.71835440397 -0.58735454082 0.59385889769 0.54986017942 -0.78596711159 0.54874110222 0.28484886885 0.78372710943 0.52030324936 0.339199543 -0.71736890078 0.57509899139 0.39324682951 -0.61896139383 -0.089435130358 0.78031283617 0.7999612093 0.014720427804 0.599871099 -0.79996114969 -0.014720518142 0.5998711586 0.58081907034 0.23475660384 0.77944761515 0.71736890078 -0.57509899139 0.39324679971 0.78596711159 -0.54874116182 0.28484889865 0.54829823971 -0.59449827671 0.58816730976 0.37261980772 -0.73572963476 0.56555843353 0.11086040735 -0.91925293207 0.37773543596 -0.06699411571 -0.94103711843 0.33160358667 -0.55552214384 0.49122059345 0.67089307308 0.50189274549 0.43252179027 0.74901843071 0.32272788882 0.60494357347 0.72793543339 -0.14586155117 0.68725949526 0.71161699295 -0.26791512966 -0.57828837633 0.77058684826 -0.39482483268 -0.3646222055 0.84330540895 -0.59770137072 -0.40425375104 0.69233804941 0.63111138344 0.68256086111 0.36852291226 0.30283281207 0.87019348145 0.38865873218 -0.14205768704 0.93849873543 0.3147058785 -0.27169731259 0.8868034482 0.37384521961 -0.57488942146 0.71693921089 0.39433529973 -0.78600001335 0.54872208834 0.28479468822 -0.78602015972 0.54871016741 0.28476205468 0.88117432594 0.43426427245 0.18693949282 -0.80107301474 0.57353186607 0.1712987721 0.86074352264 0.49068653584 0.135452196 0.88340163231 0.2682081461 0.38427329063 0.91438633204 -0.042433921248 0.40261277556 -0.91438633204 0.042433869094 0.40261271596 -0.88340163231 -0.26820808649 0.38427329063 -0.86074352264 -0.49068656564 0.13545231521 0.78602015972 -0.54871022701 0.28476205468 0.78599995375 -0.54872214794 0.28479471803 0.57488960028 -0.71693915129 0.39433515072 0.2716974318 -0.8868034482 0.3738451004 0.0034242863767 -0.9725189805 0.23279835284 -0.11817836761 -0.98248755932 0.14405594766 -0.30283284187 -0.87019348145 0.38865870237 -0.63111132383 -0.68256086111 0.36852303147 -0.5101647377 0.53149133921 0.67620182037 -0.45182472467 0.50052392483 0.7384647727 0.16853524745 0.63611477613 0.75296336412 0.46163514256 -0.50541359186 0.72900623083 -0.36181122065 -0.41352808475 0.83551609516 0.066891267896 0.99768412113 -0.012327156961 0.64177840948 0.76679116488 0.012320787646 0.29424571991 0.95555633307 -0.018207540736 -0.6023068428 0.7982134819 -0.0090378550813 -0.84938704967 0.5274720788 -0.017742181197 0.83347016573 0.54989087582 0.054291103035 -0.86443799734 0.50224465132 -0.022299809381 0.83163803816 0.54505354166 -0.10627711564 0.95163655281 0.30709686875 -0.0089125121012 0.99958449602 -0.028811806813 0.00086846161867 -0.99958449602 0.028811894357 0.00086850731168 -0.95163649321 -0.30709698796 -0.0089125521481 -0.83163803816 -0.54505354166 -0.10627714545 0.84938710928 -0.5274720788 -0.017742272466 -0.83347010612 -0.54989093542 0.054291095585 0.6023067832 -0.79821354151 -0.0090377563611 0.28021433949 -0.95926445723 0.035938631743 -0.2942456007 -0.95555639267 -0.01820747368 -0.64177840948 -0.76679116488 0.01232090313 0.63888001442 0.3264528811 0.69660669565 0.068684540689 -0.9919295907 -0.10657434911 0.57696765661 0.44300121069 0.686191082 0.37026977539 0.43945580721 0.81840020418 0.27123594284 -0.66780072451 0.693161726 -0.32915616035 -0.65906733274 0.67622959614 -0.42748707533 -0.59765380621 0.67828071117 -0.47129541636 -0.54221123457 0.69562029839 -0.42748841643 -0.5976536274 0.67828005552 -0.42749628425 -0.59765917063 0.67827016115 -0.59534114599 -0.75286000967 0.28066122532 0.31914156675 0.90917569399 -0.26748502254 0.070996418595 0.97706383467 -0.20076306164 0.62786781788 0.73887300491 -0.2446398288 0.79735058546 0.56625497341 -0.20877577364 -0.87806433439 0.4332986176 -0.20311403275 -0.94480466843 0.22880251706 -0.23450706899 0.94480466843 -0.22880238295 -0.23450709879 0.83185946941 0.24675235152 0.49711480737 -0.070996664464 -0.97706377506 -0.20076327026 -0.09375847131 -0.97225445509 -0.21431434155 -0.60502445698 -0.75394684076 -0.25594830513 0.48990112543 0.5936280489 0.63843768835 0.59534114599 0.75285995007 0.28066134453 0.42748838663 0.5976536274 0.67828005552 0.42748704553 0.59765380621 0.67828071117 0.42749628425 0.59765917063 0.67827016115 -0.19474306703 0.66052722931 0.72510617971 -0.31118699908 -0.86311364174 0.39774045348 0.30131092668 -0.85960513353 0.41266301274 -0.31962704659 -0.77228677273 0.54900974035 0.3541803956 -0.91787195206 0.17907351255 0.29145044088 -0.87082606554 0.39587697387 -0.60974740982 -0.68233805895 0.40326526761 -0.60465049744 -0.7580550909 0.24443872273 -0.60978674889 -0.63320678473 0.47666478157 0.16043151915 0.93579936028 -0.3139128089 -0.044515747577 0.96427464485 -0.2611373961 0.032841529697 0.90317457914 -0.42801529169 -0.79956102371 -0.21732452512 0.55988585949 0.95759785175 -0.18166622519 0.22361525893 0.83683365583 0.47067135572 -0.27960309386 0.90510046482 -0.22540770471 0.36053362489 0.91876041889 -0.012758477591 -0.39460924268 0.83982557058 -0.091965265572 0.53500968218 -0.90510040522 0.22540773451 0.3605338037 -0.95759779215 0.18166638911 0.22361524403 -0.88722985983 0.16063468158 0.43245771527 -0.76763886213 0.2788220644 0.57705187798 -0.75893527269 0.41113835573 0.50495797396 -0.68962091208 -0.57464891672 -0.44068315625 0.35492697358 -0.84196978807 -0.40634182096 0.60978680849 0.63320678473 0.47666469216 -0.58638077974 0.69158875942 0.42173752189 0.63753968477 0.74469685555 0.19740772247 0.62642741203 0.68563193083 0.37080660462 0.6280567646 0.68381291628 0.37140893936 0.42601394653 0.76538187265 0.48239263892 -0.35871216655 0.91510570049 0.18413890898 -0.038381427526 0.86656713486 0.49758246541 -0.09613892436 -0.84617221355 0.52416592836 0.17151109874 -0.82186710835 0.54324805737 -0.20626348257 -0.80997788906 0.5489910841 0.046201519668 -0.72276306152 0.68954980373 0.35119003057 -0.74956899881 0.56108099222 0.22992046177 -0.82315123081 0.51919037104 -0.53895384073 -0.69441008568 0.47678443789 -0.47955653071 -0.73282617331 0.48269170523 -0.090734153986 -0.59926778078 0.79539012909 0.46276766062 -0.74164044857 0.48560839891 0.49938133359 -0.72663170099 0.4718311429 -0.34638187289 -0.7291508317 0.59021914005 0.3876209259 -0.69144701958 0.60963183641 0.0053184563294 -0.78638440371 0.61771452427 0.18262593448 -0.64209473133 0.74455499649 -0.36929270625 -0.56453883648 0.73818612099 -0.073407620192 -0.66805678606 0.74048054218 -0.2138774246 -0.59023457766 0.77838265896 0.1969589591 -0.6043959856 0.77195382118 0.027134517208 -0.68440181017 0.72859990597 0.56664901972 -0.67874932289 0.46712765098 0.57637113333 -0.65525078773 0.48830598593 -0.23350189626 -0.44755983353 0.86323058605 -0.69342178106 -0.53186923265 0.48608779907 0.68211251497 -0.53467148542 0.498847574 0.21773195267 -0.43224284053 0.87507653236 0.55945843458 -0.62644803524 0.54274219275 -0.6648671627 -0.56693977118 0.48634442687 0.0032464452088 0.99590629339 -0.090333089232 0.70747554302 -0.52741134167 0.47044196725 -0.62476700544 -0.54354161024 0.56056112051 -0.41173139215 -0.29615712166 0.86184000969 0.47100961208 0.73715943098 -0.48450580239 -0.50069510937 -0.69632607698 0.51423186064 -0.59584534168 0.64123177528 -0.48351845145 0.60493290424 -0.35812878609 0.71119612455 -0.70774883032 -0.50676763058 0.49221760035 -0.79719555378 0.46174633503 -0.38893392682 -0.73778557777 -0.37221628428 0.56314069033 -0.87209784985 0.40972062945 -0.26753380895 -0.74749165773 0.5143712759 -0.4203312695 -0.73521190882 -0.49422574043 0.46390128136 -0.61847418547 -0.19644677639 0.76085364819 0.61702746153 -0.15560500324 0.77140402794 0.74771797657 -0.41352668405 0.51953202486 -0.80552643538 -0.21681389213 0.55146974325 0.73462283611 -0.21668936312 0.64294242859 -0.59767305851 -0.095957383513 0.79597681761 -0.65564340353 -0.15955162048 0.73802101612 0.81575083733 -0.21654978395 0.53633642197 -0.76102596521 -0.40593183041 0.50602251291 -0.79865193367 -0.16388240457 0.5790489316 -0.84926736355 -0.12830260396 0.51213604212 -0.792742908 0.020784240216 0.6092017293 0.85673320293 -0.14226713777 0.49575021863 -0.83408802748 -0.12346035242 0.5376380682 -0.72099560499 -0.33243063092 0.60799276829 0.72628581524 -0.35481160879 0.58874237537 0.82365113497 -0.14941935241 0.54705822468 -0.66819578409 -0.03120929189 0.74333059788 0.8521823287 0.18219795823 -0.49049887061 0.61470973492 -0.080125555396 0.78467309475 0.82983738184 -0.094369895756 0.54996746778 -0.82983744144 0.094370014966 0.54996740818 -0.82365107536 0.14941911399 0.54705834389 -0.61470961571 0.080125510693 0.78467315435 -0.8521823287 -0.18219803274 -0.49049887061 0.6681959033 0.03120929189 0.74333047867 -0.84293466806 0.14659439027 0.51765936613 -0.72628599405 0.35481134057 0.58874237537 0.72099554539 0.33243063092 0.6079928875 -0.85673320293 0.14226719737 0.49575018883 0.79274296761 -0.020784363151 0.60920161009 0.84926736355 0.12830254436 0.51213610172 -0.7754483223 0.35402417183 0.52282577753 0.79865181446 0.16388244927 0.57904905081 0.76102596521 0.40593186021 0.50602251291 -0.81575083733 0.21654975414 0.53633642197 -0.64417159557 0.14283424616 0.75142621994 0.65564334393 0.15955157578 0.73802107573 0.59767317772 0.095957390964 0.795976758 -0.80489718914 0.21189987659 0.55429142714 -0.74771797657 0.41352668405 0.51953202486 -0.61702764034 0.15560506284 0.77140384912 0.61847412586 0.19644661248 0.7608537674 0.73521184921 0.49422588944 0.46390122175 0.87209790945 -0.40972051024 -0.26753383875 0.74749171734 -0.51437115669 -0.42033132911 0.79719561338 -0.46174633503 -0.38893380761 0.70774883032 0.50676757097 0.49221768975 -0.70930325985 0.44923487306 0.54320979118 -0.60493290424 0.35812884569 0.71119612455 0.50069504976 0.69632589817 0.51423209906 0.41173145175 0.29615700245 0.86184000969 0.62476694584 0.54354155064 0.56056118011 -0.70747548342 0.52741140127 0.47044202685 0.64793157578 0.55858725309 0.51784640551 -0.5594586134 0.62644803524 0.54274207354 -0.21773216128 0.43224266171 0.87507659197 -0.68211245537 0.53467166424 0.49884754419 0.69342166185 0.53186935186 0.48608785868 0.23350171745 0.44755959511 0.86323076487 -0.54708147049 0.70127612352 0.45707070827 -0.55566501617 0.71040058136 0.4319344759 0.55332392454 0.62613248825 0.54935485125 0.54719340801 0.71466654539 0.43569612503 -0.027134409174 0.68440192938 0.72859984636 -0.19695906341 0.60439568758 0.771954 0.2138774991 0.59023439884 0.77838283777 0.073407366872 0.66805672646 0.74048066139 0.36929270625 0.56453871727 0.7381862402 -0.49938127398 0.7266318202 0.4718310833 -0.38762104511 0.69144713879 0.6096316576 0.34638175368 0.7291508913 0.59021914005 0.19939944148 0.57659637928 0.79232347012 0.53895395994 0.69441002607 0.47678440809 -0.43876966834 0.77087825537 0.46176612377 0.038809940219 0.65010285378 0.7588544488 0.090734057128 0.59926789999 0.79539000988 0.47679945827 0.7500846386 0.45829606056 -0.17151123285 0.82186704874 0.54324805737 -0.04620147869 0.72276306152 0.68954986334 0.033687453717 0.83636939526 0.54713016748 0.09613891691 0.84617227316 0.52416580915 -0.33303141594 -0.77088630199 0.54297733307 -0.27946090698 -0.4664901793 0.83921897411 0.28269100189 -0.44848144054 0.84790933132 -0.29622343183 -0.36863446236 0.88111311197 -0.0066325911321 -0.24202287197 0.97024786472 0.031292330474 -0.25165209174 0.96731173992 0.32124176621 -0.40522915125 0.85591650009 0.18033143878 -0.82114237547 0.54148477316 -0.23930776119 -0.37050110102 0.89747464657 -0.056118533015 -0.20084962249 0.97801333666 0.0205517672 -0.60031908751 0.79949647188 0.038446035236 -0.22972020507 0.97249704599 0.042425103486 -0.43289634585 0.90044480562 0.23067103326 -0.38798439503 0.89233344793 -0.68716192245 -0.57126772404 0.44884482026 0.017024083063 -0.31839752197 0.94780439138 -0.14820218086 -0.47299450636 0.86851155758 -0.24923031032 -0.68020129204 0.68935507536 0.53199678659 -0.64367645979 0.55014550686 0.1411434114 -0.45734989643 0.87801456451 -0.052993178368 -0.30461862683 0.95099908113 -0.517329216 -0.66273361444 0.54143750668 -0.0005684660282 -0.67731297016 0.73569482565 -0.3465705812 -0.46178144217 0.81648439169 0.31161239743 -0.47603705525 0.82236635685 0.20313447714 -0.32871958613 0.92232304811 -0.45547527075 -0.45914885402 0.76270872355 0.036162175238 0.99115234613 -0.12770782411 0.4401422143 -0.45275402069 0.77542805672 -0.42547497153 0.66110092402 -0.61799401045 -0.32088559866 -0.23602256179 0.91723811626 0.63106715679 0.57946544886 -0.51572668552 0.3159237206 -0.20779743791 0.92574965954 -0.35132834315 -0.21932283044 0.91020101309 -0.74734294415 0.51448190212 -0.42046037316 -0.74740421772 0.51447552443 -0.42035919428 0.41300317645 -0.57442831993 0.70672518015 0.35744762421 -0.20678621531 0.91075277328 -0.67242068052 -0.024926181883 0.73974937201 0.68049055338 -0.02200188674 0.73242646456 -0.20282940567 -0.0486195907 0.97800630331 -0.49262332916 -0.33769893646 0.80204844475 -0.83727055788 0.53332495689 -0.12059232593 0.52240759134 -0.28680506349 0.80301505327 0.2232491672 -0.022153193131 0.97450965643 -0.37194284797 -0.27603769302 0.88626277447 -0.36572358012 0.044541679323 0.92965710163 0.33207833767 0.066487081349 0.94090563059 0.75831252337 -0.33295884728 0.56044667959 0.40468063951 -0.31308674812 0.85919165611 -0.50699478388 -0.078712880611 0.85834759474 0.46937531233 -0.12388090044 0.87426561117 0.82854056358 -0.16416417062 0.53532296419 -0.70148932934 -0.21498391032 0.67948114872 -0.24758537114 0.004779514391 0.96885430813 0.77659988403 0.30341348052 -0.55211669207 0.77844405174 -0.35037401319 0.52082902193 0.26973724365 -0.014992075972 0.96281725168 -0.48580864072 -0.2895963192 0.82469630241 0.49293872714 -0.30669254065 0.81421810389 -0.59598147869 0.0067802248523 0.80296957493 -0.78693455458 -0.010630432516 -0.6169449091 0.59598177671 -0.0067802271806 0.80296933651 -0.49293893576 0.30669271946 0.81421786547 0.4858084321 0.28959625959 0.82469642162 -0.77844417095 0.35037374496 0.52082902193 -0.26973727345 0.014992053621 0.96281725168 0.24758552015 -0.0047795618884 0.96885424852 -0.81304764748 -0.40978017449 -0.41356229782 0.70148932934 0.21498398483 0.67948114872 -0.82854056358 0.16416427493 0.53532290459 -0.46937543154 0.12388077378 0.87426555157 0.50699478388 0.078712970018 0.85834759474 -0.75831246376 0.33295896649 0.5604467392 -0.40468078852 0.31308695674 0.8591914773 -0.33207827806 -0.066487051547 0.94090569019 0.36572358012 -0.044541664422 0.92965710163 0.37194299698 0.27603772283 0.88626271486 -0.2232490778 0.022153072059 0.97450965643 -0.52240782976 0.28680494428 0.80301493406 0.49262318015 0.33769878745 0.80204856396 0.20282948017 0.048619650304 0.97800630331 -0.68049049377 0.022001983598 0.73242652416 0.74740427732 -0.51447540522 -0.42035925388 0.67242085934 0.024926049635 0.73974919319 -0.35744774342 0.20678627491 0.91075271368 -0.41300314665 0.57442861795 0.70672494173 0.74734294415 -0.51448178291 -0.42046043277 0.35132837296 0.21932296455 0.91020095348 -0.67699849606 -0.56076776981 -0.47666811943 -0.63106697798 -0.57946568727 -0.51572668552 -0.31592366099 0.20779766142 0.92574965954 0.42547494173 -0.66110098362 -0.61799395084 -0.48679438233 -0.74547880888 -0.45529395342 0.32088571787 0.23602263629 0.91723805666 -0.44014236331 0.45275422931 0.7754278183 0.45547536016 0.45914885402 0.76270866394 -0.20313465595 0.32871967554 0.92232298851 -0.31161239743 0.47603705525 0.82236635685 0.3465705812 0.46178159118 0.81648427248 0.00056848669192 0.67731285095 0.73569488525 0.68716186285 0.57126784325 0.44884479046 0.51732939482 0.66273385286 0.54143708944 0.052993185818 0.30461856723 0.95099908113 -0.14114329219 0.45734977722 0.87801468372 -0.53199678659 0.64367651939 0.55014538765 0.24923047423 0.68020129204 0.68935501575 0.14820230007 0.47299444675 0.86851155758 -0.017024176195 0.31839722395 0.94780451059 -0.18033106625 0.82114243507 0.54148483276 -0.23067075014 0.38798433542 0.89233356714 -0.04242509231 0.43289655447 0.90044474602 -0.038446139544 0.22972005606 0.9724971056 -0.020551782101 0.60031908751 0.79949647188 0.056118514389 0.20084951818 0.97801339626 0.2393078506 0.37050116062 0.89747458696 -0.32124170661 0.40522930026 0.85591644049 -0.031292364001 0.25165197253 0.96731179953 0.33303129673 0.7708863616 0.54297733307 0.0066325096413 0.24202290177 0.97024786472 0.29622358084 0.36863467097 0.88111299276 -0.28269091249 0.44848147035 0.84790933132 0.27946096659 0.46649026871 0.83921891451 -0.48875436187 -0.65670919418 0.57432764769 0.0091401441023 -0.76390480995 0.64526414871 0.086083993316 -0.75018495321 0.65560054779 -0.49417054653 -0.65724676847 0.56905370951 0.0081184823066 -0.24568237364 0.96931636333 0.18820357323 -0.74533164501 0.63957810402 -0.48467195034 -0.49638751149 0.72020310163 -0.17377302051 -0.32324755192 0.93022251129 0.020435864106 0.2197804451 0.97533529997 -0.00013975436741 -0.11848306656 0.99295604229 0.17779107392 -0.36337336898 0.91452181339 0.47376787663 -0.52916413546 0.70393842459 -0.23811304569 -0.20573659241 0.94919681549 0.097839474678 -0.30034589767 0.9487991333 -0.13449583948 -0.29740902781 0.94522947073 0.2273452729 -0.21398279071 0.95001339912 -0.3098731339 -0.4158090353 0.85503304005 0.15705217421 0.86560291052 0.47546422482 -0.09985422343 0.82105958462 0.56204122305 -0.25573825836 0.80095118284 0.54136419296 0.28737398982 -0.41763463616 0.86197304726 -0.20100083947 -0.20886233449 0.9570659399 0.48932754993 0.7139672637 0.50080859661 0.34258672595 0.82733148336 0.4451481998 -0.39685028791 0.77065879107 0.49859288335 0.17052076757 -0.17883092165 0.96899026632 -0.38507124782 -0.30452990532 0.87119555473 -0.66733694077 0.58159893751 0.46519252658 -0.19286480546 -0.22197546065 0.95578765869 0.6766499877 0.47472712398 0.56283122301 0.20212645829 -0.21061345935 0.95644491911 -0.26632907987 0.076571427286 0.96083593369 -0.47183698416 -0.43639758229 0.76611161232 0.79120689631 0.33542668819 0.51135164499 -0.75781595707 0.29872956872 0.58006519079 0.36832565069 -0.15537185967 0.91662192345 -0.16831973195 -0.0061681596562 0.98571312428 -0.81013846397 0.23415927589 0.53744310141 -0.6783311367 -0.51539188623 0.5236774683 -0.12126714736 0.06960516423 0.99017643929 -0.84503799677 0.11076638103 0.5231076479 0.12821702659 0.017311861739 0.99159502983 -0.78050065041 0.0092456806451 0.62508660555 -0.26081374288 0.0077906409279 0.96535772085 0.78050071001 -0.0092455949634 0.62508654594 0.26081350446 -0.0077905547805 0.96535778046 -0.12821684778 -0.017311928794 0.99159502983 0.84503793716 -0.11076621711 0.5231077075 0.81013834476 -0.23415926099 0.53744328022 -0.87628155947 -0.23066754639 0.42299306393 -0.5070695281 -0.13663981855 0.85100531578 0.16831976175 0.0061682029627 0.98571312428 -0.36832556129 0.15537194908 0.91662198305 -0.79120695591 -0.33542668819 0.51135164499 -0.52923923731 0.44556647539 0.72206395864 0.73371738195 -0.38152217865 0.56222742796 0.47183692455 0.43639755249 0.76611167192 -0.27435350418 -0.11671672016 0.95451945066 -0.67664992809 -0.47472709417 0.56283128262 0.26632916927 -0.076571539044 0.96083587408 -0.20212650299 0.21061342955 0.95644491911 0.66733700037 -0.58159893751 0.46519240737 0.19286471605 0.22197546065 0.95578765869 -0.58327668905 -0.60875755548 0.53777551651 0.38507166505 0.30453005433 0.87119531631 -0.17052073777 0.17883093655 0.96899026632 0.524317801 -0.72734969854 0.44277897477 -0.48932760954 -0.71396720409 0.50080871582 0.25573810935 -0.80095112324 0.54136431217 0.099854238331 -0.82105952501 0.56204128265 0.0011832313612 -0.82009261847 0.57222956419 -0.15705227852 -0.86560285091 0.47546425462 -0.34258663654 -0.82733148336 0.4451482892 0.20100094378 0.20886230469 0.9570659399 -0.28737404943 0.41763481498 0.86197292805 -0.2273452282 0.21398283541 0.95001339912 0.13449591398 0.29740917683 0.94522941113 -0.097839429975 0.30034571886 0.94879919291 0.23811304569 0.20573660731 0.94919681549 -0.47376787663 0.52916425467 0.70393836498 -0.17779120803 0.36337342858 0.91452175379 0.00013966660481 0.11848296225 0.99295610189 -0.020435886458 -0.21978035569 0.97533529997 0.17377308011 0.32324749231 0.9302225709 0.48467212915 0.49638777971 0.72020280361 -0.18820422888 0.7453315258 0.63957804441 -0.086084321141 0.75018495321 0.65560054779 -0.0091400714591 0.76390480995 0.64526420832 -0.0081184087321 0.24568240345 0.96931636333 0.48875427246 0.65670919418 0.57432770729 0.49417042732 0.65724682808 0.56905376911 -0.014881354757 -0.2537778914 -0.96714806557 -0.014399604872 -0.095344506204 -0.99534016848 0.014399516396 0.095344513655 -0.99534016848 0.03086595051 0.20118917525 -0.97906601429 0.014881346375 0.2537778616 -0.96714806557 -0.41733157635 -0.32039162517 -0.85040199757 -0.65397721529 -0.47429448366 -0.58937132359 -0.60407662392 -0.73033100367 -0.31891706586 -0.24754941463 0.8887514472 -0.38579812646 -0.81160444021 -0.58226567507 0.047591265291 -0.87353092432 -0.46487233043 -0.14435175061 0.92388063669 -0.37289872766 0.085971496999 0.87353092432 0.46487233043 -0.14435182512 0.811604321 0.58226585388 0.047591287643 -0.16247045994 0.98468697071 0.063205748796 -0.018510023132 0.97973328829 0.19944934547 -0.12679414451 0.92792147398 0.35054948926 0.1091927737 -0.96970105171 0.21853326261 0.85295760632 -0.43004533648 0.29584506154 0.82190257311 -0.4343290925 0.36855712533 -0.7794470191 0.61853188276 0.099401518703 -0.1938393414 -0.48142421246 0.8547847867 -0.19172894955 -0.12992872298 0.97280961275 0.19172891974 0.12992867827 0.97280961275 -0.86881607771 0.47506773472 0.13953249156 0.76889944077 -0.54323291779 0.33718192577 -0.28673443198 0.060559645295 0.95609408617 -0.52576708794 0.2038795352 0.82583421469 -0.92332530022 0.370552212 0.10080377758 -0.14520551264 0.38614401221 0.91093808413 0.39706480503 -0.63997149467 0.65785717964 -0.66140651703 0.32249897718 0.67715275288 -0.766674757 0.12129525095 0.63047385216 0.7892113328 -0.084847509861 0.60823214054 -0.25952067971 -0.64669889212 0.71723741293 -0.43626892567 0.46733829379 0.76893717051 -0.85809320211 0.42931336164 0.28171995282 -0.7892113924 0.084847398102 0.60823208094 -0.64076757431 -0.27608042955 0.71637737751 -0.10999093205 0.94798481464 0.29870852828 -0.39706492424 0.63997161388 0.65785694122 0.59738010168 0.53965580463 0.59321886301 0.44945889711 -0.39895319939 -0.79926407337 -0.50443214178 0.85956382751 -0.081842690706 -0.90870130062 0.39684984088 -0.12950736284 -0.99075335264 0.12896241248 -0.042148854584 -0.04063623026 0.042054869235 0.99828857183 0.040636260062 -0.042054902762 0.99828857183 -0.00021088412905 -0.085141427815 0.99636882544 -0.032058704644 -0.0089738965034 0.9994456768 0.2785154283 -0.9604279995 0.0026828113478 -0.45673650503 -0.86804789305 -0.19463959336 0.77905654907 0.57602310181 -0.24752435088 0.99075329304 -0.12896285951 -0.042148672044 0.8195644021 -0.42154103518 0.38809448481 0.90870136023 -0.39684972167 -0.12950748205 -0.44945880771 0.39895319939 -0.79926413298 0.65310615301 0.7562635541 0.038958150893 0.62825137377 0.77654504776 0.047728329897 0.63930284977 0.73531758785 0.2249442786 -0.010378462262 0.53909641504 0.84218013287 0.19889262319 0.2292804122 -0.95282328129 -0.6882610321 -0.46335217357 0.55821275711 -0.69765549898 -0.31608983874 0.64293390512 -0.26833918691 0.23023170233 0.93540763855 -0.14366362989 0.40411400795 0.90335631371 -0.31444984674 -0.17413796484 -0.9331651926 -0.84426224232 0.0053560119122 -0.53590351343 0.6882609725 0.46335241199 0.5582126379 -0.30291968584 -0.31245133281 0.90034097433 0.96764212847 0.12787988782 -0.21752120554 0.96764212847 0.12787988782 -0.21752120554 0.36571937799 0.0014719535829 -0.93072402477 -0.98639768362 -0.040746562183 0.15924613178 -0.96564918756 0.25984427333 -0.0016206580913 0.98231101036 0.1827930063 -0.040642175823 0.95698356628 0.2764544785 0.088064335287 -0.10713762045 -0.98645991087 -0.12417067587 0.86695188284 0.46736773849 -0.17309500277 0.36254245043 0.7958189249 -0.48501056433 0.10372687876 -0.99131286144 0.080867104232 0.22498400509 0.92086040974 -0.31843101978 -0.60699754953 0.75648593903 0.24348095059 0.018026260659 0.99751579762 -0.068097665906 0.012186569162 -0.98038941622 0.19669280946 0.010741353035 -0.99682509899 0.078894659877 0.25306105614 -0.89996659756 -0.35499325395 -0.25306099653 0.89996659756 -0.35499325395 -0.012186542153 0.98038941622 0.19669283926 -0.94251644611 0.30372318625 0.13933756948 0.96936386824 0.2248134762 -0.098957397044 -0.58278864622 -0.42708650231 -0.69134253263 0.44727015495 -0.82478702068 0.3459418416 0.19777312875 -0.26454216242 -0.94387668371 -0.00047434546286 0.29693627357 -0.9548971653 0.98173034191 0.03972709924 -0.18608404696 -0.44727009535 0.82478702068 0.34594193101 -0.82732582092 -0.040681283921 0.56024724245 0.29458943009 -0.34286347032 0.89199870825 0.69646722078 0.27735841274 0.66181999445 0.57978922129 0.12668325007 0.80485767126 -0.48403334618 0.46645098925 0.74036157131 0.22151780128 0.75524127483 -0.61687964201 -0.16653229296 -0.73840945959 0.65346646309 -0.98496955633 -0.16798432171 0.040202047676 0.002133410424 0.58720833063 0.809433043 0.16653227806 0.73840987682 0.65346604586 -0.39559614658 0.91222977638 -0.10649185628 -0.69646728039 -0.27735841274 0.66181999445 -0.57978928089 -0.12668316066 0.80485761166 -0.29437798262 0.34037032723 0.89302277565 0.83992654085 -0.17923854291 0.51224696636 0.82732588053 0.040681280196 0.56024724245 0.53319150209 -0.32164186239 -0.78246623278 -0.92765635252 -0.091201022267 0.36212709546 -0.53319144249 0.32164186239 -0.78246623278 0.85248833895 -0.33295601606 -0.40299373865 0.85248833895 -0.33295601606 -0.40299373865 0.85248833895 -0.33295601606 -0.40299373865 -0.29561859369 -0.53832751513 -0.78918510675 0.77691948414 0.30567210913 0.55041861534 -0.82548475266 -0.049483280629 0.562251091 0.68698275089 0.28273287416 -0.66941529512 -0.5763091445 0.24670787156 0.77910393476 0.40666553378 0.8150395751 -0.41271495819 0.64790338278 0.33681565523 -0.68321037292 0.76022469997 -0.089974842966 0.64339953661 -0.52942419052 0.08761908859 0.84382045269 -0.56887412071 0.82168060541 0.03497389704 -0.56887412071 0.82168060541 0.03497389704 0.69280302525 -0.22502242029 0.6851195693 0.98118281364 0.17682683468 0.077540814877 -0.73870527744 -0.096932046115 0.66702228785 0.34025141597 0.53808927536 0.77116078138 0.34025141597 0.53808927536 0.77116078138 0.56887423992 -0.82168054581 0.034974046052 0.56887423992 -0.82168054581 0.034974046052 0.94926679134 0.29849824309 0.098951049149 -0.040952030569 -0.58011364937 0.81350541115 0.93074458838 0.16180865467 0.32792136073 -0.10117902607 -0.97767806053 -0.18414247036 0.30997374654 0.8294968009 0.46459802985 0.10117902607 0.97767806053 -0.18414250016 -0.81802564859 -0.42856529355 0.38362193108 0.040952421725 0.58011358976 0.81350547075 0.040952421725 0.58011358976 0.81350547075 0.56027948856 -0.82830142975 0.0019117132761 0.74168884754 0.10175316781 -0.66298109293 0.75071227551 0.077839486301 -0.65602749586 -0.79946047068 -0.29110261798 -0.52547329664 -0.872179389 -0.19943599403 -0.44668599963 -0.98077750206 -0.075081303716 0.18010617793 -0.86042076349 0.50905138254 0.023298555985 0.75721859932 0.21718493104 0.61599570513 0.84966123104 0.12215816975 0.51298457384 0.24357397854 0.4751817286 0.84550225735 0.35871422291 0.58745205402 0.72541314363 0.79946053028 0.29110252857 -0.52547329664 0.8721794486 0.19943587482 -0.44668596983 -0.96864807606 0.026207514107 -0.24705080688 0.32284903526 0.94645047188 -9.3553455372e-05 0.32284903526 0.94645047188 -9.3553455372e-05 0.32284903526 0.94645047188 -9.3553455372e-05 -0.070073656738 0.94485449791 0.3199056685 0.23692081869 0.96668756008 0.096869431436 0.062335424125 -0.026412950829 0.99770569801 -0.61275607347 -0.7097261548 0.34759002924 0.61275607347 0.7097260952 0.34759005904 -0.20778429508 0.97653275728 0.056652508676 0.96864807606 -0.026207609102 -0.24705074728 0.053853821009 -0.99654257298 -0.063266731799 0.68491184711 -0.121383138 0.71844404936 0.044462442398 0.93628174067 0.34842446446 0.17360810935 -0.69565337896 0.69708436728 0.82008862495 -0.21999321878 0.52825903893 -0.062116608024 0.19073536992 0.97967422009 0.14602583647 0.052581898868 0.98788237572 0.34290584922 -0.086496643722 0.93537902832 0.12763141096 0.23895381391 -0.96260648966 -0.12763138115 -0.23895376921 -0.96260654926 0.19223235548 0.97151374817 0.13859196007 -0.098257727921 -0.098503693938 -0.99027389288 0.15993453562 0.042621560395 -0.98620706797 -0.0090114986524 0.065658941865 -0.99780142307 -0.04772733897 -0.31514126062 -0.94784390926 -0.23937799037 -0.030293866992 -0.97045373917 -0.041106872261 0.12644857168 -0.9911210537 -0.26598683 0.86995577812 -0.4152444303 0.04110686481 -0.12644858658 -0.9911210537 0.14443747699 -0.076243653893 -0.98657220602 0.23937797546 0.03029383719 -0.97045373917 0.047727324069 0.31514126062 -0.94784390926 -0.221942693 0.94157075882 -0.2533493638 -0.07608383894 -0.96398240328 -0.25485122204 -0.07608383894 -0.96398240328 -0.25485122204 0.90650165081 -0.31846320629 -0.27719298005 -0.6958271265 -0.25079315901 -0.67299878597 0.10459726304 0.98903650045 -0.10424114764 0.14978800714 0.9816454649 -0.11804971099 -0.20284835994 0.97161096334 -0.12175666541 0.078312925994 -0.98944044113 -0.12196206301 0.92436212301 -0.35256761312 -0.14577642083 0.94586521387 -0.32451829314 -0.0051856376231 0.30669549108 0.95126694441 -0.032079838216 0.0023389682174 0.84066575766 -0.54154926538 -0.015248683281 -0.99459517002 -0.1027033478 0.6555300951 -0.70869505405 -0.26082873344 0.94492417574 -0.1503881067 -0.29069182277 0.12314618379 -0.91174030304 -0.39187321067 -0.6555300355 0.70869511366 -0.26082873344 -0.6555300355 0.70869511366 -0.26082873344 -0.64649671316 0.72850292921 -0.22655116022 -0.49223843217 0.87013924122 0.023643346503 -0.90765744448 -0.35922658443 0.21705806255 0.075955972075 -0.98668599129 0.14381057024 -0.26441773772 0.89206957817 0.36646291614 -0.98407137394 0.059369239956 0.16756753623 0.15436635911 -0.94708406925 0.28142994642 -0.10297072679 -0.91657191515 0.38638451695 -0.86741232872 -0.26279553771 -0.4225332737 -0.54152488708 0.29008445144 0.78905123472 -0.95211231709 -0.26881572604 0.14567169547 -0.98187428713 -0.18887886405 0.015736669302 -0.98187428713 -0.18887886405 0.015736669302 -0.98781520128 0.056164637208 -0.14514364302 -0.96936291456 0.1339635551 -0.20588673651 0.83860033751 0.11072532833 -0.53337544203 -0.019478954375 -0.93423527479 0.35612502694 0.96433955431 -0.22107820213 -0.14551173151 0.94712275267 -0.18334026635 -0.26333412528 0.98269498348 0.04216716066 -0.18036776781 0.97135406733 0.21346534789 -0.104421556 0.85855817795 -0.1439704448 -0.49208778143 0.29328712821 -0.74332457781 0.60120815039 0.015017352998 -0.78691631556 0.6168769598 0.98710632324 -0.15365447104 -0.044848416001 0.94915026426 0.14929297566 0.27717384696 0.79941564798 0.59145832062 -0.10541190207 -0.73316347599 0.20443940163 0.64859527349 -0.26344799995 -0.93179744482 0.249697119 0.22886821628 0.86372882128 -0.44898983836 -0.30522155762 -0.65473234653 0.69149500132 0.98384970427 -0.12786774337 0.12525814772 -0.78690725565 0.23312731087 0.57133936882 0.049705598503 0.98141008615 0.18537431955 -0.31151852012 0.72281056643 0.61684769392 -0.59855985641 -0.27101004124 0.75384324789 -0.95321583748 0.28502839804 0.10068961233 0.10753006488 0.87178719044 0.47793763876 -0.17435482144 -0.96489739418 0.19640111923 -0.16415174305 -0.94838088751 0.2713445425 -0.29198101163 -0.41794550419 0.86027240753 -0.071332663298 0.41283980012 0.90800601244 0.36504939198 0.38518920541 0.84756606817 -0.083005681634 -0.88237565756 0.4631665349 0.43616178632 -0.14009796083 0.88889563084 0.27033630013 -0.0029093467165 0.96276158094 0.096236914396 0.19602173567 0.9758657217 0.12647850811 -0.35240277648 0.92726236582 0.29069617391 -0.016170278192 0.95667874813 0.27813783288 0.2315313369 0.93221914768 0.41516107321 0.16243760288 0.89512866735 0.0075349598192 0.47144207358 -0.88186484575 0.39078482985 0.12715288997 -0.91165745258 0.50649303198 0.22748252749 -0.83169496059 0.56957393885 0.40637597442 -0.7144536972 -0.28425621986 0.91792821884 -0.27677822113 0.3209117353 -0.9342290163 -0.15566572547 0.96454149485 -0.21901781857 -0.14727836847 -0.8743507266 -0.48132184148 0.061968471855 -0.90358459949 -0.42810246348 0.016220547259 -0.92474424839 -0.38058882952 -0.00050469790585 -0.26113659143 0.95535778999 0.13819956779 -0.088004909456 0.98764824867 0.12963829935 0.12079150975 0.97103017569 0.20617902279 -0.84938704967 0.5274720788 -0.017742181197 0.30816170573 -0.91756004095 0.25123679638 0.22992046177 -0.82315123081 0.51919037104 -0.73778557777 -0.37221628428 0.56314069033 0.85673320293 -0.14226713777 0.49575021863 0.81574851274 -0.14880976081 0.55893647671 -0.85673320293 0.14226719737 0.49575018883 -0.49938127398 0.7266318202 0.4718310833 -0.00013975436741 -0.11848306656 0.99295604229 0.035926789045 -0.17494635284 0.98392224312 0.17779107392 -0.36337336898 0.91452181339 -0.13449583948 -0.29740902781 0.94522947073 0.15705217421 0.86560291052 0.47546422482 -0.09985422343 0.82105958462 0.56204122305 -0.25573825836 0.80095118284 0.54136419296 0.28737398982 -0.41763463616 0.86197304726 0.48932754993 0.7139672637 0.50080859661 0.34258672595 0.82733148336 0.4451481998 -0.39685028791 0.77065879107 0.49859288335 -0.66733694077 0.58159893751 0.46519252658 0.6766499877 0.47472712398 0.56283122301 0.79120689631 0.33542668819 0.51135164499 -0.87628155947 -0.23066754639 0.42299306393 -0.79120695591 -0.33542668819 0.51135164499 0.73371738195 -0.38152217865 0.56222742796 -0.67664992809 -0.47472709417 0.56283128262 0.66733700037 -0.58159893751 0.46519240737 -0.58327668905 -0.60875755548 0.53777551651 0.524317801 -0.72734969854 0.44277897477 -0.48932760954 -0.71396720409 0.50080871582 0.25573810935 -0.80095112324 0.54136431217 -0.15705227852 -0.86560285091 0.47546425462 -0.34258663654 -0.82733148336 0.4451482892 -0.28737404943 0.41763481498 0.86197292805 0.13449591398 0.29740917683 0.94522941113 -0.17779120803 0.36337342858 0.91452175379 -0.03592678532 0.17494644225 0.98392224312 0.00013966660481 0.11848296225 0.99295610189 0.57978922129 0.12668325007 0.80485767126 0.77691948414 0.30567210913 0.55041861534 0.75721859932 0.21718493104 0.61599570513 -0.98781520128 0.056164637208 -0.14514364302 -0.59855985641 -0.27101004124 0.75384324789 0.17779107392 -0.36337336898 0.91452181339 0.17779107392 -0.36337336898 0.91452181339 -0.17779120803 0.36337342858 0.91452175379 -0.17779120803 0.36337342858 0.91452175379 -0.25952067971 -0.64669889212 0.71723741293 -0.27247911692 -0.43039903045 -0.8605299592 -0.27247911692 -0.43039903045 -0.8605299592 -0.54719340801 -0.71466648579 0.43569615483 -0.54719340801 -0.71466648579 0.43569615483 -0.018510023132 0.97973328829 0.19944934547 0.34025141597 0.53808927536 0.77116078138 0.018026260659 0.99751579762 -0.068097665906 -0.64240461588 0.11620912701 -0.75750362873 0.089119717479 0.56265640259 0.82187312841 -0.20118291676 0.86663490534 -0.45658442378 -0.20118291676 0.86663490534 -0.45658442378 -0.83672177792 0.28242456913 -0.46918335557 -0.83672177792 0.28242456913 -0.46918335557 -0.95321583748 0.28502839804 0.10068961233 -0.56887412071 0.82168060541 0.03497389704 -0.0021345433779 -0.58720904589 0.80943250656 0.46276766062 -0.74164044857 0.48560839891 -0.66008806229 0.081489421427 0.74675512314 -0.66008806229 0.081489421427 0.74675512314 -0.0056404932402 -0.92443442345 -0.38129937649 0.13290642202 -0.98761969805 -0.083325669169 0.97347539663 0.22808286548 0.01799620688 0.83602696657 -0.53878301382 -0.10378714651 0.86779510975 -0.47946676612 0.13054981828 -0.44727009535 0.82478702068 0.34594193101 0.40666553378 0.8150395751 -0.41271495819 0.88540953398 -0.46471956372 -0.0092590553686 0.75132066011 -0.63109350204 0.19297212362 0.6280567646 0.68381291628 0.37140893936 0.63753968477 0.74469685555 0.19740772247 -0.17936454713 -0.68460077047 0.70650559664 -0.6882610321 -0.46335217357 0.55821275711 -0.19490253925 0.96052402258 0.19851104915 -0.16247045994 0.98468697071 0.063205748796 -0.0077500729822 0.96382284164 -0.2664309442 -0.0077500729822 0.96382284164 -0.2664309442 0.75534200668 -0.11270942539 0.64556568861 0.75534200668 -0.11270942539 0.64556568861 0.65579801798 0.31802198291 0.68468314409 0.47144055367 0.55548930168 0.68496382236 0.47144055367 0.55548930168 0.68496382236 0.17936456203 0.68460083008 0.70650553703 0.31845089793 0.23849694431 0.91744655371 0.50443208218 -0.85956382751 -0.081842936575 -0.057661220431 0.40980049968 0.91035091877 -0.057661220431 0.40980049968 0.91035091877 -0.010378462262 0.53909641504 0.84218013287 0.17372658849 -0.34750694036 -0.92144346237 0.20468434691 -0.2232927829 -0.95301872492 -0.27167013288 -0.57303655148 -0.7731910944 -0.9725934267 0.010014344007 -0.23229676485 -0.9725934267 0.010014344007 -0.23229676485 -0.837931633 0.1247843802 0.53131854534 -0.43876966834 0.77087825537 0.46176612377 -0.17936454713 -0.68460077047 0.70650559664 -0.17936454713 -0.68460077047 0.70650559664 -0.45607072115 -0.39818185568 -0.79589617252 -0.5763091445 0.24670787156 0.77910393476 -0.45670875907 0.63044381142 0.62766051292 0.97330611944 -0.1524528116 -0.17156130075 0.95970183611 -0.24504078925 -0.13757677376 0.91565293074 0.36496716738 0.16845962405 0.99744355679 0.069299720228 0.017433935776 0.95698356628 0.2764544785 0.088064335287 0.89492690563 0.1893286407 -0.40405508876 0.040952421725 0.58011358976 0.81350547075 -0.27499088645 0.85282540321 0.44392442703 -0.36697089672 0.026626586914 -0.92985129356 -0.48456826806 0.067318730056 -0.87215924263 -0.74297916889 0.5389329195 0.39690461755 -0.26850304008 -0.41640380025 0.86862766743 -0.26850304008 -0.41640380025 0.86862766743 -0.60514014959 0.78851437569 -0.10977485031 -0.59404706955 -0.27334094048 0.7565664649 -0.057661220431 0.40980049968 0.91035091877 -0.057661220431 0.40980049968 0.91035091877 0.68698495626 -0.66177845001 -0.30016827583 0.63621664047 -0.36858689785 0.67776995897 0.24484500289 -0.48182088137 -0.84136766195 -0.68698495626 0.6617783308 -0.30016842484 -0.63621681929 0.36858701706 0.67776966095 -0.24484528601 0.48182079196 -0.84136766195 0.028327863663 0.89271891117 0.44972261786 0.60514008999 -0.78851443529 -0.10977457464 0.60514008999 -0.78851443529 -0.10977457464 0.60514008999 -0.78851443529 -0.10977457464 0.20734488964 -0.7995454073 -0.56368011236 0.48403337598 -0.46645101905 0.74036151171 -0.04063623026 0.042054869235 0.99828857183 -0.04063623026 0.042054869235 0.99828857183 0.040636260062 -0.042054902762 0.99828857183 -0.04063623026 0.042054869235 0.99828857183 0.38202825189 -0.013351709582 0.92405420542 -0.87768673897 0.45938110352 -0.13651001453 -0.87768673897 0.45938110352 -0.13651001453 -0.902746737 0.42465868592 0.068653315306 -0.89749997854 0.2426686734 0.36824679375 0.6288164854 0.7570848465 -0.1772351563 -0.48403334618 0.46645098925 0.74036157131 -0.73896366358 0.40959686041 0.53494220972 -0.71282655001 0.50605785847 -0.48557570577 -0.71282655001 0.50605785847 -0.48557570577 0.12142080814 0.85497188568 -0.50426191092 -0.030840862542 -0.29885825515 -0.95379900932 -0.030840862542 -0.29885825515 -0.95379900932 0.89492690563 0.1893286407 -0.40405508876 0.95698356628 0.2764544785 0.088064335287 -0.35038861632 -0.67111122608 0.6533280611 -0.56887412071 0.82168060541 0.03497389704 -0.53432643414 0.84381896257 0.049647204578 -0.4999024272 -0.072518706322 0.86304032803 -0.7625439167 -0.36382591724 0.53493690491 0.1752268374 -0.13904803991 0.97465950251 0.040218621492 -0.35814982653 0.93279749155 0.28760364652 -0.93715941906 0.19752551615 0.28760364652 -0.93715941906 0.19752551615 0.030527744442 0.90139269829 0.43192508817 0.030527744442 0.90139269829 0.43192508817 -0.11210201681 0.27536192536 0.95478212833 -0.25362607837 -0.89480233192 0.36742702127 0.38202825189 -0.013351709582 0.92405420542 0.52384305 0.7336384058 -0.4328546226 -0.19352561235 -0.83439338207 0.51607704163 0.52816402912 0.63993889093 -0.55814057589 0.52816402912 0.63993889093 -0.55814057589 0.52816402912 0.63993889093 -0.55814057589 -0.767531991 -0.52500736713 0.36777961254 0.97072130442 -0.067233428359 0.23060753942 0.040627866983 0.34114858508 0.93913096189 0.040627866983 0.34114858508 0.93913096189 0.24838909507 -0.96182441711 0.11487661302 0.24838909507 -0.96182441711 0.11487661302 -0.16284552217 -0.96992945671 -0.18088179827 -0.16284552217 -0.96992945671 -0.18088179827 -0.46820777655 -0.88361346722 -0.0029609664343 -0.92636066675 0.35612076521 0.12261299789 0.50545483828 0.13599921763 0.85206782818 0.50545483828 0.13599921763 0.85206782818 -0.77394115925 -0.54692137241 0.31920537353 0.65579801798 0.31802198291 0.68468314409 0.3324894309 0.411311239 0.84868949652 -0.19250290096 0.29337197542 -0.93641632795 -0.19250290096 0.29337197542 -0.93641632795 -0.86577475071 -0.49549365044 0.07014387846 0.28737398982 -0.41763463616 0.86197304726 -0.28737404943 0.41763481498 0.86197292805 0.64076769352 0.27608039975 0.7163772583 0.84503793716 -0.11076621711 0.5231077075 0.81013834476 -0.23415926099 0.53744328022 -0.04063623026 0.042054869235 0.99828857183 -0.17936454713 -0.68460077047 0.70650559664 -0.0016957692569 -0.79816561937 -0.60243570805 0.29943093657 0.17238518596 0.93841594458 0.84775471687 0.21957737207 0.48280194402 0.3541803956 -0.91787195206 0.17907351255 -0.6648671627 -0.56693977118 0.48634442687 -0.24795247614 -0.60409343243 0.75735771656 -0.24795247614 -0.60409343243 0.75735771656 0.095583379269 -0.79660266638 -0.59689867496 0.001695619314 0.79816561937 -0.60243570805 0.001695619314 0.79816561937 -0.60243570805 -0.24795247614 -0.60409343243 0.75735771656 0.19723312557 -0.36188623309 0.91111880541 0.19723312557 -0.36188623309 0.91111880541 -0.25747928023 -0.73803275824 0.62370830774 -0.92098069191 -0.051844682544 -0.38614341617 -0.53895384073 -0.69441008568 0.47678443789 -0.54719340801 -0.71466648579 0.43569615483 0.48033881187 -0.7520878911 0.45126315951 -0.6546612978 0.27186873555 0.70534104109 -0.6546612978 0.27186873555 0.70534104109 0.612388134 0.50941359997 0.60454827547 -0.79413115978 -0.39177885652 -0.4646127522 0.0068234042265 -0.65306794643 -0.75726854801 0.056174036115 0.6213273406 -0.7815349102 0.056174036115 0.6213273406 -0.7815349102 0.018026260659 0.99751579762 -0.068097665906 -0.35332500935 -0.85409402847 -0.38168680668 -0.35332500935 -0.85409402847 -0.38168680668 -0.90957272053 0.23710331321 -0.34126159549 0.7588045001 -0.54453665018 -0.35734522343 0.14602583647 0.052581898868 0.98788237572 0.14602583647 0.052581898868 0.98788237572 0.73361223936 0.29665666819 0.61139827967 0.73361223936 0.29665666819 0.61139827967 0.73361223936 0.29665666819 0.61139827967 0.74293583632 0.63294774294 -0.21776942909 0.74293583632 0.63294774294 -0.21776942909 -0.27933830023 0.72891503572 0.62502235174 0.61451470852 -0.56549704075 0.55007708073 0.61451470852 -0.56549704075 0.55007708073 -0.14361929893 -0.35026991367 0.92557251453 -0.56126874685 -0.7024268508 0.43769153953 0.6288164854 0.7570848465 -0.1772351563 0.78152883053 0.6237565279 0.011851980351 0.64076769352 0.27608039975 0.7163772583 0.91226130724 -0.40590453148 0.05496160686 -0.2409671545 -0.74757611752 0.61892223358 0.42351558805 -0.77365684509 0.4712638855 0.96822750568 -0.1356472671 -0.2100840956 0.31751784682 0.11121948063 -0.94170731306 0.31751784682 0.11121948063 -0.94170731306 0.60889416933 0.20963703096 -0.76504915953 0.10247322172 0.81466448307 -0.57080733776 -0.60889410973 -0.20963704586 -0.76504915953 -0.10247318447 -0.81466448307 -0.57080733776 0.626311481 -0.70064556599 -0.34180361032 0.626311481 -0.70064556599 -0.34180361032 -0.064237199724 -0.13363674283 -0.98894631863 -0.60889410973 -0.20963704586 -0.76504915953 -0.9725934267 0.010014344007 -0.23229676485 -0.48843351007 0.64542931318 0.58724242449 0.16233119369 0.89243453741 0.42096215487 -0.16584739089 0.72418987751 0.66936069727 -0.16584739089 0.72418987751 0.66936069727 -0.42841416597 0.30557319522 0.85034483671 -0.34567016363 0.014427507296 0.93824517727 -0.34567016363 0.014427507296 0.93824517727 0.84194600582 -0.039464283735 0.53811657429 0.67262685299 -0.20950870216 0.70970362425 -0.033083736897 0.30794125795 -0.95082998276 -0.44727009535 0.82478702068 0.34594193101 -0.32431614399 0.54090738297 0.77604007721 -0.32579135895 0.76495528221 0.55561083555 0.81575083733 -0.21654978395 0.53633642197 0.57608699799 0.58992832899 0.56578117609 0.65441322327 0.71348392963 0.25036785007 -0.095914199948 -0.46712565422 0.87897330523 0.75721859932 0.21718493104 0.61599570513 -0.54152488708 0.29008445144 0.78905123472 0.13290642202 -0.98761969805 -0.083325669169 0.99581199884 -0.042374752462 0.081011280417 0.99581199884 -0.042374752462 0.081011280417 0.99581199884 -0.042374752462 0.081011280417 0.86404126883 -0.49962511659 0.061703879386 0.86404126883 -0.49962511659 0.061703879386 0.16284550726 0.96992939711 -0.18088187277 0.49344983697 -0.86929684877 0.028813751414 0.49344983697 -0.86929684877 0.028813751414 -0.53352254629 0.061909209937 0.84351700544 -0.53352254629 0.061909209937 0.84351700544 -0.26833918691 0.23023170233 0.93540763855 -0.26833918691 0.23023170233 0.93540763855 0.71738696098 -0.48488932848 0.50023818016 0.067734986544 0.9859495163 0.15269422531 0.26834017038 -0.81359934807 0.51579999924 0.053853821009 -0.99654257298 -0.063266731799 0.96864807606 -0.026207609102 -0.24705074728 0.41860488057 -0.41652438045 -0.80701762438 0.2470793575 -0.93972176313 -0.23637850583 0.067961759865 0.9479637146 -0.31104022264 0.31710597873 0.82088816166 -0.47495937347 0.85809314251 -0.42931345105 0.28172001243 0.91226130724 -0.40590453148 0.05496160686 0.15600638092 0.44901540875 0.87979948521 -0.3098731339 -0.4158090353 0.85503304005 0.3098731637 0.41580927372 0.85503292084 0.064206182957 -0.98749774694 -0.14396460354 -0.71238672733 -0.60398960114 -0.35735377669 0.064206182957 -0.98749774694 -0.14396460354 -0.69646728039 -0.27735841274 0.66181999445 0.7373675108 -0.66277545691 0.13045267761 -0.69646728039 -0.27735841274 0.66181999445 0.2470793575 -0.93972176313 -0.23637850583 0.43363621831 -0.42667686939 -0.79366648197 0.43363621831 -0.42667686939 -0.79366648197 0.43363621831 -0.42667686939 -0.79366648197 0.43363621831 -0.42667686939 -0.79366648197 0.096213020384 -0.8195297718 -0.56490176916 0.096213020384 -0.8195297718 -0.56490176916 0.096213020384 -0.8195297718 -0.56490176916 0.096213020384 -0.8195297718 -0.56490176916 0.56983804703 -0.79148966074 -0.22097215056 0.63372021914 -0.74254959822 -0.21683816612 -0.60889410973 -0.20963704586 -0.76504915953 0.7588045001 -0.54453665018 -0.35734522343 -0.26651373506 -0.60283493996 0.75203752518 -0.36170172691 -0.19936127961 0.91072881222 0.53104519844 -0.6371936202 -0.5585474968 0.16079039872 0.46060267091 -0.87292134762 -0.22194691002 0.71795266867 0.65976017714 -0.22194691002 0.71795266867 0.65976017714 0.97072130442 -0.067233428359 0.23060753942 -0.42443853617 -0.83881574869 0.34093996882 0.49344983697 -0.86929684877 0.028813751414 -0.30245360732 -0.050136175007 -0.95184463263 0.40666553378 0.8150395751 -0.41271495819 0.40666553378 0.8150395751 -0.41271495819 -0.7498806119 0.03846963495 -0.66045373678 -0.19490253925 0.96052402258 0.19851104915 0.40902498364 -0.063319571316 -0.91032367945 0.98474138975 0.14271759987 -0.0995792225 -0.3646633625 0.90080291033 -0.23574288189 0.047727324069 0.31514126062 -0.94784390926 0.047727324069 0.31514126062 -0.94784390926 -0.04772733897 -0.31514126062 -0.94784390926 -0.04772733897 -0.31514126062 -0.94784390926 -0.037046350539 -0.95297557116 -0.30077430606 -0.22371631861 -0.97419381142 -0.029957631603 -0.20626348257 -0.80997788906 0.5489910841 -0.62901210785 0.75021189451 0.20377908647 -0.69738858938 0.3058180809 0.64817011356 0.97111386061 0.14553821087 0.18909403682 -0.42198324203 0.2713239491 0.86505115032 0.20861807466 -0.77543610334 -0.59596759081 0.20861807466 -0.77543610334 -0.59596759081 0.91226130724 -0.40590453148 0.05496160686 0.59386903048 -0.54548937082 -0.59140586853 0.33025473356 -0.44021987915 -0.8349480629 -0.31315115094 -0.76449006796 -0.5634636879 -0.31315115094 -0.76449006796 -0.5634636879 0.16334040463 0.66389650106 -0.7297680378 -0.28673443198 0.060559645295 0.95609408617 -0.28673443198 0.060559645295 0.95609408617 0.18938556314 -0.044411052018 0.98089796305 -0.013397051021 -0.044993143529 0.99889743328 0.85844373703 0.50696265697 0.077866263688 -0.4341994226 -0.231789276 -0.87048524618 -0.4341994226 -0.231789276 -0.87048524618 -0.31808587909 -0.91556835175 -0.24608120322 0.37395021319 -0.260412395 0.89013856649 0.21541774273 0.96153998375 -0.17039965093 0.23864220083 0.79156237841 0.56256455183 0.24816358089 0.8439000845 -0.47565475106 0.010938609019 0.99248623848 0.12186634541 0.1436637193 -0.40411403775 0.90335631371 0.1436637193 -0.40411403775 0.90335631371 0.35255178809 0.84831994772 0.39504489303 -0.15373493731 -0.28631579876 0.94572132826 -0.26722148061 0.063512742519 0.96153980494 0.74714893103 0.65979105234 0.080276086926 0.74714893103 0.65979105234 0.080276086926 0.24704629183 0.15767262876 -0.95608967543 0.24704629183 0.15767262876 -0.95608967543 -0.093291379511 -0.82999438047 0.54991453886 0.36466321349 -0.90080296993 -0.235743016 0.36466321349 -0.90080296993 -0.235743016 0.049990974367 -0.5251967907 0.84951114655 0.8750962019 -0.28773593903 -0.38912031054 -0.041106872261 0.12644857168 -0.9911210537 0.11883661151 -0.96819114685 -0.22019022703 -0.85180014372 -0.27515745163 0.44578570127 0.45037159324 -0.74407172203 -0.49348017573 -0.77017492056 0.63700914383 -0.032402671874 -0.73896366358 0.40959686041 0.53494220972 -0.83365315199 -0.46902403235 0.29161423445 -0.48546478152 -0.81543439627 0.31526279449 0.83365315199 0.46902409196 0.29161417484 0.48546472192 0.81543445587 0.3152628541 2 -30 -66.328399658 12 -28 -67.036087036 -2 -26 -67.081291199 14 -26 -67.172386169 -4 -24 -67.344184875 16 -22 -66.966178894 -20 -20 -67.089447021 16 -12 -67.009422302 22 -8 -67.312324524 30 -8 -67.160209656 32 -2 -67.250579834 34 -2 -66.686500549 30 0 -67.12462616 -12 16 -67.009422302 -12 26 -66.966178894 8 28 -67.344184875 -10 30 -67.172386169 -8 32 -67.036087036 4 -30.815105438 -66 14 -30 -65.744316101 30 -18 -65.540405273 36 18 -64.637420654 36 20 -64.378761292 32 22 -65.023460388 -10 34 -65.744316101 0 34.815105438 -66 4 38 -65.211654663 -10 -40 -62.400173187 22 -34 -63.194583893 -40 4 -62.517406464 24 36 -63.397285461 -18 38 -63.194583893 -8 -44 -60.546760559 -12 -42 -61.373382568 16 -42 -60.266448975 30 -34 -61.304397583 32 -32 -61.731906891 36 -30 -60.92591095 -42 -12 -61.261119843 46 16 -61.261119843 -32 34 -60.92591095 32 36 -60.878185272 -12 46 -60.26644516 16 46 -61.373386383 12 48 -60.546760559 6 -44 -58.864768982 -34 -26 -59.126487732 -45.20980072 -6 -60 48 -2 -59.740882874 -16 -46 -56.99331665 16 -45.228881836 -58 50.86693573 -4 -58 -46 16 -56.63514328 36 40 -56.831161499 18 -47.180057526 -56 -22 -45.043083191 -56 28 -44 -55.078559875 30 -42.72290802 -56 -25.335891724 -42 -56 -32.912708282 -36 -56 -49.359825134 -8 -56 52.781806946 -8 -56 -50.386672974 2 -56 54.789066315 4 -56 -48.943584442 8 -56 -47.890758514 14 -56 36.912708282 40 -56 -26 46.72290802 -56 28 47.518817902 -56 -16 50.562953949 -56 -14 51.180053711 -56 -10 51.234214783 -56 -14 -49.472560883 -54 8 -48.979171753 -54 16 -48.359367371 -54 -24 -45.061607361 -54 -32 -38.53351593 -54 39.879814148 -36 -54 48.081165314 -20 -54 -50.582824707 -10 -54 53.093570709 -10 -54 54.151130676 -6 -54 -49.823295593 12 -54 -49.093570709 14 -54 48.458312988 26 -54 36 42.53351593 -54 29.24083519 48 -54 -16 51.704444885 -54 16 53.800312042 -54 -14 -50.604221344 -52 0 -51.485469818 -52 16 -48.903018951 -52 -22 -48 -50.00025177 -24 -46 -51.121856689 42.960479736 -34 -52 52.673442841 -12 -52 55.70904541 14 -52 -48.673442841 16 -52 48.468502045 28 -52 -22 49.946628571 -52 -20 50.523071289 -52 26 50.939304352 -52 26 52 -50.00025177 4 55.485469818 -52 -8 -52.269245148 -50 0 -52.053272247 -50 -22 -48.00019455 -50 -20 -49.058856964 -50 4 -50 -49.284442902 8 -49.521820068 -50 12 -49.023403168 -50 -22.000286102 -48 -50 -24 -48 -48.441173553 38.449806213 -40 -50 43.996780396 -34 -50 46 -30.399236679 -50 46.188747406 -30 -50 46 -28 -48.02967453 48 -26.098377228 -50 -44 -25.008626938 -50 -46 -23.016319275 -50 48.493141174 -24 -50 -48.177307129 -20 -50 -50.449359894 -16 -50 -51.199424744 -14 -50 53.642490387 -10 -50 -52.784603119 -8 -50 -48 17.171892166 -50 55.199424744 18 -50 54.449359894 20 -50 -44 22 -48.087524414 -45.127067566 24 -50 50.810932159 26 -50 48 29.008626938 -50 -43.184047699 32 -50 44 32.372463226 -50 -39.996780396 38 -50 37.143901825 42 -50 -34.449806213 44 -50 -22 50.888435364 -50 -14 52.703063965 -50 -10 52.974369049 -50 24 53.058856964 -50 26.000286102 52 -50 26 52.00019455 -50 28 52 -48.441173553 -1.7336864471 54 -50 18 55.223461151 -50 3.7805812359 56 -50 6 56.201663971 -50 12 56.269245148 -50 -20 -50.437572479 -48 -4 -51.641998291 -48 2 -49.408535004 -48 18 -48.236888885 -48 20 -48.197620392 -48 6 -47.80714798 -48 20 -48 -47.607517242 22 -47.789272308 -48 -28 -46 -47.612926483 18 -46 -46.023109436 36 -43.670009613 -48 38.902362823 -40 -48 42.030693054 -36 -48 -34.806152344 -34 -48 43.085227966 -34 -48 44 -31.956331253 -48 46.608150482 -22 -48 -47.422271729 -20 -48 -51.691192627 -12 -48 -52 -11.087011337 -48 -53.292636871 -8 -48 54.206138611 -8 -48 54 -8 -47.67017746 -54.168323517 -6 -48 -54.72593689 -4 -48 -51.675708771 8 -48 58.72593689 8 -48 -50.206134796 12 -48 -48.99508667 14 -48 56 15.08700943 -48 54.843860626 18 -48 -44.904468536 20 -48 -40 22 -46.612251282 -42 31.700935364 -48 -41.358135223 34 -48 -40 35.956329346 -48 38.806156158 38 -48 36 42 -46.773723602 35.316665649 44 -48 -22 51.731746674 -48 -18 51.789272308 -48 -14 52.236888885 -48 -12 52.029979706 -48 6 55.070240021 -48 8 55.641998291 -48 16 55.532711029 -48 -22 -50.673294067 -46 -20 -51.129825592 -46 -18 -51.10906601 -46 28 -48.859287262 -46 30 -48.504360199 -46 -26.961196899 -48 -46 -28 -47.282901764 -46 -8 -48 -44.729568481 -28.983264923 -46 -46 34.26556778 -46 -46 -29.763820648 -44 -46 14 -42 -44.44834137 38 -41.820339203 -46 -31.182373047 -38 -46 39.955875397 -38 -46 -31.361001968 -36 -46 -26 -36 -44.183837891 -26 -32 -44.287059784 16 -30 -44.354892731 18 -30 -44.539535522 -18 -28 -44.55141449 18 -24 -44.232391357 -8 -22 -44.046421051 18 -20 -44.231414795 42 -12 -44.000045776 44 -12 -44.612194061 46 -10 -44.526630402 -54 -7.242064476 -46 -54.839859009 -6 -46 -55.635364532 -4 -46 40 -4 -44.108798981 50 -4 -44.566146851 58 -2.305103302 -46 -55.75800705 -2 -46 -28 -2 -44.196567535 -26 0 -44.288166046 -24 0 -44.037654877 38 0 -44.542549133 40 0 -44.38476944 59.568634033 0 -46 -55.568634033 4 -46 -34 4 -44.542549133 28 4 -44.037654877 -54 6.3051028252 -46 32 6 -44.196567535 -36 8 -44.108798981 59.635364532 8 -46 -50.156101227 10 -46 -50 10.196602821 -46 58.839859009 10 -46 58 11.24206543 -46 -40 16 -44.612194061 -38 16 -44.000045776 -14 24 -44.231414795 12 26 -44.046421051 40.072116852 26 -46 -14 28 -44.232391357 24 30 -44.149719238 22 32 -44.55141449 -14 34 -44.539535522 -12 34 -44.354892731 28 36 -44.237400055 28 38 -44.128433228 35.361003876 40 -46 35.182373047 42 -46 -34 45.820339203 -46 -14 44 -44.404815674 -16 46 -44.683609009 -32.718967438 48 -46 -18 51.37305069 -46 -16 50.728996277 -46 32 51.282901764 -46 -26 52.504360199 -46 -24 52.859287262 -46 24 55.129821777 -46 26 54.673294067 -46 -16 -50.844799042 -44 -26 -48.61907196 -44 26 -48.428203583 -44 28 -48.908798218 -44 30 -48.601490021 -44 -28 -47.36113739 -44 25.236059189 -48 -44 24 -46.808292389 -44 28 -48 -42.465927124 -29.046346664 -46 -44 -28 -46 -42.438472748 -29.648874283 -44 -44 -29.467498779 -42 -44 37.38873291 -42 -44 2 -38.224601746 -44 20.790689468 -40 -44 10 -38 -43.068954468 20.375183105 -38 -44 22 -38 -42.92118454 -23.445123672 -34 -44 22 -30 -43.895793915 24 -30 -42.981338501 39.173610687 -30 -44 38 -28 -43.175876617 -6 -26 -43.604980469 -28 -24 -42.496520996 -20 -24 -43.496520996 -6 -24 -43.695034027 14 -24 -42.959606171 16 -22 -43.866775513 22 -22 -43.862277985 26 -22 -42.242202759 16 -20 -43.841106415 22 -18 -43.518497467 -8 -16 -42.326015472 14 -16 -42.726428986 40 -13.523270607 -44 41.999858856 -12 -44 42 -11.999850273 -44 -52.093994141 -10 -44 42 -10 -43.284339905 -32 -6 -42.431285858 -26 -6 -43.240436554 -55.051177979 -4 -44 56 -3.2658674717 -44 58 -2.2377505302 -44 -36 -2 -42.935203552 -22 -2 -43.526165009 44 -1.745106101 -44 46 -1.947503686 -44 56 -2 -42.465999603 59.618793488 0 -44 -55.992160797 2 -44 -26 2 -43.865196228 24 2 -42.326034546 30 2 -43.865200043 40.440700531 2 -44 40 2.5900216103 -44 59.992160797 2 -44 -55.618793488 4 -44 -54 6.2377505302 -44 -52 7.2658677101 -44 26 6 -43.526165009 40 6 -42.935203552 26 8 -43.167369843 59.051177979 8 -44 57.210189819 12 -44 -38 15.999850273 -44 -38 14 -43.284339905 -37.999858856 16 -44 -36 17.523271561 -44 52 17.348890305 -44 -12 20 -43.106971741 -8 20 -42.055164337 -18 22 -43.518497467 -14 22 -43.875675201 -10 22 -42.75378418 14 22 -42.33618927 12 24 -43.516170502 -18 26 -43.862277985 -12 26 -43.866775513 10 28 -43.695034027 24 28 -43.496520996 32 28 -42.496520996 10 30 -43.604980469 -17.673252106 32 -44 20 36 -43.675807953 24 36 -43.780540466 -12 39.590919495 -44 -8 38 -42.281059265 26 38 -43.37877655 2 40 -42.539363861 -35.780342102 42 -44 -6 42 -43.068954468 2 42.224601746 -44 -33.38873291 46 -44 33.64887619 48 -44 -29.989686966 50 -44 33.046344757 50 -44 32 51.36113739 -44 -26 52.601490021 -44 -24 52.908798218 -44 -21.236059189 52 -44 16 54.415618896 -44 22 54.704460144 -44 -14 -50.63715744 -42 -12 -50.04933548 -42 28 -47.525150299 -42 -28.167892456 -44 -42 -3.9581980705 -40 -42 22.85042572 -40 -42 -3.1713302135 -38 -42 -2 -36.744556427 -42 39.564323425 -38 -42 -20 -34.473945618 -42 -0.41043916345 -36 -42 4 -35.354942322 -42 6 -35.63470459 -42 39.952838898 -36 -42 -12.80757618 -34 -42 -6 -34 -40.743518829 38.079128265 -32 -42 -5.785302639 -30 -42 25.189208984 -30 -42 -2.6625189781 -26 -42 -1.9561904669 -24 -42 -16 -20.411937714 -42 -1.9364929199 -22 -42 33.692058563 -22 -42 -14 -19.716279984 -42 -2.7074742317 -20 -42 33.51663208 -20 -42 -29.581087112 -18 -42 33.96175766 -18 -42 11.888444901 -16 -42 23.902105331 -16 -42 22 -14.008242607 -42 34.698581696 -16 -42 -40 -13.755454063 -42 -38 -13.920683861 -42 -36 -13.517050743 -42 -34 -13.540452957 -42 18 -13.041138649 -42 20 -13.254788399 -42 -50 -11.956489563 -42 10 -12 -41.145717621 12 -12 -41.536422729 -51.860210419 -10 -42 -8 -10 -40.063476562 10 -10 -40.5730896 -52.68680191 -8 -42 -24 -7.9293222427 -42 -22 -7.3006477356 -42 -20.147968292 -6 -42 32 -4.0821547508 -42 -37.387245178 -2 -42 -16 -2 -41.437915802 -14 -2 -40.801998138 50 -1.3339956999 -42 -54.877613068 0 -42 -54 0 -40.634979248 44 1.8010926247 -42 46 0.36271613836 -42 58 0 -41.857131958 -16 2 -41.60099411 20 2 -41.60099411 -54 4 -41.857131958 -46 5.3339958191 -42 -14 4 -40.49224472 58 4 -40.634979248 18 6 -40.801998138 24.147968292 10 -42 26 11.300648689 -42 28 11.929322243 -42 32 11.480089188 -42 36 11.001438141 -42 -34.839195251 14 -42 -6 14 -40.5730896 54 15.956488609 -42 -16 17.254789352 -42 -14 17.041137695 -42 -8 16 -41.536422729 -6 16 -41.145717621 38 17.540452957 -42 40 17.517051697 -42 -18 18.008241653 -42 10 18.872009277 -42 -30.698579788 20 -42 -19.902105331 20 -42 8 21.597980499 -42 33.581085205 22 -42 -29.516630173 24 -42 -21.50989151 24 -42 6.7074742317 24 -42 20 24.411937714 -42 -29.692058563 26 -42 -22.525419235 26 -42 5.9364933968 26 -42 26 27.060281754 -42 32.10918808 26 -42 -31.172966003 28 -42 -8.6032323837 28 -42 6.6625189781 30 -42 -21.189208984 34 -42 -7.5307178497 34 -42 -7.79037714 36 -42 11.366674423 36 -42 -7.5018954277 38 -42 -2 39.63470459 -42 2 39.357566833 -42 16.807579041 38 -42 -35.952838898 40 -42 6 40.744556427 -42 -35.564323425 42 -42 7.171330452 42 -42 -34.282524109 44 -42 7.9581985474 44 -42 8 44.07226944 -42 12 48.538967133 -42 32.167892456 48 -42 13.196941376 50 -42 29.065641403 52 -42 18 54.63715744 -42 -14 -49.706466675 -40 -11.43767643 -48 -40 -12 -46 -38.191757202 -8 -42.564876556 -40 -4.6142911911 -40 -40 -2 -37.06337738 -40 2 -36.056446075 -40 38.608306885 -38 -40 -20 -35.40102005 -40 -10 -35.813396454 -40 -8 -35.839378357 -40 -6 -35.140060425 -40 6 -35.639434814 -40 8 -35.175544739 -40 24 -34.160072327 -40 38.931400299 -36 -40 -4.8711428642 -34 -40 9.5711526871 -34 -40 -4.0740795135 -30 -40 29.586278915 -26 -40 -26 -22.47697258 -40 -1.5494030714 -24 -40 11.376375198 -24 -40 30.233322144 -24 -40 -26.818958282 -22 -40 -20 -21.235126495 -40 29.815078735 -22 -40 34.021907806 -22 -40 -28.794477463 -20 -40 -1.124524951 -20 -40 10.96036911 -20 -40 27.613716125 -20 -40 34 -19.92430687 -40 -0.98758006096 -18 -40 10.484596252 -18 -40 -32 -15.737683296 -40 -0.72233617306 -16 -40 -38 -13.105937004 -40 -36 -13.505085945 -40 -34 -14 -39.986385345 7.6039237976 -14 -40 20 -12.00344944 -40 22.669322968 -14 -40 22 -13.406505585 -40 36.370372772 -14 -40 -48 -11.411160469 -40 -1.617861867 -12 -40 7.2767901421 -12 -40 18 -10.669548035 -40 -50.71572876 -10 -40 -34 -9.8402299881 -40 -32 -9.9222183228 -40 -30 -9.2164096832 -40 -8.2106018066 -10 -40 -6 -9.2574920654 -40 4 -10 -38.361068726 6 -10 -38.858905792 14 -8.3284959793 -40 16 -9.2148046494 -40 37.174663544 -10 -40 -36 -7.9680714607 -40 -22 -7.8928837776 -40 -4 -8 -39.178943634 36.114242554 -8 -40 -18.022233963 -6 -40 -18 -5.9836702347 -40 -16 -5.0414776802 -40 -14 -4.1142263412 -40 14 -6 -38.659305573 -52.739505768 -4 -40 14 -2 -38.36208725 18 -1.0958870649 -40 18 -2 -39.136966705 20 -1.0698481798 -40 -53.606563568 0 -40 -2 0 -39.161514282 2 0 -39.318538666 4 0 -39.258876801 -52 3.0364658833 -40 -10 2 -39.298419952 2 2 -39.531570435 -18 4.7085514069 -40 -16 5.0698475838 -40 6 4 -39.161514282 -10 6 -38.36208725 -4 8 -39.097473145 20 9.0414772034 -40 10 10 -38.664134979 14 10 -38.088645935 26 11.892883301 -40 40 11.968069077 -40 -12 13.214805603 -40 -10 12.328495979 -40 30 12.393281937 -40 34 13.21640873 -40 36 13.922217369 -40 38 13.840229988 -40 -33.174667358 14 -40 -14 14.669548988 -40 -2 14 -38.858905792 0 14 -38.361068726 -18 17.406505585 -40 -3.2767903805 16 -40 5.6178622246 16 -40 38 17.922073364 -40 40 17.505084991 -40 42 17.10593605 -40 -3.6039245129 18 -40 4.7962088585 18 -40 36 19.73768425 -40 -20.300222397 20 -40 4.7223367691 20 -40 16 20.339635849 -40 -30 23.924304962 -40 -22 22.501485825 -40 -23.613716125 24 -40 -24 24.490180969 -40 -6.9603681564 24 -40 5.1245250702 24 -40 32.794475555 24 -40 -30.021905899 26 -40 -25.815080643 26 -40 5.2279586792 26 -40 30 26.47697258 -40 -26.233322144 28 -40 -7.3763751984 28 -40 5.5494031906 28 -40 -31.210103989 30 -40 -25.586278915 30 -40 -31.459989548 32 -40 -24.278936386 32 -40 -7.1794037819 32 -40 -31.780439377 34 -40 -6.8207287788 34 -40 -6.5161862373 36 -40 -4 39.175548553 -40 0 39.916706085 -40 8.8711433411 38 -40 10 39.140060425 -40 12 39.839378357 -40 14 39.813396454 -40 16 39.675388336 -40 24 39.40102005 -40 -34.931400299 40 -40 2 40.056446075 -40 6 41.063381195 -40 -34.608306885 42 -40 10 45.061580658 -40 16 50 -38.191757202 26 51.84167099 -40 15.437675476 52 -40 18 53.70646286 -40 -14 -47.697990417 -38 -24.627889633 -46 -38 32 -44.5414505 -38 -6 -41.355113983 -38 -6 -42 -37.128795624 -4 -41.168754578 -38 0 -40.604553223 -38 34.515983582 -42 -38 -12 -40 -36.441135406 -23.047426224 -38 -38 -22 -38 -36.509441376 -20 -36.024497986 -38 -12 -38 -37.258605957 10 -38 -37.515640259 23.745727539 -38 -38 -18 -36 -37.505565643 -16 -35.858345032 -38 -8 -35.206832886 -38 23.934614182 -36 -38 26 -32.263031006 -38 -5.1960859299 -32 -38 32 -30 -36.478546143 34.353931427 -30 -38 34 -30 -37.4008255 29.441623688 -28 -38 34.822517395 -28 -38 29.288518906 -26 -38 -38 -24 -36.000411987 -22 -22.743436813 -38 29.010597229 -24 -38 -38 -22 -36.479995728 28.385843277 -22 -38 -1.5713149309 -20 -38 -0.77898317575 -18 -38 0 -16.455513 -38 -37.124736786 -16 -38 -38 -16 -37.675518036 42 -16 -37.211162567 -40 -12.127311707 -38 2 -13.282979012 -38 5.1978602409 -14 -38 44 -14 -36.534542084 -40.114082336 -12 -38 19.114561081 -12 -38 -48 -9.4748973846 -38 -30 -8.6893854141 -38 -10.424619675 -10 -38 -10 -8.4097919464 -38 38.63261795 -10 -38 -42 -8 -36.667259216 -35.045570374 -8 -38 -36 -7.5496144295 -38 -10 -6.9843020439 -38 16.408643723 -8 -38 -51.576782227 -6 -38 -14 -5.5024094582 -38 -10.51798439 -6 -38 -12 -5.6013154984 -38 34 -5.2040061951 -38 18 -3.0201816559 -38 22 -1.4806246758 -38 46 1.9019315243 -38 48 0.63498944044 -38 -52.027290344 2 -38 -44 3.3650102615 -38 -42 2.098067522 -38 56.027290344 2 -38 -20 5.3061971664 -38 -18 5.4806246758 -38 16 9.6013145447 -38 44 8 -37.021221161 -32 10 -37.254386902 34 12.689385414 -38 36 12.831169128 -38 38 12.378513336 -38 46 12 -36.667259216 48 12 -36.518596649 54 12 -37.820606232 -34.632621765 14 -38 0 16.233388901 -38 44.114086151 16 -38 44 16.127313614 -38 -40 18 -36.534542084 -1.1978603601 18 -38 -2 18.501171112 -38 2.4282221794 18 -38 41.124736786 20 -38 42 20 -37.675518036 -22.951044083 24 -38 6 24 -37.256912231 -36 26 -37.130702972 -24.385843277 26 -38 28 27.382749557 -38 42 26 -36.479995728 40 28 -36.620830536 42 28 -36.000411987 -25.288518906 30 -38 -24 30 -36.202095032 -30.822517395 32 -38 -25.441623688 32 -38 -30.353933334 34 -38 -22 36.263031006 -38 9.1960859299 36 -38 -20.831953049 38 -38 12 39.206832886 -38 20 39.858345032 -38 -20 40 -37.873214722 14 40.685764313 -38 24 40.024497986 -38 -32.867950439 42 -38 27.047426224 42 -38 26 42 -36.509441376 4 44.604553223 -38 12 45.514076233 -38 14 46.475837708 -38 -24 48.257236481 -38 29.099527359 48 -38 18 51.697994232 -38 28.627889633 50 -38 -22 -47.654388428 -36 6 -48 -35.139709473 10 -48 -34.851387024 -16 -46 -35.872173309 -24.746555328 -44 -36 34 -42.02469635 -36 -10 -40.073226929 -36 26.81842041 -42 -36 -20 -40 -34.098854065 25.340557098 -40 -36 34 -40 -35.287593842 -20 -37.301807404 -36 -18 -37.042713165 -36 -14.77705574 -38 -36 -16 -37.385993958 -36 24.906169891 -38 -36 -10.138288498 -36 -36 25.26206398 -36 -36 26 -34.454280853 -36 -9.1567392349 -34 -36 28 -32.593875885 -36 -36 -32 -34.581199646 -28 -30 -34.53175354 32 -29.600992203 -36 34 -29.140050888 -36 35.520729065 -28 -36 38 -28 -34.572353363 -38 -24.00116539 -36 -36 -25.82453537 -36 -36 -26 -35.961372375 -38.000984192 -24 -36 -40 -24 -35.421443939 26 -24 -34.841175079 -42 -20 -34.86390686 10 -17.510105133 -36 -40.66570282 -14 -36 -10.611514091 -14 -36 48 -12 -34.982440948 -40.019962311 -8 -36 -36 -6.3888301849 -36 -10.12802124 -8 -36 15.956403732 -8 -36 -44 -6 -35.450946808 -50 -4 -34.465873718 -44 -4 -34.720970154 -41.061351776 -4 -36 -41.08921814 -2 -36 -42 0 -35.892738342 24 0 -34.750911713 50 1.2015861273 -36 -48 2 -34.883411407 -46 2 -35.042797089 -44 2 -35.839733124 50 2 -35.042797089 46 4 -35.892738342 57.367843628 4 -36 45.08921814 6 -36 56 7.7837204933 -36 45.061351776 8 -36 48 8 -34.720970154 15.590585709 10 -36 42 10.705695152 -36 -11.956403732 12 -36 -42 14 -35.015224457 44.908279419 14 -36 -42 16 -35.556686401 2 17.777843475 -36 44.88136673 16 -36 -4 19.568265915 -36 -2 18.173324585 -36 -44 24 -34.791149139 -7.2027821541 24 -36 46 24 -34.86390686 40 29.82453537 -36 42.000984192 28 -36 42 28.00116539 -36 44 28 -35.421443939 -34 30.246904373 -36 40 30 -35.961372375 -31.520729065 32 -36 -28 33.60099411 -36 -9.0210771561 34 -36 32 34 -34.53175354 -24 36.593875885 -36 40 36 -34.581199646 36 38 -34.058433533 -21.26206398 40 -36 20 41.385990143 -36 22 41.042713165 -36 24 41.301807404 -36 -20.906169891 42 -36 -22 42 -34.922985077 -10 42 -35.140037537 14.735449791 42 -36 18.77705574 42 -36 -22 44.89692688 -36 14 44.073226929 -36 24 44 -34.098854065 27.074674606 44 -36 27.950849533 46 -36 -26 49.156337738 -36 20 48 -34.989814758 22 48 -34.010734558 22 51.190425873 -36 28.717594147 50 -36 0 52 -35.181690216 10 -54 -32.801799774 0 -52 -32.055152893 2 -52 -32.722293854 28 -50 -32.473972321 -22 -47.548244476 -34 -22 -48 -33.171981812 -20 -46.313346863 -34 18 -48 -33.465774536 28 -48 -33.146446228 30 -48 -33.500831604 -28 -46 -33.310825348 -24.389631271 -44 -34 -22 -44 -32.439399719 28 -42 -33.969062805 30 -42 -32.184516907 32.913188934 -42 -34 27.421966553 -40 -34 30 -40 -33.132030487 27.695291519 -38 -34 -30 -36 -33.216911316 13.473845482 -26 -34 26.799295425 -26 -34 26 -25.118272781 -34 46 -26 -33.435886383 -10 -18 -32.307918549 -43.117271423 -16 -34 -42.37858963 -14 -34 4 -12.731058121 -34 16 -14 -32.277416229 -40 -8.8146505356 -34 54 -10 -33.367046356 -38 -6.9136800766 -34 15.010372162 -8 -34 -14.175356865 -4 -34 16 -3.3159394264 -34 36 -3.6837804317 -34 17.038785934 -2 -34 -58 0 -32.632015228 -50 1.6167507172 -34 -50 0 -32.219848633 -48 0 -33.271152496 -46 0.41559198499 -34 -46 0 -33.814517975 56 0 -32.227184296 60 0 -33.012840271 -52.327968597 2 -34 -54 2 -33.978256226 -51.957019806 2 -34 24 2 -32.24615097 56.327968597 2 -34 58 2.1589679718 -34 58 2 -33.978256226 -56 4 -33.012840271 -14 5.3616652489 -34 50 4 -33.814517975 52 4 -33.271152496 62 4 -32.632015228 50 6 -33.700149536 54 7.3192453384 -34 57.058460236 6 -34 38 9.2360277176 -34 -42 10 -32.999500275 42 10.913680077 -34 -50 14 -33.367046356 -11.607791901 14 -34 44.722545624 14 -34 -8 20 -32.436100006 -21.373596191 28 -34 -42 30 -33.435886383 -38 31.360532761 -34 -36 31.992734909 -34 -22.799295425 30 -34 -32 32.789703369 -34 -25.559410095 32 -34 32 36 -33.589355469 44 36 -33.742080688 14 38.299079895 -34 34 40 -33.216911316 -23.695291519 42 -34 14.181476593 42 -34 -26 44 -33.132030487 -24 44 -33.634887695 -14 44 -32.067905426 -23.97971344 46 -34 -24 46.061790466 -34 24 46 -33.374488831 -28.856292725 48 -34 -16 48 -32.393901825 10.726376534 48 -34 -26 50.350372314 -34 -24 50 -33.104358673 24 50 -33.733524323 -30 52 -32.75825119 -26 52 -33.500831604 -24 52 -33.146446228 -22 52 -32.12436676 -14 52 -33.465774536 28 52.036472321 -34 -24 54 -32.473972321 6 54 -32.935207367 -12 56 -32.954673767 -12 58 -32.142730713 -28 -56 -30.339235306 6 -56 -30.834609985 14 -56 -31.549898148 -30 -54 -30.984653473 -26 -54 -31.357873917 -24 -54 -30.869504929 18 -54 -31.457712173 18.655471802 -52 -32 -4 -50 -31.485019684 22 -48 -31.926473618 34.955307007 -46 -32 -26 -43.703887939 -32 20.609390259 -44 -32 19.472084045 -42 -32 -40 -40 -30.885446548 -30 -40 -31.715372086 -28 -38 -30.775699615 -28.000530243 -36 -32 -28 -35.999229431 -32 -28 -36 -31.999425888 -9.9371757507 -32 -32 38 -29.218849182 -32 40 -29.369464874 -32 42 -29.361839294 -32 44 -28.941812515 -32 14.552839279 -28 -32 45.905323029 -28 -32 24.357599258 -24 -32 13.708979607 -20 -32 58 -20 -30.441774368 -45.518978119 -18 -32 14 -18 -31.377227783 -44 -15.139088631 -32 -6 -16 -31.324453354 14 -16 -31.386144638 -6 -14 -31.060007095 12 -14 -31.471149445 58 -14 -31.825927734 12 -12 -30.652189255 14 -12 -31.545223236 58 -8 -31.085762024 -32 -4.3467569351 -32 -12 -4.1252236366 -32 56 -6 -31.794969559 -56 -4 -30.971881866 -54 -2.7032632828 -32 -52 -2.122282505 -32 36 -2.8314723969 -32 54 -4 -31.306962967 58 -2.949783802 -32 -62 -2 -30.717199326 -51.756961823 -2 -32 56 -2 -31.663927078 64 -2 -30.99546051 -50.176357269 0 -32 -20 0 -31.158622742 18 0 -31.903852463 29.186880112 0 -32 -62 2 -31.163841248 -50.769985199 2 -32 -14 2 -30.104562759 66 2 -31.163841248 24 4 -31.158622742 54.176357269 4 -32 -60 6 -30.99546051 -52 6 -31.663927078 24 6 -31.967107773 66 6 -30.717199326 -50 8 -31.306962967 32 8 -31.570346832 60 8 -30.971881866 -10.137028694 12 -32 12.573608398 12 -32 2 16.624118805 -32 -54 18 -31.825927734 8 20 -31.918462753 12 20 -31.886646271 48.653720856 20 -32 10 22 -31.511346817 49.518978119 22 -32 -10 24 -31.117801666 -20.357599258 28 -32 -46 30 -31.39100647 -40 32.941810608 -32 -36 33.369464874 -32 -10.814124107 34 -32 13.239782333 34 -32 28.802728653 34 -32 32 39.999229431 -32 32.000530243 40 -32 32 40 -31.999425888 32 42 -30.775699615 46 42 -31.320360184 30 47.703887939 -32 34 46 -31.595611572 -29.965858459 48 -32 -30 48 -31.975736618 -24.37297821 48 -32 36 48 -31.545276642 -32 50 -31.423252106 -32 52 -31.704538345 8 53.539913177 -32 -18 54 -31.536626816 26 54 -31.585197449 -32 58 -30.461687088 30 60 -30.305570602 -32 -58 -28.622224808 6 -56.813529968 -30 14 -57.901473999 -30 16 -57.271968842 -30 18 -56.063987732 -30 28 -58 -28.289020538 32 -58 -29.037052155 36 -58 -28.59737587 -34 -56 -28.883291245 -2 -52.926002502 -30 40 -52 -29.334693909 -4.953212738 -50 -30 -21.032459259 -48 -30 40 -48 -29.174999237 -38 -44 -28.233350754 -23.2584095 -44 -30 -8.2794370651 -42 -30 20.71187973 -42 -30 20 -41.139274597 -30 -44.021648407 -38 -30 -45.27797699 -36 -30 -26.673931122 -36 -30 -9.994635582 -34 -30 -9.9209260941 -32 -30 -9.5168600082 -30 -30 46 -29.559192657 -30 14.458093643 -22 -30 56.839889526 -22 -30 -8 -19.951913834 -30 18 -18.014091492 -30 59.661010742 -18 -30 -45.361541748 -16 -30 60.275661469 -14 -30 8 -11.696111679 -30 12 -10.903196335 -30 62 -8 -28.793651581 -58 -6 -29.162240982 42 -4.2787699699 -30 -64 -4 -29.218111038 -23.607484818 -2 -30 16 -1.1929718256 -30 -66 0 -29.155906677 -22 0 -29.953989029 70 0 -29.062170029 -64.344306946 2 -30 68.344306946 2 -30 -66 4 -29.062170029 -26.319618225 4 -30 -48 7.4098153114 -30 17.249565125 6 -30 34 7.6696987152 -30 70 6 -28.815923691 38 8.8409156799 -30 68 8 -29.218111038 -8.5658760071 14 -30 -8 14.903196335 -30 -4 15.696111679 -30 -12 21.615970612 -30 -55.661010742 22 -30 -11.591314316 22 -30 -54.548442841 24 -30 14.945720673 24 -30 16 24.426969528 -30 -52.839889526 26 -30 -10.45809269 26 -30 -22 29.724906921 -30 24 29.98024559 -30 -10.851858139 32 -30 51.083320618 34 -30 -11.512132645 36 -30 30 38.499176025 -30 49.27797699 40 -30 31.943494797 44 -30 -30 47.011749268 -30 -18 47.81086731 -30 28 47.439346313 -30 25.616212845 50 -30 -36 52 -29.174999237 -36 56 -29.334693909 7.1104841232 56 -30 -18 58 -29.444799423 -34 60 -28.992704391 -30 60 -29.946954727 -10 61.901473999 -30 -2 60.813529968 -30 36 60 -29.630907059 -32 62 -28.59737587 -28 62 -29.037052155 -24 62 -28.289020538 34 62 -29.148414612 -24 -60 -27.679397583 -22 -60 -27.052913666 -20 -60 -26.000085831 16 -58.502498627 -28 2 -56.572395325 -28 22 -55.933078766 -28 42 -56 -26.878452301 44 -52 -26.752111435 44 -50 -26.824371338 -6.4380578995 -48 -28 42 -46 -27.223920822 -38.319675446 -44 -28 -44 -39.672924042 -28 -27.020992279 -40 -28 18 -38.280086517 -28 -45.376647949 -38 -28 17.85292244 -38 -28 -47.169284821 -34 -28 15.526777267 -32 -28 42 -30.461584091 -28 46 -30.393344879 -28 36 -29.126804352 -28 -9.5148000717 -20 -28 -10 -19.819835663 -28 16 -18 -26.079065323 60.90007019 -18 -28 61.351284027 -16 -28 -6 -10.17067337 -28 -64 -8 -27.100324631 70 -6 -26.70195961 36 -2.6077258587 -28 40 -3.7041957378 -28 -51.154186249 -2 -28 -22.758983612 0 -28 -13.008131027 0 -28 27.286056519 2 -28 -46 7.6043887138 -28 -68 8 -26.461091995 -46 8 -26.35351181 -10.437537193 8 -28 38 9.2904605865 -28 58 9.1126298904 -28 72 8 -26.946741104 -66 10 -26.70195961 58 10 -26.889255524 11.707022667 12 -28 -57.950710297 14 -28 -2 15.307434082 -28 66 14 -26.145393372 7.2042040825 16 -28 -56.90007019 22 -28 12 25.913799286 -28 52.690406799 26 -28 -50 30.231800079 -28 -38 34.461585999 -28 51.771114349 36 -28 -13.852921486 42 -28 49.376647949 42 -28 44 46.64812851 -28 -36 48 -26.951593399 42.319675446 48 -28 -38 50 -27.223920822 -40 52 -26.598020554 9.5111551285 54 -28 -38 60 -26.878452301 -18.303384781 60 -28 2 60.572395325 -28 -10 63.108112335 -28 24 64 -26.000085831 26 64 -27.052913666 28 64 -27.679397583 -28 66 -26.108800888 30 66 -26.674610138 -26 -62.769088745 -26 -20 -60.000125885 -26 -20 -62 -24.931251526 28 -61.416145325 -26 -19.999858856 -60 -26 14 -59.210422516 -26 -18.526630402 -58 -26 18 -57.824512482 -26 22 -57.48923111 -26 -38.636978149 -56 -26 -4.8298816681 -52 -26 -39.681522369 -48 -26 46 -46 -24.83622551 -39.741836548 -44 -26 -40 -43.643421173 -26 22 -43.407951355 -26 -44 -39.87260437 -26 -45.527980804 -38 -26 -27.299289703 -38 -26 -27.025281906 -36 -26 48 -30.694246292 -26 52 -28.956638336 -26 54 -27.571187973 -26 -8.4079093933 -26 -26 -50 -24 -25.167755127 61.05065155 -18 -26 -64 -12 -24.355567932 2 -11.743135452 -26 62.299407959 -12 -26 12 -8.2992525101 -26 -68 -8 -24.971391678 70 -8 -25.288658142 -11.729822159 -2 -26 -22.284921646 0 -26 28 0.751770854 -26 16.574542999 2 -26 -30 6.4242639542 -26 15.729822159 6 -26 14 8.7737541199 -26 0 15.548044205 -26 6 15.771922112 -26 -58.299407959 16 -26 -57.05065155 22 -26 -10 24.063346863 -26 12 24 -25.394418716 -10.618307114 34 -26 49.527980804 42 -26 30.620456696 44 -26 -20 47.7996521 -26 44 47.643421173 -26 -38 48 -25.806793213 43.525669098 58 -26 42.636978149 60 -26 -10 63.210422516 -26 0 62.376171112 -26 22.526628494 62 -26 23.999858856 64 -26 24 64.00012207 -26 24 66 -24.931251526 -30 -64.097686768 -24 28 -63.64906311 -24 6 -59.11328125 -24 -39.635604858 -58 -24 -14 -58 -23.248178482 -12 -58 -22.469791412 22 -57.748077393 -24 -41.794929504 -52 -24 -5.2183771133 -52 -24 -39.943740845 -46 -24 22 -43.775402069 -24 24 -43.572998047 -24 48 -44 -23.384233475 -26 -40 -22.602930069 50 -40 -22.371551514 -27.705335617 -38 -24 -27.746152878 -36 -24 48 -32 -22.60830307 51.592529297 -30 -24 -21.133069992 -26 -24 -52 -24 -22.20211792 -50 -20 -22.394111633 13.929326057 -18 -24 14 -16 -22.708192825 -56 -14 -22.410993576 -68 -12 -22.152240753 -4 -11.811496735 -24 61.440143585 -12 -24 11.019649506 -10 -24 12 -8.9779491425 -24 68 -9.7125291824 -24 38 -4.1481661797 -24 -71.16330719 -4 -24 51.148658752 -4 -24 74.875282288 -4 -24 -71.662254333 -2 -24 -20 0 -22.977392197 -13.055936813 0 -24 18 2 -22.598810196 24 2 -22.678749084 18 4 -22.609609604 -48 6.8883013725 -24 30 6.7408981323 -24 75.16330719 8 -24 -68 12.128330231 -24 -66 13.251190186 -24 -62 14.056520462 -24 -6 14.664606094 -24 10 14.544632912 -24 12 14 -22.001743317 -57.440143585 16 -24 68 18 -23.234523773 -14 21.833145142 -24 -12 20 -22.72240448 62 20 -22.762311935 14 22.370010376 -24 62 22 -22.43838501 11.340252876 24 -24 -18.602006912 26 -24 56 28 -22.20211792 -50 32.525230408 -24 12.548480988 32 -24 54.458518982 32 -24 52.905319214 36 -24 31.705335617 42 -24 48 42.758331299 -24 44 44 -22.867300034 44.004611969 46 -24 -44 50 -23.621015549 45.400104523 54 -24 -44 56 -23.136329651 45.794929504 56 -24 -18 61.748077393 -24 -14 60.684780121 -24 -18.208406448 62 -24 -2 63.11328125 -24 43.635604858 62 -24 12 64 -22.004152298 -24 67.64906311 -24 14 66 -22.191518784 16 68 -22.105657578 32 68.619392395 -24 -24 -66.118293762 -22 -14 -66 -21.719589233 28 -65.4270401 -22 30 -65.788360596 -22 36 -65.17011261 -22 26 -63.574691772 -22 40 -63.429603577 -22 24.959770203 -62 -22 0 -59.263000488 -22 2 -60 -21.591918945 4 -60 -21.028146744 8 -58.68863678 -22 12 -57.505805969 -22 -42.827793121 -56 -22 -6 -56 -21.549539566 -43.404857635 -54 -22 20 -54 -21.539279938 -43.055099487 -52 -22 -6 -50.375675201 -22 -6 -52 -21.058238983 49.284999847 -52 -22 -6.0777010918 -50 -22 52 -45.085197449 -22 54 -46 -21.367240906 24 -43.321224213 -22 -37.959255219 -42 -22 30 -40.497089386 -22 58 -42 -20.81892395 -25.853815079 -40 -22 46 -38 -21.539928436 58 -38 -21.30115509 -52 -32 -20.081628799 46 -32 -21.948455811 54 -30.212985992 -22 -60 -30 -20.752159119 -52 -28 -21.768545151 55.610301971 -28 -22 56 -28 -21.588193893 -64 -26 -20.552286148 -50 -18 -20.464841843 -48 -17.871511459 -22 -52 -16 -20.108825684 -8 -16 -21.931112289 -6 -16 -21.261880875 -8 -14 -20.717992783 4 -12.713718414 -22 8 -14 -20.250101089 10 -14 -20.63923645 -8 -10.002814293 -22 14 -12 -20.457447052 58 -12 -21.42783165 14 -10 -20.798974991 58 -10 -20.451904297 72 -9.7692327499 -22 -70.928512573 -8 -22 -9.2071218491 -8 -22 74.438194275 -8 -22 50 -5.4060206413 -22 50 -6 -20.897174835 15.602363586 -4 -22 -73.3256073 -2 -22 -20 -2 -21.038606644 -13.82341671 -2 -22 77.210525513 -2 -22 -73.659217834 0 -22 25.144060135 0 -22 20 2 -21.079349518 22 4 -21.56170845 77.659217834 4 -22 -73.210525513 6 -22 -72.524528503 8 -22 -11.602363586 8 -22 -70.438194275 12 -22 -68 13.76923275 -22 -66 13.998585701 -22 -10 14 -20.798974991 -54 16 -21.427829742 12 16 -20.726280212 -6 18 -20.63923645 8 18 -21.476249695 10 18 -21.169610977 12 18 -20.717992783 -8 20 -21.607753754 -6 20 -20.012065887 10 20 -21.261878967 56 20 -20.108825684 70 20 -21.72209549 54 22 -20.464841843 54.549034119 24 -22 70 24 -21.057477951 55.955142975 26 -22 -52 31.223257065 -22 54.50888443 34 -22 64 34 -20.752159119 -46 37.000286102 -22 52 36.935058594 -22 51.043674469 38 -22 40 44 -20.064115524 42.669498444 44 -22 -52 46 -21.356525421 41.959255219 46 -22 -48 49.085197449 -22 42.710945129 48 -22 -52 50 -20.597000122 45.005378723 52 -22 -48 54 -20.741373062 20 54.721046448 -22 18 56 -20.847108841 47.055099487 56 -22 -44.343040466 58 -22 10 58 -21.276357651 47.404857635 58 -22 -43.215103149 60 -22 8.5634307861 60 -22 8 61.126831055 -22 46.827793121 60 -22 4 63.263000488 -22 4 64 -21.702814102 -36 67.429603577 -22 -20.959770203 66 -22 -22 67.574691772 -22 -26 69.788360596 -22 -24 69.4270401 -22 6 68 -21.460466385 36 69.276519775 -22 24 70 -21.695745468 -2 -72 -18.857192993 -28 -66.988739014 -20 -20 -67.781890869 -20 2 -68 -19.923057556 6 -68 -19.349237442 8 -68 -19.006433487 28 -66.160957336 -20 30 -66.894607544 -20 32 -66.892524719 -20 -34 -65.643241882 -20 27.836204529 -66 -20 38 -65.387496948 -20 8 -64 -18.670181274 26 -63.68239975 -20 42 -63.376472473 -20 -42.883945465 -58 -20 7.4194297791 -58 -20 -43.783920288 -56 -20 -8 -53.404129028 -20 -43.227981567 -52 -20 -14 -50.835540771 -20 -6.6982030869 -52 -20 -6.3992085457 -50 -20 18 -50 -18.894172668 58 -48 -18.465269089 -36 -40.15442276 -20 -58 -40 -18.26309967 -35.928718567 -40 -20 64 -40 -18.337787628 -54 -38 -18.808984756 -28.84859848 -38 -20 38 -38 -19.514520645 -60 -36 -19.049467087 -29.542707443 -36 -20 -30 -36 -19.07557869 -62 -34 -19.064529419 -50 -34 -18.167514801 -46 -33.496372223 -20 66 -34 -18.929023743 -49.067626953 -32 -20 68 -30 -18.462692261 66 -28 -18.959278107 66 -26 -18.496850967 10.634954453 -24 -20 56.813537598 -22 -20 -50 -17.529474258 -20 -4 -18 -18.755310059 -4.0006332397 -16 -20 -4 -15.999204636 -20 -4 -16 -19.999546051 -2 -14.738785744 -20 -2 -16 -18.259765625 -52 -12 -19.812538147 -71.133293152 -10 -20 -9.5336427689 -10 -20 74 -9.6432313919 -20 -50 -8 -19.39223671 75.716941833 -8 -20 76.813499451 -6 -20 28 -4 -18.286226273 24 -1.1438807249 -20 -74.702911377 0 -20 78.432670593 0 -20 -47.562389374 2 -20 -74.432670593 4 -20 78.702911377 4 -20 22 6 -19.885852814 78.298210144 6 -20 16 9.5286951065 -20 -72.813499451 10 -20 -47.200019836 10 -20 -71.716941833 12 -20 -70 13.643231392 -20 14 16 -19.037969589 6 18.73878479 -20 8 19.999204636 -20 13.529927254 18 -20 73.36895752 18 -20 6 20 -18.259763718 8.0006322861 20 -20 8 20 -19.999547958 8 22 -18.755310059 74 24 -18.065233231 -62 30 -18.496850967 -64 34 -18.462692261 54 35.644565582 -20 -40 36 -19.886295319 50 37.496372223 -20 50 36 -18.084882736 53.067626953 36 -20 -62 38 -18.929023743 54 38 -18.167514801 66 38 -19.064529419 33.542705536 40 -20 34 40 -19.07557869 -30 42.671329498 -20 32.84859848 42 -20 38 42 -18.506479263 40 42 -19.377828598 58 44 -18.246915817 60 44 -18.472406387 62 44 -18.26309967 40.615680695 46 -20 -14 54 -18.894172668 10.399208069 54 -20 16 54 -18.033874512 12 57.404129028 -20 47.227977753 56 -20 47.916397095 58 -20 47.783920288 60 -20 -3.4194295406 62 -20 46.883945465 62 -20 -40 65.62399292 -20 -38 67.376472473 -20 -21.079872131 66 -20 42 67.082000732 -20 -34 69.387496948 -20 38 69.643241882 -20 -28 70.892524719 -20 -26 70.894607544 -20 -23.836204529 70 -20 -24 70.160957336 -20 -4 72 -19.006433487 -14 -71.804862976 -18 14 -72 -16.568494797 -32 -66.677307129 -18 14 -68 -16.702259064 30 -66.698806763 -18 34 -66.673210144 -18 -36 -64.661834717 -18 28 -65.491477966 -18 38 -65.456176758 -18 10 -64 -17.593690872 44 -62.048709869 -18 -41.408115387 -60 -18 6.8063874245 -60 -18 8 -60 -16.751001358 -42.967269897 -58 -18 6.5202245712 -58 -18 -43.556671143 -56 -18 -42 -56 -16.023881912 -43.40827179 -54 -18 -42 -54 -16.239543915 52 -53.062107086 -18 -42 -52 -17.506587982 56 -50.26399231 -18 18 -48 -17.912446976 18 -45.261791229 -18 20 -45.757484436 -18 62 -46 -16.685918808 -54 -44 -16.911178589 -62 -42 -16.951137543 -35.778617859 -42 -18 -34 -39.104881287 -18 -32.6603508 -38 -18 -34 -37.157672882 -18 -32 -38 -16.174173355 -28.199460983 -38 -18 -30 -37.108486176 -18 -28 -38 -17.935213089 -31.268671036 -36 -18 -32 -36 -17.422451019 40 -36 -17.914913177 -48 -32.016674042 -18 40 -34 -16.316585541 42 -34 -17.53663063 -47.737384796 -32 -18 42 -32 -17.054281235 72 -32 -16.90763092 72 -26 -16.849849701 -68.993591309 -24 -18 56.183460236 -24 -18 56 -23.828285217 -18 70 -22 -16.102722168 -4 -20 -17.385000229 -48 -16.25752449 -18 -3.4718575478 -18 -18 8 -18 -17.445386887 6 -16 -17.343751907 -70.671134949 -14 -18 -48 -14 -16.355564117 54 -8.2630672455 -18 56 -8.5529899597 -18 74 -9.033829689 -18 52 -8 -17.762504578 54 -8 -17.854812622 76 -7.4952683449 -18 -73.426673889 -6 -18 52.182170868 -6 -18 76.925643921 -6 -18 20 -2.7299580574 -18 51.63420105 -4 -18 -74.701446533 -2 -18 78.889152527 4 -18 78.701446533 6 -18 -22 8 -16.765737534 -72.925643921 10 -18 -72 11.495268822 -18 -48.182170868 10 -18 -70 13.033829689 -18 -52 12.552990913 -18 -50 12.263069153 -18 -50 12 -17.854810715 -49.669418335 14 -18 -48 14 -16.76102829 -11.711091995 14 -18 75.737159729 14 -18 18 18 -16.104991913 52 18 -16.355564117 52 20 -17.649612427 -66 26 -16.102724075 -52 27.828285217 -18 -66 28 -17.024881363 -56 28 -17.271749496 -68 30 -16.849849701 -68 36 -16.90763092 -38 36 -17.054281235 51.737380981 36 -18 52 36.016674042 -18 -38 38 -17.53663063 -36 38 -16.316585541 34 38 -17.510705948 -36 40 -17.914913177 35.268672943 40 -18 34 41.108486176 -18 36 40 -17.422451019 38 41.157672882 -18 -64 42 -16.806001663 -24 43.073097229 -18 32.199459076 42 -18 36.6603508 42 -18 -62 44 -17.114280701 -20 45.821079254 -18 68 44 -16.592412949 39.778617859 46 -18 66 46 -16.951137543 -16 49.757484436 -18 -14 49.261791229 -18 -14 50 -17.511692047 -54 52.699157715 -18 -14 52 -17.912446976 -50 55.553756714 -18 -16 54.054508209 -18 12 54 -17.037389755 -48 57.062107086 -18 -46 59.042156219 -18 -17.76722908 58 -18 47.40827179 58 -18 46 58 -16.239543915 47.556671143 60 -18 46 60 -16.02388382 46.967269897 62 -18 -4 64 -16.751001358 -40 66.048706055 -18 -38 67.550575256 -18 -24 69.491477966 -18 40 68.661834717 -18 -30 70.673210144 -18 -28 70.99899292 -18 -26 70.698806763 -18 -26 70 -17.339918137 -8 72 -17.645751953 18 75.804862976 -18 -10 76 -16.568494797 0 78 -17.66509819 12 -78 -15.616045952 16 -78 -15.124616623 -10 -74.467453003 -16 16 -76 -15.71198082 -14 -73.260871887 -16 -20 -69.567085266 -16 -30 -66.863388062 -16 16 -68 -15.58442688 34 -65.764122009 -16 -41.639122009 -58 -16 6.8135371208 -58 -16 4 -54 -14.173084259 -56 -52 -14.37531662 -41.397712708 -52 -16 6 -52 -14.403767586 -60 -50 -15.225035667 60 -48.815799713 -16 -60 -48 -15.811768532 -10 -48 -15.579040527 -52 -46 -15.480665207 -10 -46 -14.539301872 -7.2618846893 -46 -16 -8 -46 -14.457586288 19.317832947 -46 -16 20 -45.148555756 -16 -8 -44 -14.63008213 16 -44 -15.547719955 22 -42.189998627 -16 -8 -42 -15.510922432 -33.974815369 -40 -16 -28 -36.961341858 -16 -8.5841379166 -36 -16 -48 -33.307567596 -16 -48 -34 -15.67939949 -46 -30.408945084 -16 36 -32 -14.192504883 38 -32 -14.427083969 40.9637146 -32 -16 40 -32 -15.272735596 76 -32 -15.051950455 -44 -30 -15.65286541 39.191562653 -30 -16 38 -30 -14.69080925 32 -27.358953476 -16 78 -28 -15.045055389 76 -26 -15.87425518 52 -24 -14.464504242 54 -23.234048843 -16 54 -24 -14.755784988 56 -23.856075287 -16 52.88640976 -20 -16 6 -17.115447998 -16 -46 -14.880270958 -16 -44 -14 -15.930743217 -44 -12 -14.009126663 -42 -12 -15.276753426 -40 -10.56731987 -16 -39.266483307 -10 -16 -12.594924927 -10 -16 -72.527122498 -8 -16 45.858860016 -8 -16 -73.244392395 -6 -16 -18 -4.3681921959 -16 -16 -6 -14.884901047 20 -4.495660305 -16 75.602905273 -6 -16 76.804206848 -4 -16 77.784187317 0 -16 49.151794434 2 -16 78.050292969 6 -16 -72.804206848 8 -16 20 9.008225441 -16 -70 11.368286133 -16 -50 11.63273716 -16 76.527122498 12 -16 45.705863953 16 -16 48 16 -14.009126663 48 18 -15.930742264 50 18 -15.123707771 75.021606445 20 -16 -17.111862183 22 -16 -50 27.234048843 -16 -48 26 -15.118883133 -48 28 -14.464504242 -72 30 -15.87425518 -26 30.295217514 -16 -74 32 -15.045055389 11.233691216 32 -16 73.444084167 32 -16 -35.191562653 34 -16 -34 34 -14.69080925 11.728588104 34 -16 50 34.408946991 -16 50 34 -15.475266457 -72 36 -15.051950455 -36 36 -15.272736549 -34 36 -14.427083969 52 37.307567596 -16 12.447201729 38 -16 36 38 -15.844575882 12.584137917 40 -16 34 40 -14.199989319 12 45.08788681 -16 22 44 -15.357052803 12 46 -15.510922432 -16.401325226 48 -16 -16 49.148555756 -16 12 48 -14.63008213 -58 50.879047394 -16 -15.317832947 50 -16 12 50 -14.457586288 14 50 -14.539301872 56 50 -15.480665207 -56 52.815799713 -16 -15.613354683 52 -16 14 52 -15.579040527 64 52 -15.811768532 64 54 -15.225034714 -45.228374481 60 -16 -2.0224850178 60 -16 -2 60 -15.95222187 -2.8135371208 62 -16 45.639122009 62 -16 -40 65.544815063 -16 -38 66.878829956 -16 -28 69.787834167 -16 38 69.22366333 -16 34 70.863388062 -16 26 72.71157074 -16 18 77.260871887 -16 -12 80 -15.71198082 -12 82 -15.124616623 -4 82 -15.665049553 10 -80.41960144 -14 18 -78.495246887 -14 -12 -74.963424683 -14 20.048746109 -76 -14 -16 -72.381668091 -14 20.221578598 -74 -14 -22 -68.447257996 -14 38 -63.408367157 -14 42 -61.4009552 -14 7.7592453957 -58 -14 24.646968842 -58 -14 5.1629128456 -56 -14 -58 -52.714580536 -14 2 -54 -12.562322617 22.021379471 -54 -14 52 -53.376373291 -14 -50 -50 -12.122115135 -2 -50 -12.183217049 -50 -48 -13.35633564 -37.920085907 -46 -14 -10 -44.115291595 -14 18.520389557 -46 -14 -48 -44 -12.959490776 18 -44 -13.007738113 -10 -40 -13.535937309 -10 -38 -13.235953331 -32 -36 -12.580809593 -25.542972565 -36 -14 30 -33.464046478 -14 -32 -32 -13.255916595 77.536628723 -32 -14 -38.957695007 -30 -14 32 -30 -13.340782166 35.80197525 -30 -14 79.433143616 -28 -14 -71.370979309 -26 -14 50 -26 -12.72095871 54 -24.193147659 -14 80 -24 -13.635149002 79.003311157 -22 -14 78 -20.951194763 -14 -2.1814553738 -20 -14 0 -18.226999283 -14 74 -19.067295074 -14 -71.059822083 -16 -14 -42 -10.598415375 -14 48.542011261 -10 -14 62 -8.7630844116 -14 -14.974057198 -8 -14 19.031496048 -8 -14 20 -6.3205647469 -14 -18 -5.7279977798 -14 22 -4.8473343849 -14 50.199226379 -6 -14 74 -5.3248372078 -14 -72.966880798 -2 -14 -43.310085297 2 -14 76.963806152 4 -14 -45.01467514 8 -14 -18 8.8473339081 -14 -48 11.625424385 -14 -46 10 -13.825302124 -62 12.331987381 -14 -48 12 -13.375189781 44 13.204647064 -14 47.351287842 14 -14 46 14.598415375 -14 46 14 -13.775053024 75.336097717 14 -14 -14.709621429 16 -14 -15.485681534 18 -14 -16.601455688 20 -14 0 21.634326935 -14 -70 23.067295074 -14 4 22.226999283 -14 6.1814556122 24 -14 -75.003311157 26 -14 -76 28 -13.635148048 -50 28.193147659 -14 -46.821872711 28 -14 -46 28 -13.716833115 -46 30 -12.72095871 -44 30 -12.72539711 50 30 -13.043345451 -75.433143616 32 -14 -28 32.503429413 -14 -26 32 -12.959562302 -31.801973343 34 -14 -73.536628723 36 -14 36 36.522327423 -14 73.50819397 36 -14 14 40 -12.240300179 14 42 -13.235953331 14 44 -13.535937309 16 44 -13.368618965 -63.85036087 46 -14 -11.127716064 48 -14 -10 49.927600861 -14 14 48.115287781 -14 52 48 -12.959490776 52 50 -12.170793533 -6 52 -13.041583061 66 54.654972076 -14 0 56 -13.70013237 2 56 -13.05532074 60 56.550506592 -14 62 56.714580536 -14 -46 58.737926483 -14 -1.1629126072 60 -14 -34 67.408363342 -14 -30 68.404670715 -14 -11.238303185 68 -14 30 70.935668945 -14 -14.506214142 72 -14 -16 74 -13.63202858 20 76.381668091 -14 16 78.963424683 -14 -16.048746109 80 -14 -14 82.495246887 -14 -2 83.856956482 -14 -6 84.41960144 -14 4 -80.760543823 -12 10 -81.647956848 -12 14 -81.56918335 -12 16 -81.011367798 -12 -4 -78 -10.843993187 20.280065536 -78 -12 -12 -75.150680542 -12 21.347105026 -76 -12 -14 -73.621818542 -12 21.587335587 -70 -12 20.682821274 -68 -12 34 -62.830860138 -12 4.7916350365 -56 -12 -60 -53.383625031 -12 -56 -53.77173996 -12 -54 -53.017021179 -12 -64 -50.487125397 -12 -52 -51.908184052 -12 -2 -52 -11.639671326 53.518203735 -52 -12 -4 -50 -11.631203651 62 -48.553749084 -12 -38.600086212 -48 -12 -4 -48 -11.236875534 64 -47.184280396 -12 -66.750396729 -46 -12 17.267707825 -46 -12 12 -44 -10.383805275 16.773002625 -44 -12 16 -44 -10.965267181 18 -40 -11.208737373 76.007362366 -36 -12 -32 -34 -10.464384079 -30 -32 -10.51993084 79.039016724 -32 -12 -46.700000763 -30 -12 -30 -30 -10.302990913 -7.2415151596 -30 -12 44 -30 -10.734456062 46 -28.197055817 -12 42 -28 -11.014310837 44.258563995 -28 -12 44 -28 -11.974583626 48 -28 -11.51305294 80.780258179 -28 -12 -71.681022644 -26 -12 28.103384018 -26 -12 44 -26 -11.519186974 52 -25.544290543 -12 54 -24.311128616 -12 80.977020264 -24 -12 -71.279525757 -20 -12 78.848899841 -20 -12 -46 -18 -11.239569664 -44 -18 -11.194306374 70 -16.922895432 -12 74 -17.061002731 -12 -15.145175934 -12 -12 20.450479507 -12 -12 -38 -6.0296177864 -12 -36 -6 -10.792640686 28 -5.347984314 -12 -38 -4 -10.882547379 24 10.743792534 -12 42 10.02961731 -12 -54 13.18038559 -12 74.280479431 12 -12 -42 14 -10.270028114 20 14 -11.624056816 19.145175934 16 -12 -44 18 -11.759159088 74 18 -11.379591942 -70 21.061002731 -12 -66 20.922895432 -12 -74 23.31810379 -12 48 22 -11.194306374 50 22 -11.239569664 -76.355903625 26 -12 -21.115955353 26 -12 6 26.034067154 -12 -76.977020264 28 -12 -48 29.544290543 -12 -46 30.565504074 -12 -24 30 -11.614046097 8.9804372787 30 -12 -76.780258179 32 -12 -44 32 -11.51305294 -40.25856781 32 -12 -42 32.197055817 -12 -40 32 -11.974583626 -38 32 -11.014310837 -24 32 -10.997564316 75.427024841 32 -12 -40 34 -10.734456062 -24.620038986 34 -12 50.700000763 34 -12 -75.039016724 36 -12 32 37.455661774 -12 32 36 -10.63950634 14 39.705615997 -12 36 38 -10.464384079 -63.233295441 48 -12 -12.773002625 48 -12 -12 48 -10.965267181 -13.267707825 50 -12 70.750396729 50 -12 -58 52.553752899 -12 6 52 -11.327913284 8 52 -11.236875534 6.9420919418 54 -12 8 54 -11.631203651 43.017436981 54 -12 68 54.487125397 -12 5.3584165573 56 -12 58 57.017021179 -12 60 57.77173996 -12 62 57.874004364 -12 -38 63.35641861 -12 -5.0488862991 62 -12 -30 66.830856323 -12 -17.587337494 74 -12 18 77.621818542 -12 16 79.150680542 -12 -17.347105026 80 -12 12 80.837799072 -12 -16.280065536 82 -12 7.4484949112 82 -12 -12 85.011367798 -12 -10 85.56918335 -12 -2 85.218788147 -12 12 -82.127182007 -10 14 -81.899124146 -10 16 -81.282081604 -10 18 -80.183769226 -10 -2 -79.267097473 -10 20 -78.425689697 -10 -8 -76.655105591 -10 -10 -75.604316711 -10 21.404743195 -76 -10 22.173780441 -72 -10 -20 -67.556022644 -10 20.773145676 -66 -10 12 -58.36592865 -10 -62 -52.451026917 -10 -56 -53.798915863 -10 -2 -54 -8.1601762772 -64 -51.00188446 -10 -50 -51.288532257 -10 -48.927547455 -50 -10 -5.2221894264 -50 -10 -6 -50 -8.4378032684 -66.244651794 -48 -10 -47.429801941 -48 -10 -5.3456501961 -48 -10 -4 -46.392803192 -10 17.120685577 -48 -10 64 -46.714698792 -10 -4 -46 -9.6581840515 12 -43.369113922 -10 14.982111931 -44 -10 13.711779594 -42 -10 12 -42 -8.5370035172 14.393496513 -42 -10 14 -42 -9.0776119232 -69.561508179 -40 -10 74.977172852 -38 -10 -70.263504028 -36 -10 -10 -34.365909576 -10 -46.250385284 -32 -10 -30 -30.471693039 -10 -28 -30.945705414 -10 -32 -29.710800171 -10 -30 -29.879535675 -10 -30 -30 -8.2849760056 -28 -28.515928268 -10 42 -30 -9.6578292847 46 -29.935403824 -10 80.568374634 -30 -10 -71.201156616 -28 -10 -34 -28 -9.5677080154 -5.1902537346 -28 -10 40.820522308 -28 -10 81.093505859 -28 -10 27.481025696 -26 -10 40 -26 -8.6349754333 56 -22.394659042 -10 81.141082764 -24 -10 80.421867371 -22 -10 -48 -20 -9.257144928 24.777044296 -20 -10 79.040504456 -20 -10 -46 -17.094524384 -10 -44 -16.467395782 -10 -42 -18 -9.954076767 74 -16.375198364 -10 -44 -16 -9.182510376 22.956029892 -16 -10 -69.081489563 -12 -10 46.416786194 -12 -10 45.757091522 -10 -10 60 -10 -9.1014947891 22.859972 -8 -10 46.183555603 -8 -10 -36 -5.4309463501 -10 68.908203125 -6 -10 72 -2 -9.5739107132 -67.144424438 8 -10 36 10.611391068 -10 -42.183555603 12 -10 -56 14 -9.1014947891 21.74312973 14 -10 -18.416400909 18 -10 -60 20.548955917 -10 46 20 -8.4285840988 48 20.467395782 -10 48 20 -9.182510376 50 21.094524384 -10 44 22 -8.2668867111 46 22 -9.954076767 2 25.095129013 -10 -76.421875 26 -10 -77.141082764 28 -10 -77.093505859 32 -10 -44 32.845733643 -10 -42 33.935405731 -10 -36.820522308 32 -10 -23.180610657 32 -10 34 33.879535675 -10 36 33.710800171 -10 36 32 -8.4128417969 75.201156616 32 -10 -76.568374634 34 -10 -38 34 -9.657828331 10.430952072 34 -10 34 34.471691132 -10 -20 36.196174622 -10 16 38.789577484 -10 18 38.624069214 -10 -70.977172852 42 -10 -68 44.83657074 -10 73.561508179 44 -10 -10.393496513 46 -10 -9.7117795944 46 -10 -10 46 -9.0776128769 -10.982111931 48 -10 -60 50.714698792 -10 6 50 -9.8209133148 8 50.392803192 -10 9.3456497192 52 -10 10 52 -8.4675102234 51.429801941 52 -10 9.2221889496 54 -10 10 54 -8.4378032684 52.927547455 54 -10 54 55.288532257 -10 68 55.001880646 -10 7.7337622643 56 -10 56 56.515686035 -10 64 57.516517639 -10 66 56.451026917 -10 -18 59.524749756 -10 4.4843029976 58 -10 34 65.798324585 -10 25.910999298 70 -10 24 71.556022644 -10 18 76.696166992 -10 14 79.604316711 -10 -16 82.425689697 -10 6 83.267097473 -10 -14 84.183769226 -10 -12 85.282073975 -10 0 85.315475464 -10 -8 86.127182007 -10 14 -81.545532227 -8 -2 -79.066268921 -8 18 -79.616210938 -8 21.031774521 -76 -8 22 -56.763240814 -8 4 -55.934158325 -8 20 -56 -6.5969347954 -60 -53.016403198 -8 -64 -50.404998779 -8 54 -49.616146088 -8 -6 -47.60244751 -8 -44 -44.626377106 -8 -40 -46 -6.4266037941 -42 -44 -6.6347398758 -40 -44 -6.5437726974 -40 -42 -6.0675649643 -38 -42 -7.7606048584 4 -42 -6.4666848183 8 -42 -7.0078253746 13.302159309 -42 -8 14 -40.570293427 -8 72 -40.62279892 -8 -38 -40 -6.1881494522 13.415044785 -40 -8 14.08852005 -40 -8 -69.803855896 -38 -8 12.768246651 -38 -8 15.584242821 -38 -8 12 -36 -7.6467413902 18 -35.687320709 -8 -32 -32.04737854 -8 -10 -33.990913391 -8 -10 -34 -7.8885354996 -45.972129822 -32 -8 -22 -30.736291885 -8 79.233192444 -32 -8 -30 -30 -7.6739616394 -4 -28.694942474 -8 80.118270874 -30 -8 -47.293815613 -28 -8 -29.784439087 -28 -8 -28 -27.684083939 -8 9.136800766 -28 -8 26.123407364 -28 -8 39.568454742 -28 -8 50.383899689 -28 -8 52 -26.441854477 -8 -26 -25.892047882 -8 -1.8118988276 -26 -8 0 -26 -6.6419119835 7.870575428 -26 -8 39.348442078 -26 -8 -34 -24 -6.8933396339 2 -24 -7.1134357452 6 -24 -7.8601846695 80.642379761 -24 -8 -22.408538818 -22 -8 -19.725442886 -18 -8 74 -16.117189407 -8 -46 -16 -7.1345405579 72 -15.316525459 -8 -20 -12 -6.8971405029 24 -12 -7.7022266388 52 -10.677284241 -8 60 -12 -6.0388393402 62 -12 -6.3126177788 -22 -10 -7.2541337013 26 -10 -6.4280414581 42 -8.8883180618 -8 46.280529022 -10 -8 46 -9.899107933 -8 -34 -6.6642780304 -8 26 -8 -7.6946706772 28 -7.0273580551 -8 32 -6.7875947952 -8 38 -7.6682887077 -8 44.203666687 -8 -8 43.399200439 -6 -8 42.342201233 -2 -8 -67.668029785 0 -8 -66.795196533 6 -8 -40 11.556929588 -8 -28 10.787594795 -8 -24 11.027358055 -8 -40.203666687 12 -8 -42 13.899108887 -8 -22 12 -7.6946716309 26 13.29223156 -8 -58 14.336031914 -8 -50 14.736125946 -8 -42.280529022 14 -8 -44 14.384610176 -8 -22 14 -6.4280414581 -19.996507645 14 -8 -60 16 -6.2658600807 -58 16 -6.3126177788 -40.464385986 16 -8 24 16 -6.8971405029 24 18 -6.4306097031 48 19.655111313 -8 22.760110855 20 -8 72.3203125 20 -8 23.725440979 22 -8 26.408538818 26 -8 -76.642379761 28 -8 -50.227432251 28 -8 0 28 -6.9663147926 38 28 -6.8933396339 -48 30.441854477 -8 4 30 -6.6419119835 6 30.186712265 -8 32 31.684083939 -8 36 30 -6.9309287071 51.952835083 30 -8 -46.383899689 32 -8 -35.568454742 32 -8 -5.136800766 32 -8 33.784439087 32 -8 34 32 -7.949795723 51.293815613 32 -8 -76.118270874 34 -8 -40 35.169055939 -8 26 34.736289978 -8 29.667993546 34 -8 34.032417297 34 -8 34 34 -7.6739611626 -74 37.482631683 -8 -18 36.080940247 -8 -6.9687166214 36 -8 14 37.990913391 -8 49.972129822 36 -8 14 38 -7.8885331154 -70.630722046 42 -8 -11.584242821 42 -8 -8.7682476044 42 -8 -68 44.62279892 -8 -10.08852005 44 -8 -9.4150457382 44 -8 -9.302157402 46 -8 -6 46 -7.6833577156 44 46 -6.0675644875 47.147968292 46 -8 72.5440979 46 -8 8 48.557445526 -8 44 48 -6.5437726974 -11.133050919 50 -8 9.3294916153 50 -8 10 51.60244751 -8 44 50 -6.4266037941 69.882415771 52 -8 68 54.404998779 -8 9.0411615372 56 -8 58 57.147979736 -8 64 57.016403198 -8 -15.782697678 58 -8 -16 58.339847565 -8 -16 60 -6.5969347954 -28 63.629981995 -8 -14 63.564872742 -8 -18.406946182 74 -8 16 76.945014954 -8 -14 83.616210938 -8 -10 85.545532227 -8 0 85.057296753 -8 12 -80.613182068 -6 2 -79.557006836 -6 18 -78.348480225 -6 -4 -77.065284729 -6 -12 -70 -4.8473687172 -15.342331886 -68 -6 21.646291733 -60 -6 22 -60 -5.7031574249 24 -60 -4.5420694351 18 -56.628658295 -6 18 -56 -5.3464436531 -58 -52.559684753 -6 -52 -52.235427856 -6 -6 -52.503421783 -6 -50 -51.657962799 -6 -37.090118408 -52 -6 -6.7499408722 -50 -6 -64.450828552 -48 -6 -42 -48 -4.4906177521 -39.614044189 -48 -6 -42 -46 -5.9884667397 14.722190857 -46 -6 -6 -44 -4.1057066917 -40 -41.831165314 -6 13.664123535 -42 -6 70 -41.075492859 -6 -42 -39.256462097 -6 -38.371807098 -40 -6 0 -40 -4.570227623 9.171380043 -40 -6 8 -40 -5.5321207047 13.979628563 -40 -6 72 -39.378059387 -6 -68.932685852 -38 -6 8 -38 -4.4620604515 11.015558243 -38 -6 14.493941307 -38 -6 -44 -35.161762238 -6 -10 -34.097545624 -6 8 -36 -4.0101523399 11.264251709 -36 -6 10 -36 -4.9273672104 16.307050705 -36 -6 -7.1997642517 -34 -6 -6 -33.450778961 -6 10.790305138 -34 -6 74 -34 -4.0398964882 -69.477371216 -32 -6 -32 -31.621818542 -6 -18 -31.207050323 -6 8 -32 -4.4084739685 -24 -29.18775177 -6 8 -30 -5.2008962631 78.893379211 -30 -6 -48 -26.991804123 -6 2 -28 -4.9182758331 4 -28 -4.6563339233 6 -28 -5.0807557106 38.759357452 -28 -6 79.432243347 -28 -6 -28 -25.659866333 -6 -26 -24.772674561 -6 27.662513733 -26 -6 37.755088806 -26 -6 -30 -24 -4.9608764648 -28 -24 -4.8040556908 30 -24 -4.7209601402 36 -24 -4.5998697281 79.584999084 -24 -6 -32 -22 -4.7309961319 -26 -22 -4.3056101799 -23.544300079 -22 -6 79.033287048 -22 -6 -32 -20 -4.2045001984 -24 -20 -4.6050543785 -49.039188385 -18 -6 -34 -18 -4.3005542755 -21.277090073 -18 -6 28 -18 -5.6906528473 -66 -16 -5.3973612785 -40 -15.074692726 -6 -24 -16 -4.2390751839 60 -14.699576378 -6 -40 -14 -4.6400499344 -22 -14 -5.1621136665 60 -14 -5.2647404671 26.07116127 -12 -6 40 -12 -4.7559714317 48 -10.600125313 -6 56 -11.571163177 -6 59.799232483 -12 -6 30 -8.4114027023 -6 30 -10 -4.8493251801 34 -10 -4.3244547844 38 -8.5182666779 -6 38 -10 -4.662563324 40 -9.3471813202 -6 44 -8.3109121323 -6 66 -10 -5.2970685959 -34 -7.9644503593 -6 -34 -8 -5.9686145782 66.59122467 -8 -6 69.541038513 -2 -6 -64.7057724 8 -6 39.608951569 8 -6 -38.455410004 10 -6 38 11.964449883 -6 -62.59122467 12 -6 -42 13.820571899 -6 -40 12.310912132 -6 -34 12.518266678 -6 -62 14 -5.2970685959 -44 14.600125313 -6 -36 14 -5.5299892426 -34 14 -4.662563324 -30 14 -4.3244547844 -26 16 -4.3008460999 26 16 -5.9117174149 38 16 -4.0642971992 69.3072052 16 -6 -56 18.699575424 -6 -56 18 -5.2647404671 26 18 -5.1621131897 26 20 -5.0426845551 28 20 -4.2390751839 25.277088165 22 -6 38 22 -4.3005542755 40 22 -5.1441278458 28 24 -4.6050539017 36 24 -4.2045001984 -75.033287048 26 -6 27.544300079 26 -6 30 26 -4.3056097031 36 26 -4.7309961319 -75.584999084 28 -6 30 28.772674561 -6 32 29.659866333 -6 32 28 -4.8040556908 34 28 -4.960875988 -23.662513733 30 -6 -2 32 -5.0807557106 0 32 -4.6563334465 2 32 -4.9182753563 30 32.755882263 -6 -74.893379211 34 -6 -4 34 -5.2008962631 22 35.207050323 -6 36 35.621818542 -6 -73.631759644 36 -6 -4 36 -4.4084734917 8 36 -5.7826433182 10 37.450778961 -6 16 37.425605774 -6 73.477371216 36 -6 -6 38 -5.1657619476 11.199765205 38 -6 48 39.161762238 -6 -70.844390869 40 -6 -12.307051659 40 -6 -7.264251709 40 -6 73.336669922 40 -6 -10.493941307 42 -6 -7.0155591965 42 -6 -6 43.231578827 -6 46 43.256462097 -6 -66 45.075492859 -6 -9.9796285629 44 -6 -2 44 -5.070895195 44 45.831165314 -6 72.185012817 44 -6 8 46 -5.3686156273 -10.073602676 48 -6 10 48 -4.1057062149 46 50 -5.9884667397 -11.646644592 52 -6 68 52.628562927 -6 64 55.805503845 -6 66 54.526443481 -6 62 56.559684753 -6 -14.325188637 58 -6 8.1671962738 58 -6 -14 60 -5.3464441299 -6 60.320674896 -6 20 70 -5.1548633575 16 74 -4.847369194 8 81.065284729 -6 4 83.037109375 -6 -8 84.613182068 -6 23.609939575 -62 -4 12 -56.010753632 -4 34 -57.047908783 -4 -32 -55.895137787 -4 -54 -51.901210785 -4 -60 -50 -3.9699618816 -44 -49.272994995 -4 -38.477603912 -50 -4 54 -44 -2.6044297218 -6 -38 -3.2107536793 -4 -37.092247009 -4 14.974176407 -38 -4 -67.512817383 -36 -4 -2 -36 -3.804582119 16.379089355 -36 -4 6 -34 -3.4804091454 8 -34 -3.9971823692 18.336097717 -34 -4 46 -34 -3.6066226959 48 -34 -2.8474371433 -67.85206604 -32 -4 -30 -30.574853897 -4 -18 -30.971315384 -4 4 -32 -3.66644907 -28 -29.799484253 -4 -26 -29.200424194 -4 24 -29.246875763 -4 50.314682007 -30 -4 28 -26.364212036 -4 32 -26 -2.1194245815 34 -22 -3.9095635414 -28 -20 -3.4844212532 -26 -20 -3.7979755402 74.153785706 -16 -4 -60 -14 -2.5597782135 -38 -13.256059647 -4 -32 -14 -3.7566385269 32 -14 -3.7562708855 59.008010864 -14 -4 -60 -12 -2.2395954132 36 -12 -3.6102256775 50 -10.834162712 -4 46 -9.2579288483 -4 42.698135376 -6 -4 41.268642426 -2 -4 -38.698135376 10 -4 -42 13.257928848 -4 -64 15.007843971 -4 -46 14.834162712 -4 -52.069831848 16 -4 -32 16 -3.6102254391 42 17.256059647 -4 -67.856994629 18 -4 36 18 -3.7566385269 64 18 -2.5597782135 -71.78062439 22 -4 -73.019142151 24 -4 30 24 -3.7979748249 32 24 -3.4844212532 55.081363678 24 -4 68 26 -2.1613490582 -74 30 -3.9766330719 -31.953687668 30 -4 -30 30 -2.6037802696 -26 30 -2.642667532 71.146148682 30 -4 -20 33.246875763 -4 28 33.303253174 -4 30 33.200424194 -4 32 33.799484253 -4 34 34.574855804 -4 0 36 -3.6664485931 71.85206604 36 -4 -44 38 -2.8474369049 -4 38 -3.997181654 -2 38 -3.4804089069 -12.379089355 40 -4 -2 40 -3.5590217113 6 40 -3.8045823574 8 41.092247009 -4 71.512817383 40 -4 -10.974176407 42 -4 6 42.192443848 -4 42 42.642677307 -4 -62 45.698940277 -4 10 44 -2.8649344444 -10.863190651 50 -4 44 52.76770401 -4 54 55.634254456 -4 58 55.901210785 -4 -13.278465271 58 -4 8 59.356895447 -4 -6 60.070964813 -4 -24 62.757331848 -4 22 65.068313599 -4 10 76 -2.7226994038 -14 80.47808075 -4 14 -76.226455688 -2 22.962991714 -68 -2 -10 -66 -1.5214388371 -10 -64 -0.97372484207 -16 -58.507415771 -2 -8 -58 -1.1717560291 27.974294662 -58 -2 32 -56.765300751 -2 -32 -54.59034729 -2 16 -56 -0.92749166489 18 -56 -0.17349934578 17.449687958 -54 -2 18 -54 -1.3652077913 -50 -51.439258575 -2 -40 -49.04724884 -2 -38 -49.755443573 -2 15.161291122 -44 -2 -40 -39.487869263 -2 -40 -40 -1.2250330448 15.402374268 -40 -2 48 -40 -1.4537225962 60 -40 -0.51360946894 -42.849197388 -36 -2 17.229438782 -36 -2 -44.316570282 -34 -2 -32 -33.087154388 -2 -47.149940491 -30 -2 -53.344234467 -20 -2 -54 -20 -1.4659267664 -56 -18 -1.1777333021 75.252632141 -18 -2 -56 -16 -1.185277462 -54 -16 -1.149020195 -52 -16 -1.6638643742 -40 -12.375083923 -2 58.93592453 -14 -2 60 -14 -0.041891075671 57.036754608 -12 -2 68 -10.02914238 -2 70.1848526 -12 -2 48 -9.3650693893 -2 67.966041565 -10 -2 66.992935181 -8 -2 66.965957642 -6 -2 -36.598388672 2 -2 -37.099880219 4 -2 -63.712127686 6 -2 -62.992935181 12 -2 -62 12 -0.74949836731 -44 13.365069389 -2 40.437732697 12 -2 -64 14.02914238 -2 44 16.375083923 -2 -54.93592453 18 -2 54 19.596355438 -2 62 20 -1.7538440228 -71.252632141 22 -2 -72.342529297 26 -2 56.127441406 26 -2 -68 36 -1.1825385094 36 37.087154388 -2 -39.018959045 38 -2 48.316570282 38 -2 -13.229437828 40 -2 -42 42 -1.1343802214 42 42.935409546 -2 -52 44 -0.051894146949 -11.402374268 44 -2 44 44 -1.2250323296 -42 46 -1.6335362196 66 46 -0.96511214972 -11.161291122 48 -2 -11.608566284 50 -2 11.094005585 50 -2 46 53.3409729 -2 40 55.354675293 -2 54 55.439254761 -2 60 54 -1.5800129175 -13.449688911 58 -2 -14 58 -1.3652077913 -6 60.151325226 -2 14 60 -1.3751121759 -23.974294662 62 -2 -22 63.267436981 -2 20 62.507415771 -2 -21.170196533 64 -2 -20.453950882 66 -2 14 66 -0.86486107111 14 70 -1.5214388371 6 -72 1.8167065382 21.338760376 -70 0 -4 -68 1.3444924355 23.376466751 -66 0 -6 -64 1.4941166639 14 -56.296638489 0 18 -58 1.859650135 22 -58 0.65717971325 24.21979332 -58 0 20 -56 0.38717013597 -14 -54 1.5301742554 32 -54 0.88472664356 -46 -50.47624588 0 -36 -49.172664642 0 -38 -47.529502869 0 -40 -46 0.5488601923 -38 -44 0.7445140481 -36 -44 1.3327616453 -40 -41.277809143 0 -40 -42 0.37776815891 -8 -42 0.90113461018 16.46868515 -42 0 -36 -39.330749512 0 56 -38 1.6492034197 -18 -31.83665657 0 52.348548889 -30 0 -62 -28 0.9960206151 34 -27.598960876 0 -60 -24 1.0366879702 74 -24 0.59027719498 74.994789124 -22 0 56.849117279 -20 0 74.909378052 -20 0 74.34450531 -18 0 -46 -13.760032654 0 60.024551392 -14 0 71.891227722 -14 0 68 -10.729469299 0 68 -12 1.3003594875 50 -8.765627861 0 62 -10 0.66197001934 66.39074707 -10 0 62 -8 1.0770704746 64 -8 0.41808399558 -36.401924133 -4 0 -62.146995544 0 0 66.418159485 0 0 -62.41815567 4 0 66 4 0.15097163618 -42 10 0.28088596463 -60 12 0.41808411479 -58 12 1.0770703554 -46 12.765627861 0 -54 14.686280251 0 44 15.163259506 0 62 14 0.63045608997 -66 16.142538071 0 -56.389316559 16 0 50 17.760032654 0 -69.385894775 20 0 -56 20 1.6560096741 -52.849117279 24 0 64 28 1.0366879702 53.138111115 32 0 66 32 0.9960206151 -62 38 1.5137524605 64 44 1.4857951403 -12.468684196 46 0 40 48 1.3327617645 44 48 0.77058768272 44 50 0.54886007309 46 52.722640991 0 58 52 1.8097531796 60 52.622379303 0 -34 54 0.78963136673 50 54.47624588 0 54 54.907619476 0 56 54.611812592 0 -30 57.850406647 0 36 56.760669708 0 -20 60 0.718732059 -18 60 0.69114416838 -14 60.106723785 0 -4 60.701187134 0 26 60.539718628 0 -20.21979332 62 0 -20 63.111610413 0 6 62 0.23286539316 -19.884614944 64 0 -19.794765472 68 0 -18.523200989 72 0 8 72 1.3444925547 -10 78 0.14628235996 18 -70.94896698 2 20 -69.54699707 2 21.407251358 -68 2 20 -68 3.231249094 22 -64 2.4984111786 20 -62 3.5872654915 -3.1766614914 -60 2 18 -60 3.7691478729 -26 -52 3.2792124748 -50 -49.732139587 2 -46 -49.399330139 2 26 -50 3.4271395206 32 -50 3.5129423141 -48 -48 3.8311583996 -46 -48 3.2253744602 -9.5970897675 -48 2 22 -48 2.9580917358 -8.8697795868 -46 2 -44 -38 2.9487967491 -30 -38 2.9098424911 56 -37.448963165 2 -44.461238861 -36 2 -28 -36 2.9626173973 -10.293455124 -36 2 -24 -32.880020142 2 -16 -32.763160706 2 -60 -30 3.5496840477 28 -27.745725632 2 -54 -24.590726852 2 55.779769897 -24 2 72 -20 3.1613037586 58.829120636 -18 2 60 -18 3.4487309456 73.039932251 -18 2 70 -16 3.8119010925 70 -14 2.3424394131 58 -4 3.4017050266 -58 2 3.5270750523 62 2 3.5270752907 41.961235046 12 2 -68 19.707660675 2 -66 18 2.3424391747 -66 20 3.8119008541 -68 22 3.0402443409 -56 22 3.4487309456 -50.911487579 30 2 -28 31.841604233 2 -26 31.484554291 2 64 32 3.433142662 -34.642349243 36 2 20 36.763160706 2 30 38 2.3889706135 -54 41.73299408 2 -37.244113922 40 2 32 40 2.9626176357 13.098276138 42 2 34 42 2.9098424911 47.264354706 42 2 -36 48 3.0937235355 48 48 3.8142197132 48 50 3.1419990063 -32 52 3.5965585709 -18 52 2.9580917358 50 53.399330139 2 56 53.092197418 2 -22 54 3.4271395206 34 54 2.6765193939 -26 57.05670166 2 30 56 3.2792124748 -16 64 2.5569956303 -14 64 3.7691473961 8.9189834595 66 2 8 70 2.9559099674 -17.407251358 72 2 -16 73.54699707 2 10 -68 5.5977897644 16 -68 4.9552345276 -3.0086183548 -66 4 18 -66 5.2022624016 20.102861404 -66 4 -2 -60.466396332 4 16 -62 5.5899171829 0 -59.48796463 4 14 -60 5.1478862762 -26 -50 4.3982667923 -52 -46 4.2183070183 -50 -46 5.0006761551 -48 -46 5.0937404633 36 -46 4.9892239571 -48 -44 5.6981058121 -46 -44 5.1063256264 -28 -44 4.8746566772 38 -44 4.9411697388 -46 -42 5.4223461151 -56 -38 5.4467515945 56 -36.004611969 4 -22 -34.112953186 4 56 -36 4.0414843559 58 -36 5.7207350731 60 -35.662593842 4 -18 -32 5.4885354042 24 -29.042665482 4 32 -28.228988647 4 34 -29.313753128 4 66 -28 5.3213434219 -58.224029541 -26 4 -58 -25.803113937 4 -54 -25.735441208 4 62 -20 5.7955899239 68 -20 5.6894221306 70 -20 4.749475956 62 -18 4.971830368 64 -18 5.5724382401 68 -18 5.4356503487 70 -18 4.5902700424 68 -16 4.5581817627 -40 -9.376449585 4 -38.057537079 -8 4 -56 -6 4.8624548912 -34 -4 4.869134903 -35.675033569 -2 4 42.111526489 2 4 42 2.1635220051 4 60 10 4.8624548912 40 12 5.9933261871 44 13.376449585 4 46 14.482680321 4 -64 20 4.5581827164 -66 22 4.5902700424 -64 22 5.4356503487 -60 22 5.5724382401 -64 24 5.6894221306 -66 26 4.4676885605 -56 26 5.6535077095 58 29.735441208 4 62 29.803115845 4 -24 31.095142365 4 -22 31.413822174 4 62.224029541 30 4 -63.637535095 32 4 16 34 5.426150322 52.296981812 36 4 54 36 5.9818162918 63.052265167 36 4 -17.671329498 38 4 25.711881638 38 4 26 38.112953186 4 52 38 5.0437035561 62 38 4.8486733437 -55.119701385 40 4 -52 40.004611969 4 -36.290100098 42 4 50 42 5.029856205 13.104385376 44 4 60 44 4.6830744743 13.1353302 46 4 50 46 5.4223461151 56 46 5.9269704819 32 48 4.8746566772 56 48 5.3003773689 52 50 5.0937399864 54 50 5.0006756783 -28 52 4.7249622345 18 55.49131012 4 -2 62.547058105 4 4 63.48796463 4 -10 64 5.1478862762 6 64.466392517 4 -14 66 4.8466362953 7.4396691322 66 4 -16.102861404 70 4 -14 70 5.2022624016 -12 72 4.9552340508 -2.1265325546 -66 6 4 -66 6.8500533104 12 -66 6.4477033615 14 -64 6.3733205795 -2 -62 7.5938448906 -14 -50.033470154 6 -12 -48.354896545 6 -9.845539093 -44 6 -9.2749881744 -42 6 -52 -40 6.5977454185 -8.5499725342 -38 6 -50 -36 6.9203014374 22.073181152 -36 6 56 -35.562538147 6 -20.526641846 -34 6 -20 -33.391849518 6 60.197799683 -34 6 -52 -32 7.306889534 -16 -30.096233368 6 -52 -30 6.7765302658 -6 -30 7.28916502 18 -30 7.2807197571 56 -30 6.7539625168 58 -30 7.8196864128 62 -30 6.8414788246 -58 -26.170118332 6 30 -26.125717163 6 -56 -26 7.2484431267 58 -26 6.4035000801 -12 -24 6.6569728851 -8 -24 7.2419877052 14 -24 7.621737957 62 -24 7.0250201225 64 -24 6.9284505844 66 -24 6.3149108887 -14 -22 7.2804169655 -10 -22 7.2357487679 16 -22 7.0595612526 -12 -20 7.7464709282 22 -20 7.1121025085 66 -20 6.1340279579 -48 -11.187787056 6 -30 -8 7.7678308487 -28 -4 6.7525320053 -54 -2 7.0285935402 -28 -2 6.503742218 30 0 7.4824304581 36 0 7.0868015289 42 1.1617975235 6 -42 3.8249185085 6 -38 2.8382022381 6 -24 2 7.5860157013 28 2 7.5860157013 39.902309418 2 6 -46 4 6.3893933296 -32 4 7.0868015289 -26 4 7.4824304581 30 4 6.904841423 30 8 7.4266905785 42 12.903390884 6 48 14.874403954 6 52 15.187787056 6 -62 24 6.1340279579 -18 24 7.1121025085 16 24 7.7464704514 -60 26 6.666009903 -12 26 7.0595612526 14 26 7.235748291 18 26 7.2804169655 -60 28 6.9284505844 -24 28 6.5165615082 -16 28 6.2349247932 -10 28 7.621737957 12 28 7.2419877052 16 28 6.6569728851 -28 31.643953323 6 -26 30.125717163 6 -12 30 7.0536837578 60 30 7.2484426498 62 30.170118332 6 -60 32 6.4648451805 56.687088013 32 6 58 32 7.7192397118 -58 34 6.8414788246 -56 34 7.6376571655 -32 35.340736389 6 10 34 7.28916502 20 34.096233368 6 56 34 6.776529789 -50.852005005 36 6 -56.197799683 38 6 -56 38 6.8139052391 -54 39.878395081 6 12 38 6.2343525887 54 38 6.690507412 56 38 7.4184012413 -34.936592102 40 6 -18.073181152 40 6 -34.769680023 44 6 52 44 6.236184597 -30 49.356815338 6 -26 49.656978607 6 16 52.354896545 6 26 52 7.8215370178 24 54 7.1685523987 6 66 7.5938472748 -10 68 6.3733201027 -6 68 7.0691366196 -2 70 6.916533947 0 70 6.8500533104 4 70 7.5278248787 -2 -65.78868103 8 -3.3273043633 -64 8 -2 -64 9.2537231445 0 -62 8.153678894 -16 -50.152187347 8 -14 -49.830287933 8 -22 -47.704738617 8 -22.974111557 -46 8 -23.38240242 -44 8 28 -42.294029236 8 36.350318909 -42 8 -22.496477127 -38 8 -21.786087036 -36 8 38.959400177 -36 8 56 -34.845100403 8 58 -35.727664948 8 20.25422287 -34 8 55.732883453 -34 8 56 -34 8.3915338516 59.288978577 -34 8 58 -34 9.2787847519 -4 -32 9.0311546326 58 -32 8.69181633 -58 -29.793447495 8 -56 -30 8.7206468582 16 -30 8.4203824997 -58.7605896 -28 8 -58 -26.327741623 8 -58 -28 9.4391450882 -54.456554413 -28 8 -56 -26.511709213 8 -56 -28 8.9945802689 -4 -26 8.7633533478 12 -24 8.6784267426 -18 -22 9.2805662155 10 -22 9.9880485535 -16 -20 8.749335289 -6 -20 8.9724798203 12 -20 8.6891622543 -14 -18 8.8319654465 -12 -18 8.4994049072 -8 -18 9.0346403122 12 -18 9.3620920181 16 -18 8.1809835434 26 -18 9.1759157181 -10 -16 9.9150238037 18 -16 8.9154605865 -53.229873657 -6 8 -24 -6 8.9287776947 -53.471851349 -4 8 -22 -2 8.5287103653 26 -2 9.4577922821 30 -2 8.4104089737 36 -2 8.3984050751 -51.703456879 0 8 -50 1.254804492 8 26 0 8.6108732224 46 0.2663615346 8 48 0.5973752737 8 -48 2.1956212521 8 -40 3.9657187462 8 -22 4 8.6108732224 55.703456879 4 8 -32 6 8.3984050751 -26 6 8.4104089737 -22 6 9.4577922821 26 6 8.528711319 57.471851349 8 8 28 10 8.9287776947 32 12 8.3701372147 50 15.342173576 8 54.893115997 14 8 -14 20 8.9154605865 14 20 9.9150238037 -22 22 9.1759157181 -12 22 8.1809835434 -8 22 9.3620920181 12 22 9.0346393585 16 22 8.4994049072 18 22 8.8319644928 20 22 9.9760217667 -8 24 8.6891622543 10 24 8.9724798203 20 24 8.749335289 -6 26 9.9880485535 22 26 9.2805671692 60 30.511709213 8 62 30.327739716 8 -10 32 8.6655511856 58.456554413 32 8 60 32 8.9945812225 62.7605896 32 8 62 32 9.4391441345 60 34 8.7206468582 -54 36 8.69181633 8 36 9.0311546326 -55.288978577 38 8 -54 39.727664948 8 -54 38 9.2787847519 -52 38.845100403 8 -52 38 8.3915328979 25.786087036 40 8 -34.911903381 42 8 26.496477127 42 8 -21.235197067 44 8 -32 46.29573822 8 -28 47.711154938 8 27.38240242 48 8 26.974111557 50 8 26 51.704738617 8 18 53.830287933 8 22 53.971538544 8 20 54.152187347 8 4 66 8.1536798477 7.3273048401 68 8 6 69.78868103 8 6 68 9.2537221909 -20 -49.721549988 10 -21.998556137 -48 10 -22 -47.998023987 10 -22 -48 10.001193047 -10.533550262 -48 10 -24 -46 11.022884369 34 -43.661941528 10 38.893939972 -40 10 -4.6885690689 -36 10 12.550026894 -28 10 -14 -16.314577103 10 20 -14.614289284 10 16 -14 10.608327866 -50 -11.712667465 10 -26 -8.9549455643 10 38 -3.0319876671 10 -53.213500977 -2 10 -51.772975922 0 10 -19.000940323 0 10 48 0.15151023865 10 -48 2.3457803726 10 -19.085916519 2 10 23.085916519 2 10 23.000940323 4 10 58 4 11.985257149 -34 7.0319876671 10 57.213500977 6 10 30 12.954946518 10 56.131221771 14 10 -16 18.61428833 10 -12 18 10.608327866 18 20.314577103 10 8 24 10.264235497 8 38.084663391 10 -35.800094604 42 10 11.070449829 46 10 27.43024826 48 10 26 51.998023987 10 28 50 11.022884369 25.998556137 52 10 24 53.721549988 10 26 52 10.001193047 16 54 10.240460396 26 54 11.778247833 20 56 11.486561775 16 -62 13.799019814 20 -62 13.188139915 16 -60 12.874856949 18 -60 12.31881237 26 -60 13.411822319 16 -58 12.592270851 20 -58 12.065299034 26 -58 12.806387901 28 -58 13.504630089 14 -56 13.371212959 20 -52 12.789801598 -10 -50 12.278305054 28 -48 13.055142403 32 -48 13.296204567 -28 -46 13.028424263 28 -46 12.594205856 32 -45.584461212 12 -46 -44 13.676417351 -44 -44 12.505275726 -42 -44 12.119041443 -30 -44 13.19847393 -25.363565445 -44 12 -46 -42 13.454371452 -44 -42 12.459106445 -42 -42 12.124084473 24.986377716 -42 12 -36 -40 12.85196209 -44 -38 13.596193314 -36 -38 13.383337975 -24 -34 13.803251266 -1.0588634014 -28 12 9.9565086365 -26 12 -1.4290231466 -22 12 8.4376420975 -22 12 -3.4100556374 -18 12 9.118894577 -18 12 -16.037406921 -16 12 -14 -14.643706322 12 -8 -14.528259277 12 -6 -15.47604847 12 26 -15.412053108 12 58 -16 13.237887383 62 -16 12.54389286 64 -16 12.627502441 -40 -13.24141407 12 16 -12.737438202 12 20 -12.702441216 12 22 -13.233680725 12 66 -14 12.848087311 -30 -11.683119774 12 58 -12 12.691868782 62 -12 12.085630417 -22 -8.1933164597 12 60 -10 12.358328819 62 -8 12.379684448 68 -8 13.640137672 26 -4.414413929 12 28 -5.0141205788 12 32 -5.1860198975 12 64 -6 12.68464756 42 -3.0165128708 12 66 -4 13.603617668 22.995250702 -2 12 54 0 12.379012108 56 1.7191839218 12 -56 2 13.245072365 -17.214776993 2 12 21.214776993 2 12 60 2 13.245072365 -50 4 12.379012108 -36 7.6286096573 12 -18.995250702 6 12 -22 8.4144144058 12 59.339962006 8 12 -62 10 13.02532959 -64 12 13.640137672 -58 12 12.379684448 30 14.471018791 12 -58 16 12.085630417 -54 16 12.691868782 -16 16.702442169 12 -12 16.737438202 12 40 16.661190033 12 -62 18 12.848087311 -52 18 13.496455193 -8 18.444267273 12 10 19.476049423 12 12 18.528259277 12 16 18.188924789 12 18 18.643707275 12 -60 20 12.627502441 -58 20 12.54389286 -54 20 13.237887383 -24 20.963062286 12 -5.1188941002 22 12 7.4100556374 22 12 -4.4981846809 24 12 5.429022789 26 12 -4.9058847427 28 12 -5.9565086365 30 12 25.350723267 30 12 5.3711018562 34 12 -12.476564407 38 12 40 42 13.383337975 46 42 13.082355499 -22 47.041347504 12 48 46 12.459106445 50 46 13.454371452 -28 49.584461212 12 46 48 12.119041443 48 48 12.505275726 -24 50 12.594205856 29.065824509 50 12 48 50 13.123993874 -24 52 13.055142403 42 52 12.611562729 44 54 13.612269402 -26 56 13.834495544 -10 60 13.371212959 -24 62 13.504630089 -22 62 12.806387901 -16 62 12.065299034 -12 62 12.592271805 -22 64 13.411822319 -14 64 12.31881237 -12 64 12.874857903 -16 66 13.188140869 -12 66 13.799020767 14 -62 14.657798767 26 -62 14.626094818 12 -60 14.975317001 30 -60 15.351478577 12 -58 14.482136726 -40 -52 14.908507347 -8.8206167221 -50 14 14 -50 14.694678307 32 -50 14.045825958 14 -48 15.764600754 -46 -46 14.496856689 -46 -38 14.449211121 -28 -38 14.575696945 -3.2896416187 -38 14 43.38419342 -38 14 -26 -36 15.015341759 43.094371796 -36 14 -34 -34 15.729951859 15.399873734 -34 14 -23.578701019 -32 14 -0.65797013044 -30 14 -0.19966848195 -24 14 33.424827576 -22 14 -0.96263366938 -20 14 60 -20 14.764840126 -18.747610092 -18 14 -2.19967103 -18 14 54 -18 15.702123642 66 -18 14.540669441 -6 -14.467334747 14 9.3845062256 -16 14 26 -14.45277977 14 68 -16 15.112094879 -54 -13.111805916 14 -12 -13.300098419 14 12 -13.351849556 14 14 -12.355498314 14 24 -13.120159149 14 -26 -11.305733681 14 18 -11.501344681 14 52 -12 15.111812592 -20 -7.8175039291 14 70 -8 15.150479317 38 -4.9931855202 14 -17.163576126 -4 14 70 -4 15.961414337 22.061660767 -2 14 -16.298131943 0 14 20.955997467 0 14 -16.955997467 4 14 20.298131943 4 14 -64 6 14.992806435 -46 6.5175328255 14 -18.061658859 6 14 20.555141449 6 14 -34 8.993185997 14 22.309873581 10 14 24 11.817502975 14 -66 14 15.295311928 -16 15.671425819 14 -14 15.501344681 14 28 14.422888756 14 14 17.3027668 14 58 17.111804962 14 -48 18 15.436490059 10 18.467334747 14 20 18.874376297 14 54 18.686845779 14 -64 20 15.112095833 -5.3845062256 20 14 -62 22 14.540669441 -52 22 14.668699265 -50 22 15.702123642 6.1996707916 22 14 22.747610092 22 14 -56 24 14.764840126 -54 24 15.141709328 -3.711455822 24 14 4.9626336098 24 14 -4.1375608444 28 14 -4.9135742188 30 14 27.127166748 34 14 -37.956264496 38 14 40 38 15.092015266 46 38 15.058334351 -39.094371796 40 14 48 40 14.457788467 -39.38419342 42 14 32 42 14.575695992 50 43.819892883 14 -32 52 14.40222168 -12 52 14.856241226 32 53.854423523 14 -8 56 14.995669365 26 56.99584198 14 44 56 14.908507347 -8 62 14.48213768 -26 64 15.351478577 -8 64 14.975317955 -22 66 14.626094818 -10 66 14.657798767 16 -64.876701355 16 12 -64 17.302927017 -34 -54.507293701 16 -16 -55.618236542 16 -12 -55.114112854 16 35.321872711 -52 16 10 -50 17.149644852 -48.78861618 -44 16 -48.951408386 -40 16 -48 -38.002170563 16 -47.999271393 -38 16 -48 -38 16.000597 44.405078888 -38 16 -48 -36 16.980009079 43.808433533 -36 16 -44 -32 17.368833542 -38 -32 16.314977646 9.603302002 -28 16 58 -22 17.01738739 66 -22 17.948598862 -20.385469437 -20 16 -0.51937967539 -20 16 54 -20 16.900745392 -18 -16.309242249 16 -54 -14.59637928 16 -4 -15.390302658 16 8.913895607 -16 16 28 -15.561592102 16 -56 -12.629745483 16 -14 -13.285000801 16 -10 -12.916501999 16 14 -11.97843647 16 16 -11.244556427 16 20 -11.142651558 16 -19.432313919 -8 16 40 -4.801399231 16 70.619560242 -6 16 -16.68009758 -4 16 21.503406525 -2 16 20.156005859 2 16 -64.324035645 4 16 -40 7.7087230682 16 -32 9.7758493423 16 -20 8.7111139297 16 23.432313919 12 16 -16 15.142651558 16 -12 15.244556427 16 -10 15.97843647 16 28 14.94623661 16 12 17.328899384 16 16 16.849592209 16 60 16.629745483 16 -46 18 16.972372055 -24 19.561592102 16 8 19.390302658 16 56 19.22086525 16 58 18.596378326 16 -4.9138946533 20 16 -64 22 16.268281937 -60 25.024785995 16 -3.1704859734 24 16 -62 26 17.948598862 -3.1633884907 26 16 25.254779816 26 16 -3.6499915123 28 16 -5.603302002 32 16 4.012799263 32 16 42 36 16.314977646 -10.892757416 38 16 32 39.931705475 16 36 38 16.528808594 52 40 16.980009079 -40.405078888 42 16 51.999271393 42 16 52 42.002170563 16 52 42 16.000597 -40.081863403 44 16 -15.749562263 44 16 52.951408386 44 16 -39.164955139 46 16 -16.103040695 46 16 -15.079875946 48 16 -10 50 17.156486511 -34 52.580036163 16 -6 54 17.149644852 14 57.220748901 16 45.753261566 56 16 16 59.114112854 16 20 59.618236542 16 26 58.937969208 16 -6 62 16.137239456 -12 68.876701355 16 -8 68 17.302927017 26 -64.861076355 18 32 -60.916431427 18 -16 -56.194778442 18 -40 -54.612503052 18 -36 -55.779602051 18 -28 -55.774085999 18 -12 -55.480846405 18 35.698516846 -56 18 -10 -53.683742523 18 -47.776367188 -48 18 16 -44.144710541 18 -50.995887756 -42 18 -50.996501923 -40 18 44.629055023 -40 18 44.758548737 -38 18 -23.453100204 -30 18 10.897322655 -30 18 0.46225807071 -26 18 8.2539806366 -26 18 64 -23.121160507 18 -21.393072128 -22 18 6.917974472 -22 18 6.9598174095 -20 18 68.077018738 -20 18 -1.5859974623 -18 18 -48 -15.797997475 18 -3.2221169472 -16 18 -55.391555786 -14 18 -14 -13.081235886 18 -12 -12.73664856 18 -8 -13.218310356 18 12 -12.825159073 18 26.229784012 -14 18 71.10218811 -14 18 -24 -11.095748901 18 18 -10.960365295 18 22 -11.537823677 18 48.819129944 -12 18 -20 -8.7143583298 18 -59.196216583 -8 18 28 -6.4535169601 18 71.970649719 -8 18 -17.718885422 -6 18 48.5235672 -6 18 22.864210129 -4 18 44 -3.7546424866 18 71.10382843 -2 18 -67.10382843 6 18 -67.651351929 8 18 -38.23348999 8 18 -34 9.3626461029 18 -18.864210129 8 18 20.62543869 8 18 -44.5235672 10 18 -28 10.66779232 18 -24 10.45351696 18 21.718885422 10 18 24 12.714357376 18 -14 14.960365295 18 26 14.045585632 18 -67.61554718 16 18 -20 16.411298752 18 -66.215400696 20 18 -3.6079187393 22 18 -64.077018738 24 18 -50 26 18.731700897 3.8123600483 26 18 3.4607708454 28 18 -4.2539806366 30 18 26.940757751 32 18 -8.7843990326 36 18 30 37.990608215 18 32 38.366855621 18 -40.758548737 42 18 -40.629055023 44 18 54.996501923 44 18 54.995887756 46 18 54.305107117 48 18 53.264766693 50 18 16 59.480846405 18 44 58.612503052 18 -31.698514938 60 18 20 60.194778442 18 -28 64.916435242 18 -4.9000654221 64 18 -22 68.861076355 18 -20 69.512962341 18 12 -66.416557312 20 14 -67.07901001 20 16 -67.279800415 20 22 -66.849029541 20 28 -64.856582642 20 9.0706768036 -64 20 30 -63.62840271 20 -36 -56.713874817 20 35.477626801 -58 20 -42 -54.460800171 20 36.736537933 -56 20 -47.3163414 -50 20 6 -50 20.628444672 40 -48.315490723 20 -51.406368256 -44 20 13.307370186 -44 20 44 -35.315093994 20 -26 -33.799053192 20 13.12571907 -32 20 62 -25.027923584 20 62 -26 21.98979187 0.35270121694 -24 20 48 -20 21.02673912 69.196792603 -20 20 -50 -16.08007431 20 -19.502084732 -18 20 24 -12.560372353 20 -59.44512558 -8 20 26 -5.9374508858 20 47.818855286 -6 20 72.931503296 -6 20 46.478118896 -4 20 -64.929801941 0 20 71.188903809 0 20 70.080833435 2 20 -67.188903809 4 20 -17.402793884 6 20 -68.565986633 8 20 -20 8.953953743 20 -16 15.239979744 20 -68.545303345 16 20 60.980804443 16 20 -43.24256897 18 20 20 18.142824173 20 56 19.613708496 20 47.210327148 20 20 54 20.08007431 20 -44.401649475 22 20 -65.196792603 24 20 -58 29.027923584 20 26.52293396 32 20 4.5965957642 36 20 28 36.250007629 20 -14.769907951 42 20 -38.76965332 48 20 55.406368256 48 20 52.876644135 52 20 50 55.423881531 20 -34 56.754718781 20 48 57.1665802 20 -33.603740692 58 20 0 58 21.931695938 44 59.524593353 20 -32.736537933 60 20 22 60.312992096 20 40 60.713874817 20 -31.477626801 62 20 -26 67.62840271 20 -24 68.856582642 20 -5.0706768036 68 20 -18 70.849029541 20 -10 71.07901001 20 -8 70.416557312 20 12 -67.187088013 22 16 -67.639038086 22 24 -66.93195343 22 28 -65.318954468 22 32 -62.628025055 22 34.420734406 -60 22 -38 -56.667881012 22 -14 -55.310626984 22 -12 -54.771400452 22 37.075748444 -56 22 -7.6845741272 -52 22 -4 -50 23.652921677 -4.6168532372 -48 22 -2 -48 23.673057556 -50.743915558 -46 22 0 -46 23.809791565 -2.4711999893 -42 22 18 -41.161647797 22 -53.202518463 -40 22 19.391918182 -40 22 -53.101047516 -38 22 -1.7193301916 -38 22 19.583511353 -38 22 -52.440307617 -36 22 -24 -33.376506805 22 44.054668427 -34 22 44 -33.847553253 22 44 -32 22.91309166 64 -25.639463425 22 66 -24.637897491 22 44 -24 23.714456558 36 -22 22.409723282 44 -22 23.499412537 -42 -20 23.733213425 -44 -18 22.805906296 -40 -18 23.23194313 70.781768799 -18 22 -52 -15.647947311 22 -36 -16 23.136575699 -14 -13.336701393 22 -8 -13.11301136 22 73.064735413 -12 22 -57.811096191 -10 22 47.43522644 -6 22 -16.335632324 -2 22 21.549459457 -2 22 72.323745728 -2 22 -66.551780701 2 22 20.008712769 2 22 -68.323745728 6 22 -40 6.7244639397 22 -43.0197258 8 22 21.146827698 8 22 -43.101669312 12 22 -20 16.927646637 22 -8 16.793064117 22 -68.439231873 18 22 40 20 23.136575699 -66.781768799 22 22 5.0443425179 24 22 46 24 23.733213425 -44.038414001 26 22 -34 26 23.935676575 25.112625122 26 22 -62 28.637897491 22 -60 29.639463425 22 -3.5257384777 28 22 46 28 22.844764709 -48 30 22.951597214 -38 30 23.293544769 -36 30 22.113882065 -38 32 22.489227295 30 38.091293335 22 56.440307617 40 22 5.719329834 42 22 57.101047516 42 22 -15.391917229 44 22 57.202518463 44 22 -39.113880157 46 22 -10 46 23.48097229 56.743034363 46 22 -37.263679504 50 22 2 50 23.655416489 54.743915558 50 22 6 52 23.673057556 8.616853714 52 22 4 54 23.740018845 12 56.338130951 22 14 57.748214722 22 22 59.882011414 22 46 59.012794495 22 -33.075748444 60 22 36 61.431060791 22 -30.420734406 64 22 -28 66.62802887 22 -24 69.318954468 22 -20 70.93195343 22 -8 71.187088013 22 8 -65.201217651 24 30 -64.141532898 24 -42 -55.083091736 24 -40 -55.913581848 24 -22 -55.26272583 24 1.691442132 -56 24 -46 -52.10427475 24 -8 -52.998119354 24 0.69139462709 -54 24 39.351257324 -48 24 41.033569336 -44 24 -52.809608459 -42 24 20 -40.453372955 24 -53.345424652 -40 24 0 -40 24.764745712 -24 -35.134334564 24 48 -30 25.422672272 64 -25.952266693 24 66 -24.840229034 24 36 -20.988162994 24 -38 -20 24.238420486 -36 -18 24.695730209 43.044208527 -18 24 -34 -16 24.900629044 -6 -14.396710396 24 10 -14.94619751 24 -8 -13.454600334 24 12 -13.208813667 24 22 -12.60938549 24 -22 -9.0671272278 24 45.646362305 -10 24 73.398269653 -6 24 42 -2.1499168873 24 73.076553345 -4 24 44 -1.5583560467 24 48 -2 24.559392929 20.755466461 0 24 71.546127319 0 24 -16.257663727 2 24 -40 5.5583558083 24 -16.755466461 4 24 20.274915695 4 24 -43.069812775 6 24 -44 6 24.559392929 -69.076553345 8 24 65.186424255 8 24 28 14.40799427 24 -12 16.180847168 24 12 17.45459938 24 14 17.136192322 24 10 18.396709442 24 -5.1967773438 20 24 -36 22 25.823738098 -34 24 25.354450226 43.446052551 24 24 40 27.427352905 24 -62 28.840229034 24 -56 31.318920135 24 4.8822789192 40 24 -38 45.531074524 24 -12 45.537857056 24 57.345424652 44 24 2 46 24.85607338 -35.35125351 52 24 6 54 24.085695267 14 57.668087006 24 50 56.10427475 24 8 58 25.938510895 46 59.083091736 24 -32.915092468 60 24 -30.456726074 64 24 -2 67.178344727 24 -26 68.141532898 24 -6 70.473190308 24 12 -67.032440186 26 20 -67.524665833 26 22 -67.305511475 26 -32 -56.814041138 26 35.318500519 -58 26 -26 -55.119529724 26 -44 -53.483791351 26 -12 -53.288013458 26 -6 -53.668331146 26 -24 -52 27.537307739 -50.653110504 -46 26 -52.460609436 -42 26 22 -40.88117981 26 22 -42 27.454568863 -22 -40 27.424182892 -24 -38 26.321660995 42.608959198 -38 26 -0.16907137632 -36 26 44 -35.991508484 26 45.381435394 -34 26 -50.664585114 -18 26 38 -18 26.691343307 70.785507202 -18 26 14 -13.094135284 26 20 -12.706748009 26 72.381980896 -14 26 -53.45708847 -12 26 73.180633545 -10 26 -21.356401443 -8 26 46.030036926 -8 26 26 -5.2328276634 26 72.68901825 -4 26 49.259674072 -2 26 -16.875999451 0 26 71.105239868 0 26 20.870376587 2 26 48 2 27.187597275 -67.105239868 4 26 -44.650619507 4 26 -46 4 26.648235321 -17.476169586 4 26 20.875999451 4 26 -45.259674072 6 26 -18.545576096 6 26 -68.68901825 8 26 -24 9.948638916 26 -22 9.2328281403 26 60 10 26.353439331 59.223773956 12 26 -69.180633545 14 26 -68.959602356 16 26 12 18.236309052 26 18 18.205471039 26 -36.957462311 20 26 22 20.622600555 26 55.658931732 20 26 -32 23.373374939 26 -65.573814392 24 26 -3.75765872 26 26 -62.469779968 28 26 -41.381435394 38 26 4 40 26.32929039 28 42 26.321660995 -24 44 27.934249878 0 44.694080353 26 28 44 27.431108475 -18 46 27.454566956 -32 50 27.310846329 54.653110504 50 26 14 57.459724426 26 48 57.483791351 26 8.3193874359 58 26 44 59.64056778 26 40 60.73638916 26 -31.318500519 62 26 0 66.285621643 26 -20 70.851448059 26 -8 71.032440186 26 14 -66.835441589 28 22 -66.843307495 28 34.289455414 -58 28 -36 -55.83813858 28 -28 -54 28.279651642 -8 -53.918476105 28 35.648796082 -54 28 -26 -50 29.457118988 -20 -48 28.134466171 -51.095363617 -44 28 30 -44 28.851371765 20 -41.920116425 28 28 -42 28.112138748 10 -39.007629395 28 -26.761819839 -36 28 43.493118286 -36 28 16 -32.11819458 28 20 -33.648483276 28 48 -33.198783875 28 15.703775406 -32 28 -0.19618676603 -30 28 10 -28.079227448 28 60 -28.705224991 28 -1.1870654821 -24 28 65.743492126 -24 28 68.979476929 -20 28 -51.462230682 -18 28 -6 -16.424982071 28 9.4724159241 -18 28 -16 -15.449210167 28 28.771957397 -16 28 71.232704163 -16 28 16 -13.557567596 28 20 -13.296879768 28 30 -6.1728272438 28 -20.381305695 -6 28 -52 -4 28.231370926 25.045827866 -4 28 -56 -2 28.045423508 23.285865784 -2 28 42 -0.12415254116 28 71.211547852 -2 28 -64 1.4512572289 28 -50 2 28.579715729 -17.956987381 2 28 52.725830078 2 28 68 2 28.557077408 -19.285865784 6 28 54 6 28.496871948 -45.306266785 8 28 -30 9.709602356 28 -21.045827866 8 28 56.761077881 8 28 -26 10.172827721 28 24.381305695 10 28 54 10 29.354284286 -40 13.12434864 28 55.86384201 16 28 -8 19.19644928 28 33.212837219 18 28 -67.232704163 20 28 -30 20 29.819141388 -5.4724159241 22 28 -4.539150238 24 28 7.0090508461 24 28 24.73446846 26 28 32.753334045 32 28 -50 35.026660919 28 -7.9494848251 34 28 57.411003113 34 28 -46 36.341796875 28 -44 37.198783875 28 -40 39.667766571 28 3.4655103683 38 28 -39.493118286 40 28 -6 43.007629395 28 -6 42 29.420675278 -28 44 28.851270676 -28 46 28.390928268 -24 46 28.112138748 -20 46.322853088 28 -26 48 28.851371765 -22 48 29.586513519 55.095363617 48 28 24 52 28.134466171 30 54 29.457118988 51.266693115 54 28 -31.648794174 58 28 34 58 29.472312927 40 59.83813858 28 44 58.977630615 28 -31.242975235 60 28 0 67.284301758 28 -18 70.843307495 28 -14 71.124855042 28 26 -64.681983948 30 2 -62.577812195 30 -34 -54.910022736 30 -42 -53.131999969 30 -12 -50.747737885 30 -26.774915695 -50 30 33.265628815 -50 30 12 -38.262348175 30 40 -36.790344238 30 -53.236358643 -36 30 46 -34.74684906 30 -53.697975159 -34 30 56 -31.215406418 30 -53.879127502 -30 30 60 -29.053361893 30 -53.704013824 -28 30 -21.195356369 -24 30 8.565205574 -24 30 -20 -19.787555695 30 -18 -17.319387436 30 32 -16.298042297 30 -12 -15.071738243 30 -10 -15.40053463 30 14 -15.064461708 30 70.180152893 -16 30 71.585144043 -12 30 -21.18044281 -6 30 36 -5.1650114059 30 47.153274536 -6 30 71.427207947 -6 30 52 -2.2404878139 30 -19.232107162 -2 30 -18.751279831 0 30 22.714231491 2 30 44 2.4789457321 30 58 2.2627646923 30 -64.598052979 4 30 -19.135663986 4 30 22.751279831 4 30 48 5.4344210625 30 -48 6.2404875755 30 -66.878036499 8 30 -24 9.3904333115 30 -28 10.216967583 30 -67.585144043 16 30 54 16 31.423362732 -67.133056641 18 30 -20 18.621940613 30 16 19.071739197 30 18 19.295625687 30 -65.177070618 22 30 9.6997814178 22 30 24.991828918 26 30 56.72870636 26 30 25.195356369 28 30 -4.9049329758 30 30 24.918268204 30 30 4 34.667648315 30 57.879127502 34 30 -49.484600067 36 30 -48 36.669563293 30 -46 37.425197601 30 -42 38.74684906 30 -40 39.422134399 30 2.1552991867 38 30 57.697975159 38 30 -12 44.304405212 30 21.992128372 44 30 -16 46.203769684 30 -29.910377502 56 30 12.233551025 58 30 38 58.910022736 30 -29.090154648 62 30 4 65.110099792 30 2 66.577812195 30 -22 68.681983948 30 -20 69.490463257 30 -2 68.379798889 30 2 -62.703792572 32 30.023155212 -60 32 31.475811005 -58 32 -40 -52.813053131 32 -34 -53.403736115 32 -44 -50.487373352 32 31.037042618 -50 32 -46.29158783 -48 32 14 -38.300876617 32 14 -38 32.809822083 36 -36.398788452 32 8 -34.710475922 32 46 -34.842666626 32 2 -32.778465271 32 25.625089645 -34 32 60 -28.947891235 32 -26.556901932 -26 32 -26 -26 33.143486023 -21.281658173 -26 32 -26 -22 33.150905609 -27.263280869 -20 32 66.661026001 -20 32 -14 -16.220851898 32 12 -17.55365181 32 -51.329082489 -16 32 -27.887170792 -14 32 34 -6.2433857918 32 44 -7.3291196823 32 28 -4.6528849602 32 69.48764801 -4 32 68.278358459 -2 32 -54 3.8158946037 32 -19.714691162 2 32 -58 4 33.39585495 48 7.3923692703 32 -26 9.6265201569 32 -24 8.652885437 32 -66.613830566 12 32 -32.190723419 16 32 -12 19.435176849 32 -65.016929626 20 32 12 21.263250351 32 18 20.220851898 32 32.201118469 20 32 22 22.065567017 32 24.050098419 24 32 31.263280869 24 32 56.489818573 24 32 -5.4425778389 26 32 30.664588928 26 32 57.355606079 28 32 -5.3615589142 30 32 30.556901932 30 32 -56 32.947891235 32 -6 32.012397766 32 -52 35.40411377 32 -7.0043869019 34 32 0 37.832782745 32 57.879192352 36 32 -44 38.209766388 32 -6 38 33.848949432 31.3325634 38 32 57.544208527 38 32 56 40 33.472686768 32 46 33.305755615 -22 49.833408356 32 32 51.510879517 32 -26 54 33.033226013 48 54.487373352 32 44 56.813053131 32 12.233938217 58 32 8 62.073688507 32 -22 67.40196228 32 0 67.606941223 32 -12 69.116691589 32 4 -63.239181519 34 -2 -59.61516571 34 28 -58 35.526344299 30.767469406 -54 34 -32 -50.768344879 34 -40 -50 35.273159027 -30 -46 35.429088593 -15.575146675 -40 34 -50.898807526 -38 34 12 -34.755836487 34 44 -34.909202576 34 -53.02116394 -34 34 8 -33.369895935 34 10.367553711 -34 34 24 -33.037853241 34 13.051073074 -32 34 12 -31.418230057 34 56 -31.221635818 34 11.071914673 -30 34 -20.577011108 -28 34 10.435306549 -28 34 -25.065660477 -26 34 -21.592414856 -26 34 -24.579790115 -24 34 -21.962932587 -24 34 -24.98094368 -22 34 -21.392131805 -22 34 10.492974281 -22 34 -18 -18.979562759 34 11.380319595 -20 34 -14 -17.198959351 34 -12 -17.07466507 34 -10 -17.516225815 34 -27.896400452 -14 34 68.990119934 -12 34 38 -8.2256698608 34 34 -6.0974411964 34 42 -7.1210665703 34 32 -5.6563601494 34 36 -5.9805436134 34 38 -4.4700455666 34 66 -4 35.554721832 -21.498907089 -2 34 26.501022339 -2 34 64 -2 35.376735687 -20.856204987 0 34 -21.27737999 4 34 24.856204987 4 34 -60 6 35.376735687 -24 6 35.839958191 46 6.4987273216 34 -34.195404053 8 34 -34 8.4700460434 34 -32 9.9805431366 34 -28 9.6563596725 34 -64.667152405 10 34 -38 11.121066093 34 -30 10.097441673 34 -34 12.225669861 34 -32 14.117887497 34 -16 20.175704956 34 -10 21.401094437 34 14 21.516225815 34 16 21.07466507 34 22 22.979562759 34 30 24.467828751 34 25.392131805 26 34 28.98094368 26 34 25.962932587 28 34 28.579790115 28 34 25.592414856 30 34 57.540904999 30 34 -6.4353065491 32 34 -7.0719146729 34 34 -8 35.418231964 34 -8 34 35.688446045 -48 36.928272247 34 -46 37.608894348 34 -9.0510730743 36 34 -6 37.736118317 34 -4 37.369895935 34 2.8334856033 36 34 57.574985504 36 34 -40 38.909202576 34 -8 38.755836487 34 -10 40.990287781 34 33.029838562 50 34 -26.767469406 58 34 11.861063004 58 34 -25.595424652 62 34 -24 64 34.020793915 6 -62.796161652 36 10 -62.787174225 36 -4 -57.465461731 36 -7.253510952 -54 36 28 -54 36.962863922 -38 -48 37.674629211 -34 -48 37.523639679 -29.084114075 -42 36 14 -36.415039062 36 13.450598717 -36 36 12 -34.35943985 36 40 -35.053882599 36 8 -34 37.277008057 10.941214561 -34 36 10 -33.522808075 36 50 -33.214019775 36 -52.850639343 -32 36 14 -31.715063095 36 56 -30.5981884 36 12.181227684 -30 36 58 -29.207389832 36 -3.1274905205 -28 36 -21.149829865 -26 36 -24.384521484 -24 36 -21.369346619 -24 36 11.23573494 -24 36 -24.903671265 -22 36 -8 -22 37.370960236 -16 -19.068929672 36 -10 -18.989862442 36 14 -20 36.903347015 30 -16.831645966 36 -28.232782364 -12 36 36 -10.008254051 36 38 -7.9319386482 36 40 -7.0583786964 36 -24.956165314 -6 36 36 -5.2905216217 36 46.072566986 -6 36 66 -6 36.592288971 30 -3.5369095802 36 38 -3.634775877 36 56 -2.7908821106 36 26.765699387 0 36 -22.240530014 2 36 26.240528107 2 36 -36 4.4486765862 36 -34 7.6347761154 36 26.880031586 6 36 -32 9.2905216217 36 -28 8.6026716232 36 -62 10 36.592288971 -34 11.931940079 36 -62 14 37.393562317 -24 22 36.940246582 20 23.068929672 36 55.164390564 22 36 16 24 37.775554657 -7.8367152214 26 36 10.717856407 26 36 28.903671265 26 36 56.435871124 26 36 25.369346619 28 36 28.384521484 28 36 25.149829865 30 36 28.624811172 30 36 -54 33.207389832 36 29.333337784 32 36 -12 35.995239258 36 -8.1812286377 34 36 -10 35.715065002 36 -6 37.522808075 36 4.027739048 36 36 56.850639343 36 36 -8 38.35943985 36 -9.4505987167 40 36 -10 40.415039062 36 36 52 36.449245453 -24.536111832 56 36 4 -61.378395081 38 14 -61.433162689 38 0 -59.574386597 38 24 -56 39.396785736 26 -52 38.493774414 -11.180481911 -48 38 -40 -46 38.73274231 -36 -46 39.442367554 -32 -45.551773071 38 14 -36.988101959 38 8 -34.255081177 38 12 -36 38.447822571 -50.71786499 -34 38 30 -33.46660614 38 54 -30.746852875 38 18 -30 39.458137512 -52.339927673 -28 38 14 -28 38.809749603 58 -27.696182251 38 -18 -26 39.319599152 12.659818649 -26 38 -51.639026642 -22 38 -16 -22 39.114654541 -14 -20.16985321 38 -12 -22 39.637454987 -30 -14 38.80588913 64.816841125 -14 38 -46.881866455 -10 38 38 -9.1932573318 38 40 -8 38.012355804 42 -7.039712429 38 52 -4.6266264915 38 34 -3.4917180538 38 58 -4 38.625793457 60 -4 38.456237793 32 -2 38.894317627 40 0.80766671896 38 -26 2 39.78799057 28.062913895 4 38 -32 7.1777024269 38 -28 6 38.894317627 -54 8 38.625793457 33.347423553 16 38 33.334026337 18 38 54.253410339 22 38 -14 24 38.9311409 -10 26 38.324989319 18 26 39.668754578 20 26 39.114654541 22 26.203321457 38 55.639026642 26 38 -10 28 39.164237976 12 28 38.759223938 -55.268352509 30 38 -10 30 39.287921906 -10 32 38.809749603 8 36 39.779067993 30.926614761 36 38 -6 38.593582153 38 -10 40.988101959 38 50 44 39.015995026 46 48 39.201034546 44 50 38.73274231 15.180481911 52 38 -22 56 38.493774414 -22 58 38.583091736 -20 60 39.396785736 -18 62 39.261276245 0 65.378395081 38 6 -60.007900238 40 2 -59.193885803 40 0 -57.986064911 40 -4 -54.745510101 40 20 -56 41.386638641 22 -52 41.719997406 21.400688171 -46 40 20 -46 41.738006592 -38 -44 40.782295227 -34 -44 40.346309662 -32 -40 41.820209503 -29.560453415 -38 40 30 -33.057094574 40 40 -33.063072205 40 -27.512552261 -32 40 -16 -32 40.759700775 -50.757793427 -30 40 -16 -30 41.102752686 54 -28 41.123458862 -16 -26 40.836849213 18 -26 41.541881561 -50.896854401 -24 40 -16 -24 40.157154083 -14 -24 40.889064789 -12 -24 40.923049927 -10 -24 40.148059845 16 -24 40.496177673 20 -24 41.734390259 60 -20 40.792514801 -46 -14 41.467224121 37.469993591 -12 40 60 -10 41.879383087 62 -10 40.694046021 -44.443706512 -8 40 52 -6 41.138706207 -30 -4 41.334392548 -39.726638794 -2 40 34 0 40.631721497 -34 3.3001155853 40 -34 2 41.158031464 -32 2 41.60900116 -28 2 40.982807159 32 2 40.982807159 38 2 41.158031464 40 2.3514127731 40 -30 4 40.631721497 32 4 41.171943665 42 4.2565097809 40 34 8 41.334392548 -56 10 40.072166443 -52 10 41.368942261 -44 10.212870598 40 47.268611908 10 40 -56 12 41.351585388 48.443706512 12 40 -58 14 40.694049835 -56 14 41.879383087 -33.469993591 16 40 36 18 40.890037537 50 18 41.467224121 -24 26 41.363258362 -16 28 41.734390259 -14 28 41.357204437 14 28 40.148059845 16 28 40.923049927 18 28 40.889064789 -14 30 41.541881561 20 30 40.836849213 30.711204529 30 40 -50 33.271324158 40 -14 32 41.029129028 12 34 41.439559937 54.757793427 34 40 -36 37.063072205 40 -30 37.236484528 40 20 36 40.759700775 32.206806183 38 40 32.823482513 40 40 -12 44.043327332 40 36 44 41.820209503 42 46 41.925518036 -15.670465469 48 40 40 48 40.896568298 -17.400688171 50 40 -18 58 41.342700958 -12 62 41.235588074 2 63.193885803 40 14 -56 43.199462891 -3.9433238506 -52 42 20 -50 43.196006775 18 -48 43.829235077 20 -48 42.802658081 -34 -40 43.008838654 -13.358582497 -40 42 -12 -40 43.393321991 -4 -40 43.57019043 0 -40 43.759250641 12 -38.717178345 42 -42 -38 43.000995636 -14 -38 42.233428955 -8 -38 43.905269623 -6 -36 42.953056335 -46 -34 42.590141296 -14 -34 42.690853119 -6 -34 42.078853607 -30 -32 43.326313019 -10 -32 42.983013153 30 -32 42.657562256 32 -32 42.192321777 40 -30.935640335 42 -48 -30 42.466514587 -14.525712967 -30 42 22 -28 42.45697403 42 -28 43.668243408 -28.376779556 -26 42 28 -26 43.564609528 52 -26 43.386249542 -46 -20 43.277381897 38 -18 43.500274658 -33.633930206 -14 42 40 -12 42.198318481 44 -10 43.207530975 58 -10 43.139808655 -42.736633301 -8 42 -42 -8 42.754737854 -34 -8 42.874675751 48 -8 42.794319153 52 -8 43.280330658 56 -8 43.00112915 -42 -6 42.383773804 -36 -6 43.836765289 -40 -4 42.790267944 -38 -4 43.757610321 -38 -1.8926055431 42 -36 -0.6998013258 42 -32 -2 42.512607574 -32 0 42.310955048 38 3.5924153328 42 36 4 42.310955048 42 5.892604351 42 36 6 42.512607574 44 8 42.790267944 -46 10.92527771 42 46.235744476 10 42 -52 12 43.00112915 -54 14 43.139808655 -40 14 43.207530975 -54 16 43.470985413 -54 22 43.10269928 38 22 43.412837982 -26 30 43.76153183 -18 30 42.577163696 52 30 42.856788635 -38 32 43.668243408 -22 32 43.61366272 50 32 43.984523773 -36 34.935642242 42 16 34 42.728931427 18 34 42.352115631 -26 36 42.657562256 14 36 42.983013153 34 36 43.326313019 18 40 42.779262543 36 40 43.534397125 48 40 42.958839417 -8 42.717178345 42 12 42 43.905269623 18 42 42.233428955 38 44 43.008838654 40 44 43.382865906 44 44 42.722293854 14 46 42.653335571 -16 52 42.802658081 -14 52 43.829235077 -16 54 43.196006775 7.9433236122 56 42 2 60 42.698554993 14 -52 45.027835846 17.321550369 -52 44 18 -50.000579834 44 0 -50 44.607894897 2 -50 45.199947357 18.000202179 -50 44 18 -49.999317169 44 18 -50 44.000114441 12 -48 45.770278931 16 -48 44.833889008 14 -46 45.159938812 0 -44 45.128810883 4 -42 45.258602142 -12 -38 44.274364471 -10 -38 44.422462463 -38 -36 44.951763153 -36 -36 44.986557007 -12 -36 44.156223297 -10 -36 44.173023224 -44 -32 44.485534668 -42 -30 45.583076477 -34 -30 45.568050385 30 -30 44.346633911 -42 -28 45.686534882 27.547168732 -28 44 -44 -26 45.069900513 -36 -24 45.790939331 -32 -24 44.475948334 42 -24 45.069301605 -38 -22 45.647510529 40 -22 44.998657227 52 -22 45.158287048 -36 -20 45.010005951 54 -20 44.909851074 -42 -18 44.385036469 -40 -18 44.76341629 42 -16 45.208805084 46 -12 45.00169754 50 -12 45.312412262 54 -12 44.994823456 -38 -8.9211025238 44 54 -10 44.205993652 -38 -8 44.273445129 -40 -6 44.142730713 -38 -4.7688493729 44 -38 -6 44.435680389 44 9.7191400528 44 42 10 44.435680389 44 10 44.142730713 -50 14 44.205993652 -50 16 44.994823456 -46 16 45.312412262 -42 16 45.001701355 -44 20 45.960586548 44 22 44.76341629 46 22 44.385036469 -50 24 44.909851074 -36 24 44.998577118 42 24 45.289714813 -48 26 45.158287048 -46 26 45.513916016 -36 26 44.998657227 40 26 45.504734039 -42 28 45.224014282 -38 28 45.069301605 -33.420543671 28 44 36 28 44.475948334 40 28 45.790939331 -26 32 44.437786102 -24 32 44.180953979 36 32 44.953517914 46 32 45.686534882 -26 34 44.346633911 38 34 45.568050385 46 34 45.583076477 48 36 44.485534668 16 39.597602844 44 14 40 44.173023224 16 40 44.156223297 40 40 44.986557007 42 40 44.951763153 14 42 44.422466278 16 42 44.274364471 -2 44 44.208698273 0 46 45.258602142 4 46 44.689628601 7.2525596619 46 44 -10 48 44.564994812 -4 48 45.757862091 4 48 45.128810883 6 50 44.631389618 -14 53.999317169 44 -12 52 44.833889008 -8 52 45.770278931 -14.000202179 54 44 -14 54.000579834 44 -14 54 44.000114441 2 54 45.199947357 4 54 44.607894897 -13.321551323 56 44 -10 56 45.027835846 0 56 45.20545578 0 58 44.368347168 2 -22 49.065921783 -14 -20 49.310977936 -18 -10 48.904747009 -2 -10 48.353458405 24 -10 49.285476685 4 -8 48.874790192 -14 0 48.376502991 8 0 49.725658417 -4 4 49.725658417 18 4 48.376502991 0 12 48.874790192 24 12 49.293003082 -20 14 49.285476685 -10 14 48.671840668 22 14 48.904747009 -6 24 48.840961456 -12 -36 51.201560974 -16 -34 51.446025848 -12 -34 50.536800385 24 -32 51.658981323 -14 -30 50.244098663 26 -30 50.91917038 4 -2.9618556499 50 -38 -2 51.077812195 -38 0 51.460693359 -32 0 50.051189423 2 0 50.708965302 2 2 51.159828186 2 4 50.708965302 36 4 50.051189423 42 4 51.460693359 0 6.9618549347 50 42 6 51.077812195 40 8 50.507514954 26 22 50.627391815 -20 26 50.112449646 -24 32 50.992603302 8 32 50.646671295 -20 36 51.658981323 14 36 50.235042572 20 36 51.06212616 16 38 50.536800385 16 40 51.201560974 -16 -38 53.596469879 -12 -38 52.545475006 -8 -38 52.600723267 -18 -36 53.260742188 26 -34 53.216114044 -34 -16 53.261245728 -40 -6 52.822364807 -40 -2 52.247699738 -40 0 52.549320221 44 4 52.549320221 44 6 52.247699738 -34 22 53.827602386 -30 22 52.641819 -28 32 52.974704742 -22 36.131267548 52 22 38 52.548202515 20 40 52.248935699 12 42 52.600723267 20 42 53.596469879 -10 -42 55.260925293 24 -35.263019562 54 -38 -16 54.946453094 45.85382843 8 54 46 14 55.25901413 46 16 55.961898804 40 24 55.346961975 -34 26 54.719314575 -30 34 54.922798157 -28 36 55.06860733 -24 38 54.183216095 24 40 54.713527679 14 46 55.260925293 -12 -42.054351807 56 22 -37.410171509 56 -24 -34 56.446231842 32 -33.022022247 56 -36.889671326 -20 56 -40.990959167 -14 56 46 -10 57.1369133 45.361736298 -4 56 -41.361736298 8 56 -42 12 56.900192261 47.161514282 12 56 32 33.203289032 56 -30 35.496829987 56 -26 38.482276917 56 16 46.054351807 56 -30 -34 59.334621429 44.944290161 -16 58 -42.806339264 -14 58 48 -12 59.091690063 48 -8 58.200897217 -44 16 59.091690063 34 38 59.334621429 -24 41.415634155 58 -12 46.736217499 58 -2 -46.748756409 60 -20 -42 60.941425323 -32 -34 60.862125397 -34 -32 60.918674469 -34.701896667 -30 60 42.038200378 -26 60 -41.580863953 -20 60 47.005458832 -16 60 48 -13.767764091 60 49.469070435 -10 60 49.705574036 -8 60 -45.469070435 14 60 -44 17.767763138 60 -39.212306976 28 60 -12 48.934467316 60 -4 50.035404205 60 6 50.748756409 60 34.370262146 -36 62 44.659030914 -24 62 -47.028923035 -8 62 47.063049316 24 62 -30.370262146 40 62 -2 -48.867282867 64 -22 -43.000827789 64 24 -43.817440033 64 35.999778748 -36 64 36 -35.999786377 64 36 -36 64.000320435 47.381839752 -20 64 -48.998222351 2 64 52.998222351 2 64 51.451343536 14 64 -41.609584808 28 64 -32 39.999782562 64 -31.999780655 40 64 -32 40 64.000320435 -30 41.728515625 64 -20 47.817440033 64 26 47.000827789 64 16 50.924808502 64 2 -49.358493805 66 18 -47.378082275 66 -20 -45.129066467 66 34 -39.166942596 66 36 -37.396156311 66 37.261219025 -36 66 -35.438457489 -34 66 38.810993195 -34 66 -46.775104523 -14 66 53.296985626 -6 66 2 -4 67.095870972 2 -2 66.490737915 -2 0 66.589164734 6 0 66.594390869 -2 4 66.594390869 6 4 66.589164734 2 6 66.490737915 2 8 67.095870972 6 8 67.671470642 42.544662476 34 66 -34.810993195 38 66 -34 38.995903015 66 39.438457489 38 66 32 44.392803192 66 -24 46.877861023 66 -16 50.664390564 66 -12 52.034122467 66 6 53.454093933 66 -10 -48.64024353 68 12 -49.356082916 68 -18 -46.944843292 68 -16 -47.632896423 68 -22 -44.81262207 68 32 -41.349185944 68 -42.659851074 -24 68 46.758235931 -24 68 -49.13564682 -10 68 10 -6 69.830032349 -4.8319382668 -2 68 8.8319377899 6 68 -6 10 69.830032349 0 10 68.200454712 53.13564682 14 68 49.021434784 24 68 -41.713848114 30 68 -22 48.877578735 68 26 48.81262207 68 -14 -48.439014435 70 22 -47.232959747 70 26 -45.474853516 70 -30 -40.483596802 70 44.623085022 -28 70 -44 -22.163702011 70 -48.668193817 -12 70 2 -9.5644168854 70 53.923294067 -8 70 14 -6 71.963699341 54.928115845 -4 70 13.211409569 0 70 -12 4 71.8931427 16 4 71.816551208 -51.166492462 6 70 14 6 70.731048584 -50.501033783 10 70 -8 12 71.775115967 12 12 71.867019653 -47.285552979 20 70 48.110424042 26 70 43.433647156 34 70 40 38.479667664 70 -34.586502075 40 70 34 44.483596802 70 -16 51.786952972 70 4 53.918964386 70 14 53.014183044 70 -8 -49.395454407 72 16 -49.118450165 72 22 -47.400363922 72 28 -44.674343109 72 -28 -42.294631958 72 30 -43.363822937 72 40 -34.041069031 72 -45.229717255 -20 72 -47.113536835 -16 72 -47.800979614 -14 72 -48.685443878 -12 72 12 -10 72.993003845 14 -10 73.999557495 53.641269684 -10 72 -10 -8 73.076751709 -50.650211334 -6 72 54.678966522 -6 72 55.546199799 0 72 -11.740422249 6 72 -12 8 72.706542969 -49.641269684 14 72 -10 14 73.999557495 -8 14 72.993003845 51.113536835 20 72 -42.813816071 28 72 -39.297916412 34 72 -34.553230286 40 72 -26 47.363822937 72 -22 49.777511597 72 28 48.583240509 72 24 50.494594574 72 -12 53.118450165 72 12 53.395454407 72 16 52.810935974 72 18 -48.431060791 74 -18 -47.147163391 74 -16 -47.687473297 74 22 -47.307407379 74 28 -44.740848541 74 -30 -40.590690613 74 -36.357860565 -34 74 44.296955109 -28 74 -44 -21.40606308 74 -44.900779724 -20 74 14 -10.000782967 74 52.929660797 -12 74 14.000822067 -10 74 15.63261795 -8 74 -50.389251709 -6 74 -16 -4 75.554748535 55.381202698 -2 74 -14.74901104 0 74 -51.50283432 2 74 18.477617264 6 74 -11.63261795 12 74 -10.000821114 14 74 -12 14 75.169494629 -10 14.000782967 74 -48.929660797 16 74 50.896591187 20 74 -41.434654236 30 74 -39.036151886 34 74 42.916549683 34 74 -37.446353912 36 74 -34 40.180530548 74 36.736698151 42 74 32 46.226547241 74 -24 48.740848541 74 22 51.147163391 74 -14 52.431060791 74 -10 53.253143311 74 10 53.488056183 74 16 52.513980865 74 18.297842026 52 74 -6 -48.822887421 76 28 -44.317890167 76 -26 -43.192840576 76 30 -42.994113922 76 -37.243423462 -32 76 42.131473541 -30 76 -45.250232697 -18 76 -4 -18 77.652923584 -2 -17.083265305 76 -46.098823547 -16 76 8 -16 76.023010254 -10 -14 77.021324158 -47.667743683 -12 76 16 -11.523296356 76 -49.258426666 -8 76 54.951309204 -2 76 55.204658508 0 76 -51.204658508 4 76 -50.594093323 8 76 20.546539307 8 76 -49.591938019 12 76 50.943252563 18 76 -43.284000397 26 76 41.243423462 36 76 -26 46.994113922 76 -22 49.373573303 76 26 49.159446716 76 12 52.50151062 76 6 -48.543899536 78 -26.257469177 -42 78 -30 -39.062198639 78 -33.003025055 -36 78 42.28320694 -28 78 18 -11.884576797 78 -48.187423706 -8 78 52.875286102 -8 78 -17.508262634 -6 78 -49.769859314 8 78 53.550842285 8 78 21.508262634 10 78 -48.875282288 12 78 -16.252532959 12 78 -14 15.884576797 78 18.946432114 14 78 16 17.495853424 78 6 22.786085129 78 -43.640625 24 78 -41.108253479 28 78 45.294116974 28 78 -38.28320694 32 78 -35.09154892 36 78 40 36 78.380821228 -30 42.62228775 78 34 43.062198639 78 22 49.781036377 78 26 48.369865417 78 16 50.718994141 78 -2 52.543899536 78 40.274929047 -28 80 42 -26.000982285 80 42.000873566 -26 80 42 -26 80.000823975 42 -24 81.72693634 -41.740657806 -20 80 -2 -19.850799561 80 10 -18.988466263 80 -14 -14 80.62311554 22.559370041 -6 80 -48.842605591 -2 80 -49.251571655 2 80 -20.103116989 6 80 23.524776459 8 80 -18.559370041 10 80 15.433502197 20 80 -43.364295959 22 80 -6 22.988466263 80 8 24 80.915390015 -38 28 81.72693634 -38.000873566 30 80 -38 30.000982285 80 -38 30 80.000823975 -36.274929047 32 80 26 47.184261322 80 18 -44.842632294 82 -26 -39.039604187 82 -31.662252426 -34 82 -6 -20.043554306 82 50.433067322 -8 82 24.606647491 -4 82 25.672355652 0 82 20 16.123285294 82 17.366746902 20 82 37.239463806 36 82 -26 42 82.392929077 16.621387482 -18 84 18 -18 85.999443054 -14.503458977 -16 84 18.55449295 -16 84 -44 2 85.416389465 -23.148885727 2 84 27.148885727 2 84 48 6 84.660957336 -14.554491997 20 84 -14 22 85.999443054 -12 22.614974976 84 -10 24.086854935 84 -6 25.225189209 84 8 25.498413086 84 -36 27.514989853 84 34 36 84.811767578 28 42 84.169815063 -12 47.448791504 84 -18 -36 87.844856262 -26 -32 87.022422791 -34 -22 87.301177979 -12 -20.198717117 86 -10 -21.390960693 86 12 -21.67445755 86 14 -21.259426117 86 16 -20.318733215 86 18 -18.000465393 86 18.000303268 -18 86 -15.102966309 -16 86 26 -4.0871863365 86 -22.248695374 -4 86 -24.085735321 0 86 -24.409603119 2 86 28.409603119 2 86 28.085735321 4 86 26.248695374 8 86 -14.000304222 22 86 -14 22.000465393 86 -12 24.318731308 86 -10 25.259426117 86 -6 25.885240555 86 -4 25.703792572 86 14 25.390960693 86 16 24.198717117 86 -28 32.509674072 86 -22 38 87.512161255 22 42 86.087417603 26 -33.274364471 88 -27.434362411 -28 88 -8 -22.051969528 88 -12 -20.655115128 88 -10 -21.710861206 88 16 -20.725790024 88 18 -18.407260895 88 -14.281124115 -18 88 18.23591423 -18 88 -18.833721161 -10 88 -24.430171967 0 88 -24.756370544 2 88 28.756370544 2 88 28.430171967 4 88 22.833721161 14 88 -14 22.407260895 88 18.281124115 22 88 -12 24.725790024 88 -10 25.627763748 88 14 25.710861206 88 16 24.65511322 88 38 24 88.381340027 2 26.01300621 88 36 26 88.969482422 30 32 88.719070435 10 -37.208015442 90 -16 -34.280040741 90 -26 -26.000164032 90 -24 -27.557607651 90 -26.000209808 -26 90 -26 -26 90.000190735 -24 -26 91.87437439 -10 -21.280542374 90 10 -21.937635422 90 -12.228210449 -20 90 -14.074295044 -18 90 27.334884644 -2 90 28.038068771 0 90 -24.038068771 4 90 40.654220581 12 90 -6 25.937635422 90 12 25.701618195 90 16 24.201379776 90 32 28 90.568557739 28 30 91.87437439 30.000209808 30 90 30 30.000164032 90 30 30 90.000190735 -14 38.36813736 90 -10 -35.004104614 92 12 -34.874782562 92 -14 -33.410133362 92 14.326836586 -34 92 20 -32.230560303 92 -26 -24.193889618 92 -24 -25.902095795 92 -28.374406815 -22 92 -8 -21.177244186 92 -6 -21.269109726 92 10 -21.26789856 92 -35.665542603 -8 92 39.535331726 -4 92 -22.618894577 -2 92 39.999183655 -2 92 -23.600904465 2 92 40.844940186 2 92 -35.999183655 6 92 -35.535331726 8 92 -34.905044556 12 92 -33.494361877 18 92 -32.539745331 20 92 17.135978699 22 92 -10 24.546682358 92 32.374404907 26 92 -24 30.988697052 92 26 31.53272438 92 24 33.351406097 92 23.383880615 34 92 20 36.576705933 92 -10 38.107975006 92 0 40.905639648 92 -4 -36.2541008 94 8 -36.053417206 94 -10 -34.667133331 94 4 -36 94.470046997 10 -35.304824829 94 14 -34.391880035 94 -16 -32.213367462 94 -12 -34 94.116004944 -8 -34 94.779418945 16 -33.748935699 94 20 -32.05569458 94 -2 -32 95.465339661 6 -32 95.410133362 8 -32 95.571434021 18 -32 94.506385803 -18 -30 94.576416016 -14 -30 95.003890991 -12 -30 95.008979797 16 -30 94.840888977 18 -30 94.863052368 23.593524933 -30 94 24 -29.61763382 94 -20 -26 94.740356445 -18 -26 95.39289856 22 -26 95.538909912 24 -26 94.903495789 30 -24 94.329940796 -28.146776199 -22 94 2 -20.092803955 94 32.306995392 -22 94 -29.318630219 -20 94 -26 -20 94.870407104 -10 -19.494361877 94 -26 -18 95.574081421 16.140846252 -18 94 34 -18 94.552635193 -31.899906158 -16 94 17.67581749 -16 94 -32.739894867 -14 94 18.684869766 -14 94 18 -14 95.997940063 -34.068927765 -12 94 -30 -12 95.02935791 34 -12 95.013526917 37.825210571 -12 94 -34.655277252 -10 94 38 -10 94.318908691 -34 -8 94.77911377 -32 -8 95.04057312 38.614620209 -8 94 -35.681911469 -6 94 -32 -6 95.479804993 -36.28723526 -4 94 -32 -4 95.647712708 40.02961731 -4 94 -36.250354767 -2 94 -32 -2 95.4114151 36 -2 95.245307922 40 -1.8673204184 94 -36 0 94.616462708 -22.511522293 0 94 38 0 94.768539429 40.487621307 0 94 -36.487621307 4 94 -36 5.8673195839 94 -34 4 94.768539429 26.511522293 4 94 40 4 94.616462708 -36 7.1722574234 94 -32 6 95.245307922 36 6 95.4114151 -36.02961731 8 94 36 8 95.647712708 40.28723526 8 94 -35.347564697 10 94 36 10 95.479804993 39.681911469 10 94 -34.614620209 12 94 -32 12 94.944747925 36 12 95.04057312 38 12 94.77911377 -34.355144501 14 94 -33.825210571 16 94 -30 16 95.013526917 34 16 95.02935791 38.068927765 16 94 -14.684868813 18 94 -14 18 95.997940063 -13.675818443 20 94 35.899906158 20 94 -30.641782761 22 94 -30 22 94.552635193 30 22 95.574081421 30 24 94.870407104 33.318630219 24 94 -28.306995392 26 94 32 26 94.140922546 -26 28 94.329940796 -20 30 94.903495789 -18 30 95.538909912 22 30 95.39289856 24 30 94.740356445 -22 32.378364563 94 -16 32 95.773246765 24 33.169586182 94 26 32.116886139 94 -14 34 94.863052368 -12 34 94.840888977 16 34 95.008979797 18 34 95.003890991 22 34 94.576416016 -16 36.055690765 94 -2 36 95.410133362 6 36 95.465339661 18 36 94.696060181 20 36.213367462 94 -11.529102325 38 94 4 38 94.943122864 12 38 94.779426575 16 38.115352631 94 -4 40.053421021 94 0 40 94.470046997 4 40.474170685 94 8 40.2541008 94 -2 -31.665021896 96 0 -32 97.193305969 4 -32 97.203231812 -8 -30 97.295295715 -2 -30 97.401092529 6 -30 97.349647522 12 -30 97.209754944 18 -29.297893524 96 -14 -28 97.265388489 -10 -28 97.365905762 2 -28 97.317977905 14 -28 97.322967529 16 -28 97.214897156 18 -28 97.251289368 -18 -25.586133957 96 -8 -26 97.229263306 -6 -26 97.255493164 -4 -26 97.625297546 4 -26 97.927978516 10 -26 97.170028687 12 -26 97.170280457 -20 -24 96.597091675 -12 -24 97.351394653 -10 -24 97.200340271 14 -24 97.240249634 22 -24 97.244155884 -22 -22 97.12122345 0 -20.109224319 96 26 -22 97.180091858 14 -18.219255447 96 -24 -18 97.217002869 -12 -16.554573059 96 28 -18 97.283218384 -28 -14 97.310264587 17.999044418 -14 96 18 -13.998687744 96 26 -14 97.327026367 32 -14 97.301750183 -24 -12 97.45401001 28 -12 97.429130554 -28 -10 97.405349731 -24 -10 97.342834473 20.552154541 -10 96 28 -10 97.310592651 32 -10 97.342140198 -30 -8 97.312133789 -26 -8 97.305007935 30 -8 97.182533264 35.23595047 -8 96 34 -8 97.211158752 -26 -6 97.277145386 30 -6 97.171264648 35.638877869 -6 96 -26 -4 97.566650391 -30 -2 97.360725403 -20.73343277 -2 96 35.566822052 -2 96 34 -2 97.322898865 -32 0 97.147026062 36 0 97.140960693 -28 2 97.236755371 25.564352036 2 96 32 2 97.236755371 -32 4 97.140960693 36 4 97.147026062 -31.566823959 6 96 -30 6 97.322898865 34 6 97.360725403 23.808349609 8 96 30 8 97.566650391 -31.638877869 10 96 -26 10 97.171264648 30 10 97.277145386 -31.23595047 12 96 -30 12 97.211151123 -26 12 97.182533264 30 12 97.305007935 34 12 97.312133789 -28 14 97.342140198 -24 14 97.310592651 28 14 97.342834473 32 14 97.405349731 -24 16 97.429130554 -14 17.998687744 96 28 16 97.45401001 -28 18 97.301750183 -22 18 97.327026367 -13.999045372 18 96 32 18 97.310264587 16.452163696 20 96 16 20.554573059 96 -24 22 97.283218384 -10 22.219255447 96 14 22 96.24105072 28 22 97.217002869 -22 26 97.180091858 26 26 97.12122345 -18 28 97.244155884 -10 28 97.240249634 14 28 97.200340271 16 28 97.351394653 22 29.586133957 96 24 28 96.597084045 -8 30 97.170280457 -6 30 97.170028687 0 30 97.927986145 8 30 97.625297546 10 30 97.255493164 12 30 97.229263306 -14 33.297893524 96 -14 32 97.251289368 -12 32 97.214897156 -10 32 97.322967529 2 32 97.317977905 14 32 97.365905762 18 32 97.265388489 -8 34 97.209754944 -2 34 97.349647522 6 35.665023804 96 6 34 97.401092529 12 34 97.295295715 0 36 97.203231812 4 36 97.193305969 0 -26.061880112 98 2 -27.43397522 98 6 -26.025728226 98 0 -26 98.073554993 2 -26 99.430137634 5.6271533966 -26 98 -8 -24 98.987243652 -6 -24 99.310569763 2 -24 99.308197021 4 -24 99.295417786 10 -24 99.229194641 12 -24 98.878913879 -12 -22 99.419456482 -10 -22 99.252655029 14 -22 99.227249146 16 -22 99.421386719 -14 -20 99.110809326 -2 -19.337408066 98 4 -19.614849091 98 10 -18.379377365 98 18 -20 99.159683228 -16 -18 99.323516846 -10 -16.414611816 98 -7.0962252617 -18 98 12 -17.555706024 98 22 -16 99.417633057 -20 -14 99.16999054 18 -12.607000351 98 -22 -12 99.461593628 -16 -10.072998047 98 26 -12 99.46031189 -22 -10 99.324951172 -24 -8 99.062316895 -18 -6.3668498993 98 22.084222794 -6 98 28 -6 99.238639832 -24 -4 99.406272888 23.492189407 -2 98 -26 0.035354103893 98 -24 0 99.268508911 23.943569183 0 98 28 0 99.230041504 -27.395967484 2 98 -26 2 99.392158508 31.395967484 2 98 30 2 99.392158508 -24 4 99.230041504 -19.943569183 4 98 -19.492191315 6 98 23.455030441 6 98 26 6 98.981613159 28 8 99.406272888 -24 10 99.238639832 22 10.366848946 98 -24 12 98.926582336 -17.195508957 12 98 28 12 99.062316895 -22 14 99.289787292 20 14.072998047 98 26 14 99.324951172 -22 16 99.46031189 -14 16.607000351 98 26 16 99.461593628 16 18.79990387 98 24 18 99.16999054 -18 20 99.417633057 -10 20.35105896 98 14 20.414611816 98 -6 22.379377365 98 0 23.614849091 98 2 23.77154541 98 6 23.337408066 98 11.096225739 22 98 20 22 99.323516846 -14 24 99.159683228 -12 26 99.421386719 -10 26 99.227249146 14 26 99.252655029 16 26 99.419456482 -8 28 98.878913879 -6 28 99.229194641 0 28 99.295417786 2 28 99.308197021 10 28 99.310569763 12 28 98.987243652 -1.6271518469 30 98 -2 30.025728226 98 2 31.43397522 98 2 30 99.430137634 4 30.061880112 98 4 30 98.073554993 2 -30 -66.328399658 -4 -24 -67.344184875 8 28 -67.344184875 6 30 -67.081291199 2 34 -66.328399658 -34 -26 -59.126487732 -32.912708282 -36 -56 -32 -38.53351593 -54 -22 49.946628571 -52 -46.810932159 -22 -50 -50 -17.036035538 -50 53.642490387 -10 -50 54 21.036035538 -50 50.810932159 26 -50 -14 52.703063965 -50 -10 52.974369049 -50 -6 53.194698334 -50 20 -48.197620392 -48 54 -8.355755806 -48 54 -8 -47.67017746 -36.443927765 42 -48 20 -46.729000092 -46 -24 0 -44.037654877 28 4 -44.037654877 -36 41.911308289 -46 37.38873291 -42 -44 22 -30 -43.895793915 24 -30 -42.981338501 -35.780342102 42 -44 2 42.224601746 -44 -2 -36.744556427 -42 25.189208984 -30 -42 -1.9561904669 -24 -42 33.51663208 -20 -42 -34 -13.540452957 -42 -20.147968292 -6 -42 -30.698579788 20 -42 -29.516630173 24 -42 -29.692058563 26 -42 2 39.357566833 -42 6 40.744556427 -42 -22 48 -40.271503448 -2.9544239044 -38 -40 -6 -35.140060425 -40 -4.8711428642 -34 -40 30.233322144 -24 -40 4 0 -39.258876801 0 4 -39.258876801 2 4 -39.318538666 6 4 -39.161514282 36 13.922217369 -40 38 13.840229988 -40 -20.300222397 20 -40 -26.233322144 28 -40 -25.586278915 30 -40 8.8711433411 38 -40 6.9544239044 42 -40 8 -16.164800644 -38 7.7434892654 -16 -38 6 -14.501170158 -38 48 12 -36.518596649 40 28 -36.620830536 -10 -40.073226929 -36 26 -40 -35.230987549 48 8 -34.720970154 48 10 -35.450946808 -42 16 -35.556686401 -9.0210771561 34 -36 14 44.073226929 -36 50 3.5844066143 -34 14.552839279 -28 -32 14.552839279 -28 -32 36 48 -31.545276642 -9.994635582 -34 -30 -9.5168600082 -30 -30 15.136131287 -30 -30 15.526777267 -32 -28 42 -30.461584091 -28 9.5111551285 54 -28 2 60.572395325 -28 0 15.548044205 -26 0 62.376171112 -26 51.148658752 -4 -24 -2 63.11328125 -24 64 -10.18348217 -22 66 -10.16541481 -22 72 -9.7692327499 -22 -68 13.76923275 -22 -60 14.183483124 -22 -53.260181427 28 -22 10.077700615 54 -22 18 56 -20.847108841 7.4194297791 -58 -20 -54 -40 -18.246915817 60 44 -18.472406387 10.399208069 54 -20 -3.4194295406 62 -20 -42 -56 -16.023881912 18 -48.113361359 -18 18 -45.261791229 -18 18 -46 -17.511692047 -32.6603508 -38 -18 -48 -16 -17.649612427 54 -8 -17.854812622 -74.701446533 -2 -18 -50 12.263069153 -18 -50 12 -17.854810715 52 36.016674042 -18 -14 49.261791229 -18 -14 50 -17.511692047 -14 52 -17.912446976 46 58 -16.239543915 46 60 -16.02388382 76 -32 -15.051950455 -74.050292969 -2 -16 -72 36 -15.051950455 -16 49.148555756 -16 -16 49.148555756 -16 -16 49.148555756 -16 14 52 -15.579040527 45.639122009 62 -16 -72.966880798 -2 -14 -45.01467514 8 -14 50 30 -13.043345451 -36 -6 -10.792640686 -38 -4 -10.882547379 -18 14 -10.190678596 -38 32 -11.014310837 -30 -30 -8.2849760056 -30 -30 -8.2849760056 40 -26 -8.6349754333 81.141082764 -24 -10 -36.820522308 32 -10 36 32 -8.4128417969 36 32 -8.4128417969 34 34 -8.2849760056 34 34 -8.2849760056 -47.293815613 -28 -8 -29.784439087 -28 -8 80.642379761 -24 -8 48 -10.384610176 -8 42 -8.8883180618 -8 -44 14.384610176 -8 -35.568454742 32 -8 33.784439087 32 -8 33.784439087 32 -8 34.032417297 34 -8 21.865026474 -62 -6 22 -62 -5.7987127304 18.32518959 -54 -6 18 -54 -5.1985530853 13.664123535 -42 -6 14.493941307 -38 -6 37.755088806 -26 -6 79.584999084 -24 -6 38 -10 -4.662563324 40 -9.3471813202 -6 -14.325188637 58 -6 -14 58 -5.1985530853 17.278465271 -54 -4 -18 -30.971315384 -4 -18 -30.971315384 -4 -18 -30.971315384 -4 -26 -29.200424194 -4 -21.76852417 -30 -4 34 -22 -3.9095635414 44.439224243 -8 -4 -40.439224243 12 -4 54 55.634254456 -4 -13.278465271 58 -4 -6 60.070964813 -4 66 32 0.9960206151 54 54.907619476 0 -14 60.106723785 0 63.480091095 32 4 62 -24 7.0250201225 64 -24 6.9284505844 66 -24 6.3149108887 -10 -22 7.2357487679 14 26 7.235748291 22 53.971538544 8 -42 -44 12.119041443 -34 -44 12.768546104 -30 -44 13.19847393 62 -16 12.54389286 58 -12 12.691868782 62 -8 12.379684448 -36 7.6286096573 12 -58 12 12.379684448 -56 14 12.358328819 -54 16 12.691868782 -58 20 12.54389286 -34 8.993185997 14 14 17.3027668 14 14 17.3027668 14 25.455104828 28 14 -48.78861618 -44 16 -10 -12.916501999 16 20 -11.142651558 16 -32 9.7758493423 16 16 16.849592209 16 25.254779816 26 16 25.393072128 26 18 56 19.613708496 20 -58 29.027923584 20 16 -67.639038086 22 -7.6845741272 -52 22 -1.7193301916 -38 22 -10 46 23.48097229 11.684574127 56 22 11.684574127 56 22 12 56.338130951 22 14 57.748214722 22 20.755466461 0 24 20 -67.524665833 26 14 -13.094135284 26 -69.180633545 14 26 22 -66.843307495 28 -36 -55.83813858 28 3.4655103683 38 28 30 54 29.457118988 -53.236358643 -36 30 -53.697975159 -34 30 -53.697975159 -34 30 -53.879127502 -30 30 -53.704013824 -28 30 -28 -26 30.06644249 16 19.071739197 30 24.991828918 26 30 56.72870636 26 30 25.195356369 28 30 24.918268204 30 30 -26 -26 33.143486023 -54 3.8158946037 32 -58 4 33.39585495 57.355606079 28 32 -5.3615589142 30 32 -7.0043869019 34 32 32 51.510879517 32 4 -63.239181519 34 10 -33.736118317 34 -60 6 35.376735687 57.540904999 30 34 33.029838562 50 34 8 -33.289054871 36 -16 -20 37.196800232 -62 10 36.592288971 28.624811172 30 36 8 -34.255081177 38 30 -33.46660614 38 30 -33.057094574 40 32 0 40.131011963 -32 2 41.60900116 -14 32 41.029129028 30 -32.330120087 42 -34 -8 42.874675751 -32 -2 42.512607574 -32 0 42.310955048 -24 30 43.564609528 -22 32 43.61366272 -18 32 42.45697403 16.427679062 42 44 -20 36 51.658981323 20 36 51.06212616 22 38 52.548202515 24 40 54.713527679 -12 52.034122467 66 22 -47.232959747 70 54.501033783 -6 70 -45.229717255 -20 72 -46.207843781 -18 72 -47.113536835 -16 72 -14 52.431060791 74 -10 53.253143311 74 10 53.488056183 74 18 -18.407260895 88 16 -33.359153748 92 14 -34.391880035 94 -32.739894867 -14 94 40.02961731 -4 94 39.924396515 -2 94 -36.02961731 8 94 -16 36.055690765 94 4 -24 99.295417786 8 -24 99.335159302 10 -24 99.229194641 14 -22 99.227249146 -2 -19.337408066 98 4 -19.614849091 98 10 -18.379377365 98 18 -20 99.159683228 -10 -16.414611816 98 -7.0962252617 -18 98 12 -17.555706024 98 18 -12.607000351 98 -16 -10.072998047 98 -18 -6.3668498993 98 23.455030441 6 98 22 10.366848946 98 -17.195508957 12 98 20 14.072998047 98 -14 16.607000351 98 16 18.79990387 98 -10 20.35105896 98 14 20.414611816 98 -6 22.379377365 98 6 23.337408066 98 11.096225739 22 98 -14 24 99.159683228 -10 26 99.227249146 -6 28 99.229194641 -4 28 99.335159302 0 28 99.295417786 18 -46 -17.511692047 45.639122009 62 -16 37.755088806 -26 -6 -53.879127502 -30 30 -62 10 36.592288971 10 -24 99.229194641 10 -24 99.229194641 -6 28 99.229194641 -6 28 99.229194641 -34 -13.540452957 -42 -34 -13.922073364 -40 -34 -13.922073364 -40 -22 -28.116886139 94 -22 -28.116886139 94 -10 52.974369049 -50 36 32 -8.4128417969 -2 63.11328125 -24 44 -34 -19.247261047 34 32 -7.949795723 -30 47.661941528 10 -30 47.661941528 10 29.065660477 30 34 29.065660477 30 34 28.624811172 30 36 -30 -30 -8.2849760056 54 -8.2630672455 -18 16 -33.748935699 94 14 16 -19.037969589 14 16 -19.037969589 -4 15.696111679 -30 -2 15.307434082 -28 -48.182170868 10 -18 43.996780396 -34 -50 39.955875397 -38 -46 -3.4194295406 62 -20 -36 -6 -10.792640686 38 -41.820339203 -46 34.515983582 -42 -38 23.383880615 34 92 26 31.53272438 92 50 2 -35.042797089 -10 -40.073226929 -36 12 45.514076233 -38 -14 52.703063965 -50 -24 52.859287262 -46 -24 52.859287262 -46 -45.259674072 6 26 -45.259674072 6 26 -44 6 24.559392929 -43.069812775 6 24 -43.069812775 6 24 -46 2 -35.042797089 -46 0 -33.814517975 10 39.140060425 -40 -8 -58 -1.1717560291 -8 -58 -1.1717560291 48 12 -36.518596649 -54 -44 -16.911178589 -54 -38 -18.808984756 -30 -30.471693039 -10 54.312194824 2 -30 54.312194824 2 -30 54.176357269 4 -32 -11.529102325 38 94 50 2 -35.042797089 50 2 -35.042797089 -32 -15.737683296 -40 50 30 -13.043345451 50 34 -15.475266457 54.928115845 -4 70 53.923294067 -8 70 -48 -26.991804123 -6 -46.700000763 -30 -12 15.526777267 -32 -28 13.473845482 -26 -34 33.784439087 32 -8 34 33.879535675 -10 -30 -46 -32.487751007 -25.877891541 -46 -34 18 18 -16.104991913 -34 -37.157672882 -18 -34 -37.157672882 -18 -32 -38 -16.174173355 -48 14 -16.76102829 -8 -58 -1.1717560291 -8 -58 -1.1717560291 -4.6142911911 -40 -40 -3.1713302135 -38 -42 -2 -37.06337738 -40 8.6142911911 44 -40 7.171330452 42 -42 6 41.063381195 -40 -28 47.711154938 8 36 42 -16.174175262 36 42 -16.174175262 36 42 -16.174175262 34 40 -14.199989319 36.6603508 42 -18 4 0 -39.258876801 4 0 -39.258876801 0 4 -39.258876801 4 0 -39.258876801 6 -10 -38.858905792 -42.188747406 34 -50 -42.188747406 34 -50 -43.184047699 32 -50 -45.127067566 24 -50 -18 17.406505585 -40 -32.6603508 -38 -18 -34 -39.104881287 -18 -38 -40 -6.1881494522 -38 -40 -6.1881494522 -28 -36.961341858 -16 58 -2.949783802 -32 58 -2.949783802 -32 13.473845482 -26 -34 15.526777267 -32 -28 -32 -29.710800171 -10 -30 -30 -8.2849760056 -30 -30 -7.6739616394 27.421966553 -40 -34 25.340557098 -40 -36 -18 30 42.577163696 -26 30 43.76153183 30 6.7408981323 -24 30 6.7408981323 -24 22 -42 27.454568863 22 -42 27.454568863 28 -42 28.112138748 25.625089645 -34 32 6 -10 -38.858905792 44 46.64812851 -28 50 -1.3339956999 -42 -14 -2 -31.039405823 -14 -2 -31.039405823 -14 -2 -31.039405823 40 11.968069077 -40 44.908279419 14 -36 46 12 -36.667259216 46 12 -36.667259216 42 10.705695152 -36 42 10.705695152 -36 -50 -16.08007431 20 -50 -16.08007431 20 -52 -15.647947311 22 -51.329082489 -16 32 -46 4 26.648235321 -46 4 26.648235321 -57.811096191 -10 22 -44 6 24.559392929 -44.650619507 4 26 -18 54 -31.536626816 -18 54 -31.536626816 -13.852921486 42 -28 18 -20 99.159683228 -14 24 99.159683228 33.692058563 -22 -42 -19.943569183 4 98 -19.492191315 6 98 4 0 -39.258876801 50 2 -35.042797089 56.327968597 2 -34 16 42 44.274364471 18 42 42.233428955 14.326836586 -34 92 -28.146776199 -22 94 -50 -4 -34.465873718 -50 -4 -34.465873718 -54 -2.7032632828 -32 -52.327968597 2 -34 -52.327968597 2 -34 -50 -4 -34.465873718 58 -4 3.4017050266 58 -4 3.4017050266 50 -8.765627861 0 59.008010864 -14 -4 -16 -32.213367462 94 -22 -28.116886139 94 -47.200019836 10 -20 -20 0 -22.977392197 -20 0 -22.977392197 -13.82341671 -2 -22 -50.664585114 -18 26 -44 -18 22.805906296 -38 -32 16.314977646 -38 -32 16.314977646 -2 63.11328125 -24 -30 47.011749268 -30 -30 47.011749268 -30 -28.856292725 48 -34 -24.37297821 48 -32 64 -24 6.9284505844 64 -24 6.9284505844 -9.5336427689 -10 -20 -9.5336427689 -10 -20 -9.5336427689 -10 -20 -6 -10.17067337 -28 -6 -10.17067337 -28 22 -40.88117981 26 2.4282221794 18 -38 2.4282221794 18 -38 0 16.233388901 -38 -1.1978603601 18 -38 -18 17.406505585 -40 -22 22.501485825 -40 33.692058563 -22 -42 34.822517395 -28 -38 -40 -15.074692726 -6 -40 -12.375083923 -2 57.367843628 4 -36 62 4 -32.632015228 62 4 -32.632015228 -48 -14 -16.355564117 -48 -16.25752449 -18 52 18 -16.355564117 52 20.25752449 -18 46 16 -15.276753426 46 16 -15.276753426 48 16 -14.009126663 52 18 -16.355564117 54.312194824 2 -30 -52 3.0364658833 -40 -50 1.6167507172 -34 -24 -32.880020142 2 -24 -32.880020142 2 -30 -38 2.9098424911 14 60 -1.3751121759 14 60 -1.3751121759 -11.711091995 14 -18 -19.996507645 14 -8 4 64 -21.702814102 -3.4194295406 62 -20 -16 -22 39.114654541 -16 -19.068929672 36 38.614620209 -8 94 -22.326856613 48 -40 -21.235197067 44 8 -56 -2 28.045423508 37.755088806 -26 -6 30 54 29.457118988 -2 15.307434082 -28 -36.401924133 -4 0 -36.401924133 -4 0 -36.401924133 -4 0 -48 6.8883013725 -24 -48 6.8883013725 -24 54 20.08007431 20 32 -44.5414505 -38 32 -44.5414505 -38 45.061351776 8 -36 45.061351776 8 -36 48 8 -34.720970154 48 8 -34.720970154 60.197799683 -34 6 14 57.459724426 26 -0.41043916345 -36 -42 -6 60.070964813 -4 -13.278465271 58 -4 -14 60 -5.3464441299 2 16.624118805 -32 8 -33.369895935 34 10.367553711 -34 34 34.698581696 -16 -42 34.822517395 -28 -38 52 -8 -17.762504578 -14 -20 99.110809326 18 24 99.110809326 -20 47.7996521 -26 -18 47.81086731 -30 -20 47.7996521 -26 -14 49.261791229 -18 -16 49.757484436 -18 -14 49.261791229 -18 2 16.624118805 -32 8 20 -31.918462753 8 20 -31.918462753 8 20 -31.918462753 8 20 -31.918462753 50 18.880271912 -16 50 18.880271912 -16 50 18.880271912 -16 50 18.880271912 -16 48 18 -15.930742264 45.705863953 16 -16 52 18 -16.355564117 -24.37297821 48 -32 32 -2 38.894317627 32 2 40.982807159 -34 -16 24.900629044 -26 50.350372314 -34 30 -42 -32.184516907 30 -42 -32.184516907 44.908279419 14 -36 4.4843029976 58 -10 32 -44.5414505 -38 -20 0 -31.158622742 -36 -6 -10.792640686 -36 -6 -10.792640686 -22 0 -29.953989029 12 45.514076233 -38 10 22 -31.511346817 12 25.913799286 -28 14.945720673 24 -30 -58 20 12.54389286 -58 20 12.54389286 62 -16 12.54389286 62 -16 12.54389286 52 -10.677284241 -8 46.280529022 -10 -8 -10 -34.667133331 94 10 45.061580658 -40 8 44.07226944 -42 14.181476593 42 -34 20 48 -34.989814758 38 -28 -34.572353363 38 -28 -34.572353363 34.822517395 -28 -38 56.839889526 -22 -30 46 -26 -33.435886383 -50 -11.712667465 10 -50 -11.712667465 10 -28 -30.945705414 -10 22 -30 -43.895793915 22 -30 -43.895793915 16 -30 -44.354892731 18 -30 -44.539535522 18 -38.280086517 -28 -52 -28 -21.768545151 -52 -28 -21.768545151 -49.067626953 -32 -20 18 6 -40.801998138 -22 52.563846588 -46 -18 51.37305069 -46 -14.175356865 -4 -34 -14 -5.5024094582 -38 -44 -6 -35.450946808 -44 -6 -35.450946808 -4 -11.811496735 -24 -26 2 -43.865196228 -22 -2 -43.526165009 36.114242554 -8 -40 36.114242554 -8 -40 48 -12 -34.982440948 48 -12 -34.982440948 50 1.2015861273 -36 -10.945719719 -20 -30 -10.945719719 -20 -30 -8 -16 -21.931112289 -10.611514091 -14 -36 62 -8 12.379684448 -12 45.537857056 24 -55.051177979 -4 -44 -14 5.3616652489 -34 -33.974815369 -40 -16 -34 -39.104881287 -18 42.698135376 -6 -4 46 -9.2579288483 -4 -38.698135376 10 -4 -42 13.257928848 -4 5728 2 0 18 5727 4 1 18 4 3 19 1 1 4 3 19 3 5 7 28 5 5 3 7 20 7 8 7 3 4 20 8 9 7 4 6 7 6 12 8 7 12 9 8 12 11 9 10 29 6 38 10 9 12 11 10 12 29 40 6 11 12 21 39 11 21 6 13 12 13 6 40 15 12 13 15 13 16 16 13 14 13 31 14 16 14 24 15 16 17 16 24 17 15 17 25 5729 5730 5731 27 6 5727 5727 6 4 19 18 1 19 28 18 19 5 28 6 5732 38 28 7 20 11 20 9 21 12 23 23 22 21 13 40 31 23 12 30 14 31 24 30 12 43 24 31 25 24 25 17 15 25 26 12 15 26 43 12 26 45 32 27 45 27 5727 18 45 5727 34 18 28 20 36 28 37 36 20 48 20 11 48 11 39 21 22 39 23 41 22 25 31 42 43 26 44 45 72 32 33 55 27 32 33 27 34 45 18 6 27 5732 35 28 36 37 35 36 38 47 29 41 39 22 23 30 41 69 40 67 31 40 69 31 69 42 42 26 25 44 26 88 49 55 33 32 72 33 72 45 73 50 45 34 34 54 50 28 54 34 55 5732 27 37 77 35 116 37 20 5733 38 5732 48 116 20 47 38 60 51 61 48 29 47 60 63 81 48 39 63 48 64 52 29 29 52 40 6143 40 52 6143 136 40 30 53 41 68 30 43 70 42 69 70 71 42 26 42 71 88 26 71 44 88 43 49 33 72 72 73 90 45 50 73 54 28 56 75 58 55 56 28 57 55 58 5732 57 28 35 35 77 57 116 77 37 61 78 48 51 81 61 29 60 62 51 48 81 62 64 29 52 64 65 41 98 39 41 66 98 40 136 138 53 66 41 40 138 67 68 53 30 88 68 43 90 104 72 74 73 50 54 74 50 57 77 56 5734 5732 58 46 76 59 116 48 78 38 5733 5737 79 60 5737 5737 60 38 95 78 61 95 61 80 80 61 81 60 126 62 65 64 83 83 64 82 63 39 96 65 83 97 97 52 65 129 96 39 84 129 39 39 98 84 66 53 85 66 85 137 85 53 86 53 68 86 68 101 86 70 69 87 70 87 71 88 71 103 103 150 88 89 72 104 90 73 109 49 89 107 49 72 89 74 109 73 74 110 109 74 91 110 74 54 91 55 107 75 107 55 49 58 207 5734 56 77 113 77 94 114 77 116 94 5733 5734 119 5733 119 5737 124 79 5737 95 80 5738 79 126 60 80 81 229 81 63 229 62 176 64 176 82 64 177 63 96 97 83 82 129 84 132 84 98 132 135 98 66 66 137 135 69 67 99 69 99 100 140 87 100 87 69 100 87 140 6054 101 68 147 142 101 147 71 87 103 68 88 150 147 68 150 89 199 151 104 199 89 90 105 104 90 108 105 108 90 109 92 106 111 106 92 107 107 89 151 111 159 93 92 111 93 92 93 75 107 92 75 56 158 54 159 75 93 58 159 207 159 58 75 161 56 113 113 77 114 115 114 94 115 94 116 118 116 121 5736 5737 119 116 78 121 95 121 78 126 79 124 63 236 229 236 63 177 178 97 82 97 127 52 127 131 52 96 129 128 129 132 5739 52 131 6143 134 6144 6146 133 132 98 98 135 133 86 137 85 138 265 67 145 86 101 145 189 86 99 270 100 100 270 140 142 102 101 101 102 143 101 143 145 5743 5741 5742 87 6054 146 144 102 142 143 102 144 103 87 146 103 146 148 148 149 103 149 150 103 104 273 199 152 104 105 153 152 105 153 105 108 112 111 106 112 106 151 151 106 107 109 156 108 109 110 156 110 91 154 54 155 91 91 155 154 111 112 159 154 156 110 54 158 155 158 275 279 56 200 158 158 200 275 206 56 161 5734 207 210 161 113 162 5734 210 164 113 211 162 211 113 114 6072 163 6073 5734 164 119 114 115 165 116 117 166 115 116 166 115 166 165 116 118 117 118 167 117 121 167 118 119 168 120 120 168 122 122 168 411 167 121 95 123 122 411 123 411 124 411 169 124 169 126 124 170 126 169 173 95 5738 170 171 126 125 5745 5746 80 173 5738 172 173 80 174 62 171 62 126 171 172 80 229 174 175 62 237 176 62 82 176 178 177 96 247 179 97 178 247 96 180 179 182 127 179 127 97 128 180 96 180 128 181 182 131 127 344 181 129 129 181 128 131 182 130 131 130 183 5740 133 129 6145 131 184 6145 184 185 6145 186 136 6145 185 186 135 137 187 189 187 137 189 137 86 189 145 268 99 67 269 139 5735 190 99 269 270 6083 6085 191 192 6083 191 264 194 6054 141 6083 193 6083 192 193 264 6054 193 146 6054 194 272 142 271 272 144 142 145 143 144 145 144 272 194 148 146 148 194 149 194 195 149 150 196 147 142 147 377 150 149 195 197 151 198 151 199 198 152 273 104 202 112 197 197 112 151 153 382 152 382 153 108 159 203 205 202 203 159 112 202 159 108 287 382 108 156 287 156 154 208 160 208 154 160 154 155 5744 5748 157 155 158 160 201 200 56 56 206 201 159 205 207 208 287 156 206 161 6076 161 162 6076 210 212 164 211 114 165 213 164 212 119 164 213 119 213 405 168 119 405 95 223 167 411 170 169 312 170 411 95 173 223 170 312 171 174 224 225 312 174 171 224 174 312 317 173 172 317 172 229 174 225 175 225 226 175 226 230 175 175 230 62 62 230 237 176 237 240 236 177 243 244 176 240 243 177 246 245 179 178 245 178 244 244 178 176 245 440 179 247 246 177 247 180 451 182 179 440 180 344 451 181 344 180 440 183 182 457 344 129 130 182 183 457 129 133 184 131 183 252 133 356 133 135 356 184 186 185 135 187 259 135 259 356 259 187 260 138 136 365 5747 5751 5755 261 260 188 260 187 188 189 261 188 187 189 188 265 138 262 367 194 264 67 265 269 191 6085 266 192 191 267 191 266 267 264 192 267 6372 6084 6371 264 193 192 268 145 272 195 376 150 196 150 376 147 196 376 147 376 377 142 377 271 199 767 198 198 767 197 199 273 767 273 152 379 202 274 278 202 197 274 152 204 379 200 276 275 201 277 200 200 277 276 203 278 282 205 203 282 278 203 202 280 158 279 6076 277 206 206 277 201 205 282 207 282 284 207 382 204 152 158 280 160 207 284 285 160 288 208 288 160 280 207 285 210 287 208 288 5752 6076 162 386 5752 162 213 210 285 162 211 386 386 211 295 213 212 210 292 214 213 211 165 295 6365 215 290 166 295 165 214 298 213 292 217 214 290 6363 6365 214 299 298 214 217 299 216 6362 6364 296 295 117 295 166 117 5753 218 215 6245 296 117 300 219 217 302 218 303 220 302 303 305 302 220 117 410 6245 167 410 117 167 309 410 309 221 310 167 222 309 222 221 309 167 223 222 417 312 411 221 311 310 222 311 221 223 311 222 223 173 228 225 224 316 316 224 312 223 227 313 228 227 223 225 316 226 228 322 227 317 228 173 226 316 230 316 325 230 322 321 227 229 318 317 315 232 231 233 232 315 235 234 227 321 235 227 229 236 318 318 236 324 230 325 237 231 232 6378 233 6378 232 227 241 328 234 241 227 235 329 234 324 236 331 325 332 237 231 242 238 242 231 6378 241 5750 328 234 329 330 332 333 237 331 236 243 240 237 333 240 333 334 238 242 440 240 334 244 440 244 334 243 246 338 440 245 244 247 339 338 338 246 247 247 451 339 248 340 249 440 340 248 340 342 249 183 440 248 249 183 248 343 249 342 343 183 249 5764 183 343 348 353 250 456 356 463 252 356 456 457 252 456 133 252 457 5764 184 183 352 250 353 253 352 353 255 354 251 186 184 5764 355 254 255 257 358 253 256 361 358 257 256 358 258 255 254 254 356 258 360 359 255 360 255 258 258 356 259 186 365 136 257 361 256 260 261 259 261 369 259 365 488 138 263 264 361 138 488 368 262 138 368 264 263 367 369 261 189 262 368 265 264 267 266 195 194 367 189 268 369 369 268 371 370 373 265 265 373 269 372 371 268 270 269 374 269 373 374 270 374 375 375 266 270 268 272 372 271 377 272 378 767 273 273 379 378 649 274 197 379 204 497 275 276 281 279 275 281 281 276 277 278 283 282 278 274 283 279 383 280 281 383 279 380 383 281 277 380 281 650 277 6076 283 381 282 282 381 284 6076 655 650 381 285 284 209 286 6077 285 381 213 280 383 288 6127 382 287 287 288 289 383 291 290 288 383 290 5757 6127 388 287 389 6127 389 388 6127 390 389 287 390 287 289 290 289 288 391 386 295 213 387 292 511 391 295 392 292 387 289 290 215 6363 290 291 396 6363 291 295 394 511 395 292 392 5758 294 293 217 292 395 297 217 395 297 395 397 672 5754 396 394 295 296 289 215 301 5754 303 5753 298 405 213 300 217 297 397 403 297 403 300 297 5759 403 397 518 289 301 215 218 301 303 218 5753 217 399 299 5759 400 403 218 302 301 302 518 301 5754 304 303 217 402 399 217 307 402 217 219 307 219 300 307 403 307 300 302 305 518 305 308 518 6302 5760 6196 220 303 306 304 408 303 408 306 303 6302 406 5760 305 415 308 220 415 305 306 408 220 408 415 220 412 411 168 405 413 168 413 412 168 5761 413 405 409 416 408 416 415 408 410 309 540 417 420 312 540 309 555 310 311 313 310 313 309 309 313 555 313 311 223 312 420 423 313 227 555 312 423 316 548 315 314 424 425 315 425 320 315 429 425 5762 429 320 425 555 227 559 314 238 319 315 231 314 231 238 314 320 233 315 559 227 427 322 228 6172 228 317 323 6172 228 323 323 317 318 316 432 325 319 238 428 429 437 320 427 227 328 321 322 435 322 6172 435 436 323 318 436 318 324 432 439 325 5749 6379 326 6378 320 437 427 328 327 235 434 329 434 235 321 435 434 321 324 331 436 436 331 442 325 439 332 239 335 328 328 335 327 330 329 434 330 434 336 439 333 332 439 334 333 327 6370 438 234 330 336 331 243 442 442 243 714 449 242 6378 6370 337 444 6370 327 337 335 337 327 5750 241 335 241 337 335 234 448 241 448 234 336 338 714 243 444 337 445 241 446 337 446 445 337 447 446 241 448 447 241 242 341 440 448 590 447 338 339 714 242 449 341 341 340 440 342 340 341 342 341 343 343 341 449 5764 343 449 5764 449 460 458 452 461 452 345 461 453 345 452 345 348 461 348 347 461 349 348 345 349 345 346 459 350 462 347 352 461 352 465 461 250 352 348 348 352 347 349 353 348 350 351 462 351 466 462 473 5764 5765 465 352 469 351 354 466 251 354 351 255 251 351 255 351 350 467 255 350 186 5764 473 352 620 469 349 474 353 474 253 353 466 475 470 355 255 467 471 355 467 356 471 472 472 463 356 253 358 352 257 253 474 354 357 466 357 475 466 354 255 357 254 355 471 356 254 471 358 620 352 477 257 474 358 361 620 479 475 357 255 479 357 255 359 479 361 476 620 477 478 257 359 483 479 186 484 365 476 361 264 257 362 361 478 362 257 362 478 480 638 359 360 258 363 360 360 363 638 258 259 363 361 362 263 481 362 480 481 366 362 758 638 363 259 758 363 484 486 365 366 263 362 481 367 366 482 367 481 5756 5766 364 5767 6130 482 6130 367 482 369 758 259 365 486 488 367 263 366 367 6130 489 490 367 489 490 195 367 492 758 369 368 757 265 757 370 265 264 266 375 491 493 195 371 492 369 373 370 757 371 372 494 870 272 377 494 372 272 377 376 495 376 195 495 870 377 495 378 496 767 496 378 379 197 767 649 497 496 379 274 649 283 380 277 650 381 283 649 774 383 380 382 499 204 5752 386 655 382 500 499 382 501 500 501 382 384 385 501 384 6295 502 385 385 502 501 383 662 291 662 510 291 386 391 503 503 391 511 213 504 387 392 387 504 505 506 392 392 507 393 506 507 392 507 5771 393 502 6295 389 390 508 389 389 508 502 509 508 390 390 513 509 390 289 513 514 393 5771 513 289 518 510 396 291 394 6303 511 392 393 395 393 514 395 510 672 396 514 397 395 394 296 6303 514 517 397 5754 672 515 6303 296 6245 398 397 517 5772 5754 515 401 523 673 298 520 405 298 516 520 299 516 298 398 517 400 517 525 400 5754 522 304 5772 522 5754 520 524 405 299 521 516 399 521 299 400 525 403 518 308 526 304 522 527 523 401 528 401 404 528 399 402 521 525 529 403 526 308 530 405 524 414 402 307 803 403 529 532 530 407 536 530 308 407 304 527 408 404 410 528 414 531 535 531 414 524 532 542 403 407 308 536 408 538 409 410 540 528 412 533 411 413 534 412 412 534 533 6049 6051 413 413 6051 534 803 307 421 550 421 307 403 550 307 542 550 403 418 543 536 308 419 536 536 419 418 419 308 415 537 415 416 409 539 416 539 537 416 538 539 409 420 417 545 411 541 417 541 545 417 549 803 421 558 550 542 543 418 422 419 554 418 554 422 418 415 554 419 544 554 415 537 544 415 420 545 423 546 547 314 547 548 314 315 548 424 548 557 424 550 549 421 553 422 554 423 702 316 546 314 556 424 557 425 426 425 557 557 560 426 702 565 316 428 556 319 556 314 319 429 560 561 429 426 560 561 562 429 562 563 430 6391 565 6207 430 429 562 316 433 432 570 316 6206 433 316 570 430 437 429 6172 323 714 714 323 436 432 433 439 439 433 570 238 713 428 575 437 430 567 438 6370 569 438 567 327 438 569 427 327 569 709 434 435 709 435 6172 714 436 442 713 238 440 6378 437 577 577 437 578 441 578 437 441 437 575 434 709 336 574 334 439 440 334 574 6378 577 715 6378 715 449 6370 444 582 709 6180 336 715 593 449 336 586 448 586 336 6180 444 585 582 444 445 585 446 585 445 448 586 592 451 822 339 339 822 714 588 450 587 446 589 585 447 589 446 590 589 447 5777 590 448 592 5777 448 594 587 453 454 453 587 450 455 587 455 454 587 598 455 450 449 593 5763 458 6147 452 6147 594 452 594 453 452 454 345 453 346 345 454 346 454 603 603 454 455 598 603 455 583 462 599 462 604 599 459 462 583 608 459 583 456 605 600 457 456 601 456 600 601 457 601 602 457 602 344 461 5779 6147 458 461 6147 603 613 346 462 607 604 456 615 605 464 5763 609 465 5779 461 465 610 5779 346 613 349 462 614 607 350 459 608 608 467 350 463 615 456 465 611 610 462 466 614 463 472 615 616 468 609 468 464 609 469 617 612 611 469 612 465 469 611 470 618 614 466 470 614 472 619 615 468 616 473 473 616 623 617 469 620 349 613 474 474 613 621 470 475 618 618 475 622 467 619 471 472 471 619 473 623 186 477 474 621 625 186 623 626 624 620 620 476 626 621 627 477 633 622 475 625 628 186 627 629 477 633 475 479 186 628 484 476 749 626 477 629 478 629 630 478 628 639 484 264 749 476 631 480 630 630 480 478 480 631 481 631 632 481 482 481 632 640 482 632 640 485 482 479 634 5782 635 634 479 483 635 479 636 635 483 637 636 483 359 637 483 359 638 637 484 639 486 639 642 486 485 640 641 641 487 485 642 488 486 490 489 641 641 489 487 488 757 368 490 643 195 643 6339 195 758 492 764 195 761 491 375 374 867 491 761 493 492 371 645 492 645 764 867 373 757 374 373 867 493 646 195 645 494 272 371 494 645 646 647 195 645 272 870 647 495 195 648 496 498 496 497 498 497 204 498 499 498 204 380 650 774 499 773 498 499 651 5789 500 653 499 499 653 651 500 654 653 386 503 655 213 381 657 5769 6128 6126 501 654 500 502 654 501 768 654 502 768 502 508 213 659 504 213 657 659 392 660 505 660 665 505 661 508 509 662 666 510 504 659 663 504 663 664 664 392 504 505 665 506 668 5770 665 5770 506 665 5770 668 512 509 513 661 667 510 666 668 514 512 513 518 661 510 667 672 6303 670 511 672 674 515 680 517 514 519 515 677 677 515 674 673 523 6354 789 520 516 516 676 789 516 521 676 517 680 525 522 519 677 522 677 679 520 789 524 676 521 402 679 527 522 523 528 6354 525 680 529 680 681 529 801 526 530 685 6354 528 524 683 6050 682 532 681 681 532 529 801 530 536 538 408 679 408 527 679 685 528 540 683 684 533 683 533 534 6050 683 534 6106 524 6050 532 682 542 542 682 687 538 679 539 540 696 685 411 686 690 684 686 533 686 411 533 687 688 551 688 543 551 688 536 543 691 537 539 545 541 692 541 411 692 803 549 694 687 558 542 543 6170 551 691 544 537 540 555 696 545 692 423 556 698 546 547 546 1016 546 698 1016 548 547 693 547 1016 693 549 695 694 695 549 550 687 551 558 543 422 6170 6170 422 553 553 554 701 554 544 701 696 555 6381 423 692 702 699 698 556 557 548 693 557 693 6373 6373 560 557 6141 704 700 695 6141 700 550 6141 695 558 6199 550 551 552 558 553 564 6170 564 553 701 699 556 428 561 560 6373 562 561 6373 563 562 703 562 6373 703 430 563 705 563 703 705 704 6141 705 558 552 6199 566 6170 564 559 427 706 565 702 810 430 705 575 6141 575 705 707 566 564 566 707 568 707 708 568 5773 572 571 566 443 6170 567 6370 568 568 443 566 569 567 568 708 569 568 708 427 569 710 6172 816 570 6206 439 6206 711 439 6141 581 575 576 6140 6139 6142 579 573 710 709 6172 439 711 574 440 574 6262 712 713 440 6138 6140 576 6370 717 6142 717 579 6142 577 716 715 578 716 577 578 441 580 716 578 580 575 580 441 581 580 575 5775 5776 5774 579 581 573 717 583 579 6181 709 718 715 719 593 579 583 581 717 584 583 6370 582 717 580 588 829 595 588 580 581 595 580 596 595 581 583 596 581 585 589 582 451 725 822 587 594 829 588 587 829 595 450 588 598 450 595 583 733 596 590 720 589 591 721 590 590 721 720 5778 722 591 591 722 721 722 5778 6176 596 598 595 583 599 733 583 584 608 608 584 1051 451 344 725 726 5763 593 598 732 603 6242 596 6241 6242 732 596 732 598 596 733 6241 596 733 599 604 605 601 600 735 729 602 729 344 602 729 728 344 603 732 613 607 733 604 737 733 607 601 605 734 734 735 602 734 602 601 5763 726 609 606 6244 597 737 607 614 608 1051 467 615 734 605 611 736 610 616 609 726 617 739 612 736 611 612 739 736 612 737 614 618 726 623 616 617 5780 744 617 744 739 5780 5781 744 623 746 625 5781 626 744 744 626 747 622 633 750 625 746 628 746 748 628 627 848 629 749 747 626 629 848 630 628 757 639 748 757 628 751 749 264 264 754 751 633 6093 750 750 6093 752 6093 635 752 636 755 752 636 752 635 636 637 755 755 637 753 637 756 753 638 756 637 642 639 757 758 756 638 642 757 488 872 640 632 760 640 872 641 640 760 5783 6131 6129 641 760 490 754 264 862 6350 6351 961 6350 961 6082 6275 763 5768 862 264 375 762 644 761 761 644 493 764 645 766 493 644 646 765 647 644 647 646 644 645 870 871 871 766 645 647 870 495 648 770 767 648 767 496 649 771 381 648 656 770 498 656 648 885 381 771 498 773 656 652 653 768 655 772 650 6081 651 652 653 652 651 654 768 653 661 768 508 774 776 383 777 655 503 777 772 655 658 657 885 885 657 381 656 660 780 660 656 773 383 782 662 383 776 782 658 778 657 657 778 659 659 779 663 659 778 779 663 781 664 779 781 663 780 664 781 660 664 780 660 392 664 660 783 665 784 662 782 666 662 784 511 777 503 665 783 786 666 785 667 666 784 785 667 787 672 667 785 787 669 672 787 511 671 669 511 670 671 680 514 668 790 672 669 671 790 669 791 790 671 791 671 670 791 670 792 792 670 6246 799 674 672 675 794 797 794 675 795 796 795 789 799 677 674 678 675 797 800 678 797 795 675 524 524 675 678 789 795 524 679 677 799 524 678 800 518 526 801 679 799 1002 524 800 684 524 684 683 801 536 688 6354 685 689 5784 5785 5786 1009 691 539 679 1009 539 686 802 690 684 802 686 688 687 900 689 685 696 803 694 807 6383 689 696 692 411 809 411 690 809 6375 690 697 697 690 805 807 694 695 808 701 544 6383 696 6380 699 6376 805 805 6375 697 6376 699 428 698 699 1016 1016 699 806 700 704 807 704 705 807 695 700 807 701 808 564 559 706 804 702 692 810 812 809 428 707 564 808 706 427 1022 813 812 428 428 814 813 427 708 815 6210 6261 711 6210 711 6206 713 712 814 713 814 428 820 709 710 710 816 820 431 6104 6384 714 6105 6172 574 6209 6262 440 6262 817 440 817 818 440 818 712 820 821 709 6105 714 822 709 821 823 716 580 926 829 6392 580 825 709 823 718 709 825 715 1128 719 584 717 827 582 827 717 6292 718 6290 6181 718 6291 822 725 824 726 593 719 589 720 933 720 721 933 721 722 933 722 6176 933 933 6176 828 6291 6179 6181 6291 6096 6179 344 831 724 6096 6177 6179 725 344 724 931 725 724 830 730 726 584 827 1051 344 728 831 728 834 6332 727 833 836 731 727 836 6240 833 727 729 735 834 729 834 728 835 732 836 836 732 731 835 613 732 615 735 734 735 615 839 838 621 613 737 618 1053 467 740 619 839 615 741 745 736 739 744 745 739 615 619 742 741 615 743 743 615 742 841 839 741 743 841 741 738 844 726 726 844 623 1053 618 622 742 619 740 845 5788 740 743 742 840 842 743 840 841 743 842 846 623 844 846 746 623 745 744 747 621 5794 627 622 750 1053 846 748 746 747 850 847 747 749 850 749 751 850 750 752 949 6227 757 748 754 853 850 754 850 751 752 755 949 857 853 754 755 860 949 753 861 755 753 854 861 756 854 753 855 854 756 756 856 855 759 958 856 759 856 758 758 856 756 862 857 754 868 860 755 6353 755 861 958 759 758 958 758 865 865 758 764 632 631 872 760 872 490 762 761 5795 6082 961 863 866 865 764 862 375 867 631 859 872 961 6351 872 644 762 6352 644 6352 6353 866 764 871 644 6353 765 764 766 871 647 6353 870 765 6353 647 874 652 768 769 976 768 878 649 877 649 767 877 767 879 877 770 879 767 769 768 661 649 884 771 885 879 770 656 885 770 882 6287 985 888 985 6334 771 884 885 885 656 775 769 661 987 886 774 650 888 650 772 6161 889 5790 776 774 6160 774 886 6160 890 888 777 888 772 777 778 658 775 779 778 775 781 779 775 780 781 656 656 781 775 773 783 660 776 891 782 891 776 6160 891 785 784 782 891 784 787 785 891 890 787 891 669 787 890 777 511 669 777 669 890 1322 892 788 665 786 1105 661 518 1189 1322 788 789 668 665 1105 1189 518 893 788 1100 798 672 2076 894 672 790 2076 792 793 791 791 793 790 788 798 796 789 788 796 894 799 672 793 792 6356 794 798 797 794 796 798 795 796 794 789 676 1322 676 402 1322 799 894 895 1005 800 798 798 800 797 518 801 893 898 800 1005 684 800 898 681 680 1008 402 803 6386 1194 6388 897 897 803 1010 1008 682 681 6354 689 6383 684 899 802 898 899 684 682 1008 687 801 688 1114 1009 901 691 899 902 802 902 690 802 1114 688 900 905 544 901 544 691 901 902 699 805 902 805 690 544 905 808 699 902 904 806 699 904 807 1017 6237 807 705 1017 809 811 692 811 810 692 812 811 809 1120 693 1016 6373 693 1120 907 707 808 907 808 905 706 1022 908 706 908 804 812 813 811 708 907 909 708 707 907 6211 6208 910 813 814 811 814 915 811 815 708 1031 1032 427 815 1022 427 1032 6211 910 919 918 6211 919 920 911 918 817 915 818 6092 6091 914 915 819 818 814 712 819 814 819 915 819 712 818 821 820 927 927 820 5796 928 927 6200 6201 928 6200 6249 6251 923 6080 6249 923 6080 923 922 715 716 926 927 930 821 930 823 821 929 822 932 930 5791 823 5791 6289 823 931 5791 930 931 932 824 932 822 824 933 1041 589 589 1041 582 931 724 5791 5787 5792 826 824 725 931 934 726 1128 719 1128 726 828 935 933 726 934 830 829 937 1046 828 6178 938 938 723 6332 830 934 5793 730 830 832 6332 834 938 594 6243 736 594 736 829 829 736 937 836 833 6069 833 6313 6069 6313 833 6239 939 835 1136 1136 835 6069 6069 835 836 737 1048 733 834 735 1052 730 832 837 6243 610 736 835 939 613 1053 1048 737 730 837 941 730 941 726 838 613 939 1052 735 839 1051 740 467 1054 1052 839 726 941 738 736 745 940 839 841 843 843 1054 839 738 941 942 940 745 944 838 848 621 840 845 842 842 843 841 842 845 843 942 941 1058 943 738 942 844 943 1059 844 738 943 747 946 745 946 944 745 851 845 740 843 845 851 945 846 844 846 945 748 748 945 946 847 748 946 747 847 946 851 740 849 843 851 948 851 849 947 848 859 630 750 949 1061 947 852 851 6227 748 847 850 953 847 953 6227 847 951 953 850 630 859 631 951 850 858 853 857 858 850 853 858 949 860 952 862 951 858 954 951 862 858 857 862 868 952 860 861 854 6353 6353 854 864 855 864 854 856 864 855 856 958 864 862 956 954 864 958 6353 958 865 866 6227 6229 757 867 6230 956 956 862 867 859 960 969 869 6353 958 866 1068 958 1068 866 871 757 6229 6329 867 757 6329 867 962 6230 869 870 6353 870 869 964 859 969 872 961 872 972 870 964 970 871 870 970 969 1165 872 977 873 981 981 873 982 878 979 978 874 1090 983 875 874 768 976 875 768 873 976 769 874 983 652 873 769 982 880 982 769 982 880 984 882 876 881 985 876 882 6117 883 6118 978 649 878 878 877 879 878 879 885 987 880 769 984 880 987 881 887 882 649 978 986 649 986 884 652 983 6081 884 986 885 775 658 885 1097 6081 983 988 987 661 887 6288 882 6331 886 650 6330 890 886 890 6160 886 6330 888 890 773 1097 783 890 891 6160 989 1100 788 990 989 788 892 990 788 892 992 990 993 992 892 993 892 1322 786 5800 995 995 1105 786 6113 6114 1000 1100 1101 798 793 1192 790 793 996 1192 793 997 996 997 793 998 793 1001 999 998 793 999 798 1101 1005 680 668 1105 793 896 1001 895 2076 1002 799 895 1002 2076 895 894 6358 6355 6357 402 6386 1322 893 801 1107 1109 1008 680 1107 801 1003 801 1006 1003 1007 898 1005 1009 1006 801 679 1002 1009 1007 899 898 687 1008 900 801 1011 1009 6383 1012 6354 1007 902 899 803 807 1010 905 901 1014 6383 903 1012 903 6383 1018 1018 6383 1023 1017 705 703 1020 810 1021 810 1026 1021 6373 1120 1030 6174 6373 1030 6374 906 6173 907 905 1121 1121 909 907 1019 1025 910 6208 1019 910 912 1026 810 1029 1026 912 811 913 810 913 912 810 915 913 811 909 1121 1031 708 909 1031 1022 1032 1201 1024 6100 916 1024 916 924 917 1024 924 6250 6153 917 6262 1029 912 6262 920 1029 920 1034 1029 817 6262 912 913 817 912 915 817 913 1031 1037 921 1031 921 815 1032 815 921 922 916 6100 922 924 916 917 924 6251 919 910 925 918 1040 920 918 919 1040 920 1040 1034 6335 1128 715 715 6175 6335 6175 715 926 928 6201 6102 922 923 924 6251 924 923 910 1039 925 919 925 1040 1040 925 1039 928 931 927 931 930 927 1038 931 928 931 1038 6260 932 1045 929 1045 1042 929 1130 827 582 1130 582 1041 931 6101 932 1045 932 6101 1043 934 1128 832 1043 936 934 1043 832 828 6320 935 6320 828 938 832 936 1049 937 1136 1046 1047 1051 827 938 834 6320 937 736 1136 832 1049 837 736 1138 1136 837 1049 1144 6340 1050 6299 838 939 1140 838 1140 1055 1055 1145 838 736 940 1056 740 1051 1147 837 1144 1057 837 1057 941 1056 940 944 1146 1056 944 848 838 1145 750 1061 1053 1058 941 1057 942 1059 943 1146 944 946 849 740 1147 843 1149 1054 1059 942 1058 945 844 1059 945 1059 946 848 1148 1060 849 1147 1062 843 948 1152 1149 843 1152 849 1062 947 1062 1063 947 848 1060 859 1060 1150 859 851 852 948 1063 1064 950 1063 950 947 947 950 852 852 1073 948 1067 948 1073 1152 948 1067 955 859 1150 1069 950 1064 852 950 1073 1073 950 1069 951 954 953 863 961 952 954 956 953 1154 1070 959 957 1072 953 859 955 960 6329 6229 1070 1071 6329 1070 6325 6329 963 6325 963 6192 869 958 964 1157 964 958 1069 1068 871 871 1073 1069 1075 965 6329 6329 965 966 6329 966 963 966 967 963 968 1077 963 968 963 967 969 960 1077 964 1078 970 964 1157 1078 966 965 971 967 966 971 971 1077 968 971 968 967 969 1077 973 969 973 1165 972 1076 961 1079 971 965 1165 972 872 1165 973 974 1164 1165 974 976 873 1083 1082 976 1083 977 1083 873 1083 977 1084 975 1089 979 979 1089 978 980 975 979 1084 977 981 981 1085 1084 982 1085 981 878 980 979 1090 874 875 984 876 1086 1087 1086 876 985 1087 876 1091 1088 985 983 1090 1092 980 878 1250 1250 878 1093 983 1092 1180 876 984 881 978 1089 1095 878 885 1093 881 984 887 1094 1091 985 885 1096 1093 987 887 984 1094 985 1414 1184 986 978 1096 885 986 987 988 1098 987 1098 887 985 888 6330 990 978 989 991 978 990 991 1184 978 988 661 1099 1098 988 1099 1097 5800 783 991 992 994 990 992 991 994 1102 991 783 5800 786 1189 1099 661 992 993 994 993 1102 994 993 1322 1102 995 5800 1105 5803 5798 5802 6156 5797 6155 790 1192 2076 997 1192 996 998 1192 997 999 1192 998 1001 896 1106 1001 1106 999 999 1106 1192 1005 1101 1420 1004 1108 6354 897 1109 1194 1012 1004 6354 1012 1111 1004 1112 1007 1005 897 1010 1109 1008 1109 1010 1110 1006 1009 1002 1110 1009 1113 1111 1012 1008 1010 900 1271 1114 900 1114 1013 801 801 1013 1011 1009 1011 1014 1014 1011 1013 1009 1014 901 1010 807 6237 1115 905 1013 1013 905 1014 1012 903 1015 1116 1012 1015 1007 904 902 1016 904 1007 903 1018 1015 806 904 1016 804 908 1202 1202 1118 6382 6383 1336 1023 1023 1027 1018 1015 1018 6154 6154 1018 1027 1015 6154 1200 1119 1025 1019 6208 1021 1019 1203 1021 1026 1202 908 1022 1200 6154 1028 1028 6154 929 1025 1119 1033 910 1025 1033 1026 1029 1203 6154 1027 6101 1200 1028 1036 1036 1126 1200 1033 1119 1125 1029 1034 1203 1035 1205 703 1130 1031 1121 1031 1130 1037 1201 1032 921 1036 1028 929 910 1033 1039 6392 1035 703 6392 829 1035 921 1037 6165 1126 1036 1134 1214 1033 1125 1039 1033 1214 1034 1040 1129 1041 1037 1130 1345 1037 1041 1036 929 1042 1042 1134 1036 1041 1131 1345 1041 1044 1131 1134 1042 1045 1043 1040 1039 1128 1129 1043 829 1046 1210 827 1130 1047 933 1044 1041 1131 1044 933 933 1133 1131 1043 1039 936 1217 1139 1039 1039 1139 1049 1039 1049 936 1136 1135 1046 1051 1047 1050 6320 834 1052 1138 1140 1136 939 1136 1140 1051 1050 6340 1473 1052 1054 1141 1049 1139 1049 1141 1144 1056 1138 736 6340 6341 6342 1051 6340 6342 1223 1473 1054 1051 6342 1143 1051 1143 1147 1145 1148 848 1222 1053 1061 1149 1223 1054 1059 1058 1225 946 1059 1225 1148 1289 1060 1289 1150 1060 1061 949 1364 1151 1063 1062 1063 1151 1065 1063 1065 1064 1150 1227 955 952 1364 949 1066 1065 1151 1153 1066 1151 1064 1066 1069 1065 1066 1064 1066 1153 1069 1077 960 1227 960 955 1227 961 1886 952 1291 1069 1153 1071 1070 1154 6191 6193 1155 1291 1156 1069 1156 1068 1069 1154 1230 1074 1071 1154 1074 1071 1074 6329 961 1076 1886 1156 958 1068 1157 958 1156 1074 1075 6329 1073 871 1295 871 970 1295 965 1075 1079 1161 1077 971 1076 972 1160 1234 1076 1160 1075 1162 1079 971 1079 1163 1161 971 1163 1077 1161 973 973 1161 974 1078 1080 970 970 1080 1166 1295 970 1166 1161 1164 974 1171 980 1250 1305 1083 1249 1249 1083 1174 1086 1087 1088 1247 1086 1088 975 1081 1089 980 1081 975 976 1082 1175 1175 1082 1305 1305 1082 1083 1174 1083 1084 1174 1084 1251 1084 1085 1251 1085 1176 1251 1393 1090 1175 1175 1090 875 976 1175 875 982 984 1176 1085 982 1176 1086 1176 984 1088 1087 985 1177 1088 1091 1393 1254 1090 1179 1177 1091 1090 1254 1092 1179 1091 1181 1094 1181 1091 983 1180 1097 1182 1183 1095 1095 1183 989 978 1095 989 1184 1096 986 1098 1185 887 6366 1098 1099 1100 1183 1186 1183 1100 989 1097 1180 5800 1099 1187 6366 1188 1101 1186 1101 1100 1186 991 1102 1184 1102 1322 1263 6367 1101 1188 1104 1103 5801 5804 1192 1191 1191 1192 1106 896 1265 1106 1106 1265 1191 1105 1267 680 896 1266 1265 896 1108 1266 1109 680 1193 1108 1004 1196 1193 1194 1109 1195 1003 1006 1006 1110 1195 1195 1110 1002 1196 1004 1111 1111 1113 1196 1196 1113 1197 1329 900 1010 900 1329 1271 1197 1113 1272 6377 1010 6237 1114 1271 1115 1013 1114 1115 1012 1116 1113 1113 1116 1272 1273 905 1115 1119 1117 1327 6237 1017 1276 1121 905 1273 1200 1116 1015 1117 1119 1019 1336 6383 1118 1019 1021 1203 1120 1016 6336 1276 1017 703 1023 1336 1027 1127 1122 1335 1123 2090 1204 6335 6337 6338 1030 1120 6336 703 1205 1276 1336 6101 1027 1124 1200 1126 1125 1122 1127 1122 1125 1119 1129 1203 1034 1128 6338 1204 6335 6338 1128 921 1206 1201 1035 829 1205 1205 829 1340 921 6165 1206 1126 1134 1124 1125 1127 1214 1134 1132 1124 1040 1043 1129 1128 1207 1129 829 1210 1340 1130 1281 1282 1045 6101 1212 1282 1047 1130 1133 1211 1131 1211 1133 933 1045 1212 1219 1217 1039 1214 1210 1046 1350 1047 1282 1216 1350 1046 1135 1350 1135 6070 1047 1216 6314 1139 1217 1285 1135 1136 6280 6069 6280 1136 6313 5807 6069 1137 1283 1218 1351 6314 1216 1285 1221 1139 6313 1284 5807 6313 6317 1284 1220 6315 1351 1220 1284 6316 1138 1287 1140 1221 1141 1139 1287 1055 1140 1143 1142 6119 1143 6119 1147 1144 1141 1224 1144 1224 1057 1861 1056 1146 1145 1287 1148 1222 1061 1364 1057 1224 1363 1225 1861 946 1861 1146 946 1057 1363 1058 1062 1291 1151 1149 1152 1228 1228 1226 1149 1151 1291 1153 1228 1152 1067 5799 6171 1067 1228 1067 6171 1230 1154 1606 1072 6227 953 6325 6309 6228 1231 1229 1073 1230 1158 1074 6325 6192 6309 1292 6191 1155 1491 1157 1156 1074 1158 1075 1157 1491 1078 1158 1232 1159 1158 1159 1075 1159 1162 1075 1235 1162 1159 1162 1163 1079 1161 1163 1236 1236 1163 1169 1161 1236 1164 1165 5806 972 1160 972 5806 1299 1078 1491 1162 1235 1167 1162 1167 1163 1168 1163 1167 1169 1163 1168 1164 1236 1238 6056 1165 1164 5806 1165 6056 1299 1241 1078 1078 1241 1080 1080 1170 1166 1241 1170 1080 1169 1168 1167 1381 1169 1167 6056 1164 1238 1244 1081 980 1171 1244 980 1172 1244 1171 1172 1173 1245 1244 1172 1245 1245 1173 1248 1250 1172 1171 1173 1172 1250 1250 1248 1173 1251 1249 1174 1247 1252 1176 1247 1176 1086 1391 1389 1177 1177 1389 1088 1306 1253 1089 1394 1175 1305 1176 1252 1251 1394 1393 1175 1178 1177 1179 1254 1403 1092 1179 1256 1178 1255 1089 1253 1403 1180 1092 1095 1089 1255 1095 1255 1182 1182 1255 1257 1094 1414 1181 1179 1181 1414 1257 1183 1182 1258 1183 1257 1093 1096 1184 6366 1259 6330 1314 6330 1259 6330 1314 1411 1183 1258 1260 6366 1313 1259 985 6330 1411 1183 1260 1261 1186 1183 1261 1187 1313 6366 1261 1188 1186 1184 1102 1262 1262 1102 1263 1261 1550 1188 1189 1802 1187 1189 1187 1099 6368 1188 1550 5800 1267 1105 1191 1264 1190 1189 893 1802 1191 1265 1264 1002 2076 1195 1193 680 1267 1325 1107 1003 1108 1196 1269 1005 1324 1112 1194 6387 6385 6387 1194 1193 1195 1325 1003 1196 1197 1269 1269 1197 1272 1270 1199 1119 1327 1270 1119 1200 1272 1116 1333 1272 1200 1117 1019 1563 1200 1275 1333 1275 1200 1337 1122 1199 1335 1119 1199 1122 1337 1200 1124 1563 1019 1203 1022 1201 1334 1334 1202 1022 1127 1335 1338 1277 1204 2090 1276 1205 1340 1124 1453 1337 1204 1277 1128 1121 1279 1130 1278 1201 1206 1453 1124 1132 1338 1208 1127 1206 6165 1278 1281 1130 1279 1213 1453 1132 1209 6285 1207 1207 6285 1129 1209 1207 1128 1208 1214 1127 1131 1211 1345 1212 6101 1215 1212 1215 1219 1132 1134 1213 1214 1208 1348 1348 1285 1214 1285 1217 1214 1211 933 935 1045 1219 1134 1219 1213 1134 1211 935 6320 6070 5807 1350 1284 1220 1351 1286 1221 1285 1222 1288 1142 1056 1361 1138 1287 1145 1055 1364 1288 1222 1221 1224 1141 1361 1056 1861 1224 1221 1363 1287 1289 1148 1223 1149 1365 1058 1363 1479 1058 1479 1225 1149 1226 1366 1149 1366 1365 1150 1289 1227 1290 1226 1228 1367 1156 1291 1290 1228 6171 1293 1290 6171 6307 6308 1227 6171 1489 1293 1231 1489 1229 1232 1294 1233 1230 1294 1232 1230 1232 1158 1073 1372 1231 1231 1372 1489 1295 1372 1073 1371 1159 1233 1232 1233 1159 1166 1296 1295 1169 1377 1236 1236 1377 1375 1238 1236 1375 5810 1298 1237 1501 5806 5808 1503 1242 1235 1235 1242 1167 1381 1377 1169 1238 1375 1297 6056 1238 1297 1300 1239 1299 1240 1299 1239 1299 1240 1241 1170 1379 1166 1242 1381 1167 1239 1300 1301 1240 1239 1301 1243 1240 1301 1240 1243 1241 1170 1241 1243 1089 1081 1303 1303 1081 1244 1244 1246 1386 1392 1247 1304 1304 1247 1088 1304 1088 1389 1246 1244 1245 1248 1246 1245 1248 1307 1246 1307 1248 1250 1392 1252 1247 1306 1310 1253 1252 1309 1251 1309 1252 1392 1178 1405 1177 1393 1311 1254 1254 1311 1403 1178 1256 1405 1255 1253 1310 1250 1093 1531 1255 1310 1312 1093 1936 1531 1255 1312 1257 1256 1179 1414 1414 1315 1256 1184 1413 1093 1259 1313 1314 1260 1258 1548 1413 1184 1316 985 1411 1542 1414 985 1542 1261 1260 1548 1184 1262 1316 1316 1262 1318 1262 1263 1318 1318 1263 1319 1180 1807 5800 1319 1263 1322 5800 1807 1267 1264 1321 1320 1802 893 1107 1264 1265 1321 1265 1266 1321 1107 1554 1802 1266 1108 1422 1266 1422 1421 1268 1005 1420 1107 1325 1554 1108 1269 1422 1268 1324 1005 1193 1267 6387 1112 1324 1425 1112 1425 1007 1269 1272 1330 1274 1270 1564 1115 1271 1430 1271 1329 1430 1115 1430 1331 1272 1333 1330 1270 1274 1199 1563 1327 1117 1115 1331 1332 1273 1115 1332 1199 1274 1335 1273 1332 1121 1332 1444 1121 1334 1118 1202 1336 1118 1836 1340 1440 1276 2090 1339 1277 1277 6220 1128 1121 1341 1279 1338 1449 1208 1341 1343 1279 6164 1342 1278 1454 1208 1449 1203 1129 1574 1574 1129 1344 1706 1280 1128 1340 1210 1447 1279 1343 1281 1457 1208 1454 1346 1453 1213 1128 6285 1209 1128 6218 6284 1347 1208 1457 1208 1347 1348 1210 1350 1456 1216 1282 1352 1213 1219 1588 1213 1588 1346 1349 1285 1348 1216 1352 1351 1345 1211 6320 1285 1349 1353 5807 1463 1350 1215 1357 1219 1285 1353 1286 1353 1461 1286 5807 1284 1463 1355 1356 1287 1287 1356 1467 6320 1052 1473 1355 1138 1361 1287 1138 1355 1288 1360 1142 1360 1358 1142 6119 1142 1358 1475 1473 1223 1288 1364 1360 1062 1147 6119 1223 1365 1475 1363 1221 1476 1227 1289 6307 1062 1367 1291 1290 1368 1481 1481 1226 1290 1368 1290 1293 1370 1368 1293 1733 1294 1230 1293 1489 1370 1294 1371 1233 1076 1234 1615 1371 1373 1159 1374 1372 1295 1235 1373 1497 1159 1373 1235 1295 1296 1374 1375 1376 1297 1296 1166 1379 1296 1379 1374 1381 1504 1377 1501 5808 6226 1302 1300 1299 1300 1302 1301 1302 1243 1301 1170 1509 1379 1243 1302 1384 1384 1509 1243 1243 1509 1170 1303 1385 1520 1385 1303 1244 1244 1386 1385 1304 1387 1390 1387 1304 1388 1388 1304 1389 1303 1520 1089 1246 1308 1386 1390 1392 1304 1089 1520 1306 1246 1307 1308 1305 1395 1394 1305 1397 1396 1249 1397 1305 1397 1249 1251 1391 1177 1525 1306 1398 1310 1307 1250 1531 1531 1308 1307 1919 1309 1392 1400 1310 1398 1311 1399 1404 1393 1399 1311 1309 1401 1251 1402 1310 1400 1403 1311 1404 1402 1312 1310 1403 1406 1180 1405 1256 1315 1312 1663 1257 1180 1797 1801 1410 1257 1663 1410 1258 1257 1313 1409 1314 1409 1411 1314 1405 1315 1317 1317 1315 1414 1407 1405 1317 1536 1258 1410 1802 1313 1187 1536 1548 1258 1316 1541 1413 1316 1318 1541 1541 1318 1319 1548 1550 1261 1544 1319 1322 1264 1417 1190 1190 1417 1817 1320 1417 1264 1190 1817 1192 1418 1321 1266 1418 1266 1421 1420 1323 1268 1555 1422 1269 1324 1268 1327 1327 1268 1323 1267 1428 6387 1423 1270 1327 1326 1325 1195 1330 1555 1269 1435 1555 1330 1329 1428 1430 1270 1328 1564 1198 6233 1433 1428 1198 1433 1428 1329 6236 1432 1331 1430 1331 1326 1436 1331 1432 1326 1330 1333 1435 1274 1564 1439 6237 1440 6234 1331 1436 1332 1436 1444 1332 1333 1275 1438 1275 1441 1438 1335 1274 1439 1276 1440 6237 1275 1337 1441 1337 1569 1441 5809 1836 1442 1836 1443 1442 1702 1336 1442 1337 1448 1569 1338 1439 1445 1439 1338 1335 1340 1447 1440 1570 1201 1278 1334 1201 1570 1449 1338 1445 1339 2090 1446 1446 1447 1339 1444 1341 1121 1453 1448 1337 1342 1452 1450 1278 1342 1450 1574 1344 1581 1128 6220 1706 1456 1447 1210 1342 1577 1452 1342 6164 1577 1454 1455 1457 1281 1579 1282 1281 1343 1579 1453 1346 1588 1280 6218 1128 1347 1457 1458 1348 1347 1458 1348 1458 1349 1460 1456 1350 1353 1349 1461 1350 1463 1467 1350 1467 1460 1464 1284 1351 1465 1464 1351 1357 1354 1219 1354 1588 1219 1286 1461 1722 1469 1358 1360 1359 1354 1357 1471 1354 1359 5816 1286 1722 5816 1221 1286 1360 1364 1469 1475 1362 1359 1221 5816 1476 1475 1365 1362 1362 1365 1477 1476 1479 1363 1225 1865 1861 1225 1597 1865 1365 1480 1596 1365 1366 1480 1477 1365 1596 1226 1481 1480 1480 1366 1226 1369 1483 6108 6108 1368 1369 1733 1371 1294 1606 1733 1230 1483 1369 1485 1370 1369 1368 1490 1479 1486 1371 1479 1490 6309 1743 6228 1370 1489 1487 1370 1487 1485 1370 1485 1369 6309 1747 1743 1879 1491 1156 1076 1615 1886 5805 5817 5822 1373 1371 1490 1234 1495 1615 1234 1160 1495 1493 1489 1374 1489 1372 1374 1160 5806 1495 1496 1493 1374 1373 1494 1497 5806 1498 1495 1500 1496 1374 1377 1757 1375 1501 1499 5806 5806 1499 1498 1374 1379 1500 1235 1497 1623 1503 1235 1623 1377 1504 1757 6056 1297 1621 1501 6226 1502 1500 1379 1622 1624 1503 1623 1622 1379 1626 1505 1504 1381 1382 1380 1383 1302 1299 1499 1302 1499 1510 1242 1503 1506 1381 1242 1507 1507 1242 1506 1505 1381 1507 1384 1302 1510 1384 1510 1509 1520 1385 1512 1512 1385 1513 1634 1513 1386 1386 1513 1385 1393 1511 1386 1514 1511 1393 1517 1388 1518 1518 1388 1519 1393 1386 1308 1387 1517 1521 1387 1521 1390 1390 1521 1524 1388 1517 1387 1388 1389 1519 1389 1522 1519 1392 1390 1524 1389 1391 1522 1522 1391 1525 1306 1520 1526 1514 1393 1394 1395 1514 1394 1392 1524 1919 1306 1526 1398 1395 1305 1527 1396 1527 1305 1527 1396 1397 1525 1177 1654 1398 1526 1528 1399 1393 1308 1397 1790 5819 1790 1397 1251 1309 1919 1401 1398 1528 1400 1399 1308 1404 1177 1405 1654 1400 1528 1402 1528 1530 1402 1529 1532 1404 1529 1404 1308 1251 1534 1790 1534 1251 1401 1403 1404 1532 1403 1532 1406 1406 1532 1533 1406 1533 1180 1407 1656 1405 1408 1656 1407 1180 1533 1797 1928 1663 1312 1408 1317 1412 1407 1317 1408 1536 1410 1663 1548 1536 1538 1542 1411 1673 1542 1673 1414 1541 1319 1544 1414 1673 6057 1317 1414 1412 1415 1412 1414 1320 1414 1417 1414 6057 1417 1321 1414 1320 1415 1414 1418 1418 1414 1321 1416 1540 1419 1420 1416 1419 1420 6369 1416 1417 6057 1817 1682 1552 1415 1423 1327 1546 1419 1546 1327 1420 1419 1327 1192 1817 1819 1415 1421 1422 1418 1421 1415 1422 1682 1415 1420 1327 1323 1192 1819 2076 1328 1423 1681 2219 1195 2076 1423 1328 1270 1424 1327 1426 1327 1424 1324 1324 1424 1425 6387 1834 6385 1688 1554 1325 1426 1556 1424 1425 1424 1556 1558 1428 1557 1688 1325 1432 1325 1326 1432 1563 1426 1327 1007 1425 1829 6235 6387 1429 1428 1429 6387 1559 1428 1558 1559 1561 1428 1561 1430 1428 1007 1829 1831 1016 1007 1831 1432 1430 1431 1690 1564 1328 1433 1565 1429 1428 1433 1429 1436 1326 1434 5813 5811 5812 1438 1441 1566 1568 1566 1441 1439 1564 1698 1563 1203 1567 1568 1441 1569 1439 1698 1445 1436 1701 1444 1442 1443 1702 1703 1445 1698 1447 1839 1440 1571 1570 1278 1569 1448 1573 1572 1449 1703 1703 1449 1445 1444 1701 1341 1701 1571 1450 1571 1278 1450 1573 1448 1453 1451 1341 1701 1452 1451 1701 1450 1452 1701 1453 1576 1573 1575 1449 1572 1341 1451 1343 1575 1454 1449 1574 1581 1709 1579 1451 1452 1578 1576 1453 1454 1575 1455 1575 1580 1455 1451 1579 1343 1280 1706 6218 1588 1717 1453 1453 1717 1578 1455 1580 1582 1582 1457 1455 1282 1579 1352 1215 6101 1719 1457 1582 1583 1458 1457 1583 1215 1719 1357 5814 5815 1459 1352 1462 1351 1352 1584 1462 1460 1467 1356 1465 1351 1462 1465 1462 1466 1587 1462 1584 1466 1462 1587 1463 1468 1467 1585 1463 1284 1464 1585 1284 1586 1585 1464 1586 1469 1590 1586 1464 1469 1464 1465 1469 1466 1469 1465 1358 1466 1587 1358 1469 1466 1471 1588 1354 1356 1355 1361 1287 1467 1468 1592 1590 1469 1470 6321 1472 1357 1470 1359 1359 1470 1472 1359 1474 1471 1588 1471 1474 6321 1473 1472 1359 1472 1473 1361 2108 1856 1359 1473 1475 1361 1861 2108 1287 1468 1289 1468 2431 1289 1722 1724 5816 1469 1364 1863 1476 5816 1724 1477 1359 1362 1478 1474 1359 1359 1477 1478 1603 1474 1478 1597 1225 1479 1480 1600 1596 1478 1477 1596 1598 1480 1481 1598 1600 1480 1724 1601 1484 1062 1604 1367 1598 1481 1368 1476 1724 1484 1604 1607 1367 1479 1476 1484 1733 1479 1371 1367 1607 1879 1609 6108 1482 6108 1483 1482 1879 1156 1367 1485 1613 1482 1485 1482 1483 1479 1484 1488 1479 1488 1486 6228 1743 1739 1487 1613 1485 1486 1488 1490 1490 1488 1752 1615 1495 1617 1493 1618 1489 1373 1490 1756 1756 1494 1373 1376 1757 1753 1753 1614 1376 1297 1376 1614 1492 1299 1491 1493 1496 1618 1618 1496 1619 1497 1494 1756 1376 1375 1757 1617 1495 1299 1299 1495 1498 1496 1500 1619 1619 1500 1620 1299 1498 1499 1500 1622 1620 6270 1378 5823 1501 1508 1499 1502 1508 1501 1504 1625 1757 1625 1504 1505 1379 1509 1628 1379 1628 1626 1503 1624 1627 1503 1627 1629 1506 1632 1507 1507 1632 1631 1507 1631 1505 1505 1631 1625 1499 1508 1510 1903 1628 1509 1506 1503 1629 1630 1506 1629 1632 1506 1630 1509 1510 1904 1634 1511 1778 1511 1634 1386 1515 1511 1514 1516 1511 1515 1520 1512 1636 1395 1515 1514 1641 1517 1638 1638 1517 1518 1519 1638 1518 1519 1639 1638 1520 1636 1640 1516 1515 1523 1523 1643 1516 1517 1641 1919 1517 1919 1521 1521 1919 1524 1519 1642 1639 1522 1642 1519 1644 1642 1522 1395 1523 1515 1525 1644 1522 1520 1640 1645 1526 1520 1645 1646 1523 1395 1644 1525 1654 1526 1645 1648 1395 1527 1646 1646 5819 1649 1526 1648 1528 1648 1650 1528 1790 1649 5819 1650 1652 1528 1528 1652 1530 1652 1655 1530 1654 1405 1656 1402 1530 1655 1531 1794 1308 1529 1308 1794 1798 1529 1794 1798 1532 1529 1798 1533 1532 5825 1790 1534 1401 1799 1534 1923 1799 1401 2052 1312 1402 1535 1656 1408 2052 1928 1312 1660 1535 1408 1313 1658 1659 1412 1660 1408 1313 1802 1658 1663 1538 1536 1663 1664 1538 1936 1093 1413 1409 1313 1803 1411 1409 1803 1537 1543 1540 1661 1537 1540 1664 1548 1538 1664 1665 1548 1541 1668 1670 1413 1541 1670 1936 1413 1670 1539 1412 1415 1540 1416 1931 6121 1548 1665 1545 1671 1669 1545 1669 1668 1545 1668 1544 1544 1668 1541 1552 1539 1415 1549 1539 1552 1543 2055 1546 1540 1543 1546 1547 1931 1416 1545 1938 1671 1938 1545 1544 1676 6057 1673 1546 2055 1423 1540 1546 1419 6369 1547 1416 6369 1674 1547 1548 1677 1674 1548 1674 1550 1678 6057 1676 1551 1549 1552 1549 1551 1679 1938 1544 1322 1678 1817 6057 1944 1423 2055 2067 1267 1807 1552 1682 1553 1553 1551 1552 1423 1944 1681 1422 1555 1682 1553 1682 1684 1555 1683 1682 1681 1690 1328 1267 1557 1428 1267 1687 1557 1686 1425 1556 1557 1560 1558 1562 1557 1687 1562 1560 1557 1426 1563 1556 1563 1691 1556 1691 1686 1556 1427 6234 1834 1558 1560 1559 1561 1559 1560 1562 1561 1560 1561 1562 1430 1562 1689 1430 1689 1688 1431 1689 1431 1430 1432 1431 1688 2088 1326 1195 1326 2088 1434 6304 1555 1435 1434 1958 1436 1435 1693 6304 1435 1437 1693 1435 1333 1437 1437 1333 1693 1438 1694 1333 1566 1694 1438 1694 1566 1568 1697 1694 1568 1839 6234 1440 1443 1836 1695 1443 1695 1699 1697 1568 1569 1700 1697 1569 1965 1567 1203 1699 1702 1443 1446 1838 1447 1336 1702 1844 1700 1569 1573 1203 1574 1965 1336 1844 6101 1700 1573 1704 1573 1576 1704 1572 1703 1575 1707 1575 1703 6219 6221 1456 1452 1577 1579 1576 1578 1704 1704 1578 1705 1707 1580 1575 1578 1717 1705 1580 1707 1708 1582 1580 1708 1581 1715 1709 6218 2097 6123 1582 1708 1710 1583 1582 1710 1583 1710 1458 1349 1458 1710 1349 1710 1711 1461 1349 1711 1711 1712 1714 1716 1456 1460 1579 2098 1352 1461 1711 1714 6119 1352 2098 1584 1352 1718 1722 1461 1714 1460 1356 1716 6068 1358 1587 6119 1358 6067 1463 1981 1468 1585 1589 1463 1585 1586 1591 1589 1585 1591 1586 1590 1591 6321 1470 1719 1357 1719 1470 1589 1591 1592 1591 1590 1592 1588 1474 1593 2109 1469 1863 1474 1864 1593 1724 1594 1601 1597 1727 1865 952 1863 1364 1595 1726 1738 1738 1601 1595 1595 1601 1594 1730 1727 1597 6108 1868 1368 1599 1368 1868 1599 1598 1368 1599 1728 1729 1599 1729 1598 1598 1729 1600 1600 5834 1602 1600 1602 1596 1596 1603 1478 1479 1733 1597 1730 1597 1733 1732 1605 1604 1732 1604 1062 1732 1734 1605 1603 1596 1612 1601 1742 1484 1605 1735 1740 1605 1740 1604 1604 1740 1607 1734 1735 1605 1608 1741 1737 1608 6108 1609 1737 6108 1608 1154 1739 1606 1482 1608 1609 1611 1596 1610 1612 1596 1611 1745 1608 1482 1482 1613 1745 1612 5821 1610 1484 1742 1488 1743 1747 1881 1745 1613 2141 2141 1613 1487 6309 1748 1747 2141 1487 1489 1879 1891 1492 1491 1879 1492 1750 1752 1488 1614 1753 5837 1886 1615 1754 5846 1616 5818 2141 1489 1618 1754 1615 1617 1891 1617 1299 1492 1891 1299 1490 1752 1755 1756 1490 1755 1297 1614 2010 1618 1619 1758 1297 2010 1621 1619 1620 1758 1758 1620 1760 1497 1756 1764 1620 1622 1760 1760 1622 1762 1764 1623 1497 1762 1622 1626 1767 1762 1626 1623 1764 1624 1624 1764 1765 1502 6271 1633 1627 1624 1765 1629 1627 1765 1768 1629 1765 1766 1757 1631 1631 1757 1625 1628 1903 1767 1767 1626 1628 1629 1768 1769 1630 1629 1770 1629 1769 1770 1770 1766 1632 1770 1632 1630 1631 1632 1766 1509 1904 1903 1773 1904 1510 1508 1502 1775 1508 1775 1773 1510 1508 1773 1775 1502 1633 1773 1775 2154 1778 1511 1776 1779 1776 1635 1913 1634 1780 1780 1634 1778 1516 1776 1511 1635 1776 1516 1913 1781 1634 1637 1635 1643 1637 1783 1635 1634 1781 1513 1513 1781 1915 1635 1516 1643 1512 1782 1636 1513 1915 1512 2476 1637 1643 1783 1637 2476 1641 1638 1784 1638 1639 1784 1782 1640 1636 1641 2475 1919 1641 1784 2475 1639 1642 1784 1644 1917 1642 1645 1640 2658 1523 1646 1647 1647 1643 1523 1645 1785 1648 1645 2658 1785 1647 1646 1786 1646 1649 1786 1648 1651 1650 1651 1648 1785 1649 1790 1786 1924 1644 1654 1651 1653 1652 1650 1651 1652 1653 5824 1785 1401 1919 1923 1652 1653 1655 1655 1653 1789 1655 1789 1402 1656 1792 1654 1531 1796 1794 1790 5825 6040 1534 1799 1657 1656 1535 1792 1533 1798 1797 5827 1657 1799 1535 1660 1792 1793 1662 1661 1795 1793 1661 1658 1802 6040 5827 1799 1800 5827 1800 5826 1658 1800 1659 1800 1313 1659 1795 1661 1540 6098 6097 5820 1540 1931 1795 1796 1531 1936 1801 1804 1180 1313 1800 1803 1539 1660 1412 1661 1662 1537 6393 1664 1663 1543 1662 2055 1537 1662 1543 6148 6151 1667 6149 6151 6148 6394 1805 2325 1180 1804 1807 1539 1549 1660 1666 5828 6122 6120 1667 1672 1671 1806 1669 1671 1667 6152 1671 1672 1667 6151 6152 1667 1670 1668 1669 1670 1669 1806 1936 1670 1806 1411 1803 1673 1931 1547 1809 1938 1672 1671 1675 1673 1803 1673 1675 1676 1939 1549 1679 1547 1808 1809 1674 1808 1547 1808 1674 1677 1675 1813 1678 1675 1678 1676 5840 1939 1679 1677 1810 1808 1548 1810 1677 1816 1810 1548 1813 1817 1678 1815 1679 1821 1553 1679 1551 1553 1684 1679 1680 1679 1684 1821 1679 1680 1823 1683 1555 1823 1825 1683 1682 1683 1825 1821 1680 1684 1685 1267 1950 1823 1555 1826 1685 1687 1267 1685 1562 1687 1834 2360 6386 1688 1689 1827 2088 1195 2219 6253 6252 5829 1686 1691 1828 1686 1828 1425 1425 1828 1829 1690 1953 1564 1563 1829 1691 1826 1555 6304 1016 1831 1832 1833 1016 1832 1434 2088 1958 1698 1564 1835 1563 1567 1829 1567 1965 1829 6234 1839 1834 1695 1692 1696 1956 5830 6065 1956 6065 1693 1693 1333 1956 1333 1694 1963 1835 1837 1698 1016 1833 6336 1958 1840 1436 1118 2378 1836 1696 1699 1695 1697 1841 1694 1697 1700 1841 1837 1703 1698 1838 1839 1447 1436 1840 1701 2378 1334 1570 1118 1334 2378 1841 1700 1842 1571 1701 1840 1840 1570 1571 1843 1842 1700 1700 1704 1843 1704 1705 1843 1843 1705 1845 1703 1846 1707 6220 1968 1706 2396 1968 1456 1456 1968 6219 1579 1577 1847 1717 1845 1705 1708 1707 1846 1706 1968 6218 1345 2237 1577 1845 1717 1850 1713 1971 1849 1849 1709 1713 5833 6071 6123 1847 2098 1579 1708 1848 1710 1710 1848 1971 1711 1710 1971 1971 1713 5832 1971 5832 1711 1714 1712 5833 1714 5833 6123 2097 2100 6123 1717 1588 1977 1356 1978 1716 1851 1345 6320 6322 6323 6319 1977 1588 1855 2100 1722 1714 1361 1980 1356 1983 1463 1589 6254 1720 6255 1588 1593 1855 1361 1856 1980 2100 1857 1722 1592 1469 2109 1725 1721 1860 1721 1725 1723 1724 1721 1723 1468 1981 2431 1864 1855 1593 1724 1723 1594 1725 1860 1726 1723 1725 1726 1594 1726 1595 1594 1723 1726 1726 1860 1870 1863 952 1867 1871 1865 1727 6307 1289 2431 1868 1728 1599 1873 1728 1868 1997 1726 5842 1731 1871 1727 1731 1727 1730 1867 952 1874 1998 1732 1062 1998 1875 1732 5834 1728 1873 1873 1602 5834 1474 1603 1864 1997 1738 1726 1733 1731 1730 1731 1733 1994 1874 952 1876 1734 1875 1736 1732 1875 1734 1736 1875 1737 1875 6108 1737 2433 1602 1873 1603 1744 1864 1994 1733 1606 1879 1740 1735 1879 1735 1877 1734 1877 1735 1734 6133 6136 1734 1736 6134 1737 1741 6135 1737 6134 1736 1738 1742 1601 952 1878 1876 1740 1879 1607 1608 1745 1741 1596 1602 1610 1603 1612 1744 1744 1612 1746 952 1880 1878 1610 1746 1612 1744 1746 2011 6307 2005 6310 952 1886 1880 1880 1886 1883 1742 1884 1488 1747 5844 1881 5836 1885 1882 5836 1882 5835 6312 5845 6311 6310 2005 1749 1892 1610 1888 1892 2011 1746 1892 1746 1610 1488 1884 1889 1488 1889 1750 5837 1885 5836 1890 1885 5837 1879 1887 1891 1750 1889 1752 5837 1753 1890 1614 5837 2010 1886 1754 1891 1891 1754 1617 1618 1758 1759 1756 1755 1894 2010 2012 1621 2012 1895 6074 5847 5838 5839 1758 1760 1761 1759 1758 1761 1756 1894 1899 1764 1756 1899 1895 1897 6074 1762 1898 1761 1761 1760 1762 1763 6074 1897 1763 2020 6074 1767 2292 1762 1764 1899 1900 1764 1900 1765 2020 1772 6271 1768 1765 1901 1757 1770 1771 1757 1766 1770 1902 1767 1903 1769 1768 1901 1770 1769 1901 1771 1770 1901 2020 1774 1772 6271 1772 1633 1633 1772 1774 1773 2024 1904 1633 1774 1775 2024 1773 1905 1906 1908 1774 1775 1774 1908 2032 1909 1776 1777 2032 1776 2032 1777 1910 1778 1776 1909 2034 1778 1909 1777 1776 1779 1910 1777 1779 1912 1910 1779 1911 1780 1778 1912 1779 1914 1780 2038 1913 2038 1780 1911 1783 1779 1635 1783 1914 1779 1781 1913 2170 2039 1914 1783 1781 2170 1915 1915 1782 1512 2171 1783 2476 2041 1784 1642 1916 2041 1642 1917 1916 1642 1782 2658 1640 1643 1647 2476 1786 1918 1647 2476 1647 2172 2172 1647 1918 1790 1920 1918 1790 1918 1786 1920 1790 1787 1653 1785 1789 2046 1791 1921 1921 1791 1788 1654 1792 2049 1791 2046 1793 1788 1791 1793 1795 1788 1793 1788 1795 1927 1402 1789 2052 1798 1794 1796 1923 1930 1799 1660 2054 1792 2046 2055 1662 1793 2046 1662 1931 1927 1795 1929 1801 1796 1796 1801 1798 1798 1801 1797 1800 1799 1937 1937 1799 1930 1936 1929 1796 1804 1801 1929 1803 1800 1937 1806 6150 1935 1934 2067 1807 1939 1660 1549 1809 1808 2065 1816 1548 1938 6121 1938 1548 1672 1938 6121 1937 1811 1803 1675 1803 1812 1812 1803 1811 1675 1812 1814 1675 1814 1813 1810 2065 1808 1940 1816 1938 1812 1811 1818 1818 1811 1942 1817 1814 1818 1814 1812 1818 1813 1814 1817 1939 1815 1943 1816 2065 1810 2067 2210 1267 1941 1819 1942 1942 1819 1817 1818 1942 1817 1943 1815 1820 1820 1815 1821 1941 2076 1819 1822 1946 1824 1947 1943 1820 1681 1944 1690 1823 1822 1824 1824 1946 2215 1824 2215 1823 1823 2215 1825 1682 1825 2215 1684 1682 2215 1684 1948 1821 1820 1821 1948 1948 1947 1820 1944 2081 1690 1826 1945 1822 1822 1823 1826 1948 1684 1952 1949 1948 1952 1950 1562 1685 1950 1951 1562 1951 1689 1562 2219 2226 2088 1828 1691 1829 1953 1835 1564 1829 1830 1831 1826 6304 1955 1830 1829 1965 1965 1954 1831 1965 1831 1830 1832 1831 1954 2087 1834 1957 1832 1954 2089 1833 1832 2089 1695 1836 2229 1955 6304 2229 1333 2368 1956 1835 1964 1837 1833 2089 6075 1834 1839 1957 1958 1959 1840 1962 1699 5830 1956 1962 5830 1694 1841 1963 1837 1964 1703 1838 1446 1960 1960 1839 1838 1840 1959 1961 1570 1840 2378 2232 1702 1962 1702 1699 1962 1841 1842 1963 2232 1844 1702 5831 5841 5848 1574 1967 1965 1845 1966 1843 1574 1709 1967 1967 1709 1970 1845 1850 1966 1708 1846 1848 1848 1846 2236 1849 1971 1969 1969 1709 1849 1969 1970 1709 1456 1716 2396 1345 1973 2237 6101 1844 1719 1977 1966 1850 1974 1719 1844 1850 1717 1977 2098 2099 6119 1851 6256 1975 1345 1851 1975 1345 1975 1976 1345 1976 1973 1974 1975 1719 6259 6257 6258 6123 2100 1714 1356 1979 1978 1853 6256 1851 1853 1852 6256 6324 1852 1854 1854 1852 1853 1980 1979 1356 1854 1853 6318 6324 1854 6318 1856 2241 1980 1463 1983 1981 1984 1983 1589 1984 1589 1592 1721 1982 1985 1724 1982 1721 2100 1858 1857 1858 2100 1988 2109 1984 1592 1986 1862 1985 1860 1985 1862 1721 1985 1860 1987 1722 1857 1857 1858 1987 1987 1858 1859 1859 1858 1988 1995 2108 1861 1993 1862 1986 1994 1995 1861 1860 1862 1870 1870 1862 1993 1866 1996 1865 1996 1861 1865 1994 1861 1996 1999 1855 1864 1997 1870 1993 1865 1871 1866 1871 1872 1866 1996 1866 1872 1869 1873 1868 1869 2433 1873 1731 1872 1871 1994 1872 1731 6108 1875 1998 1997 2269 1738 1739 1994 1606 1874 1876 2000 1864 1744 1999 2000 1876 2001 1742 1738 2269 1739 1743 2436 1876 1878 2001 2001 1878 2002 1602 2008 1610 2135 1999 1744 1742 2269 2004 1878 1880 2002 1744 2011 2135 2131 1742 2004 1743 1881 2436 1883 2007 1880 2003 2007 1879 1742 2131 1884 1881 5843 1885 1881 1885 2134 2006 1749 2005 2007 1883 1887 1887 1883 1886 1879 2007 1887 1610 2009 1888 1884 2136 1889 1885 1890 2134 2010 1749 2006 2010 1751 1749 1887 1886 1891 1888 2009 2014 1892 1888 2014 1893 1892 2014 2011 1892 1893 1753 1757 1890 2015 1893 2014 2011 1893 2015 1755 1752 2016 1618 1759 2141 2141 1759 6041 1894 1755 2016 2012 1896 1895 1896 2012 2017 1896 2148 1895 1895 2148 1897 2017 2148 1896 1899 1894 2147 2148 1763 1897 2292 6041 1762 1899 2147 1900 1763 2148 2020 1900 2018 1765 2018 2019 1765 1771 2019 2149 2290 1771 2149 2290 1757 1771 2019 1901 1765 2019 1771 1901 2021 2292 1903 2292 1902 1903 1767 1902 2292 2150 2022 2020 2020 2022 1774 1903 1904 2021 2026 2022 2023 2022 2026 1906 1774 2022 1906 2151 1905 2025 1905 2151 2024 2025 1905 1773 2025 1773 2154 2026 2027 1906 1907 1906 2027 1908 1906 1907 1908 2028 1775 2154 1775 2028 2158 1907 2027 1907 2158 1908 2029 1908 2158 2028 1908 2029 1909 2030 2164 2030 1909 2031 1909 2032 2031 2032 1910 2033 1910 2035 2033 1909 2164 2034 1910 1912 2035 2035 1912 2037 1911 2036 2038 2034 2036 1778 2036 1911 1778 1912 1914 2037 2037 1914 2039 2039 1783 2040 2040 1783 2171 2475 1784 2041 2041 1916 1917 2658 2052 1785 3026 1917 1644 1918 1920 2172 2172 1920 2042 1924 3026 1644 1922 2042 1787 2042 1920 1787 1923 1919 2307 2043 1921 2044 1788 2044 1921 1788 2045 2044 2045 1788 2047 1785 2052 1789 1787 1790 1922 1654 2049 1924 1921 2043 2046 2047 1788 1925 2048 1922 1926 1927 1925 1788 1922 1790 1926 1792 2051 2049 2056 1930 1923 1792 2054 2051 2058 1932 2056 1930 1932 1937 2056 1932 1930 2319 1663 1928 1936 1933 1929 1929 1933 1804 2319 6150 1663 6150 6393 1663 1804 1933 1807 2196 2055 2194 1933 1936 1934 1933 1934 1807 2054 1660 2195 2337 1934 1936 2197 1934 2337 1802 1554 2329 1660 2061 2195 2200 1936 1806 2197 2067 1934 1660 1939 2061 1939 2064 2061 2200 1806 2063 1944 2055 2196 1941 1937 2076 1811 1937 1942 1937 1941 1942 1939 1943 2074 1939 2074 2064 2196 2075 1944 2350 1322 6386 2080 2074 1943 6386 2359 2350 2210 1950 1267 1826 2069 2073 1945 2078 1822 1946 1822 2079 1822 2078 2079 1947 2080 1943 2075 2081 1944 1816 2083 2065 2360 2359 6386 1688 2353 1554 1945 1826 2073 1946 2079 2215 1947 1948 2080 1684 2215 2368 1948 1949 2082 1948 2082 2080 2085 1684 2368 2086 2082 1952 2082 1949 1952 1690 2081 1953 1952 1684 2085 2086 1952 2085 2087 2360 1834 1955 2228 1826 1953 2227 1835 2227 1964 1835 2229 2228 1955 1965 2089 1954 2378 2229 1836 1956 2556 1962 1333 1963 2368 1957 1960 2369 1957 1839 1960 1959 1958 1961 2378 2091 2377 1963 2234 2368 2369 1446 2090 2369 1960 1446 1840 1961 2091 2378 1840 2091 1963 2235 2234 1963 1842 2235 1965 5852 2089 2235 1842 1843 2235 1843 1966 1964 1846 1703 1847 1577 2093 2093 1577 2237 2094 1973 2381 1844 2381 1973 1848 2236 1971 1969 1972 1970 2577 6218 1968 2093 2098 1847 1973 2094 2237 1977 2235 1966 1977 2096 2235 1969 1971 2095 1972 1969 2095 2577 2097 6218 1976 1844 1973 1844 1976 1974 1716 1978 2396 1974 1976 1975 1977 1855 2096 2396 1978 1979 1980 2241 1979 2102 1982 2103 2102 2104 1982 2104 1985 1982 1724 2103 1982 1724 2408 2103 1856 2108 2241 2249 1983 1984 2104 2107 1985 2249 1984 2109 2105 2106 6107 2110 1986 2107 2107 1986 1985 1724 1722 2408 2408 1722 1987 2100 1989 1988 1991 1989 2100 2113 2108 1995 2406 6119 2405 1993 1986 2110 1859 2111 1987 1987 2111 2408 1988 2111 1859 1988 1990 2111 1988 1989 1990 2112 2111 1990 1991 1990 1989 2100 2118 1991 1981 2419 2431 2114 2109 1863 2602 6119 2406 2115 1993 2110 1991 2112 1990 2116 2112 1991 2116 1991 2118 1995 2121 2113 1062 6119 2602 5850 2125 1869 2260 1855 2122 1994 2124 1995 2124 2121 1995 1863 1867 2114 2114 1867 2263 2258 6108 1998 6107 6108 2258 1855 1999 2122 1997 2115 2126 1997 1993 2115 1872 1994 1996 1739 2124 1994 1869 2125 2433 2129 1867 1874 1997 2126 2269 2129 1874 2000 2267 1879 2127 1877 2127 1879 2130 2127 1877 1877 6137 2130 2269 2126 2268 6307 2431 2005 2431 2437 2005 2266 2000 2001 2266 2001 2267 1879 2267 2001 2433 2444 1602 2005 2437 2272 2003 2001 2002 1879 2001 2003 1602 2444 2008 2135 2270 1999 2004 2269 2131 1880 2007 2002 2003 2002 2007 2134 2132 1881 2006 2005 2010 2008 2009 1610 1884 2131 2136 2011 2142 2135 1752 1889 2136 1752 2136 2016 1890 1757 2290 2013 2012 2010 2139 2143 2013 2144 2014 2009 2015 2146 2011 2011 2146 2142 2017 2012 2013 2014 2144 2145 2015 2014 2146 2014 2145 2146 2013 2291 2017 2016 2147 1894 2147 2149 1900 2148 2649 2020 2149 2018 1900 2018 2149 2019 2020 2461 2150 1904 2293 2021 2150 2023 2022 2026 2023 2150 2150 2153 2026 2152 2025 2154 2152 2151 2025 2155 2026 2153 2026 2155 2027 2156 2154 2028 2027 2155 2157 2158 2027 2157 2156 2028 2298 2028 2029 2158 2159 2028 2158 2298 2028 2159 2031 2164 2030 2031 2160 2164 2160 2031 2161 2031 2032 2161 2033 2162 2032 2032 2162 2161 2033 2163 2162 2033 2165 2163 2033 2035 2165 2167 2034 2166 2035 2037 2165 2165 2037 2168 2038 2036 2471 2034 2167 2036 2167 2471 2036 2037 2039 2168 2168 2039 2169 2170 1913 2038 2169 2039 2753 2039 2040 2753 1782 1915 2170 2040 2171 2753 2170 2472 1782 2171 2476 2473 1917 3026 2041 1919 2475 2307 2042 1922 2308 2045 2479 2044 2044 2479 2174 2045 2047 2479 1922 2048 2175 1924 2049 3026 2173 2046 2043 2176 2046 2173 2047 1925 2177 2178 2177 1925 2050 2179 2048 2048 1926 2050 2181 2055 2176 2055 2046 2176 2182 2178 1927 2178 1925 1927 2053 2179 2050 2183 2179 2053 2050 1926 2053 1927 1931 2182 2053 2184 2183 1926 2184 2053 2187 2184 1926 1790 2187 1926 1790 6040 2057 2056 1923 2185 2054 2186 2051 2181 2194 2055 6040 1802 2057 2059 2058 2185 2058 2056 2185 1802 2190 2188 1802 2188 2057 2060 2059 2189 2060 2189 2192 2058 2060 1932 2059 2060 2058 2054 2492 2186 1802 2329 2190 1932 2060 1937 2054 2324 2492 1937 2060 2332 2054 2195 2324 2062 1935 6150 1935 2062 1806 2334 2067 2197 2195 2061 2064 2063 1806 2062 2337 1936 2200 2195 2064 2207 1809 2065 2198 2066 6157 1938 2199 2200 2063 1938 1322 2066 1937 2346 2076 2074 2207 2064 2196 2208 2075 1938 2209 1940 6157 2209 1938 2202 6157 2066 1322 2202 2066 1322 2204 2202 2344 2204 1322 2070 2211 2205 2205 2068 2070 2068 2072 2070 2071 2206 2069 2071 2068 2206 2071 2072 2068 2069 2206 2073 2207 2074 2212 1940 2209 2547 1322 2350 2344 2213 2076 2346 2077 2211 2070 2072 2077 2070 2071 2069 2077 2072 2071 2077 1945 2073 2349 2074 2080 2212 2212 2080 2216 1940 2223 1816 2223 1940 2547 2076 2213 2219 2069 1826 2077 1945 2349 2078 2349 2079 2078 2065 2083 2218 1688 2357 2353 1826 2228 2077 2216 2080 2217 2083 1816 2084 2084 1816 2223 1951 2356 1689 1689 2356 1827 2356 2357 1827 2357 1688 1827 2080 2220 2217 2082 2220 2080 2075 2227 2081 2220 2082 2086 2081 2227 1953 2084 2221 2083 2222 2221 2084 2223 2222 2084 2086 2085 2224 2220 2086 2224 2226 2231 2088 2088 2231 1958 2232 1962 2372 2372 1962 2366 1962 2556 2366 2556 1956 2230 2694 1964 2227 1958 2231 1961 1961 2231 2375 2375 2376 1961 1967 2233 2090 5849 5851 2092 5852 6075 2089 2369 2090 2233 2376 2091 1961 1965 1967 5852 2232 2380 1844 2380 2381 1844 2384 2374 1967 1970 2384 1967 1970 1972 2393 1970 2393 2238 1970 2238 2384 2396 2389 1968 2098 2093 2390 2095 2239 2392 1972 2095 2393 2095 2392 2393 6269 6268 5853 2390 2240 2098 2101 2235 2096 2097 2399 2100 2099 2098 2240 2396 1979 2241 2096 1855 2101 2102 2103 2707 2103 2408 2242 2105 2248 2244 2105 2246 2106 2244 2246 2105 1855 2260 2404 2707 2104 2102 1981 1983 2249 2248 2105 6107 2250 2107 2104 2249 2409 1981 2107 2250 2110 2250 2251 2110 1981 2409 2419 2109 2114 2249 2106 2714 6107 2411 2408 2111 2111 2112 2411 2594 2247 2258 2247 6107 2258 2110 2251 2115 2251 2252 2115 2112 2417 2411 2116 2417 2112 2100 2119 2117 2118 2100 2117 2120 2119 2100 2121 2256 2113 2414 1062 2602 1992 2422 2125 2252 2261 2115 2116 2253 2417 2118 2253 2116 2118 2254 2253 2117 2254 2118 2117 2123 2254 2117 2119 2123 2262 2123 2120 2123 2119 2120 5859 2262 2120 1062 2414 2257 2261 2126 2115 1739 2121 2124 1739 2256 2121 1739 2265 2256 2267 2128 2264 2264 2128 2130 1998 1062 2257 2257 2258 1998 2122 1999 2260 2268 2126 2261 2265 1739 2430 2263 1867 2129 2432 2263 2129 2128 2267 2127 2130 2128 2127 1999 2270 2260 2430 1739 2436 2000 2266 2129 2129 2266 2432 2130 6137 2614 2614 6137 1745 2131 2269 2275 2436 2132 2133 1881 2132 2436 2436 2133 2274 2436 2274 2271 2005 2272 2010 2133 2132 2641 2132 2134 2641 2280 2008 2444 2280 2009 2008 2136 2131 2275 2134 1890 2641 2010 2442 2276 2010 2276 2013 2013 2276 2137 2137 2277 2138 2276 2277 2137 2277 2278 2138 1890 2290 2457 2641 1890 2457 2137 2139 2013 2139 2137 2140 2140 2137 2138 2281 2138 2278 2140 2138 2281 2280 2283 2009 2135 2142 2285 2139 2286 2143 2139 2140 2286 2281 2286 2140 2009 2283 2284 2144 2284 2287 2144 2009 2284 2142 2289 2285 2146 2289 2142 2143 2291 2013 2286 2291 2143 2144 2287 2455 2144 2455 2145 2146 2288 2289 2141 6041 2827 2017 2291 2148 2148 2291 2649 2827 6041 2292 2460 2290 2149 2649 2461 2020 2293 2292 2021 2293 1904 2294 2295 1904 2024 2151 2463 2295 2295 2024 2151 2150 2462 2153 2154 2296 2152 2296 2463 2152 2463 2151 2152 2153 2297 2155 2156 2652 2154 2157 2297 2299 2157 2155 2297 2157 2299 2300 2158 2157 2302 2157 2300 2302 2158 2302 2301 2159 2158 2301 2298 2159 2301 2160 2303 2164 2161 2303 2160 2162 2303 2161 2163 2305 2303 2163 2303 2162 2164 2470 2034 2470 2164 2304 2165 2305 2163 2470 2166 2034 2306 2165 2168 2168 2169 2306 2170 2038 2472 2171 2474 2753 2474 2171 2473 1782 2472 2658 2172 2477 2476 2041 3026 2657 2658 2482 2052 2042 2308 2172 1922 2175 2308 2310 2173 2043 2044 2310 2043 2174 2310 2044 2174 2479 2310 2175 2048 2480 2173 2311 2176 2177 2481 2047 2481 2177 2178 2052 2662 2486 2048 2180 2480 2048 2179 2180 2312 3026 2049 2181 2176 2311 2182 2481 2178 2313 2483 2180 2179 2183 2313 2180 2179 2313 2049 2186 2312 2049 2051 2186 2486 2315 2052 2184 2187 2313 2184 2313 2183 2181 2311 2194 1931 2316 2314 2182 1931 2314 2317 2052 2315 2320 2187 1790 1790 2057 2320 2059 2185 2488 2059 2488 2189 2189 2488 2193 2052 2317 2319 2319 1928 2052 2188 2191 2321 2188 2321 2057 2190 2191 2188 2192 2189 2193 2316 1931 2493 2191 2329 2321 2193 2322 2323 2190 2326 2191 2326 2329 2191 2060 2323 2327 2060 2193 2323 2060 2192 2193 2194 2328 2196 1931 1809 2493 2190 2329 2326 2330 2060 2327 2060 2330 2332 1809 2504 2493 2329 1554 2331 2338 2324 2195 2337 2334 2197 1809 2198 2336 1809 2336 2504 2333 2063 2062 2334 2337 2516 2067 2334 2510 1554 2512 2331 2338 2195 2207 2336 2198 2778 2198 2065 2778 2339 6099 2063 2339 2063 2333 6064 2200 2199 2200 2518 2337 2510 2340 2067 2512 1554 2519 2205 2673 2068 2206 2068 2673 2207 2341 2338 2778 2065 2342 5855 6157 2202 2204 2343 2202 2204 2344 2343 2202 2343 5856 2203 5865 6361 2343 2518 2200 2067 2340 2210 1554 2345 2519 2205 2211 2347 2206 2673 2073 2073 2673 2348 2207 2212 2341 5864 6112 2521 2210 2340 2351 2353 2345 1554 2211 2077 5857 2347 2211 5857 2073 2348 2349 2212 2216 2341 2675 2075 2208 2210 2351 1950 1950 2351 2356 2079 2349 2215 2675 2227 2075 6111 2065 2218 1950 2356 1951 2554 5857 2077 2077 2228 2554 2217 2358 2216 2542 2218 2083 2219 2545 2226 2083 2362 2542 2221 2362 2083 2225 2362 2222 2222 2362 2221 2222 2223 2225 2087 2544 2360 2361 2224 2085 2224 2361 2220 2085 2368 2363 2361 2085 2363 2544 2087 2364 2226 2365 2231 2364 1957 2369 2364 2087 1957 2228 2229 2554 5867 6348 6347 2365 2375 2231 2378 2371 2229 2373 2379 2232 2372 2373 2232 2368 2230 1956 2091 2376 2377 2232 2379 2380 2368 2234 2565 2694 2382 1964 1967 2374 2233 2374 2369 2233 1964 2382 1846 1846 2382 2236 2236 2382 2383 2236 2383 2570 2236 2570 1971 2094 2571 2573 2237 2094 2573 2571 2094 2381 2384 2238 2387 1968 2385 2577 1968 2386 2385 1968 2389 2386 2095 1971 2574 2574 2239 2095 2238 2393 2388 2238 2388 2387 2239 2574 2391 5869 2393 2392 2240 2400 2099 2400 2401 2099 2396 2241 2395 2099 2401 2403 2243 2402 2245 2402 2714 2245 2404 2101 1855 2242 2408 2398 2099 2403 6119 2403 2405 6119 2243 2248 2247 2244 2248 2245 2245 2248 2243 2245 2714 2244 2244 2714 2246 2714 2106 2246 2710 2104 2707 2100 2399 2581 2241 2108 2395 2248 6107 2247 2250 2407 2251 2100 2581 2120 2120 2581 2418 2412 2409 2249 2407 2252 2251 2249 2413 2412 2249 2114 2413 2594 2258 2410 5854 5870 2255 2113 2256 2108 1992 2416 2422 2252 2423 2261 5859 2418 2262 2263 2617 2114 5872 2426 5863 2414 6115 2257 6116 2420 5862 2259 2427 2421 5861 2257 5873 5861 2258 2257 2422 2814 2125 2429 2261 2423 2254 2424 2253 2254 2123 2424 2262 2424 2123 2721 2256 2265 2721 2265 2430 2263 2618 2617 2267 2425 2613 2425 2267 2426 2264 2426 2267 5863 2426 2264 5863 2264 2130 5863 2130 2427 2433 2125 2814 2429 2268 2261 2619 2267 2613 2614 2427 2130 2260 2270 2620 2436 2625 2430 2619 2432 2266 2267 2619 2266 2268 2429 2624 2435 2268 2624 2431 2626 2437 2435 2269 2268 2438 2269 2435 2437 2440 2272 2614 1745 2738 2271 2273 2439 2436 2271 2439 2439 2273 2441 2440 2442 2272 2738 1745 2443 2273 2638 2441 2273 2271 2638 2271 2274 2638 2272 2442 2010 2443 1745 2141 2133 2641 2448 2133 2448 2274 2274 2448 2638 2276 2442 2634 2446 2276 2634 2276 2446 2277 2446 2449 2277 2270 2135 2445 2445 2135 2452 2278 2450 2279 2277 2450 2278 2277 2449 2450 2136 2275 2016 2279 2282 2281 2278 2279 2281 2647 2279 2450 2282 2279 2647 5895 2283 2280 2135 2285 2452 2281 2454 2286 2281 2282 2454 2284 2283 5895 5895 2287 2284 2289 2453 2285 2453 2452 2285 2286 2454 2291 2146 2145 2455 2288 2146 2456 2146 2455 2456 2456 2289 2288 2147 2016 2915 2457 2290 2458 2147 2460 2149 2460 2748 2290 2459 2290 2748 2150 2461 2462 2294 1904 2650 1904 2295 2650 2462 2297 2153 2297 2464 2299 2156 2298 2652 2299 2464 2465 2299 2465 2300 2302 2300 2465 2301 2302 2465 2301 2465 2466 2468 2164 2303 2303 2467 2468 2303 2305 2467 2470 2304 2468 2468 2304 2164 2305 2469 2467 2469 2305 2165 2165 2306 2469 2471 2167 2166 2470 2471 2166 2038 2471 2472 2472 2756 2658 2476 2309 2473 2307 2473 2309 2657 2475 2041 2175 2480 2308 2480 6095 2308 1923 2309 2476 1923 2476 2477 2307 2309 1923 2310 2478 2173 2310 2479 2478 2763 1923 2477 2478 2311 2173 2047 2481 2479 2482 2662 2052 2180 2483 2480 2481 2182 2661 2185 1923 2763 2312 2186 2663 2182 2314 2661 2861 2483 2313 2311 2484 2194 2314 2316 2487 2487 2316 2315 2315 2316 2317 2317 2316 2318 2317 2318 2319 2495 2665 2187 2187 2320 2495 2320 2057 2321 2488 2322 2193 2491 2322 2488 2493 2490 2318 2493 2318 2316 2490 2494 6150 2490 6150 2318 2318 6150 2319 2496 2320 2321 2321 2329 2496 2322 2491 2323 2323 2491 2327 2324 2499 2492 2194 2500 2328 6150 2494 2863 6150 2863 2515 2496 2329 2502 2491 2503 2327 2503 2330 2327 2196 2328 2500 2062 6150 2515 2331 2502 2329 2507 2502 2331 2330 2503 2509 2509 2332 2330 2324 2513 2499 2514 2196 2500 2515 2333 2062 2335 2959 2505 2505 2510 2335 2331 2512 2507 2324 2338 2513 2334 2516 2959 2959 2335 2334 2510 2334 2335 1937 2332 2509 2338 2520 2513 2333 2515 2339 5887 2337 2518 2516 2337 5887 2510 2511 2340 2511 2522 2340 1937 2509 2346 2341 2520 2338 2208 2196 2514 6158 6159 2201 2343 6157 2339 2347 2525 2205 2673 2682 2348 2526 2520 2341 2343 2344 2527 2343 2527 6157 6157 2527 2531 2344 2350 2527 2351 2522 2352 2351 2340 2522 2522 2523 2352 2345 2353 2524 2529 2213 2346 6278 2525 5857 5857 2525 2347 2348 2682 2872 2349 2348 2872 2535 2526 2341 2341 2216 2535 2209 2531 2355 2209 6157 2531 2350 2528 2527 2528 2350 2359 2351 2352 2356 2356 2352 2523 2524 2356 2523 2524 2357 2356 2524 2353 2357 2354 2214 5880 2349 2872 2215 5858 5866 5881 2209 2355 2547 2359 2538 2528 5857 2554 6042 2217 2539 2535 2358 2217 2535 6111 2218 2542 2541 2538 2359 2359 2360 2541 2533 2545 2219 2213 2533 2219 2220 2539 2217 2675 2546 2227 2360 2544 2541 2220 2782 2539 2549 2215 6215 2215 2549 2368 2688 2782 2361 2782 2220 2361 2225 2547 2362 2547 2225 2223 2226 2553 2365 2688 2361 2363 2549 2367 2368 2363 2368 2565 2546 2694 2227 2364 2369 2551 2553 2370 2365 2229 5882 2554 2372 2555 2373 2366 2696 2372 2372 2696 2555 2366 2556 2696 2557 2230 2367 2557 2556 2230 2368 2367 2230 2375 2365 2370 2559 2375 2370 2559 2558 2375 2561 2563 2378 2562 5868 5883 2563 2371 2378 2229 2371 5882 2379 2373 2564 2567 2369 2566 2566 2369 2374 2377 2376 2375 2558 2377 2375 2378 2377 2558 2561 2378 2558 2379 2564 2380 2565 2234 2568 2381 2380 2564 2566 2374 2572 2569 2568 2234 2234 2235 2569 2571 2381 2564 2570 2382 2798 2382 2570 2383 2374 2384 2572 2574 1971 2570 2384 2387 2576 2384 2576 2572 2577 2385 2389 2385 2386 2389 2889 2235 2586 2393 2575 2388 2387 2388 2576 2576 2388 2575 2577 2580 2097 2582 2389 2395 2389 2396 2395 2390 2093 2573 2237 2573 2093 2235 2101 2586 2397 2574 2578 2574 2398 2391 2574 2397 2398 2398 2239 2391 2394 2392 2579 2392 2239 2579 2575 2393 2394 2579 2575 2394 2097 2580 2399 2399 2580 2581 2240 2584 2400 2390 2584 2240 2103 2242 2707 2707 2242 2578 2397 2578 2242 2398 2397 2242 2587 2239 2398 2401 2400 2584 2101 2404 2586 2398 2408 2587 2243 2706 2402 2405 2403 2592 2243 2247 2706 2395 2108 2719 2405 2592 2595 2706 2247 2594 2104 2597 2250 2405 2595 2406 2595 2598 2406 2250 2601 2407 2250 2597 2601 2581 2717 2418 2602 2406 2598 2404 2260 2720 2407 2601 2252 2902 2408 2411 2409 2607 2419 2607 2409 2608 2412 2608 2409 2603 2605 2415 2410 2415 2605 2410 2258 2415 1992 2714 2416 2252 2601 2611 2902 2411 2417 2606 2108 2256 2412 2609 2608 2413 2609 2412 2602 2603 2414 6115 2414 2603 6115 2603 6058 6055 6058 2415 2415 6058 2603 2258 5860 2415 2423 2252 2611 2262 2418 2813 2256 2721 2606 2413 2617 2609 2114 2617 2413 2426 2610 2613 2426 5871 2610 6115 6058 2428 2421 2427 2428 2423 2615 2429 2423 2611 2615 2424 2417 2253 2813 2424 2262 2721 2430 2625 2431 2419 2612 2613 2425 2426 2428 2427 2614 2429 2615 2624 2263 2622 2618 2263 2432 2434 2622 2263 2434 2619 2434 2432 2814 2623 2433 2619 2622 2434 2627 2620 2270 2628 2625 2436 2437 2626 2629 2444 2623 2631 2433 2623 2444 2435 2624 2438 2633 2628 2439 2628 2436 2439 2630 2437 2629 2630 2440 2437 2627 2270 2636 2438 2624 2632 2438 2632 2269 2441 2633 2439 2442 2440 2630 2630 2634 2442 2635 2738 2443 2631 2635 2443 2631 2443 2447 2631 2447 2444 2445 2822 2636 2445 2636 2270 2275 2269 2632 2638 2633 2441 2141 2447 2443 2444 2447 2280 2638 2448 2741 2446 2637 2449 2447 2141 2451 2640 2447 2451 2280 2447 2640 2452 2822 2445 2448 2641 2741 2449 2825 2450 2825 2647 2450 2451 2141 2742 2016 2275 2739 2742 2141 2827 2452 2644 2642 2452 2642 2822 2282 2647 2454 2643 2644 2289 2644 2452 2453 2644 2453 2289 2641 2457 2646 2454 2647 2291 2643 2456 2645 2645 2456 2455 2289 2456 2643 2458 2290 2459 2458 2459 2461 2458 2461 2457 2457 2461 2646 2827 2292 2920 2462 2461 2459 2292 2293 2749 2749 2294 2650 2293 2294 2749 2651 2296 2750 2651 2463 2296 2295 2463 2651 2652 2750 2154 2750 2296 2154 2466 2653 2301 2652 2298 2653 2653 2298 2301 2464 2654 2465 2465 2654 2466 2469 2468 2467 2169 2753 2306 2471 2754 2472 2756 2472 2754 5874 5875 2655 2474 2475 2753 2756 2942 2658 2473 2307 2474 2475 2474 2307 2475 2657 2758 6095 2172 2308 2477 2172 2656 2477 2656 2846 2478 2479 2659 5876 5877 5886 2660 2311 2478 2659 2660 2478 2479 2481 2659 2311 2660 2484 2314 2485 2661 2661 2485 2486 2480 2483 2861 2487 2485 2314 2315 2486 2487 2486 2485 2487 2185 2763 2488 2763 2491 2488 2663 3026 2312 2489 2861 2313 2313 2187 2489 2663 2186 2492 2484 2500 2194 2500 2484 2660 2665 2664 2489 2665 2489 2187 2490 2493 2769 2490 2769 2494 2495 2320 2497 2320 2496 2497 2494 2769 2863 2668 2665 2495 2670 2668 2495 2497 2501 2495 2501 2670 2495 2496 2502 2497 2497 2502 2501 2498 5878 5879 2491 2666 2503 2501 2506 2670 2502 2508 2501 2508 2506 2501 2502 2507 2508 2503 2666 2669 2509 2503 2669 2667 2675 2514 2500 2667 2514 2776 2493 2504 2510 2505 2957 2510 2957 2511 2665 2668 2957 2668 2511 2957 2506 2671 2670 2671 2506 2512 2506 2508 2512 2508 2507 2512 2509 2669 2672 2504 2336 2776 2865 2959 2516 2517 2678 2671 2512 2517 2671 2509 2672 2681 2515 2777 2676 2515 2676 2339 2679 2339 2676 2865 2516 2677 2522 2511 2668 2678 2522 2668 2678 2517 2524 2517 2519 2524 2517 2512 2519 2346 2509 2681 2673 2674 2682 2520 2526 2513 2514 2675 2208 2343 2339 2679 2518 2343 5890 2343 2679 5890 5887 2518 5890 2523 2522 2678 2524 2523 2678 2345 2524 2519 2205 2525 2673 6111 2778 2342 2529 2346 2683 2683 2684 2529 2673 2530 2534 2525 2530 2673 2872 2682 2866 2531 2527 2532 2532 2527 2528 2529 2533 2213 2529 2684 2533 2355 2531 2536 2536 2531 2532 2532 2537 2536 2532 2528 2537 2528 2538 2537 2534 2530 5892 2215 2872 6215 2526 2535 2539 2779 6111 2542 2355 2543 2547 2536 2540 2355 2540 2543 2355 2537 2687 2536 2687 2537 2541 2537 2538 2541 6042 2695 2685 2691 2543 2540 2548 2687 2541 2541 2544 2548 2545 2533 2559 2559 2533 2685 2542 2362 2785 2690 2547 2543 2544 2551 2548 2554 2695 6042 2362 2875 2785 2547 2875 2362 2687 2548 2691 2551 2691 2548 2545 2559 2553 2226 2545 2553 2552 2549 6215 2544 2364 2551 2557 6215 2789 2552 6215 2557 2552 2557 2367 2549 2552 2367 2565 2688 2363 2369 2567 2551 2551 2567 2691 2553 2559 2370 2692 2560 2559 2554 5882 2560 2789 2696 2557 2696 2556 2557 2567 2885 2691 2560 2558 2559 2561 2558 2560 5882 2561 2560 2563 2561 5882 2697 2564 2373 2697 2373 2555 2565 2568 2794 2566 2885 2567 2564 2697 2698 2564 2698 2699 2564 2699 2571 2796 2572 2797 2235 2889 2569 2570 2798 2574 2798 2799 2574 2576 2701 2700 2576 2700 2572 2573 2571 2802 2578 2574 2702 2702 2574 2799 2701 2576 2575 2580 2577 2581 2581 2577 2582 2577 2389 2582 2585 2573 2802 2702 2707 2578 2704 2703 2239 2579 2239 2703 2579 2703 2701 2701 2575 2579 2718 2582 2583 2582 2395 2583 2390 2573 2584 2584 2573 2585 2239 2587 2588 2239 2588 2704 2584 2589 2401 2708 2589 2584 2708 2584 2585 2588 2587 2408 2588 2408 2704 2589 2590 2403 2401 2589 2403 2708 2591 2589 2591 2590 2589 2712 2591 2708 2714 2402 2806 2586 2404 2709 2717 2581 2718 2395 2719 2583 2403 2590 2592 2591 2592 2590 2585 2594 2593 2706 2594 2585 2710 2711 2104 2704 2408 2902 2583 2719 2718 2595 2592 2591 2595 2591 2712 2708 2593 2596 2104 2711 2597 2712 2599 2595 2599 2598 2595 2712 2600 2599 2593 2410 2596 2410 2600 2596 2593 2594 2410 2711 2716 2601 2597 2711 2601 2602 2598 2599 2604 2599 2600 2604 2602 2599 2600 2605 2604 2410 2605 2600 2606 2719 2108 2604 2603 2602 2605 2603 2604 2716 2611 2601 2979 2902 2417 2720 2260 2727 2418 2983 2813 2418 2717 2983 2419 2607 2612 2608 2726 2607 2609 2726 2608 2617 2726 2609 2613 2610 2722 2610 2723 2722 6115 2724 2610 2610 2724 2723 2724 6115 2428 2422 2416 2814 2260 2620 2727 2615 2611 2811 2612 2616 2431 2726 2616 2607 2616 2612 2607 2428 2725 2724 2614 2725 2428 2424 2816 2417 2424 2813 2816 2731 2721 2625 2431 2729 2621 2431 2616 2729 2726 2729 2616 2726 2617 2733 2617 2618 2733 2621 2629 2626 2431 2621 2626 2729 2629 2621 2618 2622 2733 2622 2734 2733 2623 2814 2631 2620 2627 2735 2727 2620 2735 2731 2625 2628 2736 2731 2628 2729 2634 2629 2634 2729 2732 2619 2734 2622 2624 2811 2632 2811 2739 2632 2633 2823 2628 2823 2736 2628 2630 2629 2634 2634 2737 2637 2733 2737 2634 2822 2735 2627 2627 2636 2822 2637 2446 2634 2734 2637 2737 2738 2635 2820 2631 2820 2635 2739 2275 2632 2638 2823 2633 2638 2741 2823 2637 2639 2449 2639 2825 2449 2451 2742 2640 2640 2742 2280 2016 2821 2915 5895 2280 2742 2644 2643 2829 2822 2644 2829 2822 2642 2644 2287 5895 2744 2915 2919 2147 5884 5885 2745 2646 5896 2641 2455 2287 2744 2645 2455 2744 2643 2645 2744 2646 2461 2648 5896 2646 2648 2924 2291 2746 6266 6333 2647 2833 2746 2291 6297 6298 2461 6296 6297 2461 2649 6296 2461 2924 2649 2291 2460 2147 2748 2749 2925 2292 2920 2292 2925 2462 2459 2838 2749 2650 2836 2650 2651 2836 2650 2295 2651 2462 2931 2297 2931 3008 2297 3008 2751 2297 2297 2751 2464 2751 2654 2464 2653 2750 2652 2653 2466 2654 2469 2841 2468 2752 2841 2469 3108 2470 2468 2934 2752 2469 2306 2934 2469 3108 2471 2470 2753 2475 2849 2849 2475 2758 2172 6094 2656 2657 2759 2758 2760 2482 2658 2477 2846 2761 2761 2763 2477 2657 3026 2759 2482 2760 2767 2481 2765 2659 2482 2767 2662 2481 2661 2766 2486 2766 2661 2767 2486 2662 2767 2766 2486 2763 2768 2491 2660 3028 2500 2664 2861 2489 2768 2771 2491 2492 2773 2663 2493 2774 2769 2771 2666 2491 2665 2957 2664 2666 2771 2669 2771 2775 2669 2774 2493 2776 2515 2863 2777 2957 2505 2959 2672 2669 2775 2681 2672 2775 3026 2674 2673 2670 2678 2668 2671 2678 2670 2676 2777 2679 5891 2680 5888 2681 2961 2346 2346 2961 2683 2684 2683 2961 2684 2673 2534 2685 2533 2684 2684 2534 2685 2526 2539 2870 2536 2686 2540 2536 2687 2686 2675 2869 2546 2779 2542 2780 2691 2540 2686 2542 2785 2780 2685 2692 2559 2695 2692 2685 2783 2689 2869 2689 2546 2869 2543 2691 2690 2687 2691 2686 2689 2694 2546 2550 2786 6247 2690 6248 2547 2693 6213 2789 2970 6215 2787 2688 2565 2791 2688 2791 2877 2690 6283 6248 2690 2691 6283 2695 2560 2692 2554 2560 2695 2555 2696 2792 2792 2696 6213 6213 2696 2789 2565 2793 2790 2791 2565 2790 2555 2792 2697 2565 2794 2793 2694 3052 2382 5893 6396 6395 2794 2568 2795 2568 2569 2795 2382 2886 2798 2572 2885 2566 2887 2795 2569 2887 2569 2889 2797 2572 2700 5894 6398 6397 2799 2803 2702 2896 2889 2586 2803 2707 2702 2704 2894 2703 2801 2703 2894 2701 2703 2801 2582 2705 2581 2705 2582 2718 2802 2706 2585 2802 2804 2706 2896 2586 2709 2704 2805 2894 2581 2705 2718 2706 2804 2402 2712 2708 2713 2708 2585 2593 2402 2804 2806 2707 2808 2710 2902 2805 2704 2714 2806 2896 2710 2809 2711 2710 2808 2809 2708 2596 2713 2896 2810 2714 2903 2709 2715 2404 2720 2715 2709 2404 2715 2600 2712 2713 2596 2600 2713 2711 2809 2716 2714 2810 2904 2714 2904 2416 2903 2715 2720 2611 2716 2809 2981 2718 2719 2719 2606 2981 2606 2721 2981 2727 2903 2720 2728 2979 2417 2615 2811 2624 2728 2417 2816 2815 2721 2731 2729 2726 2730 2733 2730 2726 2614 2812 2725 2732 2729 2730 2733 2732 2730 2614 2817 2812 2817 2614 2738 2631 2814 2820 2819 2815 2731 2731 2736 2819 2733 2634 2732 2733 2734 2737 2734 2619 2740 2819 2736 2823 2738 2820 2817 2734 2740 2637 2016 2739 2821 2823 2741 2824 2639 2637 2825 2830 2824 2641 2641 2824 2741 2827 2911 2742 2742 2911 2826 2742 2826 5895 2829 2643 2744 2641 5896 2830 2147 2919 2921 5896 3100 2830 3100 5896 2747 2147 2921 2834 2747 2832 3100 5897 2649 2832 2834 2748 2147 2834 2835 2748 2748 2835 2459 2837 2459 2835 2836 2925 2749 2838 2459 2837 2930 2462 2838 2930 2931 2462 2840 2839 2651 2836 2651 2839 2651 2932 2840 2750 2653 2932 2932 2651 2750 2751 2653 2654 2306 2842 2934 2842 2306 2753 2754 2471 2843 2754 2755 2756 2843 2757 2754 2757 2755 2754 2844 2753 2849 2756 2755 2757 2656 6094 2846 2758 2852 2849 2758 2759 2852 2760 2658 2942 2763 2761 2764 2764 2761 2762 2950 2762 2850 2764 2762 2950 2852 2759 3026 2760 2942 2767 2480 2851 6095 2763 2764 2950 2660 2659 2943 2943 2659 2765 2481 2853 2765 2765 2853 2943 2766 2853 2481 2767 2942 2854 2766 2856 2853 2766 2767 2855 2856 2766 2855 2767 2854 2855 2861 2949 2480 2950 2862 2763 2763 2862 2768 2768 2862 2771 2663 2772 3026 2773 2864 2663 2770 2769 2774 2863 2769 2770 2859 2863 2770 2957 2861 2664 2862 2775 2771 2674 3026 2772 2674 2663 2866 2674 2772 2663 2864 2866 2663 3033 2773 2492 2667 2500 3028 2499 2513 2492 2667 3028 2675 2776 2955 2774 2336 2955 2776 2777 6264 2679 2336 2778 2955 2679 6264 5890 5889 5890 2865 5890 6264 2865 2866 2682 2674 2681 3035 2961 2513 2526 3141 2675 2867 2869 2684 2961 2868 2868 2673 2684 3141 2526 2870 2778 6111 2779 2866 2963 2872 2871 2870 2539 2782 2871 2539 2782 2873 2871 2872 2787 6215 2873 2782 2874 2781 2783 2869 2780 2784 2781 2784 2783 2781 2780 2785 2784 2874 2782 2688 2965 2788 2787 2965 2876 2788 2689 3052 2694 3052 2689 2783 2784 3052 2783 6248 2875 2547 2970 2787 2788 2970 2788 2876 6282 3053 2875 6283 2875 6248 2790 2882 2878 2793 2882 2790 2877 2791 2878 2878 2791 2790 2697 2792 2880 6213 6214 2792 2794 2884 2881 2794 2881 2882 2794 2882 2793 2697 2880 2698 2795 2884 2794 2382 3052 2886 2886 2888 2798 2572 2796 2885 6281 2796 2797 2699 3056 2571 2700 2890 2797 3056 2973 2571 2798 2800 2799 2800 2798 2891 2893 2890 2701 2701 2890 2700 2571 2973 2802 2800 2898 2799 2799 2898 2803 2891 2898 2800 2894 2893 2801 2701 2801 2893 2803 2897 2707 2897 2803 2898 2802 2895 2804 2895 2899 2804 2707 2897 2900 2894 2805 2898 2707 2900 2808 2901 2898 2805 2804 2899 2806 2806 2899 2896 2709 2807 2896 2808 2900 2809 2805 2902 2901 2807 2810 2896 2709 2903 2807 2810 3068 2904 2809 2811 2611 2903 2727 5898 2718 2980 2717 2721 3071 2981 2814 2416 2904 2722 2984 2613 2723 2984 2722 2724 2984 2723 2984 2724 2725 2619 2613 2989 2985 2984 2725 2812 2985 2725 2817 2985 2812 3077 2727 2735 2739 2811 2906 2740 2619 2989 2908 2815 2819 2739 2906 2986 2818 2739 2986 2821 2739 2816 2816 2739 2818 2819 2823 2908 2740 2989 2637 2989 2825 2637 2822 2829 2907 2908 2823 2824 2821 2992 2915 2829 2914 2907 2996 2824 2830 2825 3209 2647 2911 2912 2826 2826 2912 2916 2918 2914 2829 2911 2827 2920 2826 2916 5895 5895 2916 5899 2828 2743 2917 5895 5899 2918 2918 2744 5895 2829 2744 2918 2831 2996 2830 2922 2831 2923 2830 3100 2831 2831 3100 2923 2834 2921 2926 2832 2924 3100 2649 2924 2832 2833 2928 2746 2833 2925 2836 2834 2926 2835 2837 2927 2838 2835 2927 2837 2835 2926 2927 2927 2929 2838 2839 2928 2833 2836 2839 2833 2930 2838 2929 3008 2933 2751 2933 2653 2751 3108 2468 2841 2752 2934 2841 2842 2935 2934 2471 3108 2843 2753 2936 2935 2753 2935 2842 2936 2753 2844 2843 2845 6124 2844 2849 2936 2936 2849 2938 2940 6125 2845 2848 2939 2938 2848 2938 2849 2847 2939 2848 2846 6094 3017 2846 3017 2847 2761 2846 2847 2847 2762 2761 2850 2762 2847 2850 2847 2848 2849 2852 2848 2757 2851 2756 2848 2950 2850 2945 2950 2848 2848 2852 2945 2480 2949 2851 2946 2852 3026 2944 2943 2853 2853 2856 2944 2858 2854 2942 3026 3022 2946 2855 2854 2858 2949 2861 2951 2948 2856 2857 2855 2857 2856 2858 2857 2855 2857 2860 2952 2859 2860 2857 2858 2859 2857 2859 2770 2952 2859 2952 2860 2863 2859 2858 2953 2863 2858 2770 2774 2952 2777 2863 2953 2864 2773 3033 2955 2952 2774 2775 2862 3119 2954 2866 2864 3033 2954 2864 6264 2777 2953 2775 3119 2681 6264 2959 2865 2675 3028 2867 3036 2673 2868 3036 3037 2673 2779 2962 2778 3036 2868 2961 2869 2962 2780 2870 2964 3141 2780 2781 2869 2779 2780 2962 2871 2964 2870 2871 2873 2964 2872 2965 2787 2967 2964 2874 2964 2873 2874 2688 2967 2874 2965 3045 2876 2877 2969 2967 2967 2688 2877 3052 2784 2785 2881 2876 3045 2879 2969 2877 2878 2882 2881 2878 2881 2879 2879 2881 3045 2877 2878 2879 3053 3051 2875 2876 2883 2970 2881 2883 2876 2884 2883 2881 2884 2795 2883 2883 2795 2972 2795 2887 2972 2698 2880 2699 6281 2797 3054 2889 2972 2887 2886 2971 2888 2889 2896 3057 2972 2889 3057 2888 2971 2798 2892 2798 2971 3156 2890 3161 3156 2797 2890 2892 2891 2798 2894 3161 2893 2890 2893 3161 2892 2898 2891 3059 2802 2973 2892 2894 2898 2802 3059 2895 2900 2897 2975 2898 2975 2897 2974 2900 2975 2901 3064 2898 2900 2977 2809 2900 2974 2977 2902 2978 2901 2809 2977 3066 3068 2810 2903 2807 2903 2810 2809 3066 2811 2718 2981 2980 2811 3066 2906 2717 2980 3192 2728 3196 2979 2983 2717 3192 5898 2727 3077 2813 2983 2987 2815 3071 2721 2613 2984 2989 2813 2987 2816 3078 3071 2815 2820 2814 2991 2906 3083 2986 2815 2908 3078 3077 2822 2907 3077 2735 2822 2728 2818 2986 2816 2818 2728 2821 2816 2987 2985 2817 2990 2817 2909 2990 2817 2910 2909 2820 2910 2817 2910 2820 2991 2910 2911 2909 2994 2911 2910 2908 2824 2996 2825 3089 3209 2909 2911 3000 2912 2911 2994 2907 2914 2913 2916 2912 2997 2997 2998 2918 2913 2918 2998 2914 2918 2913 2915 3096 2919 2647 3209 6266 2911 2920 3000 2997 5899 2916 2918 5899 2997 3001 2996 2831 2920 2925 3000 3001 2921 2919 2831 2921 3001 2922 2921 2831 2926 2921 2922 2926 2922 2927 2929 2927 2922 5900 3003 2922 2928 3099 2746 2922 3104 2929 2929 3104 2930 3003 3104 2922 2928 2839 3005 2839 2840 3006 3005 2839 3006 3104 2931 2930 3104 3007 2931 2840 2932 3006 2931 3007 3008 3106 2933 3008 2933 3106 2653 2841 3010 3009 2841 2934 3010 2935 2937 3010 2935 3010 2934 2935 2936 2937 3108 3011 2843 2937 3013 3010 2936 3013 2937 2843 3011 2845 2938 3013 2936 3013 2938 2939 2845 3011 2940 2940 3011 3014 3014 3016 2940 2940 3016 6125 6094 3016 3017 2941 2847 3017 2939 2847 2941 2851 3222 2756 2851 3113 3112 2851 2949 3113 2852 2946 2945 2943 2944 2948 2947 2943 2948 2944 2856 2948 3018 3025 2942 2946 2950 2945 2660 2943 3019 2947 3019 2943 3021 2947 2948 2858 2942 3025 2857 3021 2948 2858 3025 2953 2951 2861 3115 3227 2862 2950 2861 2957 3115 3119 2862 3227 2956 2953 3025 2952 2955 3027 3029 2866 2954 2954 3033 3029 6265 2956 2958 3030 6263 2956 3030 3122 6263 6264 3122 2959 2513 3033 2492 3028 2960 2867 3126 2955 2778 3038 2513 3141 2867 2960 2869 2869 2960 3039 2962 3041 3126 2962 3126 2778 2961 3133 3036 2866 3129 2963 3129 3135 2963 2869 3039 3040 2869 3040 3041 2962 2869 3041 3135 2966 2963 3141 2964 3044 2963 2966 2872 2872 2966 2965 2967 3044 2964 2965 2966 3045 2967 2968 3048 3045 3049 2879 2968 2879 3049 2968 2969 2879 2967 2969 2968 3148 2785 2875 3052 2785 6359 2875 3050 3148 3051 3050 2875 3052 2971 2886 6212 2699 2880 2883 2972 2970 2699 3055 3056 2797 3156 3054 3161 2894 2892 3059 3060 2895 3057 2896 3168 2895 3060 2899 3168 2896 2899 2974 2975 2976 2976 2898 3061 2976 2975 2898 3064 3061 2898 2977 2976 3062 2977 2974 2976 2978 3067 3064 2901 2978 3064 2902 3067 2978 3066 2977 3062 2902 2979 3318 2903 3069 3068 2903 3072 3069 2981 3071 3070 2903 5898 3072 2906 3066 3073 3196 3318 2979 2905 5901 2982 2904 3075 2814 3077 3072 5898 3084 3196 2728 3080 3079 2984 2814 3075 3081 3085 2987 2983 3080 2984 2988 2984 2985 2988 2985 2990 2988 2814 3081 2991 3088 3082 3077 2986 3083 3084 3084 2728 2986 2908 3204 3078 2989 3370 3087 2991 3081 3086 3077 2907 3088 2987 3085 2821 2988 2990 3092 2993 2991 3086 3205 2992 3085 3085 2992 2821 6276 3204 2908 2989 3087 2825 3087 3089 2825 2991 2993 2910 6276 2908 2996 2990 3000 3092 2909 3000 2990 2994 2910 2993 2994 2993 3094 2992 3205 2915 2995 2915 3205 3094 2997 2994 3094 3095 2998 2913 2998 3095 3096 2915 2995 3096 2996 2999 3000 3210 3092 2997 2912 2994 2998 2997 3094 2999 3001 3096 2996 3001 2999 3209 3097 6266 3210 3000 3002 3001 2919 3096 3330 2925 2833 3002 2925 3211 3000 2925 3002 3100 2924 3098 3003 2923 3004 2923 3100 3004 2924 2746 3098 2746 3099 3098 3101 3099 2928 3104 3003 3004 2928 3103 3101 2928 3005 3103 3103 3005 3006 3104 3106 3007 2653 3006 2932 3008 3007 3106 2653 3106 3215 3108 2841 3009 3108 3218 3107 3011 3108 3107 3010 3109 3009 3012 3110 3010 3010 3013 3012 3107 3219 3011 3012 2939 3110 3013 2939 3012 3219 3014 3011 2939 3015 3110 3110 3015 3017 2941 3017 2939 2939 3017 3015 3014 3017 3016 3018 2942 3222 2942 2756 3222 2851 3112 3222 3224 3018 3222 3019 2947 3020 3020 2947 3021 3018 3225 3025 3225 3018 3224 3113 2949 2951 2660 3019 3116 3020 3023 3019 3023 3116 3019 3021 3023 3020 3024 3023 3021 3021 2857 3024 3114 3113 2951 3114 2951 3115 2946 3227 2950 3027 3116 3023 3023 3024 3027 3024 2857 3027 2660 3116 3028 3229 2956 3025 2857 2952 3027 3115 2957 3117 2673 3342 3026 3241 3028 3124 2956 3229 3030 3030 3229 3230 3029 3033 3032 3031 3029 3032 3121 3030 3230 2957 2959 3117 3119 3234 2681 3530 3231 2673 3031 3120 2866 3031 2866 3029 3032 3120 3031 3033 3123 3032 3030 3121 3122 3034 2959 3122 3131 3123 3033 3131 3033 2513 3241 2960 3028 3125 2959 3034 2959 3125 3117 3035 2681 3234 3530 2673 3037 3235 3129 2866 3530 3037 3036 3131 2513 3038 3132 3039 3244 3244 3039 2960 2961 3035 3128 3141 3131 3038 3039 3132 3040 3132 3134 3040 3040 3134 3041 3135 3139 2966 3141 3044 3043 3147 3141 3043 3045 2966 3042 3147 3046 3042 3046 3045 3042 3147 3043 3046 3043 3047 3046 3044 3048 3043 3048 3047 3043 3044 2967 3048 3049 3045 3046 3047 3049 3046 3048 2968 3049 3048 3049 3047 2785 3148 6360 3052 6359 3265 6281 3054 3053 3152 3053 3054 3152 3054 3157 6212 3275 2699 3160 3055 3155 3055 2699 3155 3275 3155 2699 3157 3054 3156 3056 3055 3160 3160 3164 3058 3160 3058 3056 3056 3058 2973 3168 3285 3057 3166 2973 3058 2973 3166 3059 3166 3060 3059 3285 3168 3289 2899 3060 3167 2899 3167 3168 3062 2976 3061 3062 3061 3063 3064 3063 3061 3063 3065 3062 3169 3065 3064 3065 3063 3064 3169 3064 3067 3065 3066 3062 3187 3065 3169 2902 3318 3067 3066 3065 3073 3187 3073 3065 3070 3177 3183 3070 3071 3177 3178 3177 3071 3186 3185 3069 3069 3185 3068 3069 3072 3186 3182 2981 3183 3183 2981 3070 3078 3178 3071 3068 3188 2904 3186 3072 3309 3182 2980 2981 2904 3195 3076 2904 3188 3195 3309 3072 3082 2906 3073 3187 3190 2906 3187 3074 3200 3370 3194 3074 2989 2984 3194 2989 3194 2984 3079 2904 3076 3075 3077 3082 3072 3190 3083 2906 3190 3197 3083 2983 3192 3203 2989 3074 3370 3075 3201 3081 3075 3076 3201 3083 3197 3199 2983 3203 3085 3080 3319 3079 3206 3081 3201 3082 3088 3202 3084 3083 3199 3321 3319 3080 2988 3321 3080 3081 3206 3086 3205 3085 3203 3086 3090 2993 3090 3086 3206 3087 3370 3089 2988 3092 3321 2907 3091 3088 3088 3091 3202 3094 2993 3090 3206 3094 3090 3206 3202 3094 3091 3094 3202 3091 3093 3094 2913 3093 3091 3091 2907 2913 6276 2996 3208 3093 3095 3094 2913 3095 3093 3096 2995 3205 3096 3205 3207 3208 3096 3207 2996 3096 3208 3089 3370 3209 3092 3210 3326 3097 3209 3328 6267 3097 3330 3097 3328 3330 3210 3002 3211 3211 2925 3330 3099 3101 3098 3004 3102 3104 3004 3100 3102 3213 3102 3100 3101 3212 3098 3212 3101 3103 3212 3103 3332 3102 3105 3104 3213 3105 3102 3103 3006 3332 3106 3104 3105 3213 3106 3105 3106 3213 3215 3215 3006 2653 3216 3006 3215 3006 3217 3333 3108 3009 3109 3109 3010 3110 3218 3219 3107 3109 3110 3108 3111 3014 3219 3108 3221 3220 3110 3221 3108 3111 3221 3014 3014 3221 3017 3110 3017 3221 3112 3223 3222 3113 3223 3112 3225 3226 3025 3114 3223 3113 3341 2946 3022 3114 3115 3223 3341 3227 2946 3228 3341 3022 3228 3022 3026 3025 3226 3229 3115 3117 3343 3342 3228 3026 3027 3118 3116 3231 3342 2673 3116 3124 3028 3118 3124 3116 3027 2955 3118 3127 3343 3117 3120 3232 3235 2866 3120 3235 3032 3233 3120 3120 3233 3232 3123 3237 3233 3123 3233 3032 3124 3242 3241 3247 3242 3124 2955 3124 3118 3247 3124 3126 3124 2955 3126 3234 3128 3035 3235 3236 3129 3130 3129 3236 3241 3244 2960 3252 3034 3122 3125 3034 3142 3142 3034 3252 3125 3142 3136 3127 3117 3137 3131 6231 6293 3132 3244 3245 3132 3248 3134 3132 3245 3248 3247 3134 3248 3247 3041 3134 3126 3041 3247 3117 3125 3136 3137 3117 3136 3138 3144 3128 3129 3130 3135 3140 3130 3123 3131 3141 6232 3255 3127 3137 3139 3135 3130 3140 3139 3130 3136 3142 5905 3137 3136 5905 3262 3420 3133 3262 3133 2961 5904 5902 5903 3142 3145 5905 3145 3137 3143 3128 3144 3146 2961 3128 3146 3262 2961 3146 2966 3139 3042 3147 3042 3139 3141 3147 3139 3144 3138 3261 3146 3144 3261 3262 3146 3261 3148 3050 6360 3051 3149 3429 3051 3429 3050 3051 3053 3149 3265 3267 3052 3053 3152 3149 3150 3149 3152 3267 3151 3052 3158 3150 3152 3158 3266 3150 3052 3151 2971 3272 2971 3151 3153 3270 3159 3270 3153 3271 3153 3154 3271 3271 3154 3350 3350 3154 3160 2892 2971 3272 3273 2892 3272 3152 3157 3158 3153 3159 3164 3154 3153 3164 3160 3154 3164 6212 3276 3275 2892 3277 3161 2892 3273 3277 3161 3278 3156 3157 3156 3278 3158 3157 3162 3163 3158 3162 2970 2972 3280 3360 3162 3157 3281 3162 3360 3163 3162 3281 3282 3163 3281 3158 3163 3282 3280 2972 3285 2972 3057 3285 3159 3286 3165 3159 3165 3164 3165 3287 3164 3164 3287 3058 3287 3462 3058 3166 3058 3462 3166 3462 3575 3060 3166 3575 3167 3060 3575 3168 3167 3288 3167 3575 3288 3168 3288 3289 3292 3170 3293 3170 3173 3293 3293 3173 3179 3172 3187 3169 3169 3067 3172 3173 3170 3178 3171 3180 5906 3175 3171 3174 3172 3176 3187 3067 3176 3172 3177 3178 3170 3173 3178 3184 3179 3173 3184 3174 3180 3181 3175 3174 3181 3473 3932 3182 3473 3182 3183 3177 3473 3183 3300 3193 3180 3067 3191 3176 3306 3179 3184 3181 3180 3200 3074 3181 3200 3068 3189 3188 3068 3307 3189 3185 3307 3068 3185 3304 3307 3186 3304 3185 3186 3305 3304 3305 3186 3309 3190 3187 3176 3191 3190 3176 3067 3318 3191 3932 2980 3182 3184 3178 3078 3180 3193 3200 3194 3181 3074 3194 3175 3181 3303 3175 3079 3079 3175 3194 3188 3311 3195 3188 3189 3311 3307 3311 3189 3932 3192 2980 3204 3184 3078 3195 3202 3076 3311 3202 3195 3309 3082 3311 3191 3198 3197 3190 3191 3197 3198 3191 3314 3318 3196 3084 3201 3076 3202 3311 3082 3202 3198 3314 3315 3198 3315 3197 3197 3315 3199 3084 3199 3317 3199 3315 3317 3317 3318 3084 3200 3368 3370 3320 3205 3203 3201 3202 3206 3321 3092 3325 3323 3207 3205 3208 3207 3323 6132 3208 6060 6276 3208 6132 3325 3092 3326 3326 3210 3327 3327 3210 3211 3211 3330 5907 3100 3098 3331 3212 3331 3098 3100 3214 3213 3331 3214 3100 3216 3214 3331 3216 3331 3334 3215 3213 3214 3216 3215 3214 3333 3332 3006 3217 3006 3216 3218 3220 3219 3218 3108 3220 3219 3220 3111 3221 3111 3220 3222 3335 3336 3224 3222 3336 3224 3337 3340 3225 3224 3340 3337 3224 3336 3225 3340 3226 3339 3223 3521 3521 3223 3115 3521 3115 3343 3226 3409 3229 3230 3229 3409 3405 3119 3227 3342 3231 3530 3409 3121 3230 3234 3405 3128 3234 3119 3405 3232 3236 3235 3232 3233 3238 3236 3232 3238 3233 3237 3238 3121 3409 3122 3409 3527 3122 3343 3127 3239 3240 3236 3238 3237 3123 3240 3238 3237 3240 3127 3410 3239 3236 3240 3130 3123 3130 3240 3241 3246 3244 3241 3242 3246 3246 3242 3249 3247 3249 3242 3243 3344 3128 3244 3246 3245 3248 3245 3246 3249 3248 3246 3247 3248 3249 3410 3127 3250 3344 3251 3138 3344 3138 3128 3530 3036 3420 3255 3250 3127 3036 3133 3420 3252 3254 3142 3142 3254 3145 3137 3145 3255 3253 3256 3251 3251 3256 3138 3145 3254 3257 3145 3257 3258 3145 3258 3255 3258 3259 3255 3260 3256 3253 3138 3256 3261 3261 3256 3260 3345 3263 3257 3257 3263 3258 3263 3259 3258 3260 3347 3261 3264 3261 3347 3262 3261 3264 3262 3264 3346 3424 3348 3050 3050 3429 3424 3149 3349 3429 3150 3349 3149 3266 3349 3150 3266 3268 3432 3267 3351 3151 3158 3268 3266 3269 3270 3437 3437 3270 3438 3270 3271 3438 3438 3271 3350 3151 3351 3352 3272 3151 3352 3158 3279 3268 3432 3268 3353 3353 3268 3279 3269 3357 3274 3270 3269 3159 3159 3269 3274 3350 3160 3440 3160 3155 3440 3275 3440 3155 3273 3272 3352 3352 3277 3273 3355 3277 3352 3353 3279 3356 3275 3276 3354 6212 3354 3276 3161 3277 3355 3278 3161 3355 3274 3357 3358 2970 3280 3354 3278 3450 3157 3360 3157 3450 3279 3158 3283 3283 3158 3282 3283 3356 3279 3274 3358 3284 3284 3358 3565 3274 3284 3159 3361 3280 3285 3452 3281 3360 3282 3281 3452 3283 3282 3452 3159 3284 3286 3284 3565 3286 3286 3362 3165 3165 3362 3287 3462 3287 3362 3285 3289 3363 3575 3289 3288 3292 3290 3364 3365 3290 3294 3290 3292 3293 3294 3290 3293 3291 3295 3296 3366 3291 3297 3297 3291 3296 3366 3297 3298 3294 3293 3299 3299 3293 3179 3299 3302 3294 3367 3300 3295 3171 3296 3300 3296 3295 3300 3171 3297 3296 3298 3297 3301 3301 3297 3171 3292 3473 3177 3170 3292 3177 3302 3299 3179 3367 3481 3300 3171 3300 3180 3175 3301 3171 3303 3301 3175 3300 3481 3193 3306 3302 3179 3304 3308 3307 3304 3305 3310 3308 3304 3310 3305 3309 3310 3303 3079 3589 3311 3307 3308 3309 3311 3310 3310 3311 3308 3191 3318 3312 3481 3313 3193 3312 3316 3314 3191 3312 3314 3312 3318 3316 3203 3932 3590 3192 3932 3203 3306 3184 3204 3193 3368 3200 3313 3368 3193 3314 3316 3315 3317 3315 3316 3318 3317 3316 3590 3369 3203 3589 3079 3319 3203 3369 3320 3322 3686 3204 3319 3321 3589 3205 3320 3369 3205 3369 6059 6059 3323 3205 3321 3325 3371 3325 3326 3371 3371 3326 3373 3377 3209 3370 3327 3374 3372 3373 3326 3327 3372 3373 3327 3328 3209 3377 3375 3211 5907 3374 3327 3211 3375 3374 3211 3330 3328 3377 3330 3377 3379 5907 3330 3379 3331 3212 3334 3212 3332 3334 3217 3216 3334 3333 3217 3334 3332 3333 3334 3707 3335 3222 3707 3340 3338 3335 3338 3336 3335 3707 3338 3339 3391 3223 3337 3338 3340 3336 3338 3337 3339 3521 3391 3226 3340 3401 3227 3341 3396 3395 3227 3396 3396 3341 3228 3395 3405 3227 3226 3401 3409 3405 3526 3128 3128 3526 3243 3343 3239 3410 3250 3412 3410 3344 3411 3251 3533 3122 3527 3413 3253 3411 3411 3253 3251 3533 3252 3122 3254 3252 3533 3533 3257 3254 3250 3255 3414 3414 3412 3250 3415 3253 3413 3253 3415 3260 3416 3257 3533 3416 3345 3257 3259 3419 3255 3255 3419 3414 3260 3415 3543 3417 3345 3416 3263 3345 3417 3263 3417 3418 3259 3263 3418 3419 3259 3418 3347 3543 3425 3347 3260 3543 3346 3427 3262 3420 3262 3427 3264 3347 3425 3426 3264 3425 3346 3264 3426 3427 3346 3426 3348 3541 3265 3429 3349 3546 3546 3349 3432 3266 3432 3349 3438 3350 3440 3445 3351 3267 3436 3442 3269 3437 3436 3269 3351 3445 3352 3552 3353 3446 3432 3353 3552 3442 3447 3357 3269 3442 3357 3440 3275 3354 3353 3356 3446 3354 3444 3443 3355 3352 3449 3357 3447 3358 3354 3280 3444 3359 3444 3280 3560 3355 3449 3355 3560 3278 3450 3278 3560 3356 3283 3451 3356 3451 3446 3361 3359 3280 3283 3452 3451 3453 3359 3361 3285 3453 3361 3286 3565 3362 3660 3453 3285 3569 3362 3565 3362 3569 3457 3457 3462 3362 3285 3363 3660 3364 3290 3460 3290 3365 3461 3460 3290 3461 3363 3289 3575 3473 3292 3460 3364 3460 3292 3461 3365 3294 3294 3465 3461 3466 3295 3467 3295 3291 3467 3467 3291 3468 3291 3366 3469 3291 3469 3468 3469 3366 3574 3465 3294 3474 3466 3475 3295 3574 3366 3298 3574 3298 3582 3294 3302 3474 3302 3476 3474 3477 3367 3475 3475 3367 3295 3582 3298 3301 3367 3477 3481 3301 3303 3582 3302 3478 3476 3582 3303 3480 3479 3478 3302 3302 3306 3479 3303 3589 3480 3306 3204 3482 3313 3481 3368 3204 3686 3482 3321 3371 3492 6059 3369 3688 6059 3688 3488 3322 3488 3485 3322 3485 3686 3324 6059 3488 3322 3324 3488 3373 3492 3371 3372 3374 3376 3372 3376 3373 3376 3492 3373 3375 3376 3374 3375 3378 3376 3378 3492 3376 3696 3379 3377 3378 5907 3379 3375 3329 3378 3380 3389 3382 3381 3380 3383 3383 3380 3382 3386 3381 3383 3509 3381 3386 3509 3386 3384 3382 3389 3385 3383 3382 3386 3386 3382 3385 3384 3386 3387 3388 3384 3387 3385 3389 3515 3386 3385 3515 3387 3386 3390 3707 3222 3612 3222 3223 3613 3222 3613 3612 3613 3223 3514 3386 3515 3390 3388 3387 3392 3392 3387 3390 3223 3391 3514 3611 3398 3399 3707 3611 3399 3340 3707 3401 3391 3874 3514 3395 3392 3390 3516 3388 3393 3393 3388 3392 3707 3399 3400 5910 5908 5909 3394 3707 3400 3401 3707 3394 3874 3391 3521 3393 3392 3396 3396 3392 3395 3228 3393 3396 3518 3397 3398 3398 3397 3403 3403 3397 3402 3399 3398 3404 3404 3398 3403 3406 3399 3404 3394 3400 3520 3404 3403 3406 3400 3399 3406 3402 3407 3403 3406 3403 3407 3408 3406 3407 3400 3406 3408 3408 3520 3400 3394 3520 3401 3408 3407 6225 3409 3520 3523 3401 3520 3409 3524 3522 3342 3530 3524 3342 3527 3409 3523 3521 3343 3528 3343 3410 3528 3526 3344 3243 3805 3524 3530 3411 3344 3626 3410 3412 3528 3528 3412 3529 3527 3629 3533 3411 3720 3413 3412 3531 3529 3412 3414 3534 3531 3412 3534 3635 3415 3413 3632 3416 3533 3419 3634 3414 3634 3534 3414 3543 3415 3538 3538 3415 3635 3535 3421 3423 3423 3421 5911 3542 3417 3632 3417 3416 3632 3542 3418 3417 3542 3537 3418 3537 3419 3418 3537 3634 3419 3539 3420 3427 3539 3636 3420 3421 3535 3430 3422 3421 3430 3423 6346 3431 3348 3633 3541 3424 3633 3348 3425 3543 3544 3547 3425 3544 3425 3547 3426 3547 3427 3426 3545 3427 3547 3539 3427 3545 3430 3535 3548 3422 3430 3434 3431 6345 6389 3435 3540 3428 3267 3265 3541 3431 3434 3428 3423 3431 3428 3433 5912 5913 3434 3430 3548 3552 3549 3432 3439 3434 3548 3428 3434 3439 3439 3435 3428 3436 3437 3742 3438 3551 3437 3440 3551 3438 3440 3644 3551 3439 3548 3444 3441 3435 3439 3442 3436 3554 3440 3354 3644 3448 3441 3439 3552 3446 3555 3447 3554 3556 3554 3447 3442 3439 3444 3448 3556 3558 3447 3555 3446 3557 3359 3448 3444 3445 3456 3352 3451 3561 3446 3561 3557 3446 3447 3558 3358 3558 3562 3358 3359 3453 3448 3445 3454 3456 3451 3452 3652 3451 3652 3561 3352 3456 3459 3360 3450 3651 5914 5919 5926 3360 3651 3452 3358 3562 3564 3564 3565 3358 3454 3455 3463 3456 3454 3463 5917 5915 5916 3458 3463 3470 3456 3463 3458 3457 3569 3657 3455 3576 3463 3456 3458 6343 3459 3456 3471 3464 3572 3459 3473 3460 3567 3568 3567 3460 3461 3568 3460 3568 3461 3656 3461 3465 3656 3658 3468 5920 5921 3468 3832 3575 3665 3363 3363 3665 3571 3363 3571 3660 3458 3470 6344 3459 3471 3472 3472 3464 3459 3465 3474 3577 3466 3573 3663 3658 3573 3467 3573 3466 3467 3468 3658 3467 3832 3468 3469 3832 3469 3574 3579 3472 3470 3470 3472 5918 3464 3472 3579 3577 3474 3585 3475 3663 3581 3663 3475 3466 3585 3474 3476 3477 3581 3586 3477 3475 3581 3477 3586 3481 3585 3476 3587 3476 3478 3587 3582 3480 5928 5928 3480 5922 3478 3479 3587 3587 3479 3588 3674 3588 3479 3771 3480 3589 3479 3306 3674 3306 3482 3677 3306 3677 3772 3369 3590 3593 3482 3686 3677 3595 3369 3593 3321 3596 3589 3484 3676 3483 3369 3595 3688 3321 3492 3596 3483 3596 3492 3597 3484 3487 3487 3484 3486 3483 3492 3495 3484 3483 3495 3486 3484 3489 3485 3689 3686 3486 3489 3490 3487 3486 3490 3488 3692 3598 3488 3688 3692 3488 3491 3485 3484 3495 3489 3490 3489 3493 3493 3487 3490 3491 3488 3494 3500 3491 3494 3485 3491 3500 3947 3377 3370 3495 3492 3600 3493 3489 3495 3598 3497 3488 3488 3497 3494 3500 3494 3497 3599 3485 3500 3492 3378 3600 3496 3493 3495 3696 3377 3694 3600 3378 3602 3496 3495 3603 3497 3499 3500 3696 3697 3379 3379 3697 3378 3602 3378 3697 3501 3599 3500 3599 3501 3502 3498 3599 3502 3499 3503 3500 3501 3500 3503 3502 3501 3505 3505 3501 3504 3498 3502 3505 3607 3501 3503 3607 3506 3501 3504 3501 3506 3505 3504 3507 3507 3504 3506 3507 3498 3505 3508 3609 3510 3609 3508 3380 3381 3609 3380 3381 3509 3609 3508 3510 3389 3380 3508 3389 3388 3509 3384 3511 3509 3388 3512 3510 3794 3510 3512 3389 3614 3511 3388 3515 3512 3615 3512 3515 3389 3613 3514 3874 3614 3388 3516 3513 3518 3398 3611 3513 3398 3515 3517 3390 3393 3228 3516 3802 3614 3516 3802 3516 3342 3342 3516 3228 3518 3616 3397 3342 3715 3802 3397 3617 3402 3616 3617 3397 3874 3521 3878 3390 3405 3395 3519 3618 3619 3402 3618 3519 3402 3617 3618 3402 3519 3407 3405 3390 3526 3342 3522 3621 3520 3408 3523 3621 3522 3623 3522 3524 3623 3519 6225 3407 6225 3525 3408 3525 3523 3408 5934 3521 3528 3524 3805 3623 3718 3344 3526 3626 3344 3718 3411 3626 3720 3413 3720 3723 3529 3531 3810 3810 3531 3630 3723 3724 3413 3534 3726 3531 3531 3726 3630 3635 3413 3724 3420 3636 3530 3423 3532 3535 3628 3532 3423 3423 3536 3628 3628 3536 3540 3534 3634 3726 3423 3428 3536 3428 3540 3536 3424 3727 3633 3538 3635 3733 3733 3543 3538 3636 3539 3734 3633 3637 3541 3542 3632 3638 3542 3638 3639 3542 5924 3732 3732 3537 3542 3640 3544 3733 3544 3543 3733 3544 3640 3547 3738 3545 3547 3734 3539 3545 3435 3735 3540 3637 3267 3541 3432 3736 3546 3547 3640 3641 3547 3641 3737 3547 3737 5925 3738 3547 3642 3735 3435 3550 3549 3643 3432 3432 3643 3736 3745 3548 3739 3741 3267 3637 3549 3552 3744 3549 3744 3643 3742 3437 3644 3444 3548 3745 3435 3645 3550 3744 3552 3646 3644 3437 3551 3444 3745 3443 3443 3745 3354 3645 3435 3553 3552 3555 3646 3554 3436 3647 3748 3553 3441 3441 3553 3435 3649 3445 3267 3554 3647 3556 3448 3748 3441 3556 3648 3558 3749 3559 3649 3454 3649 3559 3445 3649 3454 3558 3648 3562 3749 3566 3559 3559 3566 3455 3454 3559 3455 3560 3755 3650 3450 3560 3650 3561 3652 3557 3560 3449 3572 3572 3449 3352 3563 3450 3752 3563 3752 3651 3757 3652 3452 3758 3564 3562 3758 3562 3754 3572 3352 3459 3756 3452 3651 3757 3452 3756 3565 3758 3653 3565 3564 3758 3660 3448 3453 3565 3653 3569 3569 3653 3761 3763 3567 3654 3568 3760 3567 3567 3760 3654 3568 3655 3760 3568 3656 3655 3569 3761 3657 3455 3566 3576 3763 3473 3567 3570 5927 3658 5921 3832 3659 3660 3571 3665 3464 3580 3572 3662 3473 3763 3666 3465 3577 3582 3832 3574 3575 3462 3664 3665 3575 3664 3463 3667 3578 3463 3576 3667 3463 3578 3470 3580 3464 3579 3765 3666 3585 3666 3577 3585 3663 3586 3581 3470 3578 3668 3668 3583 3470 3470 3583 3579 3583 3584 3579 3580 3579 3584 3765 3585 3669 3669 3585 3671 3586 3768 3481 3587 3673 3585 3585 3673 3671 3481 3768 3769 3587 3770 3673 3587 3588 3770 3588 3674 3770 3675 3481 3769 3674 3306 3772 3679 3591 3676 3679 3678 3483 3591 3679 3483 3676 3591 3483 3594 3592 3676 3681 3595 3593 3596 3678 3589 3483 3678 3596 3594 3676 3484 3484 3597 3594 3597 3682 3594 3681 3685 3595 3487 3687 3683 3597 3487 3683 3597 3683 3682 3688 3595 3685 3690 3689 3485 3599 3690 3485 3487 3493 3687 3496 3695 3493 3497 3598 3692 3601 3599 3498 3694 3377 3947 3600 3603 3495 3496 3603 3695 3697 3698 3602 3602 3698 3600 3603 3600 3698 3498 3604 3601 3604 3693 3601 3497 3692 3605 3497 3605 3499 3699 3693 3604 3604 3498 3606 3786 3699 3604 3606 3786 3604 3605 3607 3499 3499 3607 3503 3498 3507 3608 3498 3608 3606 3506 3607 3700 3506 3700 3507 3507 3700 3608 3606 3608 3700 3702 3791 3609 3509 3702 3609 3702 3509 3793 3610 3794 3510 3609 3610 3510 3509 3795 3793 3509 3511 3795 3511 3703 3795 3615 3512 3794 3511 3614 3703 3614 3709 3703 3705 3611 3706 3796 3706 3611 3611 3707 3796 3612 3704 3707 3613 3708 3612 3612 3708 3704 3710 3708 3613 3705 3798 3513 3611 3705 3513 3614 3802 3709 3800 3513 3798 3710 3613 3874 3518 3800 3711 3513 3800 3518 3515 3615 3517 3518 3711 3713 3518 3713 5923 3712 3390 3517 3713 3617 3616 3714 3617 3713 3390 3879 3526 3617 3620 3618 3617 3714 3620 3618 3620 3619 3342 3621 3715 3715 3621 3716 3714 3622 3620 3619 3622 3519 3620 3622 3619 3621 3623 3716 3519 3622 3624 3519 3624 6225 3716 3623 3805 3806 3886 3523 3886 3527 3523 3886 3717 3527 3528 3529 3719 3629 3527 3722 3529 3810 3719 3627 3532 3721 3532 3628 3721 3627 3631 3532 3814 3533 3629 3535 3631 3548 3532 3631 3535 3540 3725 3628 3540 3735 3725 3533 3814 3632 3634 3728 3726 3633 3899 3729 3633 3727 3899 3727 3429 3896 3424 3429 3727 3634 3537 3728 3637 3729 6188 3729 3637 3633 3632 3901 3730 3638 3632 3730 3639 3638 3731 3638 3730 3731 3639 3731 3732 4057 3640 3733 3545 3738 3815 3734 3545 3815 3637 6188 3741 3640 4057 3641 5925 3737 3738 3735 3550 3743 3736 3643 3740 3643 3744 3740 3550 3645 3743 3742 3817 3436 3436 3817 3746 3645 3553 3743 3743 3553 3748 3746 3647 3436 3907 3647 3746 3354 3747 3644 3820 3747 3354 3749 3649 3741 3741 3649 3267 3646 3555 3998 3647 3907 3556 3556 3907 3648 3555 3557 4000 4000 3557 3825 3648 3910 3562 3748 3448 3660 3566 3749 3750 3650 3755 3751 3751 3450 3650 3557 3753 3825 3652 3753 3557 3560 3572 3755 3652 3757 3753 3915 3755 3572 3759 3653 3758 3750 3762 3566 3661 3915 3572 3761 3653 3759 3654 3760 3763 3656 3917 3655 3919 3457 3657 3656 3465 3917 3573 3658 4008 5927 4009 3658 3665 3830 3660 3764 3566 3762 3566 3764 3576 3573 4008 3663 3664 3462 3834 3664 3834 3833 3664 3833 3665 3667 3576 3764 3836 3661 3580 3580 3661 3572 3667 3668 3578 3667 3766 3668 3836 3580 3767 3765 3669 3928 3925 3582 5928 3766 3670 3668 3767 3580 3584 3669 3671 3928 3925 5928 5929 3584 3583 3668 3473 3662 3932 3671 3673 3928 3675 3840 3481 3676 3592 3929 3773 3841 3589 3592 3594 3680 3592 3680 3929 3775 3593 3590 3368 3481 3936 3589 3774 3773 3589 3678 3774 3679 3774 3678 3593 3775 3681 3842 3772 3677 3680 3682 3684 3594 3682 3680 3777 3680 3684 3681 3775 3685 3775 3776 3685 3677 3686 3842 3682 3683 3684 3687 3684 3683 3687 3777 3684 3776 3688 3685 3687 3778 3777 3690 3686 3689 3686 3690 3691 3779 3778 3687 3599 3691 3690 3947 3370 3368 3687 3493 3780 3687 3780 3779 3847 3692 3688 3780 3493 3845 3599 3601 3691 3601 3693 3691 3493 3695 3846 3493 3846 3845 5937 3694 3947 3846 3695 3848 3783 3692 3847 3695 3603 3782 3695 3782 3952 3848 3695 3952 3696 3694 3781 3697 3696 3784 3696 3781 3784 3698 3697 3853 3854 3603 3698 3782 3603 3854 3692 3783 3605 3605 3783 3785 3786 3693 3699 3605 3785 3856 3605 3856 3607 3607 3856 3857 3700 3701 3606 3701 3786 3606 3607 3857 3787 3788 3607 3787 3607 3788 3700 3788 3860 3700 3701 3700 3860 3789 3610 3790 3610 3609 3790 3790 3609 3791 3702 3792 3791 3789 3794 3610 3703 3866 3795 3867 3866 3703 3709 3867 3703 3797 3867 3709 3796 3707 3964 3797 3709 3799 3798 3705 3868 3868 3705 3706 3796 3868 3706 3704 3964 3707 3799 3709 3802 3874 5933 3710 3801 3615 3794 3711 3800 3876 3615 3801 3517 3713 3711 3803 3804 3517 3801 3804 3712 3517 3879 3712 3804 3390 3712 3879 3714 3803 3880 3714 3713 3803 5934 3528 4051 3806 3523 3525 4051 3528 4132 3718 3526 3807 3525 6225 3806 3528 3719 4132 3805 3530 3893 3808 3627 3721 3808 3721 3891 3721 3628 3891 3812 3891 3628 3630 3726 3810 3809 3811 3631 3725 3812 3628 3631 3811 3548 3898 3812 3735 3812 3725 3735 3813 6184 3727 3728 3537 3984 3734 3988 3636 3731 3730 3902 3732 3731 3902 3984 3537 3732 3984 3732 3902 3635 3987 3733 3734 3815 3988 3736 6328 3546 3743 3903 3735 6188 3816 3741 3739 3818 3745 3819 3903 3743 3906 3744 3646 3354 3818 3820 3745 3818 3354 3748 3819 3743 3817 3907 3746 3749 3816 3821 3749 3741 3816 3908 3748 3822 3749 3821 3909 3907 3910 3648 3748 3823 3822 3749 3909 3824 3555 4000 3998 3748 3660 3823 3824 3911 3749 3750 3911 3826 3750 3749 3911 3753 3827 3825 4005 3823 3660 3450 3751 3752 3753 3757 3827 3762 3750 3826 3829 3762 3826 3915 3661 3831 3760 3828 3763 3655 3917 3760 3762 3829 3918 3917 3465 3666 3658 4009 4008 5927 3832 4009 3762 3918 3764 3831 3661 3836 4010 3663 4008 3457 3919 3462 3834 3835 5930 3764 3920 3667 4010 3586 3663 3920 3837 3667 3837 3766 3667 3837 3670 3766 3586 3921 3768 3670 3837 3926 3838 3668 3926 3668 3670 3926 4017 3584 3668 3672 3480 3925 4017 3668 5931 3480 3771 3839 3771 3589 3839 4014 3676 3929 3933 3590 3932 3839 3589 3841 3679 3676 3934 3933 3775 3590 3840 4018 3481 3773 3934 3841 3773 3774 3934 3934 3774 3679 3772 3842 3938 3936 3481 4018 3680 3777 3935 3843 3776 3775 3777 3844 3939 3777 3778 3844 3776 3843 3688 3686 3691 6390 6390 3691 3941 3778 3779 3844 3688 3843 3943 3943 3847 3688 3779 3780 3945 3779 3945 3844 4023 3847 3943 3693 3850 3691 3780 3845 3945 3849 3783 3847 3694 5937 3950 3852 3783 3849 3786 3850 3693 3694 3950 3781 3851 3782 3854 3952 3782 3851 3783 3852 3855 3697 3784 3853 3854 3698 3853 3783 3855 3955 3955 3785 3783 3785 3955 3956 3956 3856 3785 3786 3701 3858 3787 3857 3859 3788 3787 3859 3860 3861 3701 3701 3861 3858 3788 3859 3860 3960 3789 3862 3790 3863 3789 3789 3863 3862 3791 3863 3790 3791 4035 3863 3792 3864 3791 3791 3864 4035 3792 3865 3864 3789 3960 3794 3792 3702 3865 3702 3793 3865 3795 3961 3793 3793 3961 3865 3795 3866 3961 3867 3797 4038 4038 3797 3799 3871 4038 3799 3868 3963 3798 3798 3963 3962 3869 3964 3704 3708 3870 3704 3704 3870 3869 3870 3708 3710 4041 3870 3710 3799 3802 3871 3800 3798 3966 3710 5933 4041 3875 3801 3794 3801 3875 3877 3969 3802 3715 3711 3876 3803 3801 3877 3974 3974 3804 3801 3880 3803 3971 3881 3526 3879 3714 3880 3882 3878 3521 3883 3881 3884 3526 3885 3714 3882 3714 3885 3622 3526 3884 4129 3622 3885 3624 4129 3807 3526 3805 3888 3887 3805 3887 3716 3888 3805 3889 3624 3885 6222 3886 4223 3717 3805 3893 3889 3624 6222 6225 3722 3527 4223 4223 3527 3717 3720 3626 3718 4132 3719 4135 4135 3719 3810 3808 3809 3627 3809 3808 3890 3808 3891 3890 3809 3631 3627 3722 4223 3629 3891 3812 3898 3814 3629 4223 3636 3979 3530 3811 3982 3739 3811 3739 3548 3727 4054 3813 3727 3896 4054 3985 3635 3724 3898 3735 4059 3897 3896 3429 3897 3429 3900 3635 3985 3987 4059 3735 3903 6328 3429 3546 3730 3901 3902 3733 3987 4057 3738 3988 3815 3737 3641 4057 3737 4057 3988 3988 3738 3737 3739 3990 3818 3990 3905 3818 3903 3819 4061 3906 3740 3744 3817 3742 4064 3644 4146 3742 4061 3819 3991 3818 3905 3820 3905 3995 3820 3819 3748 3991 3747 3995 3644 3820 3995 3747 3821 3816 4154 3646 3998 3906 3908 3822 3997 4154 3909 3821 3822 3823 3997 3909 4071 3824 3911 3824 4071 3914 3562 3910 3826 3911 4004 3755 3913 3912 3751 3755 3912 3562 3914 3754 3913 3755 3915 3651 3752 4162 3752 3751 4162 4162 3756 3651 3758 3754 3914 4166 3758 3914 3756 4162 4079 3756 4079 3757 4166 3759 3758 3826 4004 3829 3830 4005 3660 4004 4084 3829 3918 3829 4084 3916 3662 3763 3828 3916 3763 3832 4086 4009 3665 4089 3830 4011 3917 3666 3919 3834 3462 3665 3833 4089 3764 3918 3920 3666 3765 4011 3925 3832 3582 3834 3919 3922 3835 3834 3922 4091 3837 3920 3923 3831 3836 3586 4010 3921 3926 3837 4091 3836 3767 3923 4017 3767 3584 3767 3930 3923 3768 3921 3769 3838 3926 3927 3930 3767 4017 3928 3673 3770 3839 3925 3480 3770 3674 3928 3769 3921 3675 3674 3772 3928 3675 3921 3840 3929 3680 3935 3775 3933 4094 3938 4180 3772 3841 3934 3839 3777 3937 3935 3777 3939 3937 3775 3940 3843 3842 4020 3938 3686 6390 3842 3368 3936 3947 3936 3946 3947 3939 3844 3942 3941 3691 4098 3843 3940 3943 4098 3691 3850 4098 3850 3944 3844 3945 3942 3944 3850 3948 3845 4102 3945 4102 3845 3846 4023 3849 3847 5936 5938 5939 4026 3846 3848 3849 3953 3852 3781 3950 4025 3784 3781 4025 3784 4025 3951 3854 4106 3851 3851 4106 3952 3852 3953 4108 3855 3852 4108 3951 3853 3784 3854 3853 3954 3955 3855 4108 4031 3850 3786 3786 3858 4031 3856 3956 4032 3856 4032 3857 3857 4032 3957 3859 3857 3957 3858 3861 4033 3859 3957 3958 3860 3859 4206 3859 3958 4206 3860 4206 3959 3861 3860 3959 4033 3861 3959 3866 4207 3961 3866 3867 4207 3965 3794 4208 4208 3794 3960 3796 4037 3868 3796 3964 4037 3870 4041 3869 3968 3794 3965 5933 3967 4041 3968 3875 3794 3969 3871 3802 3872 3873 3967 3872 3874 3873 3875 3873 3874 3878 3875 3874 3877 3875 3878 3970 3969 3715 3974 3877 3878 3971 3973 3880 3804 4123 3879 3881 3879 3972 3880 3973 3882 3878 3883 3974 4129 3881 3972 3884 3881 4129 3882 3973 3885 3806 3975 3886 3975 4367 3886 3716 3887 3715 3715 3887 3976 3888 3889 3976 3888 3976 3887 3885 4220 6222 3886 4367 4223 3807 3720 3718 3893 3976 3889 4133 3723 3720 3977 4134 3809 3976 3892 3809 3890 3977 3809 3891 3978 3890 3890 3978 3977 3979 3892 3893 3811 3892 3894 3809 3892 3811 3980 3625 3895 3810 3726 4135 3530 3979 3893 3979 3894 3892 3811 3894 3979 3980 3895 3897 3897 3895 3896 3811 3979 3982 3899 6183 6185 4309 6182 6222 3632 3814 4141 3898 4059 4056 6188 3729 6185 6185 3729 3899 3900 3429 6328 3632 4141 3901 3902 3901 3986 3986 3984 3902 3990 3739 3982 3736 3989 6328 3989 3736 3740 3989 3740 3906 4064 3742 4146 3644 4234 4146 3991 3748 3993 3995 3992 3644 3994 3992 3995 3748 3908 3993 3907 3996 3910 3996 4001 3910 3910 4001 3914 3913 4002 3999 3912 3913 3999 3751 3912 4162 3912 3999 4162 4068 3823 4005 3913 3915 6090 6090 3915 6087 3757 4079 4080 3757 4080 3827 3761 3759 4166 4006 3761 4166 3828 3760 4007 3760 3917 4007 3657 3761 4006 3657 4006 3919 3915 3831 4012 4007 3916 3828 3662 3916 4505 3918 4172 3920 3765 4092 4011 4088 3832 3925 4089 3833 6286 3831 3923 4012 4092 3765 3928 3919 4014 3922 4012 3923 3930 3924 3930 3932 3662 3924 3932 4014 4015 3676 3922 4014 3929 3926 4016 3927 3932 3930 3931 3838 3927 4017 4017 3927 4338 3931 3930 3933 3932 3931 3933 3935 3835 3929 4094 3933 3930 3839 3934 4274 3935 3937 4021 4022 3936 4018 3937 3939 4021 4019 3940 3775 4020 4100 3938 3946 3936 4022 3939 3942 4021 4019 3943 3940 3944 3946 4022 4019 4023 3943 3946 3944 3948 4024 3946 3948 3946 4024 3947 3850 4024 3948 3947 4024 4027 3947 4027 3949 3950 3949 4025 3849 4023 3953 4023 4029 3953 3951 4025 4197 3853 3951 4197 3952 4106 4028 4028 3848 3952 3953 4029 4108 4031 4109 3850 3853 4197 3954 3854 3954 4106 4108 4030 3955 4030 3956 3955 4279 3956 4030 4279 4032 3956 4033 4031 3858 3862 4034 3960 3863 4113 3862 3862 4113 4034 5932 5941 5944 3864 4036 4035 3865 3961 3864 3963 3868 4210 3868 4037 4210 3798 3962 4040 3963 4210 3962 4039 4037 3964 3964 4043 4039 3965 4042 3968 4040 3966 3798 3869 4043 3964 4041 4043 3869 3967 4042 4041 3968 4042 3873 3966 4044 3800 3873 4042 3967 3873 3875 3968 3876 3800 4044 3876 4044 3803 4044 4121 3803 4122 3969 3970 3803 4121 4045 3971 3803 4045 3971 4045 3973 4125 3804 3974 4123 3804 4125 3972 3879 4123 3972 4123 6238 4046 6169 3972 3715 4050 3970 4129 3972 6169 4126 4049 3975 4049 4367 3975 3974 5934 4051 4127 4050 3715 3975 3806 4126 4052 4127 3715 4052 3715 4053 4053 3715 3976 4220 3885 3973 4126 3806 6225 4302 4126 6224 3807 4131 3720 3720 4131 4133 3976 3893 3892 4222 6222 4220 6222 6223 6225 3891 4137 3978 3625 3896 3895 3980 3981 3625 4224 3724 3723 3891 3898 4137 3897 3981 3980 4225 3814 4223 3982 3979 4055 3897 3900 3981 3900 6328 3981 3814 4225 4141 3728 3984 3726 3904 4309 4060 4141 4228 3901 3636 3988 3979 4228 3986 3901 3988 4057 4058 3988 4058 4142 4235 3990 3982 4060 3816 3904 3989 4062 6328 3990 4235 4063 3816 4060 4154 3989 4147 4062 4147 3989 3906 3990 4063 3905 3905 4066 3995 3991 3993 4061 4061 3993 4065 3817 4151 3907 3992 4234 3644 3908 4065 3993 3906 3998 4147 4147 3998 4067 5940 3907 4069 4069 3907 4151 3997 4068 3908 4154 4071 3909 3996 4069 4001 4070 3994 3995 4066 4070 3995 3823 4068 3997 6189 4072 4497 4497 3999 6189 3998 4000 4067 4067 4000 4074 4069 4075 4001 4076 6190 4003 3999 4002 6189 3825 4077 4074 4074 4000 3825 4001 4075 3914 4071 4078 3911 3911 4078 4004 6088 6089 6086 3827 4077 3825 4075 4166 3914 4081 3830 4082 4005 3830 4081 4171 4006 4166 4004 5943 4084 4171 3919 4006 4082 3830 4332 4012 4087 3915 3916 4254 4505 4008 4085 4010 4086 4085 4008 4086 4008 4009 3830 4089 4332 4086 3832 4088 3662 4505 4090 4010 4176 3921 4177 4088 3925 4331 4015 3919 3919 4015 4014 4013 4012 3930 3924 4013 3930 3662 4013 3924 4090 4013 3662 3922 3929 3835 4093 4016 3926 4177 3925 4274 4015 4331 3676 3927 4016 4093 3925 3839 4274 3930 4183 4094 3928 4180 4341 3772 4180 3928 3934 3676 4178 3921 4095 3840 3840 4095 4018 4184 4186 3775 4184 3775 4094 4096 4274 3934 4186 4019 3775 4342 4022 4095 4095 4022 4018 3938 4100 4097 4020 5935 4100 4187 3941 4098 4098 4022 4342 4022 4098 3944 4101 4023 4019 3942 3945 4195 4195 3945 4102 4198 4102 3846 4027 4105 3949 4026 4198 3846 3850 4027 4024 3949 4105 4103 4025 3949 4103 4025 4103 4197 4104 4026 3848 4023 4108 4029 4109 4027 3850 4200 3954 4197 4104 3848 4028 3954 4107 4106 4109 4031 4284 4032 4282 3957 3958 4282 4110 3958 3957 4282 4284 4031 4033 3958 4110 4206 3959 4206 4111 3959 4111 4033 4113 4112 4034 4036 4113 4035 4036 4207 4113 3864 4207 4036 3961 4207 3864 4114 4207 3867 4114 3867 4038 4210 4037 5945 4115 4037 4116 3965 4208 4042 4118 4114 4038 3962 4210 4040 4039 4116 4037 4038 3871 4118 3966 4040 4044 4039 4119 4116 4043 4119 4039 4042 4117 4041 3871 3969 4118 4041 4120 4043 4118 3969 4122 4121 5948 4045 4045 5948 3973 4293 4123 4125 4123 6166 6238 6169 4046 4047 4299 6167 6168 3970 4050 4122 4048 4049 4126 4048 4367 4049 3974 4051 4298 5948 4220 3973 4132 4298 4051 4053 4217 4052 4052 4217 4127 3807 4128 4131 3807 4129 4128 4053 3976 4217 3976 4130 4217 4130 3976 3809 4130 3809 4134 4133 4380 3723 3723 4380 4224 4136 3977 3978 4137 4136 3978 6328 4304 6224 3983 3625 3981 3726 4139 4135 4224 4140 3724 4227 4055 3979 3898 4056 4137 6222 4138 4309 3726 3984 4139 3985 3724 4140 4230 3985 4140 4227 3979 4142 4056 4059 4143 4228 4139 3986 4139 3984 3986 3987 3985 4230 3987 4230 4144 3979 3988 4142 3987 4144 5942 4058 4057 4145 4057 4144 4145 4145 4142 4058 4232 4059 3903 3903 4061 4232 4235 4066 4063 4066 3905 4063 4154 4060 4148 3817 4064 4149 4064 4146 4149 4153 4061 4065 6277 4154 4148 4151 3817 4149 4065 3908 4153 4156 4147 4067 4234 3992 4152 4241 4152 3994 3994 4152 3992 4157 4066 4237 3908 4068 4153 3994 4070 4241 4157 4070 4066 4497 4072 4073 4074 4156 4067 4069 4151 4075 4151 4245 4075 4160 4070 4157 4316 4076 4161 4316 6186 4076 6186 6190 4076 4162 3999 4497 4074 4077 4156 4077 4159 4156 3827 4163 4159 4159 4077 3827 4245 4166 4075 4165 4079 4162 4080 4079 4163 4163 3827 4080 4004 4078 5943 4168 4161 4076 4081 4082 4164 4076 3915 4168 4083 4078 4084 3915 4323 4168 4082 4169 4164 4082 4332 4169 3915 4087 4323 4007 4254 3916 4007 4170 4254 3917 4170 4007 4170 3917 4011 4258 4010 4085 4172 4257 3920 4012 4173 4087 4090 4505 4173 4011 4174 4170 4174 4011 4092 4010 4258 4176 4171 4328 3919 4332 4089 6286 4091 3920 4257 4090 4012 4013 4173 4012 4090 4174 4092 4175 3919 4328 4331 3921 4176 4264 3926 4091 4093 3928 4262 4092 4177 4274 4263 3927 4093 4338 3928 4341 4262 3935 4181 6286 3930 4017 4179 4095 3921 4264 4183 3930 4182 4185 4095 4264 3934 4178 4096 4095 4185 4342 4099 4274 4096 4097 4192 4191 4097 4100 4192 5935 4273 4100 5935 4187 4273 4193 4019 4190 4193 4101 4019 4101 4199 4023 4196 6279 6294 4277 4103 4105 4198 4026 4104 4023 4199 4108 4108 4199 4203 4109 4105 4027 4201 4202 4106 4353 4028 4202 4202 4028 4106 4104 4028 4353 4281 4105 4109 4201 3954 4200 4107 3954 4201 4106 4107 4201 4030 4108 4203 4279 4030 4203 4282 4032 4279 4204 4109 4284 4204 4281 4109 4283 4110 4282 4110 4283 4205 4110 4205 4206 4112 4113 4452 4113 4207 4452 4208 3960 4360 4207 4114 4286 4117 4042 4208 4209 4210 4115 4116 4209 4115 4040 4210 4044 4116 4119 4212 4126 4212 4119 4043 4048 4119 4048 4126 4119 4043 4120 4048 4118 4122 4213 4041 4211 4120 4120 4211 4048 4123 4291 6166 4291 4124 6166 4124 4291 4122 4211 4367 4048 4123 4293 4291 4122 4299 6168 4293 4125 4214 4122 4050 4215 4299 4122 4215 4125 3974 4298 4127 4215 4050 4216 5950 5951 4127 4370 4215 4127 4217 4370 4131 4128 4375 4128 4129 4375 4131 4375 4133 4130 4134 4219 4134 4221 4219 4136 4221 4134 4136 4134 3977 6224 4304 4302 4222 4138 6222 4226 4141 4225 4387 4140 4224 4056 4231 4306 4056 4306 4137 4231 4056 4143 4229 4139 4228 4230 4145 4144 4143 4059 4231 4231 4059 4232 4062 4310 6328 4235 3982 4312 4233 4062 4147 4236 4232 4061 6187 4148 4060 4238 4233 4147 4237 4066 4235 4061 4153 4236 6187 6277 4148 4156 4239 4147 4239 4238 4147 4158 4236 4153 4150 4318 4154 6186 4155 4150 4153 4068 4158 4154 4243 4071 4155 6186 4316 4156 4244 4239 4245 4151 4240 4070 4246 4241 4242 4160 4157 4005 4158 4068 4248 4071 4243 5960 4161 4247 4159 4244 4156 4246 4070 4160 4242 4164 4160 4404 4081 4242 4081 4164 4242 4005 4081 4404 4071 4248 4078 4250 4165 4162 4165 4249 4079 4079 4249 4163 4164 4167 4160 4251 4078 4248 4416 4161 4168 4164 4252 4167 4078 4251 4084 4164 4169 4252 4084 4251 3918 4251 4253 3918 4169 4332 4252 3918 4253 4172 4087 4173 4323 4086 4256 4085 4085 4256 4255 4329 4256 4086 4253 4257 4172 4086 4088 4329 4088 4177 4329 4175 4092 4262 4093 4091 4338 4177 4263 4259 5955 5958 4261 3676 4331 4337 4178 3676 4337 6286 4181 4260 4017 4338 4266 4260 4181 4265 4179 4017 4266 3930 4179 4266 4265 4181 4343 3930 4266 4267 3930 4267 4182 4182 4267 4268 4183 4182 4344 4182 4268 4344 4344 4094 4183 4264 4271 4185 4178 4349 4096 4343 4181 4272 4094 4344 4269 4184 4094 4270 4094 4269 4270 4186 4184 4673 4184 4270 4673 4342 5946 4271 4181 3935 4272 4180 4097 4189 3938 4097 4180 4098 4342 4188 3935 4021 4272 4272 4021 4348 4019 4186 4189 4273 4187 4188 4098 4188 4187 4096 4349 4099 4190 4019 4189 4097 4191 4189 4189 4191 4190 4100 4273 4275 4099 4196 4274 3942 4195 4021 4191 4193 4190 4191 4192 4194 4100 4275 4192 4192 4275 4194 4194 4193 4191 4195 4102 4198 4193 4276 4101 4101 4276 4199 4198 4104 4353 4276 4279 4203 4276 4203 4199 4105 4280 4277 4201 4200 4278 4201 4278 4202 4281 4280 4105 4204 4284 4358 4281 4204 4358 4033 4598 4284 4205 4283 4206 4033 4111 4598 3960 4034 4360 4112 4452 4034 4208 4360 4285 4208 4285 4361 4361 4117 4208 4286 4114 4287 4117 4453 4041 4287 4114 4118 4288 4210 4209 4289 4288 4209 4116 4289 4209 4118 4213 4291 4290 4044 4210 4288 4290 4210 4290 4292 4044 4213 4122 4291 4366 4212 4126 5948 4121 4368 4294 4293 4214 4214 4125 4294 4215 4295 6169 5948 4368 4218 4296 4125 4298 4294 4125 4296 4215 4370 4295 4217 4297 4370 4217 4130 4297 4219 4466 4130 4133 4376 4378 4133 4375 4376 4219 4300 4466 6043 5949 5952 4133 4378 4380 4221 4300 4219 4300 4221 4136 4367 4303 4223 4135 4298 4132 5959 4301 5953 4303 4384 4223 4222 4309 4138 4384 4386 4223 4137 4627 4136 4304 6328 4305 4223 4386 4225 4137 4306 4627 6328 4310 4305 4139 4392 4135 4387 4308 4140 4141 4226 4307 4392 4139 4229 4230 4140 4308 4141 4307 4228 4229 4228 4307 4145 4230 4142 4310 4062 4393 4055 4227 3982 4062 4487 4393 3982 4227 4395 4487 4062 4233 4235 4312 4489 4232 4236 4394 4394 4236 4314 4060 4309 4073 4309 4497 4073 4313 4149 4146 4146 4398 4313 4146 4234 4311 4400 4234 4152 4317 4233 4238 4149 4403 4151 4313 4403 4149 4236 4315 4314 4317 4238 4239 4151 4407 4240 4151 4403 4407 4157 4237 4242 4237 4493 4242 4158 4315 4236 4158 4005 4315 4154 6044 4243 4318 6044 4154 4316 4318 4150 4155 4316 4150 4244 4317 4239 4240 4407 4245 4159 4406 4317 4244 4159 4317 4246 4410 4241 4163 4321 4406 4163 4406 4159 4407 4166 4245 4246 4319 4410 4160 4319 4246 4243 4322 4248 4497 4411 4162 4250 4162 4417 4165 4250 4320 4249 4165 4321 4165 4320 4321 4321 4163 4249 4167 4319 4160 4248 4322 4251 4161 4416 4650 4322 4253 4251 4253 4322 4325 4323 4173 4505 4254 4420 4505 4254 4324 4420 4170 4324 4254 4085 5954 4327 4326 4085 4327 4255 4256 4327 4256 4329 4327 4253 4325 4257 4170 4421 4324 4421 4170 4174 4422 4258 4326 4326 4258 4085 4333 4421 4174 4174 4175 4333 4177 4330 4329 4333 4175 4262 4264 4176 4258 4177 4259 4330 4330 4259 4426 6286 4260 4332 4332 4260 4512 4338 4257 4583 4338 4091 4257 4333 4262 4336 4259 5957 4426 4426 5957 4428 4337 4331 4334 4512 4260 5962 5957 4263 4428 4428 4263 4430 4335 5956 5969 4262 4341 4336 5963 5964 4339 4263 4274 4430 4431 4260 4343 4340 4266 4338 4337 4346 4178 4260 4265 4343 4180 4438 4341 4267 4266 4436 4268 4267 4437 4267 4436 4437 4344 4268 4437 4342 4271 4441 4271 4264 4441 4178 4346 4349 4343 4272 4347 4270 4269 4443 4673 4270 4443 4189 4673 4180 4345 4188 4342 4347 4272 4348 4189 4186 4673 4188 4445 4273 4021 4195 4348 4196 4099 4446 4099 4349 4446 4350 4193 4194 4193 4352 4276 4193 4350 4352 5947 5965 5970 4196 4351 6279 4196 4446 4351 4446 4200 4197 4352 4447 4276 4196 4103 4593 4103 4277 4593 4277 4355 4593 4278 4354 4202 4354 4353 4202 4276 4447 4279 4356 4355 4280 4355 4277 4280 4356 4280 4281 4279 4357 4282 4357 4359 4282 4282 4359 4283 4283 4359 4206 4111 4206 4598 4206 4359 4598 4284 4598 4358 4531 4452 4207 4286 4362 4207 4363 4362 4286 4286 4287 4363 4118 4363 4287 4288 4289 4365 4291 4363 4118 4365 4290 4288 4116 4364 4289 4116 4212 4364 4041 4454 4211 4365 4292 4290 4366 4364 4212 4535 4367 4211 4044 4292 4121 4292 4368 4121 4294 4291 4293 4368 4371 4218 4298 4373 4296 4294 4296 4373 4294 4373 4369 4543 6169 4295 4370 4462 4295 4466 4297 4130 4372 4298 4472 4373 4298 4372 5967 6301 6300 6169 4374 4129 4129 4374 4375 4613 4126 4302 4300 4377 4466 4367 4379 4303 4379 4382 4303 4136 4471 4300 4383 4381 4302 4303 4382 4384 4385 4383 4302 4304 4385 4302 4224 4380 4387 4388 4225 4386 4304 4305 4393 4225 4388 4226 4390 4226 4388 4389 4308 4387 4389 4230 4308 4310 4393 4305 4307 4226 4390 4307 4390 4391 4229 4307 4392 4307 4391 4392 4231 4627 4306 4394 4231 4232 4551 4557 4309 4487 4483 4393 4395 4227 4484 4402 4487 4233 4396 4146 4311 4399 4396 4311 4397 3982 4395 3982 4397 4312 4312 4397 4489 4403 4313 4398 4396 4398 4146 4234 4399 4311 4234 4400 4399 4237 4235 4561 4402 4233 4317 4314 4315 4404 4405 4402 4317 4493 4404 4242 4404 4315 4005 4317 4406 4405 4415 4243 6044 4247 4650 5960 4243 4415 4322 4161 4650 4247 4411 4412 4162 4162 4412 4413 4413 4417 4162 4250 4417 4414 4250 4414 4320 4167 4252 4319 4325 4322 4415 4323 4416 4168 4418 4416 4323 4418 4323 4419 4323 4505 4419 4421 4420 4324 4327 4423 4326 4326 4423 4422 4329 4423 4327 4328 4573 4331 4252 4332 4507 4509 4421 4333 4329 4424 4423 4330 4424 4329 4573 4425 4331 4258 4510 4264 4258 4422 4510 4424 4330 4426 4427 4334 4425 4334 4331 4425 4333 4336 4432 4334 4429 4337 4427 4429 4334 4431 4343 4442 4336 4341 4432 4341 4433 4432 4434 4341 4438 4434 4433 4341 4430 4274 4515 4337 4587 4346 4340 4436 4266 4345 4342 4440 4439 4345 4440 4440 4342 4441 4343 4347 4442 4439 4444 4445 4345 4439 4445 4345 4445 4188 4346 4676 4349 4348 4590 4442 4348 4442 4347 4195 4590 4348 4445 4275 4273 4198 4590 4195 4682 4350 4194 4275 4682 4194 4350 4594 4352 4682 4594 4350 4590 4198 4353 4448 4593 4355 4448 4355 4356 4279 4447 4449 4279 4449 4357 4357 4449 4450 4598 4359 4357 4451 4285 5966 4034 4452 4360 4360 4452 4451 4603 4531 4207 4451 4532 4285 4117 4361 4453 4363 4455 4362 4041 4453 4454 4534 4455 4363 4457 4365 4289 4211 4454 4535 4534 4363 4291 4292 4365 4536 4538 4289 4364 4366 4538 4364 4292 4607 4701 4701 4368 4292 4366 4126 4458 4294 4459 4291 4294 4460 4459 4369 4460 4294 4368 4467 4371 4369 4464 4461 4373 4464 4369 4461 4460 4369 4295 4462 4543 4466 4370 4297 4371 4467 4218 4373 4372 4465 4465 4464 4373 4375 4543 4468 4374 4543 4375 6169 4543 4374 4218 4467 4222 4376 4470 4378 4375 4470 4376 4375 4468 4470 4377 4469 4466 4466 4469 4544 4469 4377 4300 4378 4470 4380 4300 4471 4469 4467 4309 4222 4302 4381 4613 4613 4381 4474 4379 4473 4382 4135 4472 4298 4470 4476 4380 4548 4471 4136 4381 4383 4474 4382 4473 4384 4473 4475 4384 4392 4478 4472 4135 4392 4472 4627 4548 4136 4383 4385 4474 4474 4385 4477 4475 4386 4384 4380 4476 4387 4304 4393 4477 4477 4385 4304 4386 4475 4388 4388 4475 4479 4476 4389 4387 4476 4481 4389 4388 4479 4390 4479 4480 4390 4389 4481 4230 4391 4390 4480 4392 4391 4480 4142 4230 4482 4227 4142 4482 4627 4231 4556 4394 4556 4231 4227 4482 4484 4395 4484 4485 4395 4485 4486 4397 4395 4489 4395 4486 4489 4497 4309 4557 4398 4491 4403 4491 4398 4488 4396 4488 4398 4399 4488 4396 4400 4492 4488 4400 4488 4399 4235 4489 4561 4394 4401 4490 4394 4314 4401 4561 4493 4237 4314 4404 4401 4402 4405 4495 4403 4491 4494 4400 4566 4492 4403 4496 4407 4496 4403 4494 4400 4152 4566 4495 4405 4406 4566 4152 4241 5961 5968 5973 4318 4316 4571 4408 4318 4571 4406 4409 4570 4407 4496 4499 4502 4408 4648 4650 4571 5960 4498 4412 4411 4498 4411 4497 4570 4320 4501 4409 4320 4570 4409 4321 4320 4406 4321 4409 4499 4572 4407 4412 4498 4500 4412 4500 4413 4413 4500 4417 4417 4500 4414 4500 4501 4414 4501 4320 4414 4418 4650 4416 4418 4503 4650 4407 4572 4166 4415 4504 4325 4418 4419 4503 4572 4171 4166 4503 4419 4505 4572 4573 4328 4171 4572 4328 4325 4504 4747 4422 4423 4506 4257 4747 4583 4257 4325 4747 4424 4506 4423 4424 4513 4506 4424 4426 4513 4427 4425 4511 4511 4425 4573 4333 4432 4509 4513 4426 4428 4427 4511 4429 4511 4514 4429 4428 4430 4513 4513 4430 4515 4429 4514 6061 4514 4516 6061 5962 4431 4512 4512 4431 4671 4509 4432 4585 6062 6063 4337 6063 4518 4337 4431 4442 4671 4338 4583 4517 4338 4517 4340 4436 4340 4517 4435 4520 4585 4435 4585 4433 4433 4585 4432 4587 4337 4518 4519 4521 4438 4520 4438 4521 4435 4438 4520 4435 4434 4438 4433 4434 4435 4264 4523 4441 4264 4510 4523 4674 4515 4274 4671 4442 4524 4344 4437 4443 4438 4180 4519 4440 4522 4439 4440 4523 4522 4441 4523 4440 4344 4443 4269 4673 4443 4672 4444 4525 4526 4445 4444 4526 4522 4444 4439 4525 4444 4522 4442 4590 4524 4527 4445 4526 4445 4527 4680 4274 4196 4674 4680 4275 4445 4349 4528 4446 4200 4446 4528 4200 4528 4278 4353 4354 4592 4352 4529 4447 4594 4529 4352 4595 4447 4529 4447 4595 4449 4448 4356 4281 4598 4281 4358 4530 4451 4452 4451 4530 4532 4532 4361 4285 4362 4603 4207 4602 4453 4361 4362 4455 4534 4454 4453 4602 4365 4457 4456 4536 4365 4456 4457 4289 4538 4291 4605 4534 4292 4536 4607 4458 4538 4366 4458 4126 4610 4291 4539 4605 4459 4539 4291 4459 4541 4539 4460 4541 4459 4368 4542 4467 4702 4379 4367 5971 4540 4463 4464 5975 4461 5975 4541 4461 4541 4460 4461 4472 4695 5975 4372 4472 5975 4465 4372 5975 4464 4465 5975 4542 4546 4467 4468 4545 4470 4543 4545 4468 4470 4545 4547 4471 4548 4469 4467 4546 4309 4379 4549 4473 4470 4550 4476 4550 4470 4547 4551 4309 4546 4549 4621 4475 4473 4549 4475 4705 4472 4478 4550 4625 4476 4555 4474 4477 4475 4621 4552 4477 4393 4555 4475 4552 4479 6273 6272 5972 4392 4480 4478 4476 4625 4481 4553 4480 4479 4230 4481 4482 4393 4483 4555 4558 4559 4484 4631 4394 4490 4484 4559 4485 4485 4559 4486 4489 4486 4560 4486 4559 4560 4401 4630 4490 4490 4630 4631 4635 4497 4557 4487 4402 4567 4491 6326 4641 4491 4488 6326 4562 6326 4488 4561 4563 4493 4404 4493 4564 4493 4563 4564 4630 4404 4564 4401 4404 4630 4402 4495 4567 4491 4641 4494 4494 4568 4496 4568 4494 4641 4495 4406 4567 4643 4566 4241 4406 4570 4567 4496 4568 4499 4241 4410 4643 4648 4408 4571 4497 4637 4498 4498 4637 4569 4569 4570 4501 4572 4499 4645 4498 4569 4500 4501 4500 4569 4651 4410 4319 6044 4504 4415 4252 4653 4651 4252 4651 4319 4505 4656 4503 4653 4252 4574 4574 4252 4507 4575 4505 4420 4421 4575 4420 4422 4506 4508 4507 4332 4574 4574 4332 4580 4421 4576 4575 4509 4576 4421 4422 4662 4510 4508 4662 4422 4506 4513 4579 4512 4580 4332 4581 4576 4509 4513 4666 4579 4581 4509 4584 4513 4515 4666 4580 4512 4671 4584 4509 4585 5974 4514 4518 4517 4668 4436 4517 4583 4668 4585 4520 4521 4666 4515 4674 5980 4521 4519 4436 4668 4437 4437 4668 4443 4180 4673 4519 4588 4522 4523 4587 4675 4346 4526 4525 4588 4522 4588 4525 4675 4676 4346 4588 4527 4526 4589 4527 4588 4674 4196 4761 4682 4275 4680 4590 4353 4592 4594 4682 4771 4594 4771 4683 4354 4278 4592 4595 4529 4594 4449 4595 4597 4449 4597 4450 4598 4685 4281 4685 4448 4281 4450 4684 4357 4598 4357 4684 4532 4530 4599 4686 4599 4452 4452 4599 4530 4452 4531 4686 4361 4532 4601 4532 4600 4601 4599 4600 4532 4361 4601 4602 4603 4362 4533 4362 4534 4533 4602 4687 4454 4454 4687 4535 4536 4456 4537 4456 4457 4608 4537 4456 4608 4457 4538 4608 4538 4609 4608 4609 4538 4458 4610 4609 4458 4696 4605 4539 4610 4126 4613 4368 4701 4542 4702 4614 4379 5976 5977 5981 4543 4707 4611 4462 4707 4543 4612 4707 4462 4370 4612 4462 4544 4370 4466 4542 4615 4546 4379 4614 4616 4543 4706 4545 4544 4469 4617 4549 4379 4616 4547 4545 4711 4469 4548 4617 4550 4547 4711 4546 4615 4551 4615 4620 4551 4555 4613 4474 4624 4705 4478 4621 4554 4552 4553 4479 4552 4554 4553 4552 4480 4553 4554 4624 4480 4554 4478 4480 4624 4714 4482 4481 4714 4717 4482 4717 4629 4482 4629 4484 4482 4556 4394 4631 4551 4632 4557 4484 4629 4558 4629 4559 4558 4487 4634 4555 4487 4555 4483 4635 4557 4632 4633 4560 4559 4489 4560 4633 4489 4633 4561 4563 4561 4633 4563 4633 4727 4563 4630 4564 4727 4630 4563 4487 4567 4634 6327 4565 5978 4562 4641 6326 4636 4641 4562 4488 4636 4562 4642 4636 4488 4492 4642 4488 4492 4566 4642 4635 4638 4497 4566 4643 4642 4497 4638 4637 4641 4645 4568 4637 4644 4569 4569 4644 4570 4567 4570 4644 4568 4645 4499 4410 4646 4643 4648 4654 4502 4649 4648 4571 4650 4741 4571 4571 4741 4649 4647 4572 4645 4504 4502 4654 4572 4657 4573 4653 4574 4658 4747 4504 4654 4573 4667 4511 4580 4658 4574 4662 4508 4577 4508 4506 4578 4577 4508 4578 4506 4579 4578 4575 4581 4661 4575 4576 4581 4510 4662 4582 4666 4577 4578 4579 4666 4578 4511 4667 4514 4584 4661 4581 4584 4585 5980 4510 4582 4670 4514 4667 4518 4521 5980 4585 4519 4758 5980 4523 4510 4586 4518 4667 4587 4668 4672 4443 4758 4519 4673 4671 4590 4763 4671 4524 4590 4589 4677 4527 4676 4678 4349 4527 4677 4680 4678 4528 4349 4678 4681 4528 4590 4591 4679 4681 4591 4592 4590 4592 4591 4528 4681 4278 4592 4278 4681 4593 4448 4770 4683 4595 4594 4596 4595 4683 4595 4596 4597 4683 4597 4596 4450 4597 4684 4600 4780 4601 4686 4531 4603 4601 4687 4602 4780 4687 4601 4603 4533 4604 4533 4534 4604 4690 4604 4605 4604 4534 4605 4605 4606 4690 4536 4537 4607 4607 4537 4608 4607 4608 4691 4608 4609 4691 4605 4696 4606 4535 4692 4367 4701 4607 4697 4367 4698 4702 4692 4698 4367 4695 4788 5975 4541 5975 4788 4696 4541 4788 4539 4541 4696 4610 4613 4704 4694 4472 4700 4694 4695 4472 4542 4709 4615 4709 4542 4701 4611 4707 4706 4708 4612 4370 4616 4614 4710 4703 4472 4705 4708 4707 4612 4544 4708 4370 4708 4544 4715 4622 4616 4710 4624 4623 4793 4705 4624 4793 4617 4715 4544 4704 4613 4713 4616 4618 4549 4622 4618 4616 4711 4619 4550 4626 4619 4711 4620 4615 4709 4713 4613 4555 4549 4618 4621 4622 4621 4618 4550 4619 4625 4626 4625 4619 4617 4809 4715 4548 4809 4617 4716 4620 4709 4622 4554 4621 4623 4554 4622 4624 4554 4623 4481 4625 4626 4714 4481 4626 4627 4809 4548 4620 4716 4551 4628 4551 4716 4632 4551 4628 4555 4718 4803 4630 4627 4556 4629 4717 4719 4631 4630 4556 4722 4632 4628 4634 4718 4555 4629 4719 4559 4719 4720 4559 4559 4720 4633 4632 4722 4635 4722 4728 4635 4730 4635 4728 4727 4633 4726 4732 4635 4730 4638 4635 4733 4635 4732 4733 4634 4640 5983 4634 4567 4640 4638 4733 4735 4638 4735 4639 4734 5979 5984 5983 4640 4639 4636 4737 4641 4642 4737 4636 4644 4637 4638 4644 4638 4639 4640 4644 4639 4640 4567 4644 4737 4645 4641 4736 4737 4642 4643 4736 4642 4643 4646 4736 4646 4738 4736 4738 4646 4410 4647 4645 4737 4647 4737 4739 4410 4740 4738 4740 4410 4651 4743 4649 4741 4657 4647 4739 4651 4742 4740 4654 4648 4652 4743 4652 4649 4652 4648 4649 4745 4741 4650 4653 4742 4651 4652 4655 4654 4655 4652 4743 4503 4745 4650 4657 4572 4647 4658 4742 4653 4656 4745 4503 4505 4745 4656 4655 4747 4654 4667 4573 4657 4505 4659 4749 4748 4667 4657 4659 4505 4575 4667 4748 4842 4583 4747 4832 4575 4749 4659 4749 4575 4660 4661 4660 4575 4662 4577 4663 4663 4577 4664 4664 4577 4666 4751 4658 4580 4832 4668 4583 4660 4661 4665 4661 4584 4665 4671 4751 4580 4660 4665 5980 4584 5980 4665 4582 4662 4670 4666 4674 4664 4510 4670 4586 4670 4662 4756 4663 4756 4662 4664 4674 4757 4754 4751 4671 4668 4752 4672 4752 4755 4672 4755 4844 4672 4759 4586 4670 4673 4672 4844 4587 4667 4675 4763 4754 4671 4523 4586 4765 4678 4676 4667 4667 4676 4675 4588 4764 4589 4588 4859 4764 4523 4859 4588 4765 4859 4523 4589 4764 4677 4196 4766 4761 4763 4590 4769 4680 4677 4764 4196 4593 4766 4590 4679 4769 4771 4680 4764 4681 4678 4767 4679 4681 4767 4591 4681 4679 4680 4771 4682 4770 4448 4774 4775 4774 4685 4448 4685 4774 4684 4597 4683 4598 4684 4878 4685 4598 4878 4600 4599 4780 4780 4599 4776 4776 4599 4686 4777 4776 4686 4603 4777 4686 4603 4604 4777 4778 4688 4781 4778 4777 4688 4777 4604 4688 4781 4689 4782 4781 4688 4689 4688 4690 4689 4688 4604 4690 4606 4689 4690 4785 4689 4696 4689 4606 4696 4697 4607 4792 4607 4691 4792 4692 4535 4693 4687 4695 4694 4609 4610 4691 4692 4789 4698 4692 4693 4789 4535 4789 4693 4687 4699 4535 4691 4610 4792 4793 4698 4789 4702 4698 4793 4687 4700 4699 4694 4700 4687 4701 4697 4795 4795 4697 4791 4793 4794 4705 4794 4699 4705 4700 4703 4699 4700 4472 4703 4610 4704 4797 4703 4705 4699 4709 4701 4801 4801 4701 4795 4614 4702 4710 4545 4706 4798 4706 4707 4798 4710 4702 4622 4622 4702 4623 4623 4702 4793 4711 4545 4800 4800 4545 4798 4715 4712 4708 4704 4713 4803 4800 4714 4711 4708 4712 4707 4804 4712 4715 4801 4716 4709 4713 4555 4803 4714 4626 4711 4800 4717 4714 4806 4717 4800 4712 4806 4707 4808 4803 4718 4627 4630 4721 4722 4628 4816 4813 4720 4719 4819 4723 4816 4723 4722 4816 4816 4729 4818 4816 4718 4729 4634 4724 4718 4724 4729 4718 4817 4725 4720 4725 4633 4720 4725 4817 4726 4817 4721 4726 4721 4727 4726 4721 4630 4727 4722 4723 4728 4728 4723 4819 4726 4633 4725 4728 4819 4730 4730 4820 4731 4819 4820 4730 4729 4731 4820 5982 4731 4729 4634 5983 4724 4732 4730 4731 4735 4732 4731 5983 4731 4724 4735 4733 4732 5983 4735 4731 4736 4739 4737 4738 4740 4736 4822 4736 4740 4742 4824 4822 4742 4822 4740 4743 4744 4655 4825 4744 4743 4741 4825 4743 4825 4741 4745 4830 4657 4739 4823 4830 4739 4823 4824 4658 4824 4742 4658 4655 4744 4746 4826 4746 4825 4746 4744 4825 4658 4830 4823 4747 4746 4826 4745 4505 4828 4747 4655 4746 4505 4833 4828 4830 4748 4657 4841 4833 4505 4749 4841 4505 4749 4844 4841 4844 4752 4841 4749 4660 4750 6163 6162 5985 4751 4754 4658 4839 4752 4668 4844 4755 4752 4845 4749 4753 4750 5980 4749 5980 4753 4749 4660 5980 4750 4842 4760 4667 4845 4753 4848 5980 4848 4753 5987 4669 5986 4664 4757 4663 4663 4757 4756 4758 4673 4844 4758 4844 4848 5980 4758 4848 4759 4670 4756 4851 4754 4763 4586 4759 4765 4756 4852 4759 4757 4852 4756 4762 4760 4846 4762 4667 4760 4853 4765 4759 4852 4853 4759 4852 4761 4854 4852 4757 4761 4757 4674 4761 4678 4667 4762 4851 4763 4856 4766 4854 4761 4858 4854 4766 4767 4762 4855 4767 4678 4762 4765 4862 4859 6203 6202 5988 4763 4769 4768 4859 4863 4764 4593 4770 4858 4858 4770 4857 4766 4593 4858 4679 4767 4768 4769 4679 4768 4771 4764 4863 4862 4765 4857 4868 4771 4863 4862 4857 4866 4857 4770 4866 4771 4773 4683 4870 4772 4867 4870 4773 4772 4773 4771 4772 4770 4774 4866 4871 4773 4870 4871 4875 4773 4875 4683 4773 4683 4875 4684 4875 4876 4684 4774 4775 4878 4876 4878 4684 4775 4685 4878 4687 4779 4787 4687 4780 4779 4777 4785 4776 4777 4778 4783 4777 4783 4785 4778 4781 4783 4780 4787 4779 4776 4787 4780 4782 4689 4785 4782 4785 4783 4781 4782 4783 4784 4787 4776 4776 4786 4784 4785 4786 4776 4784 4788 4787 4696 4788 4784 4786 4696 4784 4785 4696 4786 4787 4695 4687 4788 4695 4787 4789 4535 4790 4535 4699 4790 4792 4791 4697 4790 4794 4789 4794 4793 4789 4790 4699 4794 4795 4791 4796 4792 4796 4791 4797 4796 4792 4610 4797 4792 4796 4799 4795 4799 4801 4795 4802 4799 4796 4797 4802 4796 4798 4707 4806 4704 4803 4797 4806 4800 4798 4802 4801 4799 4803 4802 4797 4804 4806 4712 4801 4810 4716 4802 4805 4801 4808 4805 4802 4803 4808 4802 4715 4807 4804 4715 4809 4807 4805 4810 4801 4804 4812 4806 4628 4716 4810 4805 4811 4810 4807 4814 4804 4628 4810 4816 4718 4816 4810 4718 4810 4811 4805 4718 4811 4808 4718 4805 4717 4806 4719 4812 4719 4806 4814 4812 4804 4627 4815 4809 4814 4813 4812 4809 4814 4807 4815 4814 4809 4813 4719 4812 4627 4721 4815 4817 4720 4813 4817 4813 4814 4815 4817 4814 4721 4817 4815 4819 4816 4818 4818 4821 4819 4818 4729 4821 4821 4820 4819 4729 4820 4821 4736 4823 4739 4736 4822 4824 4823 4736 4824 4827 4826 4825 4825 4745 4828 4825 4828 4827 4827 4832 4826 4836 4832 4827 4829 4836 4827 4828 4829 4827 4826 4832 4747 4828 4840 4829 4748 4830 4834 4830 4658 4831 4840 4836 4829 4831 4834 4830 4836 4835 4832 4833 4837 4828 4837 4840 4828 4833 4841 4837 4834 4838 4748 4838 4842 4748 4831 4754 4834 4754 4838 4834 4668 4832 4835 4836 4668 4835 4839 4668 4836 4840 4839 4836 4838 4843 4842 4754 4843 4838 4831 4658 4754 4840 4752 4839 4837 4752 4840 4841 4752 4837 4843 4849 4842 4849 4846 4842 4754 4847 4843 4844 4749 4845 4842 4846 4760 4845 4848 4844 4843 4850 4849 4847 4850 4843 4754 4851 4847 4851 4850 4847 4762 4846 4855 4855 4846 4849 4850 4855 4849 4856 4855 4850 4851 4856 4850 4853 4852 4854 4853 4857 4765 4854 4858 4853 4858 4857 4853 4768 4767 4855 4856 4763 4855 4763 4768 4855 4863 4859 4860 4859 4862 4861 4860 4859 4861 4860 4864 4863 4865 4864 4860 4861 4865 4860 4862 4866 4861 4866 4865 4861 4864 4869 4863 4865 4869 4864 4863 4876 4868 4869 4876 4863 4869 4865 4876 4867 4872 4870 4867 4772 4868 4867 4868 4872 4873 4876 4865 4865 4874 4873 4866 4874 4865 4870 4872 4871 4875 4871 4872 4875 4872 4868 4876 4875 4868 4873 4877 4876 4774 4873 4874 4866 4774 4874 4877 4878 4876 4873 4878 4877 4774 4878 4873 4899 4927 4880 4879 4899 4880 4900 4879 4883 4880 4927 4881 4882 4880 4881 4883 4879 4880 4880 4882 4884 4883 4880 4884 4882 4881 4884 4884 4881 4885 4886 4883 4884 4887 4884 4885 4887 4901 4884 4886 4884 4901 4885 4902 4904 4883 4886 4888 4885 4904 4891 4883 4888 4890 4908 4883 4890 4887 4885 4892 4910 4887 4889 4886 4910 4889 4888 4886 4889 4885 4891 4892 4889 4887 4892 4893 4888 4889 4893 4889 4892 4890 4888 4893 4892 4891 4934 4916 4892 4894 4893 4892 4913 4892 4934 4894 4894 4914 4916 4919 4892 4916 4923 4895 4924 4895 4896 4897 4924 4895 4879 4879 4895 4897 4897 4896 4899 4898 4879 4900 4879 4897 4899 4898 4955 4879 4881 4927 4885 4929 4902 4928 4885 4927 4902 4903 4902 4929 4887 4905 4901 4901 4905 4886 4930 4904 4903 4902 4903 4904 4905 4887 4906 4886 4905 4906 4883 4908 4931 4904 4930 4891 4906 4887 4907 4886 4906 4907 4931 4908 4909 4910 4907 4887 4886 4907 4910 4909 4908 4912 4911 4909 4912 4911 4932 4909 4890 4912 4908 4912 4932 4911 4893 4913 4890 4947 4912 4890 4947 4890 4913 4914 4934 4915 4894 4934 4914 4936 4916 4914 4935 4915 4934 4914 4915 4936 4913 4892 4919 4919 4916 4918 4965 4913 4919 5989 4916 4936 4920 4918 4916 4919 4918 4920 4920 4916 4921 4921 4916 4939 4938 4919 4921 4921 4919 4920 4922 4923 4924 4922 4925 4896 4895 4923 4896 4923 4922 4896 4955 4924 4879 4898 4942 4955 4900 4942 4898 4926 4942 4900 4899 4896 4981 4981 4927 4899 4900 4883 4961 4902 4927 4928 4930 4929 4928 4997 4930 4928 4929 4930 4903 4931 4961 4883 4891 4930 4962 4909 4932 4931 4932 4944 4931 4912 4944 4932 4891 4962 4963 4891 4963 4934 4934 4963 4933 4933 4948 4934 4934 4948 4935 4915 4935 4936 4936 4951 4917 5992 5990 5991 4952 4975 4919 4917 4951 4977 4938 4937 4919 4921 4940 4938 4940 4937 4938 4940 4921 4939 4954 4922 4924 4941 4954 4924 4922 4979 4925 4925 4956 4896 4942 4926 4957 4956 4981 4896 4926 4900 4957 4927 4981 4958 4943 4958 4984 4943 4959 4927 4943 4927 4958 4927 4959 4928 4970 4900 4961 4931 5008 4961 4997 4962 4930 4944 5008 4931 4944 4912 4964 4964 4912 4945 4912 4946 4945 4947 4946 4912 4963 4948 4933 4948 4949 4935 4947 4913 4965 4998 4947 4965 4935 4966 4950 4935 4949 4966 4935 4950 4936 4975 4965 4919 4936 4950 4967 4967 4951 4936 4977 4951 4967 4916 4917 4977 4952 4937 4940 4953 4968 4939 4968 4940 4939 4924 4978 4941 4924 4955 4978 4954 4979 4922 4956 4925 4969 5002 4942 4957 4981 4982 4958 4971 4943 4984 4943 4971 4959 4959 4971 4928 4970 4961 4960 4961 4973 4960 5009 5008 4944 4963 4962 4989 4944 4964 5009 4964 4945 5009 5009 4945 4946 4946 4947 4998 4991 4966 4948 4948 4966 4949 4975 4998 4965 4967 4950 4976 4976 4977 4967 4975 4952 4940 4968 5016 4940 4939 4994 4953 4941 4978 4954 4978 4955 5019 4925 4979 4969 4942 5002 4955 4969 4980 4981 4956 4969 4981 4957 4900 4983 4982 4984 4958 4983 4900 4970 4970 4960 4985 4960 4986 4985 4960 4972 4986 4960 4987 4972 4971 4997 4928 4988 4987 4960 4973 4988 4960 5027 4988 4973 5008 5027 4973 4961 5008 4973 5007 4962 4997 5007 4989 4962 4974 4963 4989 4963 4974 4990 4948 4963 4990 4950 4966 4976 4977 4976 5042 4992 4977 5042 5016 4968 5017 4993 4977 4992 4916 4977 4993 4916 4993 4939 4993 4994 4939 4978 5019 5018 5049 4954 4978 5049 4979 4954 5002 4957 5051 4957 4995 5051 5024 4980 4969 4957 5004 4995 4981 5024 4982 4982 5026 4984 4983 5006 4996 4983 4970 5006 4970 4985 5006 4986 5027 4985 4986 4972 5027 5027 4987 4988 4997 5054 5007 4990 4974 4989 4991 4948 4990 5010 4991 4990 4975 5037 4998 4966 4999 4976 5016 4975 4940 5042 5015 4992 5017 4968 4953 4993 4992 5045 4994 4993 5045 4994 5045 4953 5000 4978 5018 4979 5049 5020 5019 4955 5002 5068 4979 5001 5068 5024 4969 4979 5068 4969 5051 4995 5021 5003 5021 4995 4995 5004 5003 4980 5024 4981 5004 4983 5025 4957 4983 5004 4983 4996 5053 5024 5026 4982 4984 5026 4971 5006 4985 5138 5138 4985 5027 4972 4987 5027 4989 5010 4990 5062 4991 5010 5039 4999 4966 4999 5039 5011 5012 4999 5011 4999 5012 5014 4976 4999 5014 4976 5014 5042 4975 5016 5041 5045 4992 5015 4953 5045 5017 4978 5000 5046 5000 5018 5046 5046 5049 4978 4979 5020 5050 5050 5001 4979 5097 5068 5001 5003 5005 5022 5021 5003 5022 5022 5005 5023 5003 5004 5005 5004 5025 5023 5004 5023 5005 5024 5052 5026 5053 4996 5006 4997 4971 5026 4997 5026 5071 5054 4997 5071 5081 4989 5007 5060 5009 5116 5009 4946 4998 5009 4998 5116 5085 4998 5037 5038 4991 5062 4966 4991 5038 5037 4975 5040 5039 4966 5038 5011 5039 5013 5011 5013 5012 5014 5012 5013 5122 5041 5016 5015 5042 5063 5016 5017 5064 5015 5043 5045 5045 5043 5993 5065 5049 5046 5019 5047 5018 5019 5094 5047 5127 5094 5019 5020 5049 5048 5019 5994 5127 5066 5019 5002 5002 5051 5098 5051 5021 5170 5021 5022 5170 5022 5023 5170 5170 5023 5025 5069 5025 4983 4983 5053 5069 5052 5070 5026 5053 5006 5138 5026 5070 5100 5073 5027 5075 5028 5029 5056 5029 5030 5056 5031 5029 5028 5076 5031 5028 5030 5032 5056 5031 5030 5029 5008 5075 5027 5031 5033 5030 5076 5033 5031 5009 5075 5008 5033 5032 5030 5033 5034 5032 5076 5057 5033 5034 5035 5032 5035 5059 5032 5033 5036 5034 5036 5035 5034 5036 5033 5057 5036 5059 5035 5081 5113 4989 5009 5060 5110 5085 5061 4998 4989 5084 5010 5087 5037 5040 5088 5039 5038 5040 4975 5087 5013 5039 5088 5041 5089 4975 5015 5063 5121 5043 5015 5121 5044 5043 5162 5043 5090 5162 5045 5091 5017 5046 5018 5093 5020 5048 5128 5049 5129 5048 5129 5049 5065 5097 5001 5050 5097 5050 5128 5128 5050 5020 5002 5067 5066 5133 5024 5068 5069 5172 5025 5024 5171 5052 5026 5100 5101 5071 5181 5054 5138 5027 5106 5027 5073 5106 5028 5056 5072 5104 5028 5072 5055 5028 5104 6110 6109 5995 5108 5007 5054 5076 5028 5055 5075 5009 5110 5056 5032 5077 5057 5076 5080 5007 5079 5081 5077 5032 5058 5032 5059 5058 5036 5057 5080 5080 5083 5036 5083 5059 5036 5113 5151 4989 5060 5116 5110 5061 5116 4998 5061 5085 5215 5084 5117 5010 5010 5117 5062 5085 5037 5086 5062 5118 5156 5156 5038 5062 5155 5086 5037 5037 5087 5155 4975 5089 5087 5088 5014 5013 5120 5042 5014 5122 5159 5041 5089 5041 5159 5063 5042 5121 5122 5016 5064 5043 5121 5090 5126 5166 5017 5064 5017 5123 5044 5162 5124 5044 5124 6000 5044 6000 5045 5017 5091 5125 5017 5125 5092 5017 5092 5126 5066 5130 5095 5067 5130 5066 5097 5128 5169 5002 5096 5067 5002 5098 5096 5132 5068 5097 5099 5170 5025 5099 5025 5172 5135 5052 5171 5052 5135 5070 5053 5138 5134 5135 5100 5070 5996 5997 5998 5101 5102 5026 5026 5102 5103 5071 5026 5103 5071 5103 5181 5072 5056 5175 5202 5106 5073 5055 5104 5076 5074 5076 5104 5202 5073 5109 5073 5075 5109 5108 5145 5007 5256 5076 5074 5143 5075 5110 5256 5078 5076 5007 5145 5079 5078 5080 5076 5077 5082 5111 5145 5185 5079 5112 5111 5082 5083 5080 5078 5079 5185 5081 5058 5082 5077 5082 5058 5059 5187 5113 5081 5061 5215 5116 5085 5086 5215 5119 5038 5156 5155 5087 5190 5119 5088 5038 5087 5158 5190 5089 5158 5087 5014 5088 5120 5160 5042 5120 5042 5160 5121 5064 5123 5193 5064 5193 5122 5045 6000 5091 5091 5164 5125 5046 5093 5065 5018 5167 5093 5047 5094 5018 5130 5127 5994 5048 5129 5128 5096 5131 5067 5170 5131 5096 5098 5170 5096 5170 5098 5051 5198 5068 5132 5198 5133 5068 5133 5171 5024 5134 5069 5053 5100 5135 5136 5100 5136 5101 5103 5102 5179 5104 5072 5175 5103 5179 5181 5174 5056 5107 5175 5056 5174 5104 5137 5105 5137 5139 5105 5181 5141 5054 5140 5105 5139 5104 5105 5140 5108 5054 5141 5074 5140 5256 5074 5104 5140 5107 5056 5144 5256 5146 5078 5056 5077 5144 5077 5111 5144 5144 5111 5112 5083 5078 5146 5082 5147 5112 5114 5147 5082 5148 5147 5114 5082 5115 5114 5115 5082 5059 5114 5150 5148 5115 5150 5114 5084 4989 5151 5188 5116 5152 5116 5215 5152 5153 5062 5117 5062 5153 5118 5155 5215 5086 5118 5154 5156 5157 5088 5119 5017 5166 5161 5017 5161 5123 5092 5125 5165 5126 5092 5165 5126 5165 5166 5093 5167 5065 5129 5167 5128 5065 5167 5129 5067 5168 5130 5131 5168 5067 5168 5131 5170 5099 5172 5170 5134 5172 5069 5136 5173 5101 5134 5138 5202 5176 5101 5173 5101 5176 5102 5176 5179 5102 5175 5177 5104 5104 5177 5180 5178 5107 5233 5174 5107 5178 5180 5137 5104 5137 5180 5139 5138 5106 5202 5180 5256 5140 5139 5180 5140 5142 5233 5107 5141 5145 5108 5107 5144 5142 5109 5075 5182 5075 5143 5182 5143 5110 5182 5182 5110 5183 5183 5110 5205 5145 5184 5185 5144 5112 5149 5083 5146 5186 5147 5148 5149 5112 5147 5149 5150 5149 5148 5149 5150 5115 5116 5188 5110 5084 5151 5213 5115 5242 5149 5115 5059 5242 5084 5213 5117 5189 5117 5213 5189 5214 5117 5214 5153 5117 5216 5118 5153 5118 5216 5154 5217 5119 5156 5217 5157 5119 5157 5219 5088 5220 5158 5089 5088 5219 5120 5220 5089 5159 5120 5219 5191 5192 5120 5191 5160 5120 5192 5121 5160 5192 5090 5121 5192 5122 5193 5159 5161 5166 5221 5221 5123 5161 6000 5124 5162 5091 6000 5164 5163 5999 6001 5125 5164 5194 5165 5125 5223 5125 5194 5223 5166 5165 5223 5018 5195 5167 5094 5195 5018 5130 5250 5127 5128 5167 5169 5130 5168 5250 5097 5169 5196 5132 5097 5197 5197 5097 5196 5197 5198 5132 5199 5172 5134 5135 5171 5230 5136 5135 5230 5136 5230 5173 5174 5232 5175 5176 5173 5230 5177 5175 5232 5179 5176 5230 5177 5200 5180 5179 5201 5181 5180 5200 5256 5181 5201 5141 5203 5233 5142 5141 5201 5145 5109 5182 5202 5142 5144 5203 5201 5236 5145 5182 5183 5202 5145 5236 5184 5236 5204 5184 5256 5238 5146 5204 5185 5184 5239 5144 5149 5146 5238 5186 5185 5204 5081 5186 5238 5206 5081 5204 5187 5204 5207 5187 5208 5239 5149 5186 5206 5083 5187 5207 5113 5083 5206 5210 5207 5213 5151 5207 5151 5113 5149 5209 5208 5083 5210 5211 5188 5205 5110 5188 5268 5205 5149 5242 5209 5059 5083 5240 5083 5211 5240 5242 5059 5212 5152 5215 5188 5214 5216 5153 5248 5154 5216 5154 5248 5156 5248 5217 5156 5190 5218 5155 5217 5219 5157 5158 5220 5218 5158 5218 5190 5249 5220 5159 5192 5191 5219 5222 5249 5159 5193 5123 5222 5123 5221 5222 5222 5159 5193 5090 5192 5162 5166 5223 5221 5164 5162 5224 5250 5195 5094 5127 5250 5094 5250 5168 5170 5198 5252 5133 5133 5252 5171 5199 5225 5308 5199 5308 5172 5199 5226 5225 5226 5199 5227 5229 5227 5199 5199 5134 5229 5253 5231 5174 5174 5231 5232 5178 5253 5174 5177 5232 5200 5230 5265 5179 5178 5233 5263 5179 5265 5201 5203 5291 5233 5200 5234 5256 5265 5235 5201 5201 5235 5236 5203 5144 5237 5144 5239 5237 5238 5296 5206 5204 5241 5207 5206 5296 5210 5241 5213 5207 5210 5257 5211 5209 5269 5208 5242 5269 5209 5257 5240 5211 5268 5188 5215 5059 5243 5212 5243 5059 5240 5241 5189 5213 5189 5244 5214 5214 5244 5216 5244 5245 5216 5246 5216 5245 5246 5248 5216 5218 5215 5155 5223 5249 5222 5192 5219 5278 5222 5221 5223 5278 5162 5192 5194 5164 5224 5195 5279 5167 5250 5389 5195 5169 5251 5196 5197 5251 5252 5197 5196 5251 5197 5252 5198 5308 5170 5172 5171 5252 5281 5225 5226 5228 5225 5228 5308 5226 5227 5228 5281 5230 5171 5308 5228 5229 5228 5227 5229 5231 5253 5232 5282 5253 5178 5202 5229 5134 5282 5178 5263 5232 5261 5200 5444 5265 5230 5264 5234 5200 5234 5255 5256 5235 5265 5236 5203 5266 5291 5203 5237 5266 5266 5237 5239 5256 5267 5238 5236 5265 5204 5238 5267 5296 5268 5183 5205 5269 5239 5208 5257 5258 5240 5242 5272 5271 5242 5271 5269 5243 5240 5258 5241 5265 5244 5258 5303 5243 5241 5244 5189 5243 5242 5212 5244 5247 5245 5275 5247 5244 5245 5247 5246 5248 5246 5247 5248 5247 5275 5248 5275 5217 5215 5218 5259 5259 5218 5276 5220 5249 5277 5260 5278 5219 5224 5307 5194 5307 5223 5194 5389 5279 5195 5169 5167 5251 5251 5167 5279 5232 5253 5284 5285 5261 5232 5254 5308 5229 5229 5202 5254 5200 5261 5264 5316 5234 5264 5317 5233 5291 5290 5255 5234 5290 5256 5255 5202 5183 5254 5256 5290 5267 5254 5183 5268 5293 5266 5239 5204 5265 5241 5210 5296 5322 5323 5239 5269 5210 5322 5257 5257 5322 5258 5258 5304 5303 5244 5265 5275 5242 5273 5272 5243 5330 5242 5243 5274 5330 5303 5274 5243 5329 5215 5259 5306 5217 5275 5219 5306 5260 5219 5217 5306 5276 5218 5277 5218 5220 5277 5277 5223 5307 5249 5223 5277 5224 5162 5278 5252 5251 5280 5282 5283 5253 5253 5283 5310 5253 5310 5284 5232 5284 5285 5285 5286 5261 5261 5287 5262 5261 5286 5287 5287 5288 5262 5263 5289 5315 5315 5282 5263 5261 5262 5264 5262 5288 5264 5288 5316 5264 5263 5233 5289 5233 5317 5289 5444 5230 5368 5316 5290 5234 5266 5292 5291 5290 5294 5267 5292 5266 5293 5294 5295 5267 5267 5295 5296 5239 5323 5293 5268 5215 5329 5270 5297 5269 5297 5323 5269 5269 5271 5270 5304 5258 5324 5270 5298 5297 5271 5299 5298 5271 5298 5270 5271 5272 5299 5265 5378 5275 5272 5300 5299 5273 5301 5272 5272 5301 5300 5273 5302 5301 5242 5302 5273 5242 5330 5302 5274 5303 5330 5275 5378 5305 5305 5306 5275 5260 5306 5278 5308 5360 5250 5170 5308 5250 5251 5279 5280 5280 5281 5252 5309 5281 5280 5283 5282 5312 5282 5311 5312 5312 5310 5283 5341 5284 5310 5341 5313 5284 5284 5313 5285 5286 5285 5313 5281 6005 5230 5315 5311 5282 5286 5313 5314 5287 5286 5314 5314 5288 5287 5316 5288 5314 5254 5369 5308 5230 6005 5368 5291 5292 5318 5344 5294 5290 5344 5320 5294 5292 5293 5318 5318 5293 5319 5294 5320 5295 5320 5321 5295 5293 5323 5319 5295 5321 5296 5347 5268 5329 5258 5322 5324 5298 5323 5297 5323 5298 5299 5325 5323 5299 5324 5328 5304 5300 5326 5299 5299 5326 5325 5301 5326 5300 5326 5301 5348 5348 5301 5302 5330 5303 5327 5349 5330 5327 5304 5328 5303 5303 5328 5327 5378 5484 5305 5329 5259 5332 5484 5306 5305 5259 5276 5332 5276 5277 5332 5278 5306 5356 5307 5224 5388 5386 5307 5388 5333 5389 5250 5357 5279 5389 5333 5250 5360 5280 5279 5334 5336 5280 5334 5309 5337 5281 5309 5335 5337 5309 5280 5335 5336 5335 5280 5281 5337 5364 5281 5364 6005 5312 5311 5340 5311 5342 5340 5310 5312 5340 5342 5311 5315 5343 5342 5315 5316 6002 5313 5315 5289 5343 5289 5317 5343 5344 5290 5316 5344 5316 5428 5254 5268 5369 5345 5320 5344 5374 5265 5444 5323 5346 5319 5268 5347 5373 5328 5324 5350 5302 5330 5348 5328 5350 5327 5332 5351 5331 5331 5329 5332 5484 5382 5306 5383 5354 5332 5353 5332 5354 5351 5332 5353 5382 6009 5306 5277 5383 5332 6009 5356 5306 5383 5307 6078 5277 5307 5383 5307 5386 6078 5509 5278 5356 5509 5224 5278 5509 5388 5224 5333 5390 5389 5334 5279 5359 5359 5279 5357 5333 5358 5390 5333 5360 5358 5359 6216 5334 5361 6003 6204 5360 5308 5399 5334 6216 5336 5409 5399 5308 5335 5338 5337 5335 5336 5339 5338 5335 5339 5336 5363 5339 5336 6216 5363 5337 5338 5362 5339 5362 5338 5363 5362 5339 5362 5364 5337 5308 5369 5418 5365 5340 5342 5310 5340 5365 5310 5365 5366 5417 5310 5366 5310 5417 5367 5341 5310 5367 5313 5341 5423 5341 5367 5423 5342 5343 5365 5426 5316 5313 5426 5428 5316 5665 5343 5317 5318 5370 5291 5371 5369 5268 5318 5319 5370 5370 5319 5372 5371 5268 5373 5346 5372 5319 5321 5320 5345 5346 5323 5372 5374 5375 5265 5455 5296 5321 5347 5462 5373 5265 5375 5376 5377 5265 5376 5347 5329 5474 5265 5377 5378 5475 5323 5477 5329 5331 5474 5477 5323 5325 5324 5379 5350 5325 5326 5380 5326 5348 5380 5327 5350 5349 5331 5351 5381 5352 5381 5355 5383 5381 5352 5351 5355 5381 5351 5353 5355 5354 5383 5352 5355 5354 5352 5353 5354 5355 6079 5385 5384 6009 5387 5356 5509 5356 5387 5388 5512 5386 5357 5391 5359 5389 5397 5357 5357 5397 5391 5358 5393 5390 5358 6004 5393 5360 5394 5358 5398 5394 5360 6216 5359 5391 5399 5403 5360 5360 5403 5398 5409 5308 5410 6052 5363 6216 5308 5415 5410 5418 5415 5308 6053 5362 5363 6053 5364 5362 6205 5364 6053 5364 6205 5419 5366 5365 6019 5366 6019 5540 5366 5540 5417 5423 5367 5542 5365 5343 5421 5423 5426 5313 5433 5418 5369 5364 5425 6005 5364 5419 5425 5343 5544 5421 5343 5665 5544 6005 5430 5368 5430 5434 5368 5433 5369 5435 5434 5436 5368 5317 5669 5665 5435 5369 6274 5368 5436 5439 5317 5568 5669 5317 5291 5568 6274 5369 6006 5368 5439 5441 5370 5568 5291 5673 5344 5428 5368 5441 5444 5370 5449 5568 6006 5369 6007 5369 5371 6007 5370 5372 5449 5574 5345 5344 5371 5447 6007 5447 5371 5373 5451 5447 5373 5444 5452 5374 5345 5574 5321 5574 5455 5321 5451 5373 5462 5374 5452 5453 5457 5374 5453 6008 5375 5457 5375 5374 5457 5372 5323 6026 6008 5463 5375 5463 5376 5375 5581 5296 5455 5463 5466 5376 5322 5296 5581 5462 5347 5465 5376 5466 5377 5466 5470 5377 5347 5474 5465 5471 5377 5470 5324 5322 6029 5471 5479 5378 5471 5378 5377 5324 5603 5379 5331 5483 5478 5474 5331 5478 5378 5479 5484 5325 5380 5477 5379 5603 5350 5380 5348 5605 5330 5605 5348 5330 5706 5605 5330 6033 5706 5349 6033 5330 5349 5350 6033 5331 5381 5483 5381 5485 5483 5494 5485 5383 5485 5381 5383 6009 5382 5491 5494 5383 6078 5494 6078 5493 6078 5504 5493 5386 5504 6078 5387 6009 6103 5386 5508 5503 5386 5503 5504 5387 6103 5509 5512 5508 5386 5388 5509 5510 5388 5510 5511 5388 5511 5512 5397 5389 5392 5389 5390 5392 5390 5393 5392 6216 5391 5396 5397 5406 6349 5513 5400 5392 5400 5397 5392 5392 5401 5518 5402 5401 5392 5393 5402 5392 6004 5519 5393 5519 5402 5393 6066 5519 6004 6217 5395 6349 6217 6349 5404 5404 6349 5405 5406 5405 6349 5522 5406 5397 5513 5397 5400 5402 5518 5401 5519 5518 5402 6066 5407 5519 5408 5407 6066 5399 5409 5403 5405 5521 5404 5520 5407 5408 5520 5408 5413 5408 5403 5413 5414 5413 5403 5409 5410 5403 5403 5410 5414 5411 5420 6217 5404 5412 6217 5412 5411 6217 5527 5412 5521 5412 5404 5521 5410 5415 5414 5527 5411 5412 5538 5413 5414 5415 5418 5414 5416 6217 5419 5420 5419 6217 5417 5540 6015 5367 5417 6015 5545 5414 5418 5420 5422 5419 5422 5420 5543 5365 5421 6019 6019 5421 5544 5418 5433 5424 5419 5431 5425 5546 5431 5419 5546 5419 5422 5423 5542 5426 5424 5432 5418 5424 5433 5432 5427 5425 5431 5429 5426 5547 5426 5429 5428 5430 5427 5431 5429 5547 5548 5548 5428 5429 5548 5555 5428 5430 5436 5434 5431 5437 5430 5437 5436 5430 5553 5437 5431 5433 5435 5432 5557 5438 5561 5557 5432 5438 5435 5438 5432 5437 5440 5436 5440 5439 5436 5446 5561 5438 5565 5561 5446 5441 5439 5448 5440 5442 5439 5442 5448 5439 5673 5428 5555 5448 5444 5441 5442 5445 5448 5569 5565 5446 5438 5450 5446 5443 6007 5450 5443 5450 5438 5574 5344 5673 5569 5446 5450 6007 5447 5450 5448 5453 5452 5444 5448 5452 5454 5453 5448 5447 5456 5450 5451 5462 5456 5447 5451 5456 5457 5453 5454 5578 5458 5454 5449 5372 6198 5457 5454 5467 5458 5467 5454 5583 5458 5578 6198 5372 6026 5581 5455 5574 5456 5461 5459 5463 5460 5457 5463 5457 5467 5456 5465 5461 5465 5464 5461 5462 5465 5456 5463 5467 5466 5586 5458 5583 5467 5458 5586 6025 5322 5581 5465 5469 5464 5469 5468 5464 5466 5467 5470 5472 5470 5467 5591 5467 5586 5591 5472 5467 5471 5470 5472 5475 6026 5323 5468 5473 5594 5469 5474 5468 5474 5473 5468 5469 5465 5474 5596 5475 5476 5596 6026 5475 5596 5476 5600 5474 5478 5473 5479 5471 5472 5475 5477 5476 5476 5477 5600 5324 6029 5602 5472 5480 5479 5484 5480 5472 5602 5603 5324 5601 5483 5481 5473 5483 5601 5473 5478 5483 5479 5480 5484 5477 5380 5605 6033 5350 5606 5606 5350 5603 5607 5481 5482 5483 5482 5481 5604 5487 5484 5483 5485 5482 5487 5486 5484 5382 5484 5486 5610 5488 5487 5614 5490 5489 5485 5494 5482 5491 5382 5486 5491 5486 5487 5622 5492 5488 5492 5487 5488 5614 5489 5628 5489 5499 5628 5490 5493 5489 5493 5499 5489 5482 5494 5490 5494 5493 5490 5492 5491 5487 5622 5495 5492 5622 5496 5495 5499 5498 5628 5500 5491 5505 5505 5491 5492 5495 5505 5492 5496 5505 5495 5629 5630 5501 5631 5507 5502 5627 5497 5507 5498 5503 5497 5504 5503 5498 5493 5504 5499 5499 5504 5498 5629 5509 5496 5509 5505 5496 5501 5509 5629 5510 5509 5501 5510 5501 5630 5631 5502 5506 5502 5507 5506 5497 5508 5507 5503 5508 5497 5506 5511 5510 5507 5512 5506 5512 5511 5506 5508 5512 5507 5392 5514 5513 5514 5392 5515 5392 5518 5515 5397 5516 5522 5516 5397 5517 5397 5513 5517 5513 5514 5517 5515 5523 5514 5523 5517 5514 5518 5523 5515 5405 5406 5521 5521 5406 5522 5517 5522 5516 5530 5522 5517 5523 5530 5517 5519 5533 5518 5407 5524 5519 5519 5524 5533 5524 5407 5525 5407 5520 5526 5525 5407 5526 5522 5528 5521 5529 5528 5522 5530 5529 5522 5636 5530 5523 5637 5636 5523 5637 5523 5531 5641 5518 5638 5641 5531 5518 5531 5523 5518 5533 5532 5518 5532 5638 5518 5524 5538 5533 5525 5538 5524 5526 5538 5525 5520 5538 5526 5520 5413 5538 5411 5527 5534 5527 5521 5534 5528 5535 5521 5536 5535 5528 5647 5532 5533 5647 5533 5537 5533 5538 5537 5420 5411 5534 5420 5534 5539 5539 5534 5543 5521 5535 5534 5535 5543 5534 5538 5414 5541 5543 5420 5539 5535 5551 5543 5537 5538 6194 5541 5549 5538 5414 5545 5541 5540 6019 6014 6015 5540 6014 5542 5367 6015 5542 6015 6016 6020 5542 6016 5422 5543 5546 5546 5543 5551 6019 5544 6018 5426 5542 6020 5545 5549 5541 5418 5550 5545 5545 5550 5549 5418 5432 5550 5544 5665 6018 5426 6020 6021 6021 5547 5426 5548 5547 6021 6021 5555 5548 5550 5552 5549 5431 5546 5553 5554 5553 5546 5551 5554 5546 5550 5556 5552 5557 5556 5550 5550 5432 5557 5553 5558 5437 5554 5559 5553 6021 5670 5555 5556 5560 5671 5557 5560 5556 5557 5561 5562 5437 5558 5440 5559 5563 5553 5564 5671 5560 5557 5564 5560 5562 5570 5557 5561 5565 5570 5562 5561 5570 5558 5567 5442 5440 5558 5442 5553 5573 5558 5573 5567 5558 5563 5566 5553 5566 5573 5553 5555 5670 5673 5570 5564 5557 5442 5567 5445 5565 5569 5570 5445 5571 5448 5445 5567 5571 5566 5674 5573 5568 5449 5683 5683 5669 5568 5673 5676 5574 5564 5575 5677 5570 5575 5564 5569 5572 5570 5569 5450 5572 5448 5571 5454 5567 5573 5571 5678 5573 5674 5677 5575 5680 5572 5577 5570 5577 5575 5570 5572 5450 5577 5571 5576 5454 5573 5579 5571 5579 5576 5571 5682 5573 5678 5680 5575 5582 5577 5580 5575 5450 5456 5577 5454 5576 5578 5578 5576 5579 5573 5584 5579 5682 5584 5573 5449 6198 5683 5685 5574 5676 5459 5580 5577 5456 5459 5577 5578 5579 5583 5581 5574 5685 5459 5461 5580 5584 5591 5579 5581 5685 6025 5575 5594 5582 5594 5585 5582 5580 5590 5575 5590 5594 5575 5461 5464 5590 5580 5461 5590 5579 5587 5586 5583 5579 5586 5591 5587 5579 5584 5588 5591 5588 5584 5690 5594 5589 5585 5464 5468 5590 5586 5587 5591 5588 5592 5591 5592 5588 5690 6025 6027 5322 5594 5593 5589 5468 5594 5590 5591 5598 5472 5592 5598 5591 5595 5598 5592 5322 6027 6029 5601 5597 5593 5594 5601 5593 5594 5473 5601 5595 5599 5598 5596 5697 6026 5697 5596 5600 5702 5697 5477 5697 5600 5477 5472 5598 5484 5484 5598 5604 5604 5598 5599 5608 5604 5599 5477 5605 5702 5702 5605 5704 5708 5606 6031 6029 6031 5606 5602 6029 5606 5602 5606 5603 5481 5607 5601 5601 5607 5597 5605 5705 5704 5706 5705 5605 5708 6033 5606 5487 5604 5608 5610 5608 5599 5611 5610 6195 5607 5613 5597 5607 5482 5609 5610 5487 5608 5607 5615 5613 5615 5628 5613 5482 5490 5615 5482 5615 5609 5609 5615 5607 5715 5616 5611 5616 5610 5611 5715 5617 5616 5613 5621 5612 5628 5621 5613 5614 5628 5615 5490 5614 5615 5488 5610 5622 5622 5610 5623 5624 5623 5610 5625 5624 5610 5616 5625 5610 5722 5630 5617 5630 5616 5617 5721 5630 5722 5721 5618 5630 5618 5626 5630 5723 5626 5618 5723 5725 5626 5725 5619 5626 5620 5627 5619 5621 5627 5620 5628 5627 5621 5496 5622 5623 5624 5496 5623 5625 5496 5624 5496 5625 5629 5629 5625 5616 5630 5629 5616 5619 5632 5626 5627 5632 5619 5633 5632 5627 5628 5497 5627 5498 5497 5628 5626 5634 5630 5632 5635 5626 5635 5634 5626 5631 5635 5632 5507 5631 5632 5633 5507 5632 5627 5507 5633 5630 5634 5510 5506 5510 5634 5635 5506 5634 5631 5506 5635 5530 5636 5639 5636 5637 5640 5639 5636 5640 5637 5531 5640 5528 5642 5536 5528 5529 5643 5642 5528 5643 5529 5530 5643 5639 5644 5530 5644 5643 5530 5640 5644 5639 5531 5645 5640 5640 5645 5644 5531 5641 5645 5638 5646 5641 5641 5646 5645 5638 5532 5646 5646 5532 5647 5535 5536 5649 5648 5535 5649 5536 5642 5649 5643 5649 5642 6012 6010 6011 5647 5537 5650 5647 5650 5646 5650 5537 5651 5535 5652 5551 5535 5648 5652 5649 5652 5648 5653 6305 5643 5644 5653 5643 5654 5653 5644 5645 5654 5644 5655 5654 5645 6045 5655 5645 5651 5656 5650 6017 6046 6013 5537 6194 5651 5551 5652 5657 5659 5658 6305 5653 5659 6305 5660 5655 6045 6194 5661 6045 5661 5660 6045 5551 5657 5662 5663 5660 5661 6194 5538 5661 5538 5549 5661 5551 5662 5664 5657 6022 5662 5658 6022 6305 6305 6022 5657 5549 5666 5661 5549 5552 5666 5664 5667 5554 5551 5664 5554 5662 5667 5664 6022 5667 5662 5661 5666 5663 5552 5556 5666 5554 5668 5559 5554 5667 5668 6022 6023 5667 5666 5670 5663 5556 5671 5666 5668 5672 5563 5559 5668 5563 5667 6023 5668 6023 5672 5668 5563 5672 5566 6023 6197 5672 5671 5686 5666 5564 5677 5671 5670 5666 5673 5686 5673 5666 5671 5677 5686 5674 5566 5675 5675 5566 5672 6197 5675 5672 5673 5686 5676 5674 5679 5678 5674 5675 5679 5679 5675 5682 6197 5682 5675 5677 5680 5681 5678 5679 5682 5677 5582 5686 5681 5582 5677 5680 5582 5681 5686 6024 5676 5582 5687 5686 6197 5688 5682 5684 5693 6197 5684 5691 5693 5686 5689 6024 5682 5688 5584 5693 5688 6197 5687 5689 5686 5582 5585 5687 5584 5688 5690 5693 5690 5688 5687 5692 5689 5692 5695 5689 5585 5589 5692 5687 5585 5692 5592 5690 5693 5695 5694 5689 5593 5695 5692 5589 5593 5692 5693 5696 5595 5592 5693 5595 5701 5696 5693 5695 5700 5694 5698 5700 5695 5593 5597 5698 5695 5593 5698 5595 5696 5599 5599 5696 5701 5691 5701 5693 5691 6028 5701 5699 5694 5709 5700 5709 5694 5597 5700 5698 5599 5701 5610 6028 6030 5701 5610 5701 6195 5703 5699 5709 5700 5597 5709 6195 5701 6030 6047 6195 6030 6032 6047 6030 5707 6034 5709 5703 5709 6034 5597 6306 5709 5611 6195 5711 6037 5712 6035 6036 5711 5710 6039 6047 6032 5705 6039 6032 5706 6039 5705 5718 6039 5706 5707 5718 5706 5719 5718 5707 5709 5719 5707 5714 5713 6306 5613 5714 6306 5597 5613 6306 6036 5611 5711 5715 5611 6036 5715 6036 5716 5717 6038 6048 5713 5720 5719 5612 5720 5713 5613 5612 5713 5714 5613 5713 5716 5617 5715 5722 5617 5716 5722 5716 5721 5721 5716 6039 5618 5721 6039 5618 6039 5724 5724 6039 5718 5726 5724 5718 5719 5619 5718 5619 5726 5718 5620 5619 5719 5621 5620 5719 5720 5621 5719 5612 5621 5720 5618 5724 5723 5725 5723 5724 5726 5725 5724 5619 5725 5726 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120 123 126 129 132 135 138 141 144 147 150 153 156 159 162 165 168 171 174 177 180 183 186 189 192 195 198 201 204 207 210 213 216 219 222 225 228 231 234 237 240 243 246 249 252 255 258 261 264 267 270 273 276 279 282 285 288 291 294 297 300 303 306 309 312 315 318 321 324 327 330 333 336 339 342 345 348 351 354 357 360 363 366 369 372 375 378 381 384 387 390 393 396 399 402 405 408 411 414 417 420 423 426 429 432 435 438 441 444 447 450 453 456 459 462 465 468 471 474 477 480 483 486 489 492 495 498 501 504 507 510 513 516 519 522 525 528 531 534 537 540 543 546 549 552 555 558 561 564 567 570 573 576 579 582 585 588 591 594 597 600 603 606 609 612 615 618 621 624 627 630 633 636 639 642 645 648 651 654 657 660 663 666 669 672 675 678 681 684 687 690 693 696 699 702 705 708 711 714 717 720 723 726 729 732 735 738 741 744 747 750 753 756 759 762 765 768 771 774 777 780 783 786 789 792 795 798 801 804 807 810 813 816 819 822 825 828 831 834 837 840 843 846 849 852 855 858 861 864 867 870 873 876 879 882 885 888 891 894 897 900 903 906 909 912 915 918 921 924 927 930 933 936 939 942 945 948 951 954 957 960 963 966 969 972 975 978 981 984 987 990 993 996 999 1002 1005 1008 1011 1014 1017 1020 1023 1026 1029 1032 1035 1038 1041 1044 1047 1050 1053 1056 1059 1062 1065 1068 1071 1074 1077 1080 1083 1086 1089 1092 1095 1098 1101 1104 1107 1110 1113 1116 1119 1122 1125 1128 1131 1134 1137 1140 1143 1146 1149 1152 1155 1158 1161 1164 1167 1170 1173 1176 1179 1182 1185 1188 1191 1194 1197 1200 1203 1206 1209 1212 1215 1218 1221 1224 1227 1230 1233 1236 1239 1242 1245 1248 1251 1254 1257 1260 1263 1266 1269 1272 1275 1278 1281 1284 1287 1290 1293 1296 1299 1302 1305 1308 1311 1314 1317 1320 1323 1326 1329 1332 1335 1338 1341 1344 1347 1350 1353 1356 1359 1362 1365 1368 1371 1374 1377 1380 1383 1386 1389 1392 1395 1398 1401 1404 1407 1410 1413 1416 1419 1422 1425 1428 1431 1434 1437 1440 1443 1446 1449 1452 1455 1458 1461 1464 1467 1470 1473 1476 1479 1482 1485 1488 1491 1494 1497 1500 1503 1506 1509 1512 1515 1518 1521 1524 1527 1530 1533 1536 1539 1542 1545 1548 1551 1554 1557 1560 1563 1566 1569 1572 1575 1578 1581 1584 1587 1590 1593 1596 1599 1602 1605 1608 1611 1614 1617 1620 1623 1626 1629 1632 1635 1638 1641 1644 1647 1650 1653 1656 1659 1662 1665 1668 1671 1674 1677 1680 1683 1686 1689 1692 1695 1698 1701 1704 1707 1710 1713 1716 1719 1722 1725 1728 1731 1734 1737 1740 1743 1746 1749 1752 1755 1758 1761 1764 1767 1770 1773 1776 1779 1782 1785 1788 1791 1794 1797 1800 1803 1806 1809 1812 1815 1818 1821 1824 1827 1830 1833 1836 1839 1842 1845 1848 1851 1854 1857 1860 1863 1866 1869 1872 1875 1878 1881 1884 1887 1890 1893 1896 1899 1902 1905 1908 1911 1914 1917 1920 1923 1926 1929 1932 1935 1938 1941 1944 1947 1950 1953 1956 1959 1962 1965 1968 1971 1974 1977 1980 1983 1986 1989 1992 1995 1998 2001 2004 2007 2010 2013 2016 2019 2022 2025 2028 2031 2034 2037 2040 2043 2046 2049 2052 2055 2058 2061 2064 2067 2070 2073 2076 2079 2082 2085 2088 2091 2094 2097 2100 2103 2106 2109 2112 2115 2118 2121 2124 2127 2130 2133 2136 2139 2142 2145 2148 2151 2154 2157 2160 2163 2166 2169 2172 2175 2178 2181 2184 2187 2190 2193 2196 2199 2202 2205 2208 2211 2214 2217 2220 2223 2226 2229 2232 2235 2238 2241 2244 2247 2250 2253 2256 2259 2262 2265 2268 2271 2274 2277 2280 2283 2286 2289 2292 2295 2298 2301 2304 2307 2310 2313 2316 2319 2322 2325 2328 2331 2334 2337 2340 2343 2346 2349 2352 2355 2358 2361 2364 2367 2370 2373 2376 2379 2382 2385 2388 2391 2394 2397 2400 2403 2406 2409 2412 2415 2418 2421 2424 2427 2430 2433 2436 2439 2442 2445 2448 2451 2454 2457 2460 2463 2466 2469 2472 2475 2478 2481 2484 2487 2490 2493 2496 2499 2502 2505 2508 2511 2514 2517 2520 2523 2526 2529 2532 2535 2538 2541 2544 2547 2550 2553 2556 2559 2562 2565 2568 2571 2574 2577 2580 2583 2586 2589 2592 2595 2598 2601 2604 2607 2610 2613 2616 2619 2622 2625 2628 2631 2634 2637 2640 2643 2646 2649 2652 2655 2658 2661 2664 2667 2670 2673 2676 2679 2682 2685 2688 2691 2694 2697 2700 2703 2706 2709 2712 2715 2718 2721 2724 2727 2730 2733 2736 2739 2742 2745 2748 2751 2754 2757 2760 2763 2766 2769 2772 2775 2778 2781 2784 2787 2790 2793 2796 2799 2802 2805 2808 2811 2814 2817 2820 2823 2826 2829 2832 2835 2838 2841 2844 2847 2850 2853 2856 2859 2862 2865 2868 2871 2874 2877 2880 2883 2886 2889 2892 2895 2898 2901 2904 2907 2910 2913 2916 2919 2922 2925 2928 2931 2934 2937 2940 2943 2946 2949 2952 2955 2958 2961 2964 2967 2970 2973 2976 2979 2982 2985 2988 2991 2994 2997 3000 3003 3006 3009 3012 3015 3018 3021 3024 3027 3030 3033 3036 3039 3042 3045 3048 3051 3054 3057 3060 3063 3066 3069 3072 3075 3078 3081 3084 3087 3090 3093 3096 3099 3102 3105 3108 3111 3114 3117 3120 3123 3126 3129 3132 3135 3138 3141 3144 3147 3150 3153 3156 3159 3162 3165 3168 3171 3174 3177 3180 3183 3186 3189 3192 3195 3198 3201 3204 3207 3210 3213 3216 3219 3222 3225 3228 3231 3234 3237 3240 3243 3246 3249 3252 3255 3258 3261 3264 3267 3270 3273 3276 3279 3282 3285 3288 3291 3294 3297 3300 3303 3306 3309 3312 3315 3318 3321 3324 3327 3330 3333 3336 3339 3342 3345 3348 3351 3354 3357 3360 3363 3366 3369 3372 3375 3378 3381 3384 3387 3390 3393 3396 3399 3402 3405 3408 3411 3414 3417 3420 3423 3426 3429 3432 3435 3438 3441 3444 3447 3450 3453 3456 3459 3462 3465 3468 3471 3474 3477 3480 3483 3486 3489 3492 3495 3498 3501 3504 3507 3510 3513 3516 3519 3522 3525 3528 3531 3534 3537 3540 3543 3546 3549 3552 3555 3558 3561 3564 3567 3570 3573 3576 3579 3582 3585 3588 3591 3594 3597 3600 3603 3606 3609 3612 3615 3618 3621 3624 3627 3630 3633 3636 3639 3642 3645 3648 3651 3654 3657 3660 3663 3666 3669 3672 3675 3678 3681 3684 3687 3690 3693 3696 3699 3702 3705 3708 3711 3714 3717 3720 3723 3726 3729 3732 3735 3738 3741 3744 3747 3750 3753 3756 3759 3762 3765 3768 3771 3774 3777 3780 3783 3786 3789 3792 3795 3798 3801 3804 3807 3810 3813 3816 3819 3822 3825 3828 3831 3834 3837 3840 3843 3846 3849 3852 3855 3858 3861 3864 3867 3870 3873 3876 3879 3882 3885 3888 3891 3894 3897 3900 3903 3906 3909 3912 3915 3918 3921 3924 3927 3930 3933 3936 3939 3942 3945 3948 3951 3954 3957 3960 3963 3966 3969 3972 3975 3978 3981 3984 3987 3990 3993 3996 3999 4002 4005 4008 4011 4014 4017 4020 4023 4026 4029 4032 4035 4038 4041 4044 4047 4050 4053 4056 4059 4062 4065 4068 4071 4074 4077 4080 4083 4086 4089 4092 4095 4098 4101 4104 4107 4110 4113 4116 4119 4122 4125 4128 4131 4134 4137 4140 4143 4146 4149 4152 4155 4158 4161 4164 4167 4170 4173 4176 4179 4182 4185 4188 4191 4194 4197 4200 4203 4206 4209 4212 4215 4218 4221 4224 4227 4230 4233 4236 4239 4242 4245 4248 4251 4254 4257 4260 4263 4266 4269 4272 4275 4278 4281 4284 4287 4290 4293 4296 4299 4302 4305 4308 4311 4314 4317 4320 4323 4326 4329 4332 4335 4338 4341 4344 4347 4350 4353 4356 4359 4362 4365 4368 4371 4374 4377 4380 4383 4386 4389 4392 4395 4398 4401 4404 4407 4410 4413 4416 4419 4422 4425 4428 4431 4434 4437 4440 4443 4446 4449 4452 4455 4458 4461 4464 4467 4470 4473 4476 4479 4482 4485 4488 4491 4494 4497 4500 4503 4506 4509 4512 4515 4518 4521 4524 4527 4530 4533 4536 4539 4542 4545 4548 4551 4554 4557 4560 4563 4566 4569 4572 4575 4578 4581 4584 4587 4590 4593 4596 4599 4602 4605 4608 4611 4614 4617 4620 4623 4626 4629 4632 4635 4638 4641 4644 4647 4650 4653 4656 4659 4662 4665 4668 4671 4674 4677 4680 4683 4686 4689 4692 4695 4698 4701 4704 4707 4710 4713 4716 4719 4722 4725 4728 4731 4734 4737 4740 4743 4746 4749 4752 4755 4758 4761 4764 4767 4770 4773 4776 4779 4782 4785 4788 4791 4794 4797 4800 4803 4806 4809 4812 4815 4818 4821 4824 4827 4830 4833 4836 4839 4842 4845 4848 4851 4854 4857 4860 4863 4866 4869 4872 4875 4878 4881 4884 4887 4890 4893 4896 4899 4902 4905 4908 4911 4914 4917 4920 4923 4926 4929 4932 4935 4938 4941 4944 4947 4950 4953 4956 4959 4962 4965 4968 4971 4974 4977 4980 4983 4986 4989 4992 4995 4998 5001 5004 5007 5010 5013 5016 5019 5022 5025 5028 5031 5034 5037 5040 5043 5046 5049 5052 5055 5058 5061 5064 5067 5070 5073 5076 5079 5082 5085 5088 5091 5094 5097 5100 5103 5106 5109 5112 5115 5118 5121 5124 5127 5130 5133 5136 5139 5142 5145 5148 5151 5154 5157 5160 5163 5166 5169 5172 5175 5178 5181 5184 5187 5190 5193 5196 5199 5202 5205 5208 5211 5214 5217 5220 5223 5226 5229 5232 5235 5238 5241 5244 5247 5250 5253 5256 5259 5262 5265 5268 5271 5274 5277 5280 5283 5286 5289 5292 5295 5298 5301 5304 5307 5310 5313 5316 5319 5322 5325 5328 5331 5334 5337 5340 5343 5346 5349 5352 5355 5358 5361 5364 5367 5370 5373 5376 5379 5382 5385 5388 5391 5394 5397 5400 5403 5406 5409 5412 5415 5418 5421 5424 5427 5430 5433 5436 5439 5442 5445 5448 5451 5454 5457 5460 5463 5466 5469 5472 5475 5478 5481 5484 5487 5490 5493 5496 5499 5502 5505 5508 5511 5514 5517 5520 5523 5526 5529 5532 5535 5538 5541 5544 5547 5550 5553 5556 5559 5562 5565 5568 5571 5574 5577 5580 5583 5586 5589 5592 5595 5598 5601 5604 5607 5610 5613 5616 5619 5622 5625 5628 5631 5634 5637 5640 5643 5646 5649 5652 5655 5658 5661 5664 5667 5670 5673 5676 5679 5682 5685 5688 5691 5694 5697 5700 5703 5706 5709 5712 5715 5718 5721 5724 5727 5730 5733 5736 5739 5742 5745 5748 5751 5754 5757 5760 5763 5766 5769 5772 5775 5778 5781 5784 5787 5790 5793 5796 5799 5802 5805 5808 5811 5814 5817 5820 5823 5826 5829 5832 5835 5838 5841 5844 5847 5850 5853 5856 5859 5862 5865 5868 5871 5874 5877 5880 5883 5886 5889 5892 5895 5898 5901 5904 5907 5910 5913 5916 5919 5922 5925 5928 5931 5934 5937 5940 5943 5946 5949 5952 5955 5958 5961 5964 5967 5970 5973 5976 5979 5982 5985 5988 5991 5994 5997 6000 6003 6006 6009 6012 6015 6018 6021 6024 6027 6030 6033 6036 6039 6042 6045 6048 6051 6054 6057 6060 6063 6066 6069 6072 6075 6078 6081 6084 6087 6090 6093 6096 6099 6102 6105 6108 6111 6114 6117 6120 6123 6126 6129 6132 6135 6138 6141 6144 6147 6150 6153 6156 6159 6162 6165 6168 6171 6174 6177 6180 6183 6186 6189 6192 6195 6198 6201 6204 6207 6210 6213 6216 6219 6222 6225 6228 6231 6234 6237 6240 6243 6246 6249 6252 6255 6258 6261 6264 6267 6270 6273 6276 6279 6282 6285 6288 6291 6294 6297 6300 6303 6306 6309 6312 6315 6318 6321 6324 6327 6330 6333 6336 6339 6342 6345 6348 6351 6354 6357 6360 6363 6366 6369 6372 6375 6378 6381 6384 6387 6390 6393 6396 6399 6402 6405 6408 6411 6414 6417 6420 6423 6426 6429 6432 6435 6438 6441 6444 6447 6450 6453 6456 6459 6462 6465 6468 6471 6474 6477 6480 6483 6486 6489 6492 6495 6498 6501 6504 6507 6510 6513 6516 6519 6522 6525 6528 6531 6534 6537 6540 6543 6546 6549 6552 6555 6558 6561 6564 6567 6570 6573 6576 6579 6582 6585 6588 6591 6594 6597 6600 6603 6606 6609 6612 6615 6618 6621 6624 6627 6630 6633 6636 6639 6642 6645 6648 6651 6654 6657 6660 6663 6666 6669 6672 6675 6678 6681 6684 6687 6690 6693 6696 6699 6702 6705 6708 6711 6714 6717 6720 6723 6726 6729 6732 6735 6738 6741 6744 6747 6750 6753 6756 6759 6762 6765 6768 6771 6774 6777 6780 6783 6786 6789 6792 6795 6798 6801 6804 6807 6810 6813 6816 6819 6822 6825 6828 6831 6834 6837 6840 6843 6846 6849 6852 6855 6858 6861 6864 6867 6870 6873 6876 6879 6882 6885 6888 6891 6894 6897 6900 6903 6906 6909 6912 6915 6918 6921 6924 6927 6930 6933 6936 6939 6942 6945 6948 6951 6954 6957 6960 6963 6966 6969 6972 6975 6978 6981 6984 6987 6990 6993 6996 6999 7002 7005 7008 7011 7014 7017 7020 7023 7026 7029 7032 7035 7038 7041 7044 7047 7050 7053 7056 7059 7062 7065 7068 7071 7074 7077 7080 7083 7086 7089 7092 7095 7098 7101 7104 7107 7110 7113 7116 7119 7122 7125 7128 7131 7134 7137 7140 7143 7146 7149 7152 7155 7158 7161 7164 7167 7170 7173 7176 7179 7182 7185 7188 7191 7194 7197 7200 7203 7206 7209 7212 7215 7218 7221 7224 7227 7230 7233 7236 7239 7242 7245 7248 7251 7254 7257 7260 7263 7266 7269 7272 7275 7278 7281 7284 7287 7290 7293 7296 7299 7302 7305 7308 7311 7314 7317 7320 7323 7326 7329 7332 7335 7338 7341 7344 7347 7350 7353 7356 7359 7362 7365 7368 7371 7374 7377 7380 7383 7386 7389 7392 7395 7398 7401 7404 7407 7410 7413 7416 7419 7422 7425 7428 7431 7434 7437 7440 7443 7446 7449 7452 7455 7458 7461 7464 7467 7470 7473 7476 7479 7482 7485 7488 7491 7494 7497 7500 7503 7506 7509 7512 7515 7518 7521 7524 7527 7530 7533 7536 7539 7542 7545 7548 7551 7554 7557 7560 7563 7566 7569 7572 7575 7578 7581 7584 7587 7590 7593 7596 7599 7602 7605 7608 7611 7614 7617 7620 7623 7626 7629 7632 7635 7638 7641 7644 7647 7650 7653 7656 7659 7662 7665 7668 7671 7674 7677 7680 7683 7686 7689 7692 7695 7698 7701 7704 7707 7710 7713 7716 7719 7722 7725 7728 7731 7734 7737 7740 7743 7746 7749 7752 7755 7758 7761 7764 7767 7770 7773 7776 7779 7782 7785 7788 7791 7794 7797 7800 7803 7806 7809 7812 7815 7818 7821 7824 7827 7830 7833 7836 7839 7842 7845 7848 7851 7854 7857 7860 7863 7866 7869 7872 7875 7878 7881 7884 7887 7890 7893 7896 7899 7902 7905 7908 7911 7914 7917 7920 7923 7926 7929 7932 7935 7938 7941 7944 7947 7950 7953 7956 7959 7962 7965 7968 7971 7974 7977 7980 7983 7986 7989 7992 7995 7998 8001 8004 8007 8010 8013 8016 8019 8022 8025 8028 8031 8034 8037 8040 8043 8046 8049 8052 8055 8058 8061 8064 8067 8070 8073 8076 8079 8082 8085 8088 8091 8094 8097 8100 8103 8106 8109 8112 8115 8118 8121 8124 8127 8130 8133 8136 8139 8142 8145 8148 8151 8154 8157 8160 8163 8166 8169 8172 8175 8178 8181 8184 8187 8190 8193 8196 8199 8202 8205 8208 8211 8214 8217 8220 8223 8226 8229 8232 8235 8238 8241 8244 8247 8250 8253 8256 8259 8262 8265 8268 8271 8274 8277 8280 8283 8286 8289 8292 8295 8298 8301 8304 8307 8310 8313 8316 8319 8322 8325 8328 8331 8334 8337 8340 8343 8346 8349 8352 8355 8358 8361 8364 8367 8370 8373 8376 8379 8382 8385 8388 8391 8394 8397 8400 8403 8406 8409 8412 8415 8418 8421 8424 8427 8430 8433 8436 8439 8442 8445 8448 8451 8454 8457 8460 8463 8466 8469 8472 8475 8478 8481 8484 8487 8490 8493 8496 8499 8502 8505 8508 8511 8514 8517 8520 8523 8526 8529 8532 8535 8538 8541 8544 8547 8550 8553 8556 8559 8562 8565 8568 8571 8574 8577 8580 8583 8586 8589 8592 8595 8598 8601 8604 8607 8610 8613 8616 8619 8622 8625 8628 8631 8634 8637 8640 8643 8646 8649 8652 8655 8658 8661 8664 8667 8670 8673 8676 8679 8682 8685 8688 8691 8694 8697 8700 8703 8706 8709 8712 8715 8718 8721 8724 8727 8730 8733 8736 8739 8742 8745 8748 8751 8754 8757 8760 8763 8766 8769 8772 8775 8778 8781 8784 8787 8790 8793 8796 8799 8802 8805 8808 8811 8814 8817 8820 8823 8826 8829 8832 8835 8838 8841 8844 8847 8850 8853 8856 8859 8862 8865 8868 8871 8874 8877 8880 8883 8886 8889 8892 8895 8898 8901 8904 8907 8910 8913 8916 8919 8922 8925 8928 8931 8934 8937 8940 8943 8946 8949 8952 8955 8958 8961 8964 8967 8970 8973 8976 8979 8982 8985 8988 8991 8994 8997 9000 9003 9006 9009 9012 9015 9018 9021 9024 9027 9030 9033 9036 9039 9042 9045 9048 9051 9054 9057 9060 9063 9066 9069 9072 9075 9078 9081 9084 9087 9090 9093 9096 9099 9102 9105 9108 9111 9114 9117 9120 9123 9126 9129 9132 9135 9138 9141 9144 9147 9150 9153 9156 9159 9162 9165 9168 9171 9174 9177 9180 9183 9186 9189 9192 9195 9198 9201 9204 9207 9210 9213 9216 9219 9222 9225 9228 9231 9234 9237 9240 9243 9246 9249 9252 9255 9258 9261 9264 9267 9270 9273 9276 9279 9282 9285 9288 9291 9294 9297 9300 9303 9306 9309 9312 9315 9318 9321 9324 9327 9330 9333 9336 9339 9342 9345 9348 9351 9354 9357 9360 9363 9366 9369 9372 9375 9378 9381 9384 9387 9390 9393 9396 9399 9402 9405 9408 9411 9414 9417 9420 9423 9426 9429 9432 9435 9438 9441 9444 9447 9450 9453 9456 9459 9462 9465 9468 9471 9474 9477 9480 9483 9486 9489 9492 9495 9498 9501 9504 9507 9510 9513 9516 9519 9522 9525 9528 9531 9534 9537 9540 9543 9546 9549 9552 9555 9558 9561 9564 9567 9570 9573 9576 9579 9582 9585 9588 9591 9594 9597 9600 9603 9606 9609 9612 9615 9618 9621 9624 9627 9630 9633 9636 9639 9642 9645 9648 9651 9654 9657 9660 9663 9666 9669 9672 9675 9678 9681 9684 9687 9690 9693 9696 9699 9702 9705 9708 9711 9714 9717 9720 9723 9726 9729 9732 9735 9738 9741 9744 9747 9750 9753 9756 9759 9762 9765 9768 9771 9774 9777 9780 9783 9786 9789 9792 9795 9798 9801 9804 9807 9810 9813 9816 9819 9822 9825 9828 9831 9834 9837 9840 9843 9846 9849 9852 9855 9858 9861 9864 9867 9870 9873 9876 9879 9882 9885 9888 9891 9894 9897 9900 9903 9906 9909 9912 9915 9918 9921 9924 9927 9930 9933 9936 9939 9942 9945 9948 9951 9954 9957 9960 9963 9966 9969 9972 9975 9978 9981 9984 9987 9990 9993 9996 9999 10002 10005 10008 10011 10014 10017 10020 10023 10026 10029 10032 10035 10038 10041 10044 10047 10050 10053 10056 10059 10062 10065 10068 10071 10074 10077 10080 10083 10086 10089 10092 10095 10098 10101 10104 10107 10110 10113 10116 10119 10122 10125 10128 10131 10134 10137 10140 10143 10146 10149 10152 10155 10158 10161 10164 10167 10170 10173 10176 10179 10182 10185 10188 10191 10194 10197 10200 10203 10206 10209 10212 10215 10218 10221 10224 10227 10230 10233 10236 10239 10242 10245 10248 10251 10254 10257 10260 10263 10266 10269 10272 10275 10278 10281 10284 10287 10290 10293 10296 10299 10302 10305 10308 10311 10314 10317 10320 10323 10326 10329 10332 10335 10338 10341 10344 10347 10350 10353 10356 10359 10362 10365 10368 10371 10374 10377 10380 10383 10386 10389 10392 10395 10398 10401 10404 10407 10410 10413 10416 10419 10422 10425 10428 10431 10434 10437 10440 10443 10446 10449 10452 10455 10458 10461 10464 10467 10470 10473 10476 10479 10482 10485 10488 10491 10494 10497 10500 10503 10506 10509 10512 10515 10518 10521 10524 10527 10530 10533 10536 10539 10542 10545 10548 10551 10554 10557 10560 10563 10566 10569 10572 10575 10578 10581 10584 10587 10590 10593 10596 10599 10602 10605 10608 10611 10614 10617 10620 10623 10626 10629 10632 10635 10638 10641 10644 10647 10650 10653 10656 10659 10662 10665 10668 10671 10674 10677 10680 10683 10686 10689 10692 10695 10698 10701 10704 10707 10710 10713 10716 10719 10722 10725 10728 10731 10734 10737 10740 10743 10746 10749 10752 10755 10758 10761 10764 10767 10770 10773 10776 10779 10782 10785 10788 10791 10794 10797 10800 10803 10806 10809 10812 10815 10818 10821 10824 10827 10830 10833 10836 10839 10842 10845 10848 10851 10854 10857 10860 10863 10866 10869 10872 10875 10878 10881 10884 10887 10890 10893 10896 10899 10902 10905 10908 10911 10914 10917 10920 10923 10926 10929 10932 10935 10938 10941 10944 10947 10950 10953 10956 10959 10962 10965 10968 10971 10974 10977 10980 10983 10986 10989 10992 10995 10998 11001 11004 11007 11010 11013 11016 11019 11022 11025 11028 11031 11034 11037 11040 11043 11046 11049 11052 11055 11058 11061 11064 11067 11070 11073 11076 11079 11082 11085 11088 11091 11094 11097 11100 11103 11106 11109 11112 11115 11118 11121 11124 11127 11130 11133 11136 11139 11142 11145 11148 11151 11154 11157 11160 11163 11166 11169 11172 11175 11178 11181 11184 11187 11190 11193 11196 11199 11202 11205 11208 11211 11214 11217 11220 11223 11226 11229 11232 11235 11238 11241 11244 11247 11250 11253 11256 11259 11262 11265 11268 11271 11274 11277 11280 11283 11286 11289 11292 11295 11298 11301 11304 11307 11310 11313 11316 11319 11322 11325 11328 11331 11334 11337 11340 11343 11346 11349 11352 11355 11358 11361 11364 11367 11370 11373 11376 11379 11382 11385 11388 11391 11394 11397 11400 11403 11406 11409 11412 11415 11418 11421 11424 11427 11430 11433 11436 11439 11442 11445 11448 11451 11454 11457 11460 11463 11466 11469 11472 11475 11478 11481 11484 11487 11490 11493 11496 11499 11502 11505 11508 11511 11514 11517 11520 11523 11526 11529 11532 11535 11538 11541 11544 11547 11550 11553 11556 11559 11562 11565 11568 11571 11574 11577 11580 11583 11586 11589 11592 11595 11598 11601 11604 11607 11610 11613 11616 11619 11622 11625 11628 11631 11634 11637 11640 11643 11646 11649 11652 11655 11658 11661 11664 11667 11670 11673 11676 11679 11682 11685 11688 11691 11694 11697 11700 11703 11706 11709 11712 11715 11718 11721 11724 11727 11730 11733 11736 11739 11742 11745 11748 11751 11754 11757 11760 11763 11766 11769 11772 11775 11778 11781 11784 11787 11790 11793 11796 11799 11802 11805 11808 11811 11814 11817 11820 11823 11826 11829 11832 11835 11838 11841 11844 11847 11850 11853 11856 11859 11862 11865 11868 11871 11874 11877 11880 11883 11886 11889 11892 11895 11898 11901 11904 11907 11910 11913 11916 11919 11922 11925 11928 11931 11934 11937 11940 11943 11946 11949 11952 11955 11958 11961 11964 11967 11970 11973 11976 11979 11982 11985 11988 11991 11994 11997 12000 12003 12006 12009 12012 12015 12018 12021 12024 12027 12030 12033 12036 12039 12042 12045 12048 12051 12054 12057 12060 12063 12066 12069 12072 12075 12078 12081 12084 12087 12090 12093 12096 12099 12102 12105 12108 12111 12114 12117 12120 12123 12126 12129 12132 12135 12138 12141 12144 12147 12150 12153 12156 12159 12162 12165 12168 12171 12174 12177 12180 12183 12186 12189 12192 12195 12198 12201 12204 12207 12210 12213 12216 12219 12222 12225 12228 12231 12234 12237 12240 12243 12246 12249 12252 12255 12258 12261 12264 12267 12270 12273 12276 12279 12282 12285 12288 12291 12294 12297 12300 12303 12306 12309 12312 12315 12318 12321 12324 12327 12330 12333 12336 12339 12342 12345 12348 12351 12354 12357 12360 12363 12366 12369 12372 12375 12378 12381 12384 12387 12390 12393 12396 12399 12402 12405 12408 12411 12414 12417 12420 12423 12426 12429 12432 12435 12438 12441 12444 12447 12450 12453 12456 12459 12462 12465 12468 12471 12474 12477 12480 12483 12486 12489 12492 12495 12498 12501 12504 12507 12510 12513 12516 12519 12522 12525 12528 12531 12534 12537 12540 12543 12546 12549 12552 12555 12558 12561 12564 12567 12570 12573 12576 12579 12582 12585 12588 12591 12594 12597 12600 12603 12606 12609 12612 12615 12618 12621 12624 12627 12630 12633 12636 12639 12642 12645 12648 12651 12654 12657 12660 12663 12666 12669 12672 12675 12678 12681 12684 12687 12690 12693 12696 12699 12702 12705 12708 12711 12714 12717 12720 12723 12726 12729 12732 12735 12738 12741 12744 12747 12750 12753 12756 12759 12762 12765 12768 12771 12774 12777 12780 12783 12786 12789 12792 12795 12798 12801 12804 12807 12810 12813 12816 12819 12822 12825 12828 12831 12834 12837 12840 12843 12846 12849 12852 12855 12858 12861 12864 12867 12870 12873 12876 12879 12882 12885 12888 12891 12894 12897 12900 12903 12906 12909 12912 12915 12918 12921 12924 12927 12930 12933 12936 12939 12942 12945 12948 12951 12954 12957 12960 12963 12966 12969 12972 12975 12978 12981 12984 12987 12990 12993 12996 12999 13002 13005 13008 13011 13014 13017 13020 13023 13026 13029 13032 13035 13038 13041 13044 13047 13050 13053 13056 13059 13062 13065 13068 13071 13074 13077 13080 13083 13086 13089 13092 13095 13098 13101 13104 13107 13110 13113 13116 13119 13122 13125 13128 13131 13134 13137 13140 13143 13146 13149 13152 13155 13158 13161 13164 13167 13170 13173 13176 13179 13182 13185 13188 13191 13194 13197 13200 13203 13206 13209 13212 13215 13218 13221 13224 13227 13230 13233 13236 13239 13242 13245 13248 13251 13254 13257 13260 13263 13266 13269 13272 13275 13278 13281 13284 13287 13290 13293 13296 13299 13302 13305 13308 13311 13314 13317 13320 13323 13326 13329 13332 13335 13338 13341 13344 13347 13350 13353 13356 13359 13362 13365 13368 13371 13374 13377 13380 13383 13386 13389 13392 13395 13398 13401 13404 13407 13410 13413 13416 13419 13422 13425 13428 13431 13434 13437 13440 13443 13446 13449 13452 13455 13458 13461 13464 13467 13470 13473 13476 13479 13482 13485 13488 13491 13494 13497 13500 13503 13506 13509 13512 13515 13518 13521 13524 13527 13530 13533 13536 13539 13542 13545 13548 13551 13554 13557 13560 13563 13566 13569 13572 13575 13578 13581 13584 13587 13590 13593 13596 13599 13602 13605 13608 13611 13614 13617 13620 13623 13626 13629 13632 13635 13638 13641 13644 13647 13650 13653 13656 13659 13662 13665 13668 13671 13674 13677 13680 13683 13686 13689 13692 13695 13698 13701 13704 13707 13710 13713 13716 13719 13722 13725 13728 13731 13734 13737 13740 13743 13746 13749 13752 13755 13758 13761 13764 13767 13770 13773 13776 13779 13782 13785 13788 13791 13794 13797 13800 13803 13806 13809 13812 13815 13818 13821 13824 13827 13830 13833 13836 13839 13842 13845 13848 13851 13854 13857 13860 13863 13866 13869 13872 13875 13878 13881 13884 13887 13890 13893 13896 13899 13902 13905 13908 13911 13914 13917 13920 13923 13926 13929 13932 13935 13938 13941 13944 13947 13950 13953 13956 13959 13962 13965 13968 13971 13974 13977 13980 13983 13986 13989 13992 13995 13998 14001 14004 14007 14010 14013 14016 14019 14022 14025 14028 14031 14034 14037 14040 14043 14046 14049 14052 14055 14058 14061 14064 14067 14070 14073 14076 14079 14082 14085 14088 14091 14094 14097 14100 14103 14106 14109 14112 14115 14118 14121 14124 14127 14130 14133 14136 14139 14142 14145 14148 14151 14154 14157 14160 14163 14166 14169 14172 14175 14178 14181 14184 14187 14190 14193 14196 14199 14202 14205 14208 14211 14214 14217 14220 14223 14226 14229 14232 14235 14238 14241 14244 14247 14250 14253 14256 14259 14262 14265 14268 14271 14274 14277 14280 14283 14286 14289 14292 14295 14298 14301 14304 14307 14310 14313 14316 14319 14322 14325 14328 14331 14334 14337 14340 14343 14346 14349 14352 14355 14358 14361 14364 14367 14370 14373 14376 14379 14382 14385 14388 14391 14394 14397 14400 14403 14406 14409 14412 14415 14418 14421 14424 14427 14430 14433 14436 14439 14442 14445 14448 14451 14454 14457 14460 14463 14466 14469 14472 14475 14478 14481 14484 14487 14490 14493 14496 14499 14502 14505 14508 14511 14514 14517 14520 14523 14526 14529 14532 14535 14538 14541 14544 14547 14550 14553 14556 14559 14562 14565 14568 14571 14574 14577 14580 14583 14586 14589 14592 14595 14598 14601 14604 14607 14610 14613 14616 14619 14622 14625 14628 14631 14634 14637 14640 14643 14646 14649 14652 14655 14658 14661 14664 14667 14670 14673 14676 14679 14682 14685 14688 14691 14694 14697 14700 14703 14706 14709 14712 14715 14718 14721 14724 14727 14730 14733 14736 14739 14742 14745 14748 14751 14754 14757 14760 14763 14766 14769 14772 14775 14778 14781 14784 14787 14790 14793 14796 14799 14802 14805 14808 14811 14814 14817 14820 14823 14826 14829 14832 14835 14838 14841 14844 14847 14850 14853 14856 14859 14862 14865 14868 14871 14874 14877 14880 14883 14886 14889 14892 14895 14898 14901 14904 14907 14910 14913 14916 14919 14922 14925 14928 14931 14934 14937 14940 14943 14946 14949 14952 14955 14958 14961 14964 14967 14970 14973 14976 14979 14982 14985 14988 14991 14994 14997 15000 15003 15006 15009 15012 15015 15018 15021 15024 15027 15030 15033 15036 15039 15042 15045 15048 15051 15054 15057 15060 15063 15066 15069 15072 15075 15078 15081 15084 15087 15090 15093 15096 15099 15102 15105 15108 15111 15114 15117 15120 15123 15126 15129 15132 15135 15138 15141 15144 15147 15150 15153 15156 15159 15162 15165 15168 15171 15174 15177 15180 15183 15186 15189 15192 15195 15198 15201 15204 15207 15210 15213 15216 15219 15222 15225 15228 15231 15234 15237 15240 15243 15246 15249 15252 15255 15258 15261 15264 15267 15270 15273 15276 15279 15282 15285 15288 15291 15294 15297 15300 15303 15306 15309 15312 15315 15318 15321 15324 15327 15330 15333 15336 15339 15342 15345 15348 15351 15354 15357 15360 15363 15366 15369 15372 15375 15378 15381 15384 15387 15390 15393 15396 15399 15402 15405 15408 15411 15414 15417 15420 15423 15426 15429 15432 15435 15438 15441 15444 15447 15450 15453 15456 15459 15462 15465 15468 15471 15474 15477 15480 15483 15486 15489 15492 15495 15498 15501 15504 15507 15510 15513 15516 15519 15522 15525 15528 15531 15534 15537 15540 15543 15546 15549 15552 15555 15558 15561 15564 15567 15570 15573 15576 15579 15582 15585 15588 15591 15594 15597 15600 15603 15606 15609 15612 15615 15618 15621 15624 15627 15630 15633 15636 15639 15642 15645 15648 15651 15654 15657 15660 15663 15666 15669 15672 15675 15678 15681 15684 15687 15690 15693 15696 15699 15702 15705 15708 15711 15714 15717 15720 15723 15726 15729 15732 15735 15738 15741 15744 15747 15750 15753 15756 15759 15762 15765 15768 15771 15774 15777 15780 15783 15786 15789 15792 15795 15798 15801 15804 15807 15810 15813 15816 15819 15822 15825 15828 15831 15834 15837 15840 15843 15846 15849 15852 15855 15858 15861 15864 15867 15870 15873 15876 15879 15882 15885 15888 15891 15894 15897 15900 15903 15906 15909 15912 15915 15918 15921 15924 15927 15930 15933 15936 15939 15942 15945 15948 15951 15954 15957 15960 15963 15966 15969 15972 15975 15978 15981 15984 15987 15990 15993 15996 15999 16002 16005 16008 16011 16014 16017 16020 16023 16026 16029 16032 16035 16038 16041 16044 16047 16050 16053 16056 16059 16062 16065 16068 16071 16074 16077 16080 16083 16086 16089 16092 16095 16098 16101 16104 16107 16110 16113 16116 16119 16122 16125 16128 16131 16134 16137 16140 16143 16146 16149 16152 16155 16158 16161 16164 16167 16170 16173 16176 16179 16182 16185 16188 16191 16194 16197 16200 16203 16206 16209 16212 16215 16218 16221 16224 16227 16230 16233 16236 16239 16242 16245 16248 16251 16254 16257 16260 16263 16266 16269 16272 16275 16278 16281 16284 16287 16290 16293 16296 16299 16302 16305 16308 16311 16314 16317 16320 16323 16326 16329 16332 16335 16338 16341 16344 16347 16350 16353 16356 16359 16362 16365 16368 16371 16374 16377 16380 16383 16386 16389 16392 16395 16398 16401 16404 16407 16410 16413 16416 16419 16422 16425 16428 16431 16434 16437 16440 16443 16446 16449 16452 16455 16458 16461 16464 16467 16470 16473 16476 16479 16482 16485 16488 16491 16494 16497 16500 16503 16506 16509 16512 16515 16518 16521 16524 16527 16530 16533 16536 16539 16542 16545 16548 16551 16554 16557 16560 16563 16566 16569 16572 16575 16578 16581 16584 16587 16590 16593 16596 16599 16602 16605 16608 16611 16614 16617 16620 16623 16626 16629 16632 16635 16638 16641 16644 16647 16650 16653 16656 16659 16662 16665 16668 16671 16674 16677 16680 16683 16686 16689 16692 16695 16698 16701 16704 16707 16710 16713 16716 16719 16722 16725 16728 16731 16734 16737 16740 16743 16746 16749 16752 16755 16758 16761 16764 16767 16770 16773 16776 16779 16782 16785 16788 16791 16794 16797 16800 16803 16806 16809 16812 16815 16818 16821 16824 16827 16830 16833 16836 16839 16842 16845 16848 16851 16854 16857 16860 16863 16866 16869 16872 16875 16878 16881 16884 16887 16890 16893 16896 16899 16902 16905 16908 16911 16914 16917 16920 16923 16926 16929 16932 16935 16938 16941 16944 16947 16950 16953 16956 16959 16962 16965 16968 16971 16974 16977 16980 16983 16986 16989 16992 16995 16998 17001 17004 17007 17010 17013 17016 17019 17022 17025 17028 17031 17034 17037 17040 17043 17046 17049 17052 17055 17058 17061 17064 17067 17070 17073 17076 17079 17082 17085 17088 17091 17094 17097 17100 17103 17106 17109 17112 17115 17118 17121 17124 17127 17130 17133 17136 17139 17142 17145 17148 17151 17154 17157 17160 17163 17166 17169 17172 17175 17178 17181 17184 17187 17190 17193 17196 17199 17202 17205 17208 17211 17214 17217 17220 17223 17226 17229 17232 17235 17238 17241 17244 17247 17250 17253 17256 17259 17262 17265 17268 17271 17274 17277 17280 17283 17286 17289 17292 17295 17298 17301 17304 17307 17310 17313 17316 17319 17322 17325 17328 17331 17334 17337 17340 17343 17346 17349 17352 17355 17358 17361 17364 17367 17370 17373 17376 17379 17382 17385 17388 17391 17394 17397 17400 17403 17406 17409 17412 17415 17418 17421 17424 17427 17430 17433 17436 17439 17442 17445 17448 17451 17454 17457 17460 17463 17466 17469 17472 17475 17478 17481 17484 17487 17490 17493 17496 17499 17502 17505 17508 17511 17514 17517 17520 17523 17526 17529 17532 17535 17538 17541 17544 17547 17550 17553 17556 17559 17562 17565 17568 17571 17574 17577 17580 17583 17586 17589 17592 17595 17598 17601 17604 17607 17610 17613 17616 17619 17622 17625 17628 17631 17634 17637 17640 17643 17646 17649 17652 17655 17658 17661 17664 17667 17670 17673 17676 17679 17682 17685 17688 17691 17694 17697 17700 17703 17706 17709 17712 17715 17718 17721 17724 17727 17730 17733 17736 17739 17742 17745 17748 17751 17754 17757 17760 17763 17766 17769 17772 17775 17778 17781 17784 17787 17790 17793 17796 17799 17802 17805 17808 17811 17814 17817 17820 17823 17826 17829 17832 17835 17838 17841 17844 17847 17850 17853 17856 17859 17862 17865 17868 17871 17874 17877 17880 17883 17886 17889 17892 17895 17898 17901 17904 17907 17910 17913 17916 17919 17922 17925 17928 17931 17934 17937 17940 17943 17946 17949 17952 17955 17958 17961 17964 17967 17970 17973 17976 17979 17982 17985 17988 17991 17994 17997 18000 18003 18006 18009 18012 18015 18018 18021 18024 18027 18030 18033 18036 18039 18042 18045 18048 18051 18054 18057 18060 18063 18066 18069 18072 18075 18078 18081 18084 18087 18090 18093 18096 18099 18102 18105 18108 18111 18114 18117 18120 18123 18126 18129 18132 18135 18138 18141 18144 18147 18150 18153 18156 18159 18162 18165 18168 18171 18174 18177 18180 18183 18186 18189 18192 18195 18198 18201 18204 18207 18210 18213 18216 18219 18222 18225 18228 18231 18234 18237 18240 18243 18246 18249 18252 18255 18258 18261 18264 18267 18270 18273 18276 18279 18282 18285 18288 18291 18294 18297 18300 18303 18306 18309 18312 18315 18318 18321 18324 18327 18330 18333 18336 18339 18342 18345 18348 18351 18354 18357 18360 18363 18366 18369 18372 18375 18378 18381 18384 18387 18390 18393 18396 18399 18402 18405 18408 18411 18414 18417 18420 18423 18426 18429 18432 18435 18438 18441 18444 18447 18450 18453 18456 18459 18462 18465 18468 18471 18474 18477 18480 18483 18486 18489 18492 18495 18498 18501 18504 18507 18510 18513 18516 18519 18522 18525 18528 18531 18534 18537 18540 18543 18546 18549 18552 18555 18558 18561 18564 18567 18570 18573 18576 18579 18582 18585 18588 18591 18594 18597 18600 18603 18606 18609 18612 18615 18618 18621 18624 18627 18630 18633 18636 18639 18642 18645 18648 18651 18654 18657 18660 18663 18666 18669 18672 18675 18678 18681 18684 18687 18690 18693 18696 18699 18702 18705 18708 18711 18714 18717 18720 18723 18726 18729 18732 18735 18738 18741 18744 18747 18750 18753 18756 18759 18762 18765 18768 18771 18774 18777 18780 18783 18786 18789 18792 18795 18798 18801 18804 18807 18810 18813 18816 18819 18822 18825 18828 18831 18834 18837 18840 18843 18846 18849 18852 18855 18858 18861 18864 18867 18870 18873 18876 18879 18882 18885 18888 18891 18894 18897 18900 18903 18906 18909 18912 18915 18918 18921 18924 18927 18930 18933 18936 18939 18942 18945 18948 18951 18954 18957 18960 18963 18966 18969 18972 18975 18978 18981 18984 18987 18990 18993 18996 18999 19002 19005 19008 19011 19014 19017 19020 19023 19026 19029 19032 19035 19038 19041 19044 19047 19050 19053 19056 19059 19062 19065 19068 19071 19074 19077 19080 19083 19086 19089 19092 19095 19098 19101 19104 19107 19110 19113 19116 19119 19122 19125 19128 19131 19134 19137 19140 19143 19146 19149 19152 19155 19158 19161 19164 19167 19170 19173 19176 19179 19182 19185 19188 19191 19194 19197 19200 19203 19206 19209 19212 19215 19218 19221 19224 19227 19230 19233 19236 19239 19242 19245 19248 19251 19254 19257 19260 19263 19266 19269 19272 19275 19278 19281 19284 19287 19290 19293 19296 19299 19302 19305 19308 19311 19314 19317 19320 19323 19326 19329 19332 19335 19338 19341 19344 19347 19350 19353 19356 19359 19362 19365 19368 19371 19374 19377 19380 19383 19386 19389 19392 19395 19398 19401 19404 19407 19410 19413 19416 19419 19422 19425 19428 19431 19434 19437 19440 19443 19446 19449 19452 19455 19458 19461 19464 19467 19470 19473 19476 19479 19482 19485 19488 19491 19494 19497 19500 19503 19506 19509 19512 19515 19518 19521 19524 19527 19530 19533 19536 19539 19542 19545 19548 19551 19554 19557 19560 19563 19566 19569 19572 19575 19578 19581 19584 19587 19590 19593 19596 19599 19602 19605 19608 19611 19614 19617 19620 19623 19626 19629 19632 19635 19638 19641 19644 19647 19650 19653 19656 19659 19662 19665 19668 19671 19674 19677 19680 19683 19686 19689 19692 19695 19698 19701 19704 19707 19710 19713 19716 19719 19722 19725 19728 19731 19734 19737 19740 19743 19746 19749 19752 19755 19758 19761 19764 19767 19770 19773 19776 19779 19782 19785 19788 19791 19794 19797 19800 19803 19806 19809 19812 19815 19818 19821 19824 19827 19830 19833 19836 19839 19842 19845 19848 19851 19854 19857 19860 19863 19866 19869 19872 19875 19878 19881 19884 19887 19890 19893 19896 19899 19902 19905 19908 19911 19914 19917 19920 19923 19926 19929 19932 19935 19938 19941 19944 19947 19950 19953 19956 19959 19962 19965 19968 19971 19974 19977 19980 19983 19986 19989 19992 19995 19998 20001 20004 20007 20010 20013 20016 20019 20022 20025 20028 20031 20034 20037 20040 20043 20046 20049 20052 20055 20058 20061 20064 20067 20070 20073 20076 20079 20082 20085 20088 20091 20094 20097 20100 20103 20106 20109 20112 20115 20118 20121 20124 20127 20130 20133 20136 20139 20142 20145 20148 20151 20154 20157 20160 20163 20166 20169 20172 20175 20178 20181 20184 20187 20190 20193 20196 20199 20202 20205 20208 20211 20214 20217 20220 20223 20226 20229 20232 20235 20238 20241 20244 20247 20250 20253 20256 20259 20262 20265 20268 20271 20274 20277 20280 20283 20286 20289 20292 20295 20298 20301 20304 20307 20310 20313 20316 20319 20322 20325 20328 20331 20334 20337 20340 20343 20346 20349 20352 20355 20358 20361 20364 20367 20370 20373 20376 20379 20382 20385 20388 20391 20394 20397 20400 20403 20406 20409 20412 20415 20418 20421 20424 20427 20430 20433 20436 20439 20442 20445 20448 20451 20454 20457 20460 20463 20466 20469 20472 20475 20478 20481 20484 20487 20490 20493 20496 20499 20502 20505 20508 20511 20514 20517 20520 20523 20526 20529 20532 20535 20538 20541 20544 20547 20550 20553 20556 20559 20562 20565 20568 20571 20574 20577 20580 20583 20586 20589 20592 20595 20598 20601 20604 20607 20610 20613 20616 20619 20622 20625 20628 20631 20634 20637 20640 20643 20646 20649 20652 20655 20658 20661 20664 20667 20670 20673 20676 20679 20682 20685 20688 20691 20694 20697 20700 20703 20706 20709 20712 20715 20718 20721 20724 20727 20730 20733 20736 20739 20742 20745 20748 20751 20754 20757 20760 20763 20766 20769 20772 20775 20778 20781 20784 20787 20790 20793 20796 20799 20802 20805 20808 20811 20814 20817 20820 20823 20826 20829 20832 20835 20838 20841 20844 20847 20850 20853 20856 20859 20862 20865 20868 20871 20874 20877 20880 20883 20886 20889 20892 20895 20898 20901 20904 20907 20910 20913 20916 20919 20922 20925 20928 20931 20934 20937 20940 20943 20946 20949 20952 20955 20958 20961 20964 20967 20970 20973 20976 20979 20982 20985 20988 20991 20994 20997 21000 21003 21006 21009 21012 21015 21018 21021 21024 21027 21030 21033 21036 21039 21042 21045 21048 21051 21054 21057 21060 21063 21066 21069 21072 21075 21078 21081 21084 21087 21090 21093 21096 21099 21102 21105 21108 21111 21114 21117 21120 21123 21126 21129 21132 21135 21138 21141 21144 21147 21150 21153 21156 21159 21162 21165 21168 21171 21174 21177 21180 21183 21186 21189 21192 21195 21198 21201 21204 21207 21210 21213 21216 21219 21222 21225 21228 21231 21234 21237 21240 21243 21246 21249 21252 21255 21258 21261 21264 21267 21270 21273 21276 21279 21282 21285 21288 21291 21294 21297 21300 21303 21306 21309 21312 21315 21318 21321 21324 21327 21330 21333 21336 21339 21342 21345 21348 21351 21354 21357 21360 21363 21366 21369 21372 21375 21378 21381 21384 21387 21390 21393 21396 21399 21402 21405 21408 21411 21414 21417 21420 21423 21426 21429 21432 21435 21438 21441 21444 21447 21450 21453 21456 21459 21462 21465 21468 21471 21474 21477 21480 21483 21486 21489 21492 21495 21498 21501 21504 21507 21510 21513 21516 21519 21522 21525 21528 21531 21534 21537 21540 21543 21546 21549 21552 21555 21558 21561 21564 21567 21570 21573 21576 21579 21582 21585 21588 21591 21594 21597 21600 21603 21606 21609 21612 21615 21618 21621 21624 21627 21630 21633 21636 21639 21642 21645 21648 21651 21654 21657 21660 21663 21666 21669 21672 21675 21678 21681 21684 21687 21690 21693 21696 21699 21702 21705 21708 21711 21714 21717 21720 21723 21726 21729 21732 21735 21738 21741 21744 21747 21750 21753 21756 21759 21762 21765 21768 21771 21774 21777 21780 21783 21786 21789 21792 21795 21798 21801 21804 21807 21810 21813 21816 21819 21822 21825 21828 21831 21834 21837 21840 21843 21846 21849 21852 21855 21858 21861 21864 21867 21870 21873 21876 21879 21882 21885 21888 21891 21894 21897 21900 21903 21906 21909 21912 21915 21918 21921 21924 21927 21930 21933 21936 21939 21942 21945 21948 21951 21954 21957 21960 21963 21966 21969 21972 21975 21978 21981 21984 21987 21990 21993 21996 21999 22002 22005 22008 22011 22014 22017 22020 22023 22026 22029 22032 22035 22038 22041 22044 22047 22050 22053 22056 22059 22062 22065 22068 22071 22074 22077 22080 22083 22086 22089 22092 22095 22098 22101 22104 22107 22110 22113 22116 22119 22122 22125 22128 22131 22134 22137 22140 22143 22146 22149 22152 22155 22158 22161 22164 22167 22170 22173 22176 22179 22182 22185 22188 22191 22194 22197 22200 22203 22206 22209 22212 22215 22218 22221 22224 22227 22230 22233 22236 22239 22242 22245 22248 22251 22254 22257 22260 22263 22266 22269 22272 22275 22278 22281 22284 22287 22290 22293 22296 22299 22302 22305 22308 22311 22314 22317 22320 22323 22326 22329 22332 22335 22338 22341 22344 22347 22350 22353 22356 22359 22362 22365 22368 22371 22374 22377 22380 22383 22386 22389 22392 22395 22398 22401 22404 22407 22410 22413 22416 22419 22422 22425 22428 22431 22434 22437 22440 22443 22446 22449 22452 22455 22458 22461 22464 22467 22470 22473 22476 22479 22482 22485 22488 22491 22494 22497 22500 22503 22506 22509 22512 22515 22518 22521 22524 22527 22530 22533 22536 22539 22542 22545 22548 22551 22554 22557 22560 22563 22566 22569 22572 22575 22578 22581 22584 22587 22590 22593 22596 22599 22602 22605 22608 22611 22614 22617 22620 22623 22626 22629 22632 22635 22638 22641 22644 22647 22650 22653 22656 22659 22662 22665 22668 22671 22674 22677 22680 22683 22686 22689 22692 22695 22698 22701 22704 22707 22710 22713 22716 22719 22722 22725 22728 22731 22734 22737 22740 22743 22746 22749 22752 22755 22758 22761 22764 22767 22770 22773 22776 22779 22782 22785 22788 22791 22794 22797 22800 22803 22806 22809 22812 22815 22818 22821 22824 22827 22830 22833 22836 22839 22842 22845 22848 22851 22854 22857 22860 22863 22866 22869 22872 22875 22878 22881 22884 22887 22890 22893 22896 22899 22902 22905 22908 22911 22914 22917 22920 22923 22926 22929 22932 22935 22938 22941 22944 22947 22950 22953 22956 22959 22962 22965 22968 22971 22974 22977 22980 22983 22986 22989 22992 22995 22998 23001 23004 23007 23010 23013 23016 23019 23022 23025 23028 23031 23034 23037 23040 23043 23046 23049 23052 23055 23058 23061 23064 23067 23070 23073 23076 23079 23082 23085 23088 23091 23094 23097 23100 23103 23106 23109 23112 23115 23118 23121 23124 23127 23130 23133 23136 23139 23142 23145 23148 23151 23154 23157 23160 23163 23166 23169 23172 23175 23178 23181 23184 23187 23190 23193 23196 23199 23202 23205 23208 23211 23214 23217 23220 23223 23226 23229 23232 23235 23238 23241 23244 23247 23250 23253 23256 23259 23262 23265 23268 23271 23274 23277 23280 23283 23286 23289 23292 23295 23298 23301 23304 23307 23310 23313 23316 23319 23322 23325 23328 23331 23334 23337 23340 23343 23346 23349 23352 23355 23358 23361 23364 23367 23370 23373 23376 23379 23382 23385 23388 23391 23394 23397 23400 23403 23406 23409 23412 23415 23418 23421 23424 23427 23430 23433 23436 23439 23442 23445 23448 23451 23454 23457 23460 23463 23466 23469 23472 23475 23478 23481 23484 23487 23490 23493 23496 23499 23502 23505 23508 23511 23514 23517 23520 23523 23526 23529 23532 23535 23538 23541 23544 23547 23550 23553 23556 23559 23562 23565 23568 23571 23574 23577 23580 23583 23586 23589 23592 23595 23598 23601 23604 23607 23610 23613 23616 23619 23622 23625 23628 23631 23634 23637 23640 23643 23646 23649 23652 23655 23658 23661 23664 23667 23670 23673 23676 23679 23682 23685 23688 23691 23694 23697 23700 23703 23706 23709 23712 23715 23718 23721 23724 23727 23730 23733 23736 23739 23742 23745 23748 23751 23754 23757 23760 23763 23766 23769 23772 23775 23778 23781 23784 23787 23790 23793 23796 23799 23802 23805 23808 23811 23814 23817 23820 23823 23826 23829 23832 23835 23838 23841 23844 23847 23850 23853 23856 23859 23862 23865 23868 23871 23874 23877 23880 23883 23886 23889 23892 23895 23898 23901 23904 23907 23910 23913 23916 23919 23922 23925 23928 23931 23934 23937 23940 23943 23946 23949 23952 23955 23958 23961 23964 23967 23970 23973 23976 23979 23982 23985 23988 23991 23994 23997 24000 24003 24006 24009 24012 24015 24018 24021 24024 24027 24030 24033 24036 24039 24042 24045 24048 24051 24054 24057 24060 24063 24066 24069 24072 24075 24078 24081 24084 24087 24090 24093 24096 24099 24102 24105 24108 24111 24114 24117 24120 24123 24126 24129 24132 24135 24138 24141 24144 24147 24150 24153 24156 24159 24162 24165 24168 24171 24174 24177 24180 24183 24186 24189 24192 24195 24198 24201 24204 24207 24210 24213 24216 24219 24222 24225 24228 24231 24234 24237 24240 24243 24246 24249 24252 24255 24258 24261 24264 24267 24270 24273 24276 24279 24282 24285 24288 24291 24294 24297 24300 24303 24306 24309 24312 24315 24318 24321 24324 24327 24330 24333 24336 24339 24342 24345 24348 24351 24354 24357 24360 24363 24366 24369 24372 24375 24378 24381 24384 24387 24390 24393 24396 24399 24402 24405 24408 24411 24414 24417 24420 24423 24426 24429 24432 24435 24438 24441 24444 24447 24450 24453 24456 24459 24462 24465 24468 24471 24474 24477 24480 24483 24486 24489 24492 24495 24498 24501 24504 24507 24510 24513 24516 24519 24522 24525 24528 24531 24534 24537 24540 24543 24546 24549 24552 24555 24558 24561 24564 24567 24570 24573 24576 24579 24582 24585 24588 24591 24594 24597 24600 24603 24606 24609 24612 24615 24618 24621 24624 24627 24630 24633 24636 24639 24642 24645 24648 24651 24654 24657 24660 24663 24666 24669 24672 24675 24678 24681 24684 24687 24690 24693 24696 24699 24702 24705 24708 24711 24714 24717 24720 24723 24726 24729 24732 24735 24738 24741 24744 24747 24750 24753 24756 24759 24762 24765 24768 24771 24774 24777 24780 24783 24786 24789 24792 24795 24798 24801 24804 24807 24810 24813 24816 24819 24822 24825 24828 24831 24834 24837 24840 24843 24846 24849 24852 24855 24858 24861 24864 24867 24870 24873 24876 24879 24882 24885 24888 24891 24894 24897 24900 24903 24906 24909 24912 24915 24918 24921 24924 24927 24930 24933 24936 24939 24942 24945 24948 24951 24954 24957 24960 24963 24966 24969 24972 24975 24978 24981 24984 24987 24990 24993 24996 24999 25002 25005 25008 25011 25014 25017 25020 25023 25026 25029 25032 25035 25038 25041 25044 25047 25050 25053 25056 25059 25062 25065 25068 25071 25074 25077 25080 25083 25086 25089 25092 25095 25098 25101 25104 25107 25110 25113 25116 25119 25122 25125 25128 25131 25134 25137 25140 25143 25146 25149 25152 25155 25158 25161 25164 25167 25170 25173 25176 25179 25182 25185 25188 25191 25194 25197 25200 25203 25206 25209 25212 25215 25218 25221 25224 25227 25230 25233 25236 25239 25242 25245 25248 25251 25254 25257 25260 25263 25266 25269 25272 25275 25278 25281 25284 25287 25290 25293 25296 25299 25302 25305 25308 25311 25314 25317 25320 25323 25326 25329 25332 25335 25338 25341 25344 25347 25350 25353 25356 25359 25362 25365 25368 25371 25374 25377 25380 25383 25386 25389 25392 25395 25398 25401 25404 25407 25410 25413 25416 25419 25422 25425 25428 25431 25434 25437 25440 25443 25446 25449 25452 25455 25458 25461 25464 25467 25470 25473 25476 25479 25482 25485 25488 25491 25494 25497 25500 25503 25506 25509 25512 25515 25518 25521 25524 25527 25530 25533 25536 25539 25542 25545 25548 25551 25554 25557 25560 25563 25566 25569 25572 25575 25578 25581 25584 25587 25590 25593 25596 25599 25602 25605 25608 25611 25614 25617 25620 25623 25626 25629 25632 25635 25638 25641 25644 25647 25650 25653 25656 25659 25662 25665 25668 25671 25674 25677 25680 25683 25686 25689 25692 25695 25698 25701 25704 25707 25710 25713 25716 25719 25722 25725 25728 25731 25734 25737 25740 25743 25746 25749 25752 25755 25758 25761 25764 25767 25770 25773 25776 25779 25782 25785 25788 25791 25794 25797 25800 25803 25806 25809 25812 25815 25818 25821 25824 25827 25830 25833 25836 25839 25842 25845 25848 25851 25854 25857 25860 25863 25866 25869 25872 25875 25878 25881 25884 25887 25890 25893 25896 25899 25902 25905 25908 25911 25914 25917 25920 25923 25926 25929 25932 25935 25938 25941 25944 25947 25950 25953 25956 25959 25962 25965 25968 25971 25974 25977 25980 25983 25986 25989 25992 25995 25998 26001 26004 26007 26010 26013 26016 26019 26022 26025 26028 26031 26034 26037 26040 26043 26046 26049 26052 26055 26058 26061 26064 26067 26070 26073 26076 26079 26082 26085 26088 26091 26094 26097 26100 26103 26106 26109 26112 26115 26118 26121 26124 26127 26130 26133 26136 26139 26142 26145 26148 26151 26154 26157 26160 26163 26166 26169 26172 26175 26178 26181 26184 26187 26190 26193 26196 26199 26202 26205 26208 26211 26214 26217 26220 26223 26226 26229 26232 26235 26238 26241 26244 26247 26250 26253 26256 26259 26262 26265 26268 26271 26274 26277 26280 26283 26286 26289 26292 26295 26298 26301 26304 26307 26310 26313 26316 26319 26322 26325 26328 26331 26334 26337 26340 26343 26346 26349 26352 26355 26358 26361 26364 26367 26370 26373 26376 26379 26382 26385 26388 26391 26394 26397 26400 26403 26406 26409 26412 26415 26418 26421 26424 26427 26430 26433 26436 26439 26442 26445 26448 26451 26454 26457 26460 26463 26466 26469 26472 26475 26478 26481 26484 26487 26490 26493 26496 26499 26502 26505 26508 26511 26514 26517 26520 26523 26526 26529 26532 26535 26538 26541 26544 26547 26550 26553 26556 26559 26562 26565 26568 26571 26574 26577 26580 26583 26586 26589 26592 26595 26598 26601 26604 26607 26610 26613 26616 26619 26622 26625 26628 26631 26634 26637 26640 26643 26646 26649 26652 26655 26658 26661 26664 26667 26670 26673 26676 26679 26682 26685 26688 26691 26694 26697 26700 26703 26706 26709 26712 26715 26718 26721 26724 26727 26730 26733 26736 26739 26742 26745 26748 26751 26754 26757 26760 26763 26766 26769 26772 26775 26778 26781 26784 26787 26790 26793 26796 26799 26802 26805 26808 26811 26814 26817 26820 26823 26826 26829 26832 26835 26838 26841 26844 26847 26850 26853 26856 26859 26862 26865 26868 26871 26874 26877 26880 26883 26886 26889 26892 26895 26898 26901 26904 26907 26910 26913 26916 26919 26922 26925 26928 26931 26934 26937 26940 26943 26946 26949 26952 26955 26958 26961 26964 26967 26970 26973 26976 26979 26982 26985 26988 26991 26994 26997 27000 27003 27006 27009 27012 27015 27018 27021 27024 27027 27030 27033 27036 27039 27042 27045 27048 27051 27054 27057 27060 27063 27066 27069 27072 27075 27078 27081 27084 27087 27090 27093 27096 27099 27102 27105 27108 27111 27114 27117 27120 27123 27126 27129 27132 27135 27138 27141 27144 27147 27150 27153 27156 27159 27162 27165 27168 27171 27174 27177 27180 27183 27186 27189 27192 27195 27198 27201 27204 27207 27210 27213 27216 27219 27222 27225 27228 27231 27234 27237 27240 27243 27246 27249 27252 27255 27258 27261 27264 27267 27270 27273 27276 27279 27282 27285 27288 27291 27294 27297 27300 27303 27306 27309 27312 27315 27318 27321 27324 27327 27330 27333 27336 27339 27342 27345 27348 27351 27354 27357 27360 27363 27366 27369 27372 27375 27378 27381 27384 27387 27390 27393 27396 27399 27402 27405 27408 27411 27414 27417 27420 27423 27426 27429 27432 27435 27438 27441 27444 27447 27450 27453 27456 27459 27462 27465 27468 27471 27474 27477 27480 27483 27486 27489 27492 27495 27498 27501 27504 27507 27510 27513 27516 27519 27522 27525 27528 27531 27534 27537 27540 27543 27546 27549 27552 27555 27558 27561 27564 27567 27570 27573 27576 27579 27582 27585 27588 27591 27594 27597 27600 27603 27606 27609 27612 27615 27618 27621 27624 27627 27630 27633 27636 27639 27642 27645 27648 27651 27654 27657 27660 27663 27666 27669 27672 27675 27678 27681 27684 27687 27690 27693 27696 27699 27702 27705 27708 27711 27714 27717 27720 27723 27726 27729 27732 27735 27738 27741 27744 27747 27750 27753 27756 27759 27762 27765 27768 27771 27774 27777 27780 27783 27786 27789 27792 27795 27798 27801 27804 27807 27810 27813 27816 27819 27822 27825 27828 27831 27834 27837 27840 27843 27846 27849 27852 27855 27858 27861 27864 27867 27870 27873 27876 27879 27882 27885 27888 27891 27894 27897 27900 27903 27906 27909 27912 27915 27918 27921 27924 27927 27930 27933 27936 27939 27942 27945 27948 27951 27954 27957 27960 27963 27966 27969 27972 27975 27978 27981 27984 27987 27990 27993 27996 27999 28002 28005 28008 28011 28014 28017 28020 28023 28026 28029 28032 28035 28038 28041 28044 28047 28050 28053 28056 28059 28062 28065 28068 28071 28074 28077 28080 28083 28086 28089 28092 28095 28098 28101 28104 28107 28110 28113 28116 28119 28122 28125 28128 28131 28134 28137 28140 28143 28146 28149 28152 28155 28158 28161 28164 28167 28170 28173 28176 28179 28182 28185 28188 28191 28194 28197 28200 28203 28206 28209 28212 28215 28218 28221 28224 28227 28230 28233 28236 28239 28242 28245 28248 28251 28254 28257 28260 28263 28266 28269 28272 28275 28278 28281 28284 28287 28290 28293 28296 28299 28302 28305 28308 28311 28314 28317 28320 28323 28326 28329 28332 28335 28338 28341 28344 28347 28350 28353 28356 28359 28362 28365 28368 28371 28374 28377 28380 28383 28386 28389 28392 28395 28398 28401 28404 28407 28410 28413 28416 28419 28422 28425 28428 28431 28434 28437 28440 28443 28446 28449 28452 28455 28458 28461 28464 28467 28470 28473 28476 28479 28482 28485 28488 28491 28494 28497 28500 28503 28506 28509 28512 28515 28518 28521 28524 28527 28530 28533 28536 28539 28542 28545 28548 28551 28554 28557 28560 28563 28566 28569 28572 28575 28578 28581 28584 28587 28590 28593 28596 28599 28602 28605 28608 28611 28614 28617 28620 28623 28626 28629 28632 28635 28638 28641 28644 28647 28650 28653 28656 28659 28662 28665 28668 28671 28674 28677 28680 28683 28686 28689 28692 28695 28698 28701 28704 28707 28710 28713 28716 28719 28722 28725 28728 28731 28734 28737 28740 28743 28746 28749 28752 28755 28758 28761 28764 28767 28770 28773 28776 28779 28782 28785 28788 28791 28794 28797 28800 28803 28806 28809 28812 28815 28818 28821 28824 28827 28830 28833 28836 28839 28842 28845 28848 28851 28854 28857 28860 28863 28866 28869 28872 28875 28878 28881 28884 28887 28890 28893 28896 28899 28902 28905 28908 28911 28914 28917 28920 28923 28926 28929 28932 28935 28938 28941 28944 28947 28950 28953 28956 28959 28962 28965 28968 28971 28974 28977 28980 28983 28986 28989 28992 28995 28998 29001 29004 29007 29010 29013 29016 29019 29022 29025 29028 29031 29034 29037 29040 29043 29046 29049 29052 29055 29058 29061 29064 29067 29070 29073 29076 29079 29082 29085 29088 29091 29094 29097 29100 29103 29106 29109 29112 29115 29118 29121 29124 29127 29130 29133 29136 29139 29142 29145 29148 29151 29154 29157 29160 29163 29166 29169 29172 29175 29178 29181 29184 29187 29190 29193 29196 29199 29202 29205 29208 29211 29214 29217 29220 29223 29226 29229 29232 29235 29238 29241 29244 29247 29250 29253 29256 29259 29262 29265 29268 29271 29274 29277 29280 29283 29286 29289 29292 29295 29298 29301 29304 29307 29310 29313 29316 29319 29322 29325 29328 29331 29334 29337 29340 29343 29346 29349 29352 29355 29358 29361 29364 29367 29370 29373 29376 29379 29382 29385 29388 29391 29394 29397 29400 29403 29406 29409 29412 29415 29418 29421 29424 29427 29430 29433 29436 29439 29442 29445 29448 29451 29454 29457 29460 29463 29466 29469 29472 29475 29478 29481 29484 29487 29490 29493 29496 29499 29502 29505 29508 29511 29514 29517 29520 29523 29526 29529 29532 29535 29538 29541 29544 29547 29550 29553 29556 29559 29562 29565 29568 29571 29574 29577 29580 29583 29586 29589 29592 29595 29598 29601 29604 29607 29610 29613 29616 29619 29622 29625 29628 29631 29634 29637 29640 29643 29646 29649 29652 29655 29658 29661 29664 29667 29670 29673 29676 29679 29682 29685 29688 29691 29694 29697 29700 29703 29706 29709 29712 29715 29718 29721 29724 29727 29730 29733 29736 29739 29742 29745 29748 29751 29754 29757 29760 29763 29766 29769 29772 29775 29778 29781 29784 29787 29790 29793 29796 29799 29802 29805 29808 29811 29814 29817 29820 29823 29826 29829 29832 29835 29838 29841 29844 29847 29850 29853 29856 29859 29862 29865 29868 29871 29874 29877 29880 29883 29886 29889 29892 29895 29898 29901 29904 29907 29910 29913 29916 29919 29922 29925 29928 29931 29934 29937 29940 29943 29946 29949 29952 29955 29958 29961 29964 29967 29970 29973 29976 29979 29982 29985 29988 29991 29994 29997 30000 30003 30006 30009 30012 30015 30018 30021 30024 30027 30030 30033 30036 30039 30042 30045 30048 30051 30054 30057 30060 30063 30066 30069 30072 30075 30078 30081 30084 30087 30090 30093 30096 30099 30102 30105 30108 30111 30114 30117 30120 30123 30126 30129 30132 30135 30138 30141 30144 30147 30150 30153 30156 30159 30162 30165 30168 30171 30174 30177 30180 30183 30186 30189 30192 30195 30198 30201 30204 30207 30210 30213 30216 30219 30222 30225 30228 30231 30234 30237 30240 30243 30246 30249 30252 30255 30258 30261 30264 30267 30270 30273 30276 30279 30282 30285 30288 30291 30294 30297 30300 30303 30306 30309 30312 30315 30318 30321 30324 30327 30330 30333 30336 30339 30342 30345 30348 30351 30354 30357 30360 30363 30366 30369 30372 30375 30378 30381 30384 30387 30390 30393 30396 30399 30402 30405 30408 30411 30414 30417 30420 30423 30426 30429 30432 30435 30438 30441 30444 30447 30450 30453 30456 30459 30462 30465 30468 30471 30474 30477 30480 30483 30486 30489 30492 30495 30498 30501 30504 30507 30510 30513 30516 30519 30522 30525 30528 30531 30534 30537 30540 30543 30546 30549 30552 30555 30558 30561 30564 30567 30570 30573 30576 30579 30582 30585 30588 30591 30594 30597 30600 30603 30606 30609 30612 30615 30618 30621 30624 30627 30630 30633 30636 30639 30642 30645 30648 30651 30654 30657 30660 30663 30666 30669 30672 30675 30678 30681 30684 30687 30690 30693 30696 30699 30702 30705 30708 30711 30714 30717 30720 30723 30726 30729 30732 30735 30738 30741 30744 30747 30750 30753 30756 30759 30762 30765 30768 30771 30774 30777 30780 30783 30786 30789 30792 30795 30798 30801 30804 30807 30810 30813 30816 30819 30822 30825 30828 30831 30834 30837 30840 30843 30846 30849 30852 30855 30858 30861 30864 30867 30870 30873 30876 30879 30882 30885 30888 30891 30894 30897 30900 30903 30906 30909 30912 30915 30918 30921 30924 30927 30930 30933 30936 30939 30942 30945 30948 30951 30954 30957 30960 30963 30966 30969 30972 30975 30978 30981 30984 30987 30990 30993 30996 30999 31002 31005 31008 31011 31014 31017 31020 31023 31026 31029 31032 31035 31038 31041 31044 31047 31050 31053 31056 31059 31062 31065 31068 31071 31074 31077 31080 31083 31086 31089 31092 31095 31098 31101 31104 31107 31110 31113 31116 31119 31122 31125 31128 31131 31134 31137 31140 31143 31146 31149 31152 31155 31158 31161 31164 31167 31170 31173 31176 31179 31182 31185 31188 31191 31194 31197 31200 31203 31206 31209 31212 31215 31218 31221 31224 31227 31230 31233 31236 31239 31242 31245 31248 31251 31254 31257 31260 31263 31266 31269 31272 31275 31278 31281 31284 31287 31290 31293 31296 31299 31302 31305 31308 31311 31314 31317 31320 31323 31326 31329 31332 31335 31338 31341 31344 31347 31350 31353 31356 31359 31362 31365 31368 31371 31374 31377 31380 31383 31386 31389 31392 31395 31398 31401 31404 31407 31410 31413 31416 31419 31422 31425 31428 31431 31434 31437 31440 31443 31446 31449 31452 31455 31458 31461 31464 31467 31470 31473 31476 31479 31482 31485 31488 31491 31494 31497 31500 31503 31506 31509 31512 31515 31518 31521 31524 31527 31530 31533 31536 31539 31542 31545 31548 31551 31554 31557 31560 31563 31566 31569 31572 31575 31578 31581 31584 31587 31590 31593 31596 31599 31602 31605 31608 31611 31614 31617 31620 31623 31626 31629 31632 31635 31638 31641 31644 31647 31650 31653 31656 31659 31662 31665 31668 31671 31674 31677 31680 31683 31686 31689 31692 31695 31698 31701 31704 31707 31710 31713 31716 31719 31722 31725 31728 31731 31734 31737 31740 31743 31746 31749 31752 31755 31758 31761 31764 31767 31770 31773 31776 31779 31782 31785 31788 31791 31794 31797 31800 31803 31806 31809 31812 31815 31818 31821 31824 31827 31830 31833 31836 31839 31842 31845 31848 31851 31854 31857 31860 31863 31866 31869 31872 31875 31878 31881 31884 31887 31890 31893 31896 31899 31902 31905 31908 31911 31914 31917 31920 31923 31926 31929 31932 31935 31938 31941 31944 31947 31950 31953 31956 31959 31962 31965 31968 31971 31974 31977 31980 31983 31986 31989 31992 31995 31998 32001 32004 32007 32010 32013 32016 32019 32022 32025 32028 32031 32034 32037 32040 32043 32046 32049 32052 32055 32058 32061 32064 32067 32070 32073 32076 32079 32082 32085 32088 32091 32094 32097 32100 32103 32106 32109 32112 32115 32118 32121 32124 32127 32130 32133 32136 32139 32142 32145 32148 32151 32154 32157 32160 32163 32166 32169 32172 32175 32178 32181 32184 32187 32190 32193 32196 32199 32202 32205 32208 32211 32214 32217 32220 32223 32226 32229 32232 32235 32238 32241 32244 32247 32250 32253 32256 32259 32262 32265 32268 32271 32274 32277 32280 32283 32286 32289 32292 32295 32298 32301 32304 32307 32310 32313 32316 32319 32322 32325 32328 32331 32334 32337 32340 32343 32346 32349 32352 32355 32358 32361 32364 32367 32370 32373 32376 32379 32382 32385 32388 32391 32394 32397 32400 32403 32406 32409 32412 32415 32418 32421 32424 32427 32430 32433 32436 32439 32442 32445 32448 32451 32454 32457 32460 32463 32466 32469 32472 32475 32478 32481 32484 32487 32490 32493 32496 32499 32502 32505 32508 32511 32514 32517 32520 32523 32526 32529 32532 32535 32538 32541 32544 32547 32550 32553 32556 32559 32562 32565 32568 32571 32574 32577 32580 32583 32586 32589 32592 32595 32598 32601 32604 32607 32610 32613 32616 32619 32622 32625 32628 32631 32634 32637 32640 32643 32646 32649 32652 32655 32658 32661 32664 32667 32670 32673 32676 32679 32682 32685 32688 32691 32694 32697 32700 32703 32706 32709 32712 32715 32718 32721 32724 32727 32730 32733 32736 32739 32742 32745 32748 32751 32754 32757 32760 32763 32766 32769 32772 32775 32778 32781 32784 32787 32790 32793 32796 32799 32802 32805 32808 32811 32814 32817 32820 32823 32826 32829 32832 32835 32838 32841 32844 32847 32850 32853 32856 32859 32862 32865 32868 32871 32874 32877 32880 32883 32886 32889 32892 32895 32898 32901 32904 32907 32910 32913 32916 32919 32922 32925 32928 32931 32934 32937 32940 32943 32946 32949 32952 32955 32958 32961 32964 32967 32970 32973 32976 32979 32982 32985 32988 32991 32994 32997 33000 33003 33006 33009 33012 33015 33018 33021 33024 33027 33030 33033 33036 33039 33042 33045 33048 33051 33054 33057 33060 33063 33066 33069 33072 33075 33078 33081 33084 33087 33090 33093 33096 33099 33102 33105 33108 33111 33114 33117 33120 33123 33126 33129 33132 33135 33138 33141 33144 33147 33150 33153 33156 33159 33162 33165 33168 33171 33174 33177 33180 33183 33186 33189 33192 33195 33198 33201 33204 33207 33210 33213 33216 33219 33222 33225 33228 33231 33234 33237 33240 33243 33246 33249 33252 33255 33258 33261 33264 33267 33270 33273 33276 33279 33282 33285 33288 33291 33294 33297 33300 33303 33306 33309 33312 33315 33318 33321 33324 33327 33330 33333 33336 33339 33342 33345 33348 33351 33354 33357 33360 33363 33366 33369 33372 33375 33378 33381 33384 33387 33390 33393 33396 33399 33402 33405 33408 33411 33414 33417 33420 33423 33426 33429 33432 33435 33438 33441 33444 33447 33450 33453 33456 33459 33462 33465 33468 33471 33474 33477 33480 33483 33486 33489 33492 33495 33498 33501 33504 33507 33510 33513 33516 33519 33522 33525 33528 33531 33534 33537 33540 33543 33546 33549 33552 33555 33558 33561 33564 33567 33570 33573 33576 33579 33582 33585 33588 33591 33594 33597 33600 33603 33606 33609 33612 33615 33618 33621 33624 33627 33630 33633 33636 33639 33642 33645 33648 33651 33654 33657 33660 33663 33666 33669 33672 33675 33678 33681 33684 33687 33690 33693 33696 33699 33702 33705 33708 33711 33714 33717 33720 33723 33726 33729 33732 33735 33738 33741 33744 33747 33750 33753 33756 33759 33762 33765 33768 33771 33774 33777 33780 33783 33786 33789 33792 33795 33798 33801 33804 33807 33810 33813 33816 33819 33822 33825 33828 33831 33834 33837 33840 33843 33846 33849 33852 33855 33858 33861 33864 33867 33870 33873 33876 33879 33882 33885 33888 33891 33894 33897 33900 33903 33906 33909 33912 33915 33918 33921 33924 33927 33930 33933 33936 33939 33942 33945 33948 33951 33954 33957 33960 33963 33966 33969 33972 33975 33978 33981 33984 33987 33990 33993 33996 33999 34002 34005 34008 34011 34014 34017 34020 34023 34026 34029 34032 34035 34038 34041 34044 34047 34050 34053 34056 34059 34062 34065 34068 34071 34074 34077 34080 34083 34086 34089 34092 34095 34098 34101 34104 34107 34110 34113 34116 34119 34122 34125 34128 34131 34134 34137 34140 34143 34146 34149 34152 34155 34158 34161 34164 34167 34170 34173 34176 34179 34182 34185 34188 34191 34194 34197 34200 34203 34206 34209 34212 34215 34218 34221 34224 34227 34230 34233 34236 34239 34242 34245 34248 34251 34254 34257 34260 34263 34266 34269 34272 34275 34278 34281 34284 34287 34290 34293 34296 34299 34302 34305 34308 34311 34314 34317 34320 34323 34326 34329 34332 34335 34338 34341 34344 34347 34350 34353 34356 34359 34362 34365 34368 34371 34374 34377 34380 34383 34386 34389 34392 34395 34398 34401 34404 34407 34410 34413 34416 34419 34422 34425 34428 34431 34434 34437 34440 34443 34446 34449 34452 34455 34458 34461 34464 34467 34470 34473 34476 34479 34482 34485 34488 34491 34494 34497 34500 34503 34506 34509 34512 34515 34518 34521 34524 34527 34530 34533 34536 34539 34542 34545 34548 34551 34554 34557 34560 34563 34566 34569 34572 34575 34578 34581 34584 34587 34590 34593 34596 34599 34602 34605 34608 34611 34614 34617 34620 34623 34626 34629 34632 34635 34638 34641 34644 34647 34650 34653 34656 34659 34662 34665 34668 34671 34674 34677 34680 34683 34686 34689 34692 34695 34698 34701 34704 34707 34710 34713 34716 34719 34722 34725 34728 34731 34734 34737 34740 34743 34746 34749 34752 34755 34758 34761 34764 34767 -------------- next part -------------- A non-text attachment was scrubbed... Name: emd_2557.vtp Type: text/xml Size: 243207 bytes Desc: not available URL: From david.lonie at kitware.com Mon Mar 13 10:10:22 2017 From: david.lonie at kitware.com (David Lonie) Date: Mon, 13 Mar 2017 10:10:22 -0400 Subject: [vtkusers] Questions about vtkMolecules In-Reply-To: References: Message-ID: On Fri, Mar 10, 2017 at 12:35 PM, Edson Contreras C?rdenas wrote: > 1.- Custom colors for atoms > As I read in this github commit there is a way to change vtkMoleculeMapper's > color array and I was not able to do it, so please can you tell me how to > achieve this :-). I tried several ways with no success. My idea is to > specify specific rgb colors to atoms no matter their atomic number (in order > to display zones of data) This works just like applying colors to points for any other dataset. You can provide a scalar array on the vtkMolecule's PointData and map it through a look up table, or create an array containing the RGBA values themselves. vtkMoleculeMapper uses the same APIs and vtkPolyDataMapper for configuring coloring using these arrays. > 2.- Cell picking (mixed polydata actors and molecule actors) > As I explained above, I was using vtkUnstructuredGrid points + vtkGlyphs and > that also mixed with polydata in something like attached picture > (molecule_box.png). The image consists in a vtkMolecule -> vtkMoleculeMapper > -> vtkActor and vtkCubeSource -> vtkMapper -> vtkActor displayed together in > the same vtkRenderer. The problem is that if a use something like: > > vtkCellPicker* picker = vtkCellPicker::New(); > if( picker->Pick( screen[0], screen[1], 0.0, m_renderer ) ) > { > // detect cube face > } > > It crashes extracting mappers input as vtkPolyData (of vtkMolecule actors) > so, do you have a clue of how to overcome it? Can I exclude actors in > vtkCellPicker to not check for Molecule actors? Should I use other actor > and/or picker? See Domains/Chemistry/Testing/Cxx/TestMoleculeSelection.cxx for an example of how picking works with molecules. It's a bit trickier than picking other datasets, and some of the more generalized methods won't work. There are quite a few examples of how to use vtkMolecule in that directory. > 3.- Dataset values in Atoms > Is there any way of add vtkPointData and/or vtkCellData to a vtkAtom in > order to visualize gradients later with a vtkContourBand or something like > that? My idea is to visualize experimental potential energy and kinetic > energy. You'll want to create a separate dataset (vtkImageData or something) with your gradient data and contour that. vtkMolecule only supports atoms and bonds, with some limited support for molecular orbitals via vtkAbstractElectronicData. > P.D.: I have been developing a very simple port of my project as an > opensource application, for detecting memory leaks and bad practices. The > attached picture comes from there. it can be found under: > https://github.com/zxnord/Qt4VTK7SimpleViewer Cool! Glad to see more chemists using VTK :-) HTH, Dave From kotowski at battelle.org Mon Mar 13 10:30:30 2017 From: kotowski at battelle.org (Kotowski, Patrick) Date: Mon, 13 Mar 2017 14:30:30 +0000 Subject: [vtkusers] vtkBoxWidget Volume Rotation Message-ID: <8DE1D31A13DCE9498D8D9E3BE934333C07936EC0@WP-MBX3B.milky-way.battelle.org> Hello, I am pretty new to the VTK toolkit. I am currently rendering a 3D Image using a vtkGPUVolumeMapper with added bounding boxes as vtkBoxWidgets. These vtkBoxWidgets have rotation, scaling, and translation turned off. Currently the only way to rotate the full volume is by holding the mouse button on an area outside of the vtkBoxWidget and then moving the mouse. Is there a way that I would be able to rotate the volume behind the vtkBoxWidget? Thanks, Patrick Kotowski -------------- next part -------------- An HTML attachment was scrubbed... URL: From elvis.stansvik at orexplore.com Mon Mar 13 12:01:10 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Mon, 13 Mar 2017 17:01:10 +0100 Subject: [vtkusers] Artifacts along bounding box edges in volume rendering In-Reply-To: <000b01d29bde$3bc13b10$b343b130$@gmail.com> References: <000801d29bc8$e71dcca0$b55965e0$@gmail.com> <000b01d29bde$3bc13b10$b343b130$@gmail.com> Message-ID: 2017-03-13 10:43 GMT+01:00 R?bert ?pir : > I used the default parameters from paraview as described here https://blog.kitware.com/new-fxaa-anti-aliasing-option-in-paraviewvtk/ Ah, thanks. Elvis > > Robert > > -----Original Message----- > From: Elvis Stansvik [mailto:elvis.stansvik at orexplore.com] > Sent: Monday, March 13, 2017 9:54 AM > To: R?bert ?pir > Cc: VTK Users > Subject: Re: [vtkusers] Artifacts along bounding box edges in volume rendering > > 2017-03-13 8:10 GMT+01:00 R?bert ?pir : >> Hi Elvis, >> this is caused by multisampling, if you set >> window->SetMultiSamples(0); the artifact will disappear. I can >> reproduce it in your example on windows with nvidia card. >> >> If you need antialiasing, you can try using FXAA which doesn't produce >> these artifacts #include >> >> vtkSmartPointer FXAAOptions = >> vtkSmartPointer::New(); >> FXAAOptions->SetRelativeContrastThreshold(0.125); >> FXAAOptions->SetHardContrastThreshold(0.045); >> FXAAOptions->SetSubpixelBlendLimit(0.75); >> FXAAOptions->SetSubpixelContrastThreshold(0.25); >> FXAAOptions->SetUseHighQualityEndpoints(true); >> FXAAOptions->SetEndpointSearchIterations(12); >> >> renderer->SetFXAAOptions(FXAAOptions); >> renderer->SetUseFXAA(true); >> >> Robert > > That indeed did the trick, and I can't see any ill effects of FXAA for my use case. Many thanks! > > Just a question: The parameters above, how did you derive them? Manual tuning to your use case, or my test case? > > Elvis > >> >> -----Original Message----- >> From: vtkusers [mailto:vtkusers-bounces at vtk.org] On Behalf Of Elvis >> Stansvik >> Sent: Monday, March 13, 2017 7:53 AM >> To: VTK Users >> Subject: Re: [vtkusers] Artifacts along bounding box edges in volume >> rendering >> >> 2017-03-10 10:11 GMT+01:00 Elvis Stansvik : >>> 2017-03-10 10:07 GMT+01:00 Elvis Stansvik : >>>> Hi all, >>>> >>>> I'm trying to debug a problem with artifacts appearing around the >>>> bounding box edges in my volume rendering (at certain camera angles). >>>> I can reproduce the problem with the minimal test case below. In the >>>> attached screen shot, notice the faint white artifacts along the >>>> bounding box edges. >>>> >>>> Anyone know where these come from and how I can fix it? >>> >>> I forgot to say, this is with VTK 7.1.0. >> >> Noone who knows where this comes from? Would be great if someone could >> confirm that they can reproduce it with my test case, as I'm beginning >> to suspect it might be graphics card specific (I'm on Linux, Intel graphics). >> >> Should I post to vtk-dev perhaps? >> >> Elvis >> >>> >>> Elvis >>> >>>> >>>> Thanks in advance, >>>> Elvis >>>> >>>> >>>> main.cpp: >>>> >>>> #include >>>> >>>> #include >>>> #include #include >>>> #include #include >>>> #include #include >>>> #include #include >>>> #include #include >>>> >>>> >>>> int main(int argc, char *argv[]) >>>> { >>>> vtkNew colorFunction; >>>> colorFunction->AddRGBPoint(0.0, 0.0, 0.0, 0.0); >>>> colorFunction->AddRGBPoint(1.0, 0.0, 0.0, 0.0); >>>> >>>> vtkNew opacityFunction; >>>> opacityFunction->AddPoint(0.0, 0.0); >>>> opacityFunction->AddPoint(1.0, 1.0); >>>> >>>> vtkNew data; >>>> data->SetExtent(0, 200, 0, 200, 0, 200); >>>> data->AllocateScalars(VTK_FLOAT, 1); >>>> std::fill_n(static_cast(data->GetScalarPointer()), >>>> 8000000, 0.1); >>>> >>>> vtkNew mapper; >>>> mapper->SetInputData(data.Get()); >>>> >>>> vtkNew property; >>>> property->SetScalarOpacity(opacityFunction.Get()); >>>> property->SetColor(colorFunction.Get()); >>>> >>>> vtkNew volume; >>>> volume->SetMapper(mapper.Get()); >>>> volume->SetProperty(property.Get()); >>>> >>>> vtkNew renderer; >>>> renderer->AddVolume(volume.Get()); >>>> renderer->SetBackground(1.0, 1.0, 1.0); >>>> >>>> vtkNew window; >>>> window->AddRenderer(renderer.Get()); >>>> >>>> // Position camera such that artifacts appear >>>> auto camera = renderer->GetActiveCamera(); >>>> camera->SetPosition(500.0, 220.0, 500.0); >>>> camera->SetFocalPoint(0.0, 80.0, 0.0); >>>> renderer->ResetCameraClippingRange(); >>>> >>>> vtkNew interactor; >>>> interactor->SetRenderWindow(window.Get()); >>>> interactor->Start(); >>>> >>>> return 0; >>>> } >>>> >>>> >>>> CMakeLists.txt: >>>> >>>> cmake_minimum_required(VERSION 3.1) >>>> >>>> project(TestCase) >>>> >>>> set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} /opt/VTK7) >>>> >>>> find_package(VTK 7.1 COMPONENTS >>>> vtkCommonCore >>>> vtkCommonDataModel >>>> vtkCommonExecutionModel >>>> vtkCommonMath >>>> vtkInteractionStyle >>>> vtkRenderingCore >>>> vtkRenderingOpenGL2 >>>> vtkRenderingVolume >>>> vtkRenderingVolumeOpenGL2 >>>> REQUIRED >>>> ) >>>> >>>> add_executable(TestCase WIN32 main.cpp) >>>> >>>> target_link_libraries(TestCase PUBLIC >>>> vtkCommonCore >>>> vtkCommonDataModel >>>> vtkCommonExecutionModel >>>> vtkCommonMath >>>> vtkInteractionStyle >>>> vtkRenderingCore >>>> vtkRenderingOpenGL2 >>>> vtkRenderingVolume >>>> vtkRenderingVolumeOpenGL2 >>>> ) >>>> >>>> target_include_directories(TestCase PUBLIC >>>> ${VTK_INCLUDE_DIRS} >>>> ) >>>> >>>> target_compile_definitions(TestCase PUBLIC >>>> ${VTK_DEFINITIONS} >>>> ) >>>> >>>> set_target_properties(TestCase PROPERTIES >>>> CXX_STANDARD 14 >>>> CXX_STANDARD_REQUIRED ON >>>> ) >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: >> http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers >> > From nour_sn at hotmail.fr Mon Mar 13 14:45:58 2017 From: nour_sn at hotmail.fr (jaki19) Date: Mon, 13 Mar 2017 11:45:58 -0700 (MST) Subject: [vtkusers] Can I use vtkPNGWriter to convert the vtp file? Message-ID: <1489430758854-5742461.post@n5.nabble.com> Hallo, Can I use the vtkPNGWriter to convert this vtp file? 0.65703159571 1.4067492485 -0.071122974157 0.7268204689 1.3479127884 -0.071122974157 0.7268204689 1.4799579382 -0.071122974157 0.78580868244 1.4067492485 -0.071122974157 1.4280683994 1.4067492485 -0.071122974157 1.4536409378 1.3891299963 -0.071122974157 1.4536409378 1.4273985624 -0.071122974157 1.4955159426 1.4067492485 -0.071122974157 2.1663379669 1.6412074566 -0.071122974157 2.1804614067 1.6385703087 -0.071122974157 2.1804614067 1.6514030695 -0.071122974157 2.1860353947 1.6412074566 -0.071122974157 2.1810593605 1.6491852999 -0.071122974157 2.6250286102 1.4067492485 -0.071122974157 2.6650083065 1.3875135183 -0.071122974157 2.6650083065 1.4284353256 -0.071122974157 2.6869971752 1.4067492485 -0.071122974157 4.0443096161 3.0479567051 -0.071122974157 4.1186494827 3.0316622257 -0.071122974157 4.0817227364 3.0544438362 -0.071122974157 4.1186494827 3.0825009346 -0.071122974157 4.1555762291 3.0221011639 -0.071122974157 4.3609228134 3.0385420322 -0.071122974157 4.3474769592 3.0605349541 -0.071122974157 4.3609228134 3.0549764633 -0.071122974157 4.5862355232 0.43318101764 -0.071122974157 4.6031961441 0.36627349257 -0.071122974157 4.5693078041 0.46891644597 -0.071122974157 4.6031961441 0.49431663752 -0.071122974157 4.367002964 3.0479567051 -0.071122974157 4.6165156364 0.46891644597 -0.071122974157 0 1 3 2 0 4 5 7 6 4 8 9 11 12 10 8 13 14 16 15 13 17 18 21 22 29 24 23 20 19 17 25 26 30 28 27 25 5 10 16 21 31 37 Many thanks -- View this message in context: http://vtk.1045678.n5.nabble.com/Can-I-use-vtkPNGWriter-to-convert-the-vtp-file-tp5742461.html Sent from the VTK - Users mailing list archive at Nabble.com. From rccm.kyoshimi at gmail.com Mon Mar 13 22:22:50 2017 From: rccm.kyoshimi at gmail.com (kenichiro yoshimi) Date: Tue, 14 Mar 2017 11:22:50 +0900 Subject: [vtkusers] Triangulate UnstructuredGrid In-Reply-To: <1489215350049-5742431.post@n5.nabble.com> References: <1489215350049-5742431.post@n5.nabble.com> Message-ID: Hi, If you want to smooth the voxel-like surface meshes, how about using vtkSmoothPolyDataFilter after calling vtkTriangleFilter? This example should help: http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/SmoothPolyDataFilter I tried vtkSmoothPolyDataFilter with voxel-like surface, and this worked well (attached code). Thanks, yoshimi 2017-03-11 15:55 GMT+09:00 kilop1989 via vtkusers : > Hello, i work with UnstructuredGrid and i want to triangulate it like in > Paraview (when i clicked for model). > > > How I can do it? > I tried vtkDelaunay3D, vtkDelaunay2D and vtkTriangleFilter. > 1) vtkDelaunay3D > I transformed UnstructuredGrid to vtkPolyData, after used vtkCleanPolyData > and vtkDelaunay3D like in > http://www.paraview.org/Wiki/VTK/Examples/Cxx/Modelling/Delaunay3D. It's not > worked. It's crushed with warning "vtkMath.cxx: Unable to factor linear > system". > 2) vtkDelaunay2D > Similarry i used vtkDelaunay2D, but result not good for me. > > 3) Also i use vtkTriangleFilter, it's result not good for me too. > > > > > -- > View this message in context: http://vtk.1045678.n5.nabble.com/Triangulate-UnstructuredGrid-tp5742431.html > Sent from the VTK - Users mailing list archive at Nabble.com. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers -------------- next part -------------- A non-text attachment was scrubbed... Name: smoothing_sample.tar.gz Type: application/x-gzip Size: 8809 bytes Desc: not available URL: From nour_sn at hotmail.fr Tue Mar 14 03:31:39 2017 From: nour_sn at hotmail.fr (jaki19) Date: Tue, 14 Mar 2017 00:31:39 -0700 (MST) Subject: [vtkusers] fit vtkRenderWindow with polydata image Message-ID: <1489476699317-5742463.post@n5.nabble.com> Hallo, I have a polydata image with 124x126 but the vtkRenderWindow is always 300x300 why?? how can I fit the windows to my polydata borders?? mapper.SetInputConnection(polyDataReader.GetOutputPort()); vtkActor actor = new vtkActor(); actor.SetMapper(mapper); actor.GetBounds(bounds); System.out.println("actor: " + bounds[1] + " x " + bounds[3]); * //124x126* //Create a renderer, render window, and interactor vtkRenderer renderer = new vtkRenderer(); vtkRenderWindow renderWindow = new vtkRenderWindow(); renderWindow.AddRenderer(renderer); vtkRenderWindowInteractor renderWindowInteractor = new vtkRenderWindowInteractor(); renderWindowInteractor.SetRenderWindow(renderWindow); //Add the actor to the scene renderer.AddActor(actor); renderer.SetBackground(0, 0, 0); //Render and interact renderWindow.Render(); //screenshot code: vtkWindowToImageFilter w2if = new vtkWindowToImageFilter(); w2if.SetInput(renderWindow); w2if.Update(); vtkPNGWriter writer = new vtkPNGWriter(); writer.SetFileName("out.png"); *//image 300x300 why??* writer.SetInputData(w2if.GetOutput()); writer.Write(); thanks -- View this message in context: http://vtk.1045678.n5.nabble.com/fit-vtkRenderWindow-with-polydata-image-tp5742463.html Sent from the VTK - Users mailing list archive at Nabble.com. From kailushan at 163.com Tue Mar 14 04:20:15 2017 From: kailushan at 163.com (Kailu Shan) Date: Tue, 14 Mar 2017 16:20:15 +0800 (CST) Subject: [vtkusers] vtk6.3 vs2010 error no override found for Message-ID: <4c52ee8d.a11d.15acbe744e7.Coremail.kailushan@163.com> I am trying to build the project in the directory of "vtk-v6.3.0\vtk\Examples\GUI\Win32\vtkMFC\vtkDLG". But when I try to run the exe, the errors appear? I search the web, and include the following codes in "vtkDLGDlg.h" " #include VTK_MODULE_INIT(vtkRenderingOpenGL); VTK_MODULE_INIT(vtkInteractionStyle); VTK_MODULE_INIT(vtkRenderingContextOpenGL)" But still can not solve the problem, -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 1.JPG Type: image/jpeg Size: 44426 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 8835 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 7985 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 1.JPG Type: image/jpeg Size: 44426 bytes Desc: not available URL: From m.nunes at fratoria.com Tue Mar 14 04:56:45 2017 From: m.nunes at fratoria.com (Shark) Date: Tue, 14 Mar 2017 01:56:45 -0700 (MST) Subject: [vtkusers] vtk6.3 vs2010 error no override found for In-Reply-To: <4c52ee8d.a11d.15acbe744e7.Coremail.kailushan@163.com> References: <4c52ee8d.a11d.15acbe744e7.Coremail.kailushan@163.com> Message-ID: <1489481805863-5742465.post@n5.nabble.com> >From my experience it seems a linking issue. But if you are running the .exe directly in the folder with a double click, then you'll need to add the build folder to your environment variables PATH. You can also set a temporary PATH variable if you run from powershell.exe /cmd.exe and then call the example. As a last test, try running it from the Visual Studio, instead of double clicking it. The lib files and path should be there in the Linker section of project properties. Hope this helps. -- View this message in context: http://vtk.1045678.n5.nabble.com/vtk6-3-vs2010-error-no-override-found-for-tp5742464p5742465.html Sent from the VTK - Users mailing list archive at Nabble.com. From cory.quammen at kitware.com Tue Mar 14 10:56:33 2017 From: cory.quammen at kitware.com (Cory Quammen) Date: Tue, 14 Mar 2017 10:56:33 -0400 Subject: [vtkusers] About writers on windows In-Reply-To: References: Message-ID: Rustem, to clarify, do the Cyrillic characters appear only in the path to which you are saving the file, or do Cyrillic characters appear *in* the file. Thanks, Cory On Fri, Mar 10, 2017 at 10:50 AM, Rustem Khabetdinov wrote: > I am sorry but probably my description of the problem was not very clear. As > far as I know ParaView uses vtk writers but when I save something from > paraview gui everything after that loads fine. And if I open created .vtm > file it says that it has cp1251 encoding. But when I try to use vtk itself > to save multiblock dataset it saves everything in utf-8 encoding and because > of that ParaView is unable to load this file. > > 2017-03-10 17:29 GMT+03:00 Cory Quammen : >> >> Oops, sorry, this is a VTK XML file issue and I pointed to a ParaView >> issue - but I'm guessing the underlying problem is the same. >> >> On Fri, Mar 10, 2017 at 9:28 AM, Cory Quammen >> wrote: >> > Rustem, >> > >> > Unfortunately, there is a longstanding issue with non-Latin characters >> > in ParaView state files: >> > https://gitlab.kitware.com/paraview/paraview/issues/12708 >> > >> > I'm not sure how much work it would be to support non-Latin characters >> > (I'm no UTF-* expert). >> > >> > Best, >> > Cory >> > >> > On Fri, Mar 10, 2017 at 9:10 AM, Rustem Khabetdinov >> > wrote: >> >> Hello, >> >> I am not sure if I should write it here or paraview mailing list but I >> >> have >> >> an issue when I try to save multiblock dataset with >> >> vtkxmlmultiblockdatawriter. When I use it on Windows and try to save >> >> something with cyrillic chars in path it saves everything in UTF-8. So >> >> when >> >> I try to open this file in paraview(or vtk) there is an error that says >> >> that >> >> the xml file is not well-formed. But when I use paraview to save >> >> multiblock >> >> dataset it saves everything with local(cp1251) encoding and I am able >> >> to >> >> open it everywhere. >> >> Is there anything that I need to change in writer in order to use local >> >> encoding in xml files? >> >> >> >> Best Regards, >> >> Rustem Khabetdinov. >> >> >> >> _______________________________________________ >> >> Powered by www.kitware.com >> >> >> >> Visit other Kitware open-source projects at >> >> http://www.kitware.com/opensource/opensource.html >> >> >> >> Please keep messages on-topic and check the VTK FAQ at: >> >> http://www.vtk.org/Wiki/VTK_FAQ >> >> >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> >> >> Follow this link to subscribe/unsubscribe: >> >> http://public.kitware.com/mailman/listinfo/vtkusers >> >> >> > >> > >> > >> > -- >> > Cory Quammen >> > Staff R&D Engineer >> > Kitware, Inc. >> >> >> >> -- >> Cory Quammen >> Staff R&D Engineer >> Kitware, Inc. > > -- Cory Quammen Staff R&D Engineer Kitware, Inc. From elvis.stansvik at orexplore.com Tue Mar 14 12:09:08 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Tue, 14 Mar 2017 17:09:08 +0100 Subject: [vtkusers] Requirements for multiple volumes in one render window In-Reply-To: References: Message-ID: 2016-04-20 15:04 GMT+02:00 Elvis Stansvik : > 2016-03-04 12:00 GMT+01:00 Elvis Stansvik : >> >> 2016-03-02 21:16 GMT+01:00 Aashish Chaudhary >> : >>> >>> Elvis, >>> >>> thanks for the detailed information. I thought about a way of doing >>> this. Basically, I think the mapper has to take multiple inputs and if >>> multiple inputs are present, then we will construct a BBox around it >>> and used that for traversing. Now, internally, we would have to >>> transform the data position to each volume so that we can perform the >>> lookup and set some rules on how to perform compositing (replace, >>> modulate etc.). I will talk to the team here and will add in our todo >>> but we would have check on the priority of it. > > > Any news on how you chose to prioritize this? Is it possible there will be > something in a 7.x point release, or is it further off? I'm still interested in how/if you prioritized this, or if there's even some work going on in some branch? Elvis > > Elvis > >> >> >> Thanks a lot for looking into this and bringing it up with the team. It >> would be a very welcome addition for us, and surely to some others as well. >> >> The approach you outline seems sound to me, but I am a layman in >> visualization :) >> >>> >>> >>> If you want to help us with this then I am more happy to guide you >>> with the process. It won't be very difficult but will require some >>> careful changes to the existing mapper. >> >> >> I'm afraid we're in the middle of a product launch here at work, so I'm >> quite swamped. This is only a small part of the application I'm building. >> I'm also completely new to VTK and visualization in general, so I'm also >> afraid it would be more difficult and time consuming for me than you might >> think (as opposed to a seasoned VTK dev). >> >> I'm of course prepared to try out any changes you do on our data sets, >> should you decide to work on this. >> >> Thanks again, >> Elvis >> >>> >>> Thanks, >>> >>> >>> On Mon, Feb 29, 2016 at 11:46 AM, Elvis Stansvik >>> wrote: >>> > 2016-02-29 16:32 GMT+01:00 Aashish Chaudhary >>> > : >>> >> >>> >> Hi Elvis, >>> >> >>> >> On Sat, Feb 27, 2016 at 12:06 PM, Elvis Stansvik >>> >> wrote: >>> >> > 2016-02-25 17:10 GMT+01:00 Elvis Stansvik >>> >> > : >>> >> >> >>> >> >> Hi, >>> >> >> >>> >> >> From searching around, I think I've gathered that to render >>> >> >> multiple >>> >> >> volumes in a single window, each volume must have its own mapper >>> >> >> and >>> >> >> volume >>> >> >> property. They can't share mapper or property. >>> >> >> >>> >> >> My question is whether I must use separate renderers for each >>> >> >> volume as >>> >> >> well, or if I can use the same renderer for them all? >>> >> >> >>> >> >> Also, I did read something in an old post about problems with >>> >> >> rendering >>> >> >> multiple volumes that intersect (share a voxel). Is this still a >>> >> >> problem? >>> >> >> I'm using VTK 6.2 and the vtkVolumeRayCastMapper. >>> >> >> >>> >> >> Thanks in advance! >>> >> > >>> >> > >>> >> > Including Donny's answer here, to keep the thread intact: >>> >> > >>> >> >> See this thread: >>> >> >> >>> >> >> >>> >> >> >>> >> >> >>> >> >> http://vtk.1045678.n5.nabble.com/Rendering-multiple-volumes-td5734685.html#a5734971 >>> >> > >>> >> > Thanks, that clears some things up, and brings up some workarounds. >>> >> > That >>> >> > thread was from oct/nov last year, so I guess it is still the case >>> >> > that >>> >> > proper rendering of multiple volumes that share voxels in 3D space >>> >> > is >>> >> > not >>> >> > possible? (even with 7.0?). >>> >> >>> >> It depends what you define proper. If you have two volumes and they >>> >> share the exact same space, you can combine them into one volume. When >>> >> they share the same space but do not overlap that's when things get >>> >> tricky since then the outcome depends on how do you want to handle >>> >> this disparity. There could be some other ways such as you combine the >>> >> volume into one. At the rendering level it could get tricky. >>> >> >>> >> What exactly you are trying to do. >>> > >>> > >>> > I see, what I would expect I think is composite rendering of the voxels >>> > using some composite rendering function / blending mode (perhaps >>> > configurable?). >>> > >>> > Sorry if my use case wasn't clear, I'm attaching a rough sketch I did >>> > just >>> > now which should explain it better. >>> > >>> > Each of our volumes is a piece of a drill core (see my photo previously >>> > in >>> > this thread). The pieces were scanned stacked on top of each other in a >>> > plastic tube inside our machine. During scanning, they are not >>> > necessarily >>> > aligned properly (as shown in the sketch, and also in the photo). >>> > >>> > We will do some algorithmic alignment of the volumes, but we must also >>> > allow >>> > the user to override / supplement the automatic alignment when it >>> > fails. >>> > This means the user should be able to rotate and move (along Z axis) >>> > the >>> > pieces until they align. It's like a pussle with pieces of a drill core >>> > :) >>> > >>> > While the user is doing this, the volumes may intersect (noone is >>> > perfect on >>> > the first try). This is why I'm asking about rendering multiple volumes >>> > that >>> > partially intersect in 3D space. >>> > >>> > It's very desirable that the user can see inside the volumes while >>> > doing >>> > this manual alignment, since the features (cracks, density variations, >>> > ...) >>> > inside the rocks may be what guides the user in aligning the pieces >>> > properly. That's why I don't like the idea of letting the user work >>> > with >>> > extracted isosurfaces or similar instead. >>> > >>> > Hope this clears things up a little! >>> > >>> > Elvis >>> > >>> >> >>> >> - Aashish >>> >> >>> >> > >>> >> > Elvis >>> >> > >>> >> >> >>> >> >> Elvis >>> >> > >>> >> > >>> >> > >>> >> > _______________________________________________ >>> >> > Powered by www.kitware.com >>> >> > >>> >> > Visit other Kitware open-source projects at >>> >> > http://www.kitware.com/opensource/opensource.html >>> >> > >>> >> > Please keep messages on-topic and check the VTK FAQ at: >>> >> > http://www.vtk.org/Wiki/VTK_FAQ >>> >> > >>> >> > Search the list archives at: http://markmail.org/search/?q=vtkusers >>> >> > >>> >> > Follow this link to subscribe/unsubscribe: >>> >> > http://public.kitware.com/mailman/listinfo/vtkusers >>> >> > >>> >> >>> >> >>> >> >>> >> -- >>> >> | Aashish Chaudhary >>> >> | Technical Leader >>> >> | Kitware Inc. >>> >> | http://www.kitware.com/company/team/chaudhary.html >>> > >>> > >>> >>> >>> >>> -- >>> | Aashish Chaudhary >>> | Technical Leader >>> | Kitware Inc. >>> | http://www.kitware.com/company/team/chaudhary.html >> >> > From kadircenk3 at hotmail.com Tue Mar 14 12:20:18 2017 From: kadircenk3 at hotmail.com (Kadir Cenk) Date: Tue, 14 Mar 2017 16:20:18 +0000 Subject: [vtkusers] DICOM image rendering problem in VTK-Java Message-ID: Hello, I am trying to develop an application in Java, using VTK to visualize DICOM files read from a directory, using a vtkImageViewer2 object to visualize. Below is the code segment that I try to execute: vtkDICOMImageReader reader = new vtkDICOMImageReader(); reader.SetDirectoryName("~/DICOM/abdomen_bt/3"); reader.Update(); vtkImageViewer2 imageViewer2 = new vtkImageViewer2(); imageViewer2.SetInputConnection(reader.GetOutputPort()); vtkRenderWindowInteractor renderWindowInteractor = new vtkRenderWindowInteractor(); imageViewer2.SetupInteractor(renderWindowInteractor); imageViewer2.Render(); imageViewer2.GetRenderer().ResetCamera(); renderWindowInteractor.Start(); imageViewer2.Render(); My problem is that, this code segment renders an empty screen. But when I convert the same code segment to C++, the window renders the DICOM image successfully. The path to the DICOM directory is valid, and DICOM files are not compressed (180 of them), and I am using VTK 7.1.0. What might be the problem? Any help will be appreciated. Thank you. Kadir Cenk -------------- next part -------------- An HTML attachment was scrubbed... URL: From richard.j.brown at live.co.uk Tue Mar 14 12:50:32 2017 From: richard.j.brown at live.co.uk (mbcx9rb9) Date: Tue, 14 Mar 2017 09:50:32 -0700 (MST) Subject: [vtkusers] VTK deployment with static libraries on Mac (and in Qt Creator) Message-ID: <1489510232520-5742475.post@n5.nabble.com> Hi all, I want to deploy an application that uses VTK on other Macs. I think (I'm new to this) therefore that I need to compile the application using static libraries... So I rebuilt VTK with static libraries. I went to recompile my application in Qt Creator, and I got a bunch of errors that I'll paste at the end of this post. The application compiles without any problems using dynamic libraries in Qt and compiles without any problems with the static libraries when compilation is done through CMake. I know that include(${VTK_USE_FILE}) sets some settings, such as which OpenGL version to use, etc. so I imagine its a problem with my VTK_MODULE_INITs that I use when I compile with Qt Creator. At the moment, my VTK_MODULE_INITs are: #include VTK_MODULE_INIT(vtkRenderingFreeType) VTK_MODULE_INIT(vtkRenderingOpenGL) VTK_MODULE_INIT(vtkInteractionStyle) VTK_MODULE_INIT(vtkRenderingContextOpenGL) Any ideas how I can compile with static libraries in Qt Creator? Thanks in advance. The list of errors is as follows: Undefined symbols for architecture x86_64: "_Get1IndResource", referenced from: _FT_New_Face_From_Resource in libvtkfreetype-7.1.a(ftbase.c.o) "_FSOpenResourceFile", referenced from: _FT_New_Face_From_LWFN in libvtkfreetype-7.1.a(ftbase.c.o) _FT_New_Face_From_Resource in libvtkfreetype-7.1.a(ftbase.c.o) "_OBJC_CLASS_$_NSWindow", referenced from: _OBJC_CLASS_$_vtkCocoaFullScreenWindow in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) objc-class-ref in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) "_CloseResFile", referenced from: _FT_New_Face_From_LWFN in libvtkfreetype-7.1.a(ftbase.c.o) _FT_New_Face_From_Resource in libvtkfreetype-7.1.a(ftbase.c.o) "_objc_msgSendSuper2", referenced from: -[vtkCocoaServer initWithRenderWindow:] in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) -[vtkCocoaTimer initWithInteractor:timerId:] in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindowInteractor.mm.o) -[vtkCocoaGLView initWithFrame:] in libvtkRenderingOpenGL-7.1.a(vtkCocoaGLView.mm.o) -[vtkCocoaGLView updateTrackingAreas] in libvtkRenderingOpenGL-7.1.a(vtkCocoaGLView.mm.o) "_GetHandleSize", referenced from: _vtk_freetype_FT_New_Face_From_FOND in libvtkfreetype-7.1.a(ftbase.c.o) _FT_New_Face_From_LWFN in libvtkfreetype-7.1.a(ftbase.c.o) "_FSRefMakePath", referenced from: _vtk_freetype_FT_New_Face_From_FOND in libvtkfreetype-7.1.a(ftbase.c.o) _lookup_lwfn_by_fond in libvtkfreetype-7.1.a(ftbase.c.o) "_ReleaseResource", referenced from: _vtk_freetype_FT_New_Face_From_FOND in libvtkfreetype-7.1.a(ftbase.c.o) "_GetResInfo", referenced from: _vtk_freetype_FT_New_Face_From_FOND in libvtkfreetype-7.1.a(ftbase.c.o) "_OBJC_CLASS_$_NSOpenGLPixelFormat", referenced from: objc-class-ref in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) "_objc_setProperty_nonatomic", referenced from: -[vtkCocoaGLView setRolloverTrackingArea:] in libvtkRenderingOpenGL-7.1.a(vtkCocoaGLView.mm.o) "_ResError", referenced from: _vtk_freetype_FT_New_Face_From_FOND in libvtkfreetype-7.1.a(ftbase.c.o) _FT_New_Face_From_LWFN in libvtkfreetype-7.1.a(ftbase.c.o) _FT_New_Face_From_Resource in libvtkfreetype-7.1.a(ftbase.c.o) "_NSPointInRect", referenced from: -[vtkCocoaGLView mouseMoved:] in libvtkRenderingOpenGL-7.1.a(vtkCocoaGLView.mm.o) "_UseResFile", referenced from: _FT_New_Face_From_LWFN in libvtkfreetype-7.1.a(ftbase.c.o) _FT_New_Face_From_Resource in libvtkfreetype-7.1.a(ftbase.c.o) "_FSPathMakeRef", referenced from: _lookup_lwfn_by_fond in libvtkfreetype-7.1.a(ftbase.c.o) _FT_New_Face_From_LWFN in libvtkfreetype-7.1.a(ftbase.c.o) _FT_New_Face_From_Resource in libvtkfreetype-7.1.a(ftbase.c.o) "_FSOpenResFile", referenced from: _FT_New_Face_From_LWFN in libvtkfreetype-7.1.a(ftbase.c.o) _FT_New_Face_From_Resource in libvtkfreetype-7.1.a(ftbase.c.o) "__objc_empty_cache", referenced from: _OBJC_METACLASS_$_vtkCocoaFullScreenWindow in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) _OBJC_CLASS_$_vtkCocoaFullScreenWindow in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) _OBJC_CLASS_$_vtkCocoaServer in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) _OBJC_METACLASS_$_vtkCocoaServer in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) _OBJC_CLASS_$_vtkCocoaTimer in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindowInteractor.mm.o) _OBJC_METACLASS_$_vtkCocoaTimer in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindowInteractor.mm.o) _OBJC_CLASS_$_vtkCocoaGLView in libvtkRenderingOpenGL-7.1.a(vtkCocoaGLView.mm.o) ... "_OBJC_CLASS_$_NSEvent", referenced from: objc-class-ref in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindowInteractor.mm.o) "_OBJC_CLASS_$_NSAutoreleasePool", referenced from: objc-class-ref in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindowInteractor.mm.o) "_OBJC_CLASS_$_NSThread", referenced from: objc-class-ref in libvtkRenderingOpenGL-7.1.a(vtkCocoaGLView.mm.o) "_OBJC_CLASS_$_NSTimer", referenced from: objc-class-ref in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindowInteractor.mm.o) "_NSZeroPoint", referenced from: vtkCocoaRenderWindowInteractor::TerminateApp() in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindowInteractor.mm.o) "_OBJC_CLASS_$_NSObject", referenced from: _OBJC_CLASS_$_vtkCocoaServer in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) _OBJC_CLASS_$_vtkCocoaTimer in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindowInteractor.mm.o) "_NSDefaultRunLoopMode", referenced from: -[vtkCocoaTimer startTimerWithInterval:repeating:] in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindowInteractor.mm.o) "_Get1Resource", referenced from: _FT_New_Face_From_LWFN in libvtkfreetype-7.1.a(ftbase.c.o) "_GetResource", referenced from: _vtk_freetype_FT_New_Face_From_FOND in libvtkfreetype-7.1.a(ftbase.c.o) "_NSEventTrackingRunLoopMode", referenced from: -[vtkCocoaTimer startTimerWithInterval:repeating:] in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindowInteractor.mm.o) "___CFConstantStringClassReference", referenced from: CFString in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) CFString in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) CFString in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) CFString in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) CFString in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) CFString in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) CFString in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) ... "_OBJC_CLASS_$_NSView", referenced from: objc-class-ref in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) _OBJC_CLASS_$_vtkCocoaGLView in libvtkRenderingOpenGL-7.1.a(vtkCocoaGLView.mm.o) "_OBJC_CLASS_$_NSMutableDictionary", referenced from: objc-class-ref in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) objc-class-ref in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindowInteractor.mm.o) "_OBJC_CLASS_$_NSScreen", referenced from: objc-class-ref in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) "_OBJC_CLASS_$_NSRunLoop", referenced from: objc-class-ref in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindowInteractor.mm.o) "_OBJC_CLASS_$_NSString", referenced from: objc-class-ref in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) objc-class-ref in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindowInteractor.mm.o) "_HomeResFile", referenced from: _vtk_freetype_FT_New_Face_From_FOND in libvtkfreetype-7.1.a(ftbase.c.o) "_OBJC_METACLASS_$_NSObject", referenced from: _OBJC_METACLASS_$_vtkCocoaFullScreenWindow in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) _OBJC_METACLASS_$_vtkCocoaServer in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) _OBJC_METACLASS_$_vtkCocoaTimer in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindowInteractor.mm.o) _OBJC_METACLASS_$_vtkCocoaGLView in libvtkRenderingOpenGL-7.1.a(vtkCocoaGLView.mm.o) "_CGWarpMouseCursorPosition", referenced from: vtkCocoaRenderWindow::SetCursorPosition(int, int) in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) "_FSGetForkCBInfo", referenced from: _vtk_freetype_FT_New_Face_From_FOND in libvtkfreetype-7.1.a(ftbase.c.o) "_OBJC_CLASS_$_NSTrackingArea", referenced from: objc-class-ref in libvtkRenderingOpenGL-7.1.a(vtkCocoaGLView.mm.o) "_OBJC_CLASS_$_NSCursor", referenced from: objc-class-ref in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) "_NSViewFrameDidChangeNotification", referenced from: -[vtkCocoaServer startObservations] in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) -[vtkCocoaServer stopObservations] in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) "_CFRetain", referenced from: vtkCocoaRenderWindow::New() in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) vtkCocoaRenderWindowInteractor::vtkCocoaRenderWindowInteractor() in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindowInteractor.mm.o) "_OBJC_CLASS_$_NSNotificationCenter", referenced from: objc-class-ref in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) "_OBJC_CLASS_$_NSApplication", referenced from: objc-class-ref in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) objc-class-ref in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindowInteractor.mm.o) "_objc_msgSend_stret", referenced from: -[vtkCocoaServer viewFrameDidChange:] in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) vtkCocoaRenderWindow::SetSize(int, int) in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) vtkCocoaRenderWindow::SetPosition(int, int) in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) vtkCocoaRenderWindow::CreateAWindow() in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) vtkCocoaRenderWindow::GetSize() in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) vtkCocoaRenderWindow::GetScreenSize() in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) vtkCocoaRenderWindow::GetPosition() in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) ... "_CGWindowLevelForKey", referenced from: vtkCocoaRenderWindow::CreateAWindow() in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) "_NSWindowWillCloseNotification", referenced from: -[vtkCocoaServer startObservations] in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) -[vtkCocoaServer stopObservations] in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) "_CFRelease", referenced from: vtkCocoaRenderWindow::~vtkCocoaRenderWindow() in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) vtkCocoaRenderWindowInteractor::~vtkCocoaRenderWindowInteractor() in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindowInteractor.mm.o) vtkCocoaRenderWindowInteractor::~vtkCocoaRenderWindowInteractor() in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindowInteractor.mm.o) "_OBJC_CLASS_$_NSOpenGLContext", referenced from: objc-class-ref in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) "_objc_msgSend", referenced from: vtkCocoaRenderWindow::New() in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) -[vtkCocoaServer startObservations] in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) -[vtkCocoaServer stopObservations] in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) -[vtkCocoaServer windowWillClose:] in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) vtkCocoaRenderWindow::~vtkCocoaRenderWindow() in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) vtkCocoaRenderWindow::DestroyWindow() in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) vtkCocoaRenderWindow::SetWindowName(char const*) in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) ... "_FSGetCatalogInfo", referenced from: _lookup_lwfn_by_fond in libvtkfreetype-7.1.a(ftbase.c.o) _FT_New_Face_From_Resource in libvtkfreetype-7.1.a(ftbase.c.o) "_OBJC_METACLASS_$_NSWindow", referenced from: _OBJC_METACLASS_$_vtkCocoaFullScreenWindow in libvtkRenderingOpenGL-7.1.a(vtkCocoaRenderWindow.mm.o) "_OBJC_METACLASS_$_NSView", referenced from: _OBJC_METACLASS_$_vtkCocoaGLView in libvtkRenderingOpenGL-7.1.a(vtkCocoaGLView.mm.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [../bin-Release/PF3.app/Contents/MacOS/PF3] Error 1 17:50:18: The process "/usr/bin/make" exited with code 2. Error while building/deploying project PF3 (kit: Desktop Qt 5.7.0 clang 64bit) When executing step "Make" -- View this message in context: http://vtk.1045678.n5.nabble.com/VTK-deployment-with-static-libraries-on-Mac-and-in-Qt-Creator-tp5742475.html Sent from the VTK - Users mailing list archive at Nabble.com. From sebastien.jourdain at kitware.com Tue Mar 14 13:05:12 2017 From: sebastien.jourdain at kitware.com (Sebastien Jourdain) Date: Tue, 14 Mar 2017 11:05:12 -0600 Subject: [vtkusers] DICOM image rendering problem in VTK-Java In-Reply-To: References: Message-ID: Hi Kadir, I'm guessing for the path you are not using "~" but the actual absolute path? I don't know anything on the DICOM part, but for Java I would suggest using the vtkCanvas class. Seb On Tue, Mar 14, 2017 at 10:20 AM, Kadir Cenk wrote: > Hello, > > > I am trying to develop an application in Java, using VTK to visualize > DICOM files read from a directory, using a vtkImageViewer2 object to > visualize. Below is the code segment that I try to execute: > > vtkDICOMImageReader reader = new vtkDICOMImageReader(); > reader.SetDirectoryName("~/DICOM/abdomen_bt/3"); > reader.Update(); > > vtkImageViewer2 imageViewer2 = new vtkImageViewer2(); > imageViewer2.SetInputConnection(reader.GetOutputPort()); > > vtkRenderWindowInteractor renderWindowInteractor = new > vtkRenderWindowInteractor(); > > imageViewer2.SetupInteractor(renderWindowInteractor); > > imageViewer2.Render(); > imageViewer2.GetRenderer().ResetCamera(); > renderWindowInteractor.Start(); > imageViewer2.Render(); > > My problem is that, this code segment renders an empty screen. But when I > convert the same code segment to C++, the window renders the DICOM image > successfully. > > The path to the DICOM directory is valid, and DICOM files are not > compressed (180 of them), and I am using VTK 7.1.0. > > What might be the problem? Any help will be appreciated. > > Thank you. > > Kadir Cenk > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sean at rogue-research.com Tue Mar 14 13:25:15 2017 From: sean at rogue-research.com (Sean McBride) Date: Tue, 14 Mar 2017 13:25:15 -0400 Subject: [vtkusers] VTK deployment with static libraries on Mac (and in Qt Creator) In-Reply-To: <1489510232520-5742475.post@n5.nabble.com> References: <1489510232520-5742475.post@n5.nabble.com> Message-ID: <20170314172515.1710714704@mail.rogue-research.com> On Tue, 14 Mar 2017 09:50:32 -0700, mbcx9rb9 said: > "_OBJC_CLASS_$_NSWindow", referenced from: > _OBJC_CLASS_$_vtkCocoaFullScreenWindow in This tells me you aren't linking against Cocoa.framework. Cheers, -- ____________________________________________________________ Sean McBride, B. Eng sean at rogue-research.com Rogue Research www.rogue-research.com Mac Software Developer Montr?al, Qu?bec, Canada From lplavorante at gmail.com Tue Mar 14 14:47:47 2017 From: lplavorante at gmail.com (Luca Pallozzi Lavorante) Date: Tue, 14 Mar 2017 15:47:47 -0300 Subject: [vtkusers] Is vtkCutter thread-safe? Message-ID: Hi vtkusers, I have tried to generate N slices from a vtkUnstructuredGrid using vtkCutter and OpenMP. The code I used is below. slicePosition and sliceNormals are arrays of planes' positions and normals, whereas polys is an array of vtkPolyData used to store each cut for a later append operation using vtkAppendPolyData. #pragma omp parallel for for (size_t i = 0; i < numSlices; ++i) { vtkSmartPointer slice = vtkSmartPointer::New(); slice->SetOrigin(slicePosition[i].x(), slicePosition[i].y(), slicePosition[i].z()); slice->SetNormal(sliceNormal[i].x(), sliceNormal[i].y(), sliceNormal[i].z()); slice->Modified(); vtkSmartPointer cutter = vtkSmartPointer::New(); cutter->SetInputData(m_data); cutter->GenerateTrianglesOff(); cutter->ReleaseDataFlagOn(); cutter->SetCutFunction(slice); cutter->Update(); vtkSmartPointer poly = vtkSmartPointer::New(); poly->DeepCopy(cutter->GetOutput()); poly->Modified(); polys[i] = poly; } This code generates segmentation faults and I would like to know whether it is safe to create and deal with a different instance of vtkCutter in different threads, as I am trying to do with the macro '#pragma omp parallel for'. What I am trying to do is to slice my dataset using a set of parallel planes. Thank you in advance for any help. Luca Pallozzi Lavorante -------------- next part -------------- An HTML attachment was scrubbed... URL: From hahnse at ornl.gov Tue Mar 14 17:08:30 2017 From: hahnse at ornl.gov (Hahn, Steven E.) Date: Tue, 14 Mar 2017 21:08:30 +0000 Subject: [vtkusers] Is vtkCutter thread-safe? In-Reply-To: References: Message-ID: Hi Luca, Are you using master? Last week I added a merge request making vtkCutter thread-safe. https://gitlab.kitware.com/vtk/vtk/merge_requests/2541 Steven From: vtkusers on behalf of Luca Pallozzi Lavorante Date: Tuesday, March 14, 2017 at 2:47 PM To: vtk Subject: [vtkusers] Is vtkCutter thread-safe? Hi vtkusers, I have tried to generate N slices from a vtkUnstructuredGrid using vtkCutter and OpenMP. The code I used is below. slicePosition and sliceNormals are arrays of planes' positions and normals, whereas polys is an array of vtkPolyData used to store each cut for a later append operation using vtkAppendPolyData. #pragma omp parallel for for (size_t i = 0; i < numSlices; ++i) { vtkSmartPointer slice = vtkSmartPointer::New(); slice->SetOrigin(slicePosition[i].x(), slicePosition[i].y(), slicePosition[i].z()); slice->SetNormal(sliceNormal[i].x(), sliceNormal[i].y(), sliceNormal[i].z()); slice->Modified(); vtkSmartPointer cutter = vtkSmartPointer::New(); cutter->SetInputData(m_data); cutter->GenerateTrianglesOff(); cutter->ReleaseDataFlagOn(); cutter->SetCutFunction(slice); cutter->Update(); vtkSmartPointer poly = vtkSmartPointer::New(); poly->DeepCopy(cutter->GetOutput()); poly->Modified(); polys[i] = poly; } This code generates segmentation faults and I would like to know whether it is safe to create and deal with a different instance of vtkCutter in different threads, as I am trying to do with the macro '#pragma omp parallel for'. What I am trying to do is to slice my dataset using a set of parallel planes. Thank you in advance for any help. Luca Pallozzi Lavorante -------------- next part -------------- An HTML attachment was scrubbed... URL: From max.vasin at outlook.com Wed Mar 15 07:30:36 2017 From: max.vasin at outlook.com (Vasin Max) Date: Wed, 15 Mar 2017 11:30:36 +0000 Subject: [vtkusers] Direction of chart axes Message-ID: Hello, VTK users! I would line to flip the left axis of a vtkChart (i.e. to have the minimum value at the top and maximum at the bottom). So far I have managed to do this with the FIXED vtkAxis behavior and manual assignment of Minimum and Maximum Properties of the axis. Is this the correct way to do? Can I combine flipping the axis and automatic scaling of it? If I comment out LINE 1, LINE 2 and LINE 3 (see below) the GetMaximum and GetMinimum after plotCurve->SetInputData return 6.66 and 0. How can I get zoom using mouse wheel working? Right now when the range on the bottom axis shrinks the range on the left axis grows. Restoring the zoom with R key does not work. The code of my test program follows. I am using VTK 7.1.0. Thanks in advance. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char* argv[]) { QApplication app(argc, argv); QVTKWidget widget; widget.resize( 256, 256 ); auto plotView = new QVTKWidget; auto chart = vtkSmartPointer::New(); chart->GetAxis(vtkAxis::LEFT)->SetTitle("Sine"); chart->GetAxis(vtkAxis::LEFT)->SetMinimum(1.0); // LINE 1 chart->GetAxis(vtkAxis::LEFT)->SetMaximum(-1.0); // LINE 2 chart->GetAxis(vtkAxis::LEFT)->SetBehavior(vtkAxis::FIXED); // LINE 3 auto plotCurve = chart->AddPlot(vtkChart::LINE); auto table = vtkSmartPointer::New(); auto xs = vtkSmartPointer::New(); auto ys = vtkSmartPointer::New(); xs->SetName("X"); ys->SetName("Y"); for (auto i = 0.0; i < 10.0; i+=0.1) { xs->InsertNextValue(i); ys->InsertNextValue(sin(i)); } table->AddColumn(xs); table->AddColumn(ys); plotCurve->SetInputData(table, 0, 1); auto chartView = vtkSmartPointer::New(); chartView->GetRenderer()->SetBackground(1.0, 1.0, 1.0); chartView->GetScene()->AddItem(chart); chartView->SetInteractor(plotView->GetInteractor()); plotView->SetRenderWindow(chartView->GetRenderWindow()); plotView->setMinimumSize(500, 600); plotView->show(); app.exec(); } -- WBR, Max Vasin. From lplavorante at gmail.com Wed Mar 15 07:41:33 2017 From: lplavorante at gmail.com (Luca Pallozzi Lavorante) Date: Wed, 15 Mar 2017 08:41:33 -0300 Subject: [vtkusers] Is vtkCutter thread-safe? In-Reply-To: References: Message-ID: Hi Steven, thank you for your reply. I am using VTK 7.0. Are you using vtkCutter in different threads with the same input data? This is my case. Thank you Luca On Tue, Mar 14, 2017 at 6:08 PM, Hahn, Steven E. wrote: > Hi Luca, > > > > Are you using master? Last week I added a merge request making vtkCutter > thread-safe. > > https://gitlab.kitware.com/vtk/vtk/merge_requests/2541 > > > > Steven > > > > *From: *vtkusers on behalf of Luca Pallozzi > Lavorante > *Date: *Tuesday, March 14, 2017 at 2:47 PM > *To: *vtk > *Subject: *[vtkusers] Is vtkCutter thread-safe? > > > > Hi vtkusers, > > I have tried to generate N slices from a vtkUnstructuredGrid using > vtkCutter and OpenMP. The code I used is below. slicePosition and > sliceNormals are arrays of planes' positions and normals, whereas polys is > an array of vtkPolyData used to store each cut for a later append operation > using vtkAppendPolyData. > > #pragma omp parallel for > for (size_t i = 0; i < numSlices; ++i) { > vtkSmartPointer slice = vtkSmartPointer:: > New(); > slice->SetOrigin(slicePosition[i].x(), slicePosition[i].y(), > slicePosition[i].z()); > slice->SetNormal(sliceNormal[i].x(), sliceNormal[i].y(), > sliceNormal[i].z()); > slice->Modified(); > > vtkSmartPointer cutter = vtkSmartPointer:: > New(); > cutter->SetInputData(m_data); > cutter->GenerateTrianglesOff(); > cutter->ReleaseDataFlagOn(); > cutter->SetCutFunction(slice); > cutter->Update(); > > vtkSmartPointer poly = vtkSmartPointer:: > New(); > poly->DeepCopy(cutter->GetOutput()); > poly->Modified(); > polys[i] = poly; > } > > This code generates segmentation faults and I would like to know whether > it is safe to create and deal with a different instance of vtkCutter in > different threads, as I am trying to do with the macro '#pragma omp > parallel for'. What I am trying to do is to slice my dataset using a set of > parallel planes. > > > Thank you in advance for any help. > > Luca Pallozzi Lavorante > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hahnse at ornl.gov Wed Mar 15 08:46:41 2017 From: hahnse at ornl.gov (Hahn, Steven E.) Date: Wed, 15 Mar 2017 12:46:41 +0000 Subject: [vtkusers] Is vtkCutter thread-safe? In-Reply-To: References: , Message-ID: <1489582040522.33772@ornl.gov> ?Luca, Yes, ParaView's vtkThreeSliceFilter does multiple cuts in different threads. https://gitlab.kitware.com/paraview/paraview/merge_requests/1273 Steven ________________________________ From: Luca Pallozzi Lavorante Sent: Wednesday, March 15, 2017 7:41 AM To: Hahn, Steven E. Cc: vtk Subject: Re: [vtkusers] Is vtkCutter thread-safe? Hi Steven, thank you for your reply. I am using VTK 7.0. Are you using vtkCutter in different threads with the same input data? This is my case. Thank you Luca On Tue, Mar 14, 2017 at 6:08 PM, Hahn, Steven E. > wrote: Hi Luca, Are you using master? Last week I added a merge request making vtkCutter thread-safe. https://gitlab.kitware.com/vtk/vtk/merge_requests/2541 Steven From: vtkusers > on behalf of Luca Pallozzi Lavorante > Date: Tuesday, March 14, 2017 at 2:47 PM To: vtk > Subject: [vtkusers] Is vtkCutter thread-safe? Hi vtkusers, I have tried to generate N slices from a vtkUnstructuredGrid using vtkCutter and OpenMP. The code I used is below. slicePosition and sliceNormals are arrays of planes' positions and normals, whereas polys is an array of vtkPolyData used to store each cut for a later append operation using vtkAppendPolyData. #pragma omp parallel for for (size_t i = 0; i < numSlices; ++i) { vtkSmartPointer slice = vtkSmartPointer::New(); slice->SetOrigin(slicePosition[i].x(), slicePosition[i].y(), slicePosition[i].z()); slice->SetNormal(sliceNormal[i].x(), sliceNormal[i].y(), sliceNormal[i].z()); slice->Modified(); vtkSmartPointer cutter = vtkSmartPointer::New(); cutter->SetInputData(m_data); cutter->GenerateTrianglesOff(); cutter->ReleaseDataFlagOn(); cutter->SetCutFunction(slice); cutter->Update(); vtkSmartPointer poly = vtkSmartPointer::New(); poly->DeepCopy(cutter->GetOutput()); poly->Modified(); polys[i] = poly; } This code generates segmentation faults and I would like to know whether it is safe to create and deal with a different instance of vtkCutter in different threads, as I am trying to do with the macro '#pragma omp parallel for'. What I am trying to do is to slice my dataset using a set of parallel planes. Thank you in advance for any help. Luca Pallozzi Lavorante -------------- next part -------------- An HTML attachment was scrubbed... URL: From cory.quammen at kitware.com Wed Mar 15 10:11:36 2017 From: cory.quammen at kitware.com (Cory Quammen) Date: Wed, 15 Mar 2017 10:11:36 -0400 Subject: [vtkusers] About writers on windows In-Reply-To: References: Message-ID: Echoing to the list as this is useful information. Thanks, Cory On Tue, Mar 14, 2017 at 4:34 PM, Rustem Khabetdinov wrote: > Hello, > > Actually today I managed to fix this problem. I noticed that the only > difference between ParaView and VTK generated files is the first line of > .vtm file where the xml version tag is. So I disabled it using > EncodeAppendedDataOff() and the error is gone. > > Thank you, > Rustem. > > 2017-03-14 17:56 GMT+03:00 Cory Quammen : >> >> Rustem, to clarify, do the Cyrillic characters appear only in the path >> to which you are saving the file, or do Cyrillic characters appear >> *in* the file. >> >> Thanks, >> Cory >> >> On Fri, Mar 10, 2017 at 10:50 AM, Rustem Khabetdinov >> wrote: >> > I am sorry but probably my description of the problem was not very >> > clear. As >> > far as I know ParaView uses vtk writers but when I save something from >> > paraview gui everything after that loads fine. And if I open created >> > .vtm >> > file it says that it has cp1251 encoding. But when I try to use vtk >> > itself >> > to save multiblock dataset it saves everything in utf-8 encoding and >> > because >> > of that ParaView is unable to load this file. >> > >> > 2017-03-10 17:29 GMT+03:00 Cory Quammen : >> >> >> >> Oops, sorry, this is a VTK XML file issue and I pointed to a ParaView >> >> issue - but I'm guessing the underlying problem is the same. >> >> >> >> On Fri, Mar 10, 2017 at 9:28 AM, Cory Quammen >> >> >> >> wrote: >> >> > Rustem, >> >> > >> >> > Unfortunately, there is a longstanding issue with non-Latin >> >> > characters >> >> > in ParaView state files: >> >> > https://gitlab.kitware.com/paraview/paraview/issues/12708 >> >> > >> >> > I'm not sure how much work it would be to support non-Latin >> >> > characters >> >> > (I'm no UTF-* expert). >> >> > >> >> > Best, >> >> > Cory >> >> > >> >> > On Fri, Mar 10, 2017 at 9:10 AM, Rustem Khabetdinov >> >> > wrote: >> >> >> Hello, >> >> >> I am not sure if I should write it here or paraview mailing list but >> >> >> I >> >> >> have >> >> >> an issue when I try to save multiblock dataset with >> >> >> vtkxmlmultiblockdatawriter. When I use it on Windows and try to save >> >> >> something with cyrillic chars in path it saves everything in UTF-8. >> >> >> So >> >> >> when >> >> >> I try to open this file in paraview(or vtk) there is an error that >> >> >> says >> >> >> that >> >> >> the xml file is not well-formed. But when I use paraview to save >> >> >> multiblock >> >> >> dataset it saves everything with local(cp1251) encoding and I am >> >> >> able >> >> >> to >> >> >> open it everywhere. >> >> >> Is there anything that I need to change in writer in order to use >> >> >> local >> >> >> encoding in xml files? >> >> >> >> >> >> Best Regards, >> >> >> Rustem Khabetdinov. >> >> >> >> >> >> _______________________________________________ >> >> >> Powered by www.kitware.com >> >> >> >> >> >> Visit other Kitware open-source projects at >> >> >> http://www.kitware.com/opensource/opensource.html >> >> >> >> >> >> Please keep messages on-topic and check the VTK FAQ at: >> >> >> http://www.vtk.org/Wiki/VTK_FAQ >> >> >> >> >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> >> >> >> >> Follow this link to subscribe/unsubscribe: >> >> >> http://public.kitware.com/mailman/listinfo/vtkusers >> >> >> >> >> > >> >> > >> >> > >> >> > -- >> >> > Cory Quammen >> >> > Staff R&D Engineer >> >> > Kitware, Inc. >> >> >> >> >> >> >> >> -- >> >> Cory Quammen >> >> Staff R&D Engineer >> >> Kitware, Inc. >> > >> > >> >> >> >> -- >> Cory Quammen >> Staff R&D Engineer >> Kitware, Inc. > > -- Cory Quammen Staff R&D Engineer Kitware, Inc. From richard.j.brown at live.co.uk Wed Mar 15 10:13:39 2017 From: richard.j.brown at live.co.uk (Richard Brown) Date: Wed, 15 Mar 2017 14:13:39 +0000 Subject: [vtkusers] VTK deployment with static libraries on Mac (and in Qt Creator) In-Reply-To: <20170314172515.1710714704@mail.rogue-research.com> References: <1489510232520-5742475.post@n5.nabble.com> <20170314172515.1710714704@mail.rogue-research.com> Message-ID: Hi Sean, So how do I go about linking against Cocoa.framework. With another VTK_MODULE_INIT? Regards, Richard > On 14 Mar 2017, at 18:25, Sean McBride wrote: > > On Tue, 14 Mar 2017 09:50:32 -0700, mbcx9rb9 said: > >> "_OBJC_CLASS_$_NSWindow", referenced from: >> _OBJC_CLASS_$_vtkCocoaFullScreenWindow in > > This tells me you aren't linking against Cocoa.framework. > > Cheers, > > -- > ____________________________________________________________ > Sean McBride, B. Eng sean at rogue-research.com > Rogue Research www.rogue-research.com > Mac Software Developer Montr?al, Qu?bec, Canada > > From dan.lipsa at kitware.com Wed Mar 15 11:44:37 2017 From: dan.lipsa at kitware.com (Dan Lipsa) Date: Wed, 15 Mar 2017 11:44:37 -0400 Subject: [vtkusers] place arrows equally spaced along streamlines Message-ID: Hi all, I would like to place arrow glyphs equally spaced along streamlines. I am using vtkStreamTracer. The only way I see to do this is to add an option to vtkStreamTracer to compute the distance from the seed and add this as a point data to the the streamline. Than, I can use contour to get the points where I need to place the arrows. Is there any other simpler way? Do you have any suggestions with this? Thanks, Dan -------------- next part -------------- An HTML attachment was scrubbed... URL: From cory.quammen at kitware.com Wed Mar 15 12:08:49 2017 From: cory.quammen at kitware.com (Cory Quammen) Date: Wed, 15 Mar 2017 12:08:49 -0400 Subject: [vtkusers] place arrows equally spaced along streamlines In-Reply-To: References: Message-ID: Dan, Another way would be to normalize your vector field, run the stream tracer on it, and then contour by integration time. That should give you evenly spaced samples along the streamline when you run the contour filter on it. A quick test of this in ParaView looks like it should work. See attached images. The one with the normalized velocity field has even spacing, the one with the non-normalized velocity field does not. Cory On Wed, Mar 15, 2017 at 11:44 AM, Dan Lipsa wrote: > Hi all, > I would like to place arrow glyphs equally spaced along streamlines. I am > using vtkStreamTracer. > The only way I see to do this is to add an option to vtkStreamTracer to > compute the distance from the seed and add this as a point data to the the > streamline. Than, I can use contour to get the points where I need to place > the arrows. > > Is there any other simpler way? Do you have any suggestions with this? > > Thanks, > Dan > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -- Cory Quammen Staff R&D Engineer Kitware, Inc. -------------- next part -------------- A non-text attachment was scrubbed... Name: EvenSpacing.png Type: image/png Size: 60394 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: NoNormalization.png Type: image/png Size: 62708 bytes Desc: not available URL: From lplavorante at gmail.com Wed Mar 15 13:01:04 2017 From: lplavorante at gmail.com (Luca Pallozzi Lavorante) Date: Wed, 15 Mar 2017 14:01:04 -0300 Subject: [vtkusers] Is vtkCutter thread-safe? In-Reply-To: References: <1489582040522.33772@ornl.gov> Message-ID: Hi Steven, once again, thank you for your reply. Is there any plan of incorporating a thread-safe version of vtkCutter into VTK? I mean, something equivalent to Paraview's vtkThreeSliceFilter? Thank you Luca On Wed, Mar 15, 2017 at 10:40 AM, Luca Pallozzi Lavorante < lplavorante at gmail.com> wrote: > I understand. I don't know if this is a silly question, but will this > class be incorporated into VTK? > > Thank you > > Luca > > On Wed, Mar 15, 2017 at 9:46 AM, Hahn, Steven E. wrote: > >> ?Luca, >> >> >> Yes, ParaView's vtkThreeSliceFilter does multiple cuts in different >> threads. >> >> https://gitlab.kitware.com/paraview/paraview/merge_requests/1273 >> >> Steven >> >> ------------------------------ >> *From:* Luca Pallozzi Lavorante >> *Sent:* Wednesday, March 15, 2017 7:41 AM >> *To:* Hahn, Steven E. >> *Cc:* vtk >> *Subject:* Re: [vtkusers] Is vtkCutter thread-safe? >> >> Hi Steven, thank you for your reply. >> I am using VTK 7.0. Are you using vtkCutter in different threads with the >> same input data? This is my case. >> >> Thank you >> >> Luca >> >> On Tue, Mar 14, 2017 at 6:08 PM, Hahn, Steven E. wrote: >> >>> Hi Luca, >>> >>> >>> >>> Are you using master? Last week I added a merge request making vtkCutter >>> thread-safe. >>> >>> https://gitlab.kitware.com/vtk/vtk/merge_requests/2541 >>> >>> >>> >>> Steven >>> >>> >>> >>> *From: *vtkusers on behalf of Luca Pallozzi >>> Lavorante >>> *Date: *Tuesday, March 14, 2017 at 2:47 PM >>> *To: *vtk >>> *Subject: *[vtkusers] Is vtkCutter thread-safe? >>> >>> >>> >>> Hi vtkusers, >>> >>> I have tried to generate N slices from a vtkUnstructuredGrid using >>> vtkCutter and OpenMP. The code I used is below. slicePosition and >>> sliceNormals are arrays of planes' positions and normals, whereas polys is >>> an array of vtkPolyData used to store each cut for a later append operation >>> using vtkAppendPolyData. >>> >>> #pragma omp parallel for >>> for (size_t i = 0; i < numSlices; ++i) { >>> vtkSmartPointer slice = vtkSmartPointer::New >>> (); >>> slice->SetOrigin(slicePosition[i].x(), slicePosition[i].y(), >>> slicePosition[i].z()); >>> slice->SetNormal(sliceNormal[i].x(), sliceNormal[i].y(), >>> sliceNormal[i].z()); >>> slice->Modified(); >>> >>> vtkSmartPointer cutter = >>> vtkSmartPointer::New(); >>> cutter->SetInputData(m_data); >>> cutter->GenerateTrianglesOff(); >>> cutter->ReleaseDataFlagOn(); >>> cutter->SetCutFunction(slice); >>> cutter->Update(); >>> >>> vtkSmartPointer poly = >>> vtkSmartPointer::New(); >>> poly->DeepCopy(cutter->GetOutput()); >>> poly->Modified(); >>> polys[i] = poly; >>> } >>> >>> This code generates segmentation faults and I would like to know whether >>> it is safe to create and deal with a different instance of vtkCutter in >>> different threads, as I am trying to do with the macro '#pragma omp >>> parallel for'. What I am trying to do is to slice my dataset using a set of >>> parallel planes. >>> >>> >>> Thank you in advance for any help. >>> >>> Luca Pallozzi Lavorante >>> >>> >>> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From vtk12af6bc42 at kant.sophonet.de Wed Mar 15 13:31:47 2017 From: vtk12af6bc42 at kant.sophonet.de (Sophonet) Date: Wed, 15 Mar 2017 18:31:47 +0100 Subject: [vtkusers] =?utf-8?q?VTK_runtime_behavior=3A_Revert_to_OpenGL_if_?= =?utf-8?q?OpenGL2_is_not_supported=3F?= Message-ID: Hi list, my VTK 7.1.0 application works nicely with the OpenGL2 backend - however, if I use windows remote desktop, it does not start correctly, since remote desktop only supports OpenGL1.1 (which is well known and has been discussed in this list). would it be possible somehow during runtime to (automatically / manually) revert to the OpenGL if OpenGL2 is not available? As far as I recall, one has to specify either OpenGL or OpenGL2 as backend in CMake, so make the choice at configuration/compile time (instead of runtime). Best, sophonet From mat-83 at mail.ru Wed Mar 15 16:18:12 2017 From: mat-83 at mail.ru (kilop1989) Date: Wed, 15 Mar 2017 13:18:12 -0700 (MST) Subject: [vtkusers] Dll with vtk functions Message-ID: <1489609092711-5742490.post@n5.nabble.com> How to create dl with vtk functions using cmake? -- View this message in context: http://vtk.1045678.n5.nabble.com/Dll-with-vtk-functions-tp5742490.html Sent from the VTK - Users mailing list archive at Nabble.com. From dan.lipsa at kitware.com Wed Mar 15 21:20:42 2017 From: dan.lipsa at kitware.com (Dan Lipsa) Date: Wed, 15 Mar 2017 21:20:42 -0400 Subject: [vtkusers] place arrows equally spaced along streamlines In-Reply-To: References: Message-ID: Thanks Cory! This works very nice! Dan On Wed, Mar 15, 2017 at 12:08 PM, Cory Quammen wrote: > Dan, > > Another way would be to normalize your vector field, run the stream > tracer on it, and then contour by integration time. That should give > you evenly spaced samples along the streamline when you run the > contour filter on it. > > A quick test of this in ParaView looks like it should work. See > attached images. The one with the normalized velocity field has even > spacing, the one with the non-normalized velocity field does not. > > Cory > > On Wed, Mar 15, 2017 at 11:44 AM, Dan Lipsa wrote: > > Hi all, > > I would like to place arrow glyphs equally spaced along streamlines. I am > > using vtkStreamTracer. > > The only way I see to do this is to add an option to vtkStreamTracer to > > compute the distance from the seed and add this as a point data to the > the > > streamline. Than, I can use contour to get the points where I need to > place > > the arrows. > > > > Is there any other simpler way? Do you have any suggestions with this? > > > > Thanks, > > Dan > > > > > > _______________________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Please keep messages on-topic and check the VTK FAQ at: > > http://www.vtk.org/Wiki/VTK_FAQ > > > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > > > Follow this link to subscribe/unsubscribe: > > http://public.kitware.com/mailman/listinfo/vtkusers > > > > > > -- > Cory Quammen > Staff R&D Engineer > Kitware, Inc. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sunxiasx at foxmail.com Thu Mar 16 09:23:18 2017 From: sunxiasx at foxmail.com (Summer Sun) Date: Thu, 16 Mar 2017 06:23:18 -0700 (MST) Subject: [vtkusers] Ordering wrong when convert vtkImageData to vtkPolyData Message-ID: <1489670598458-5742492.post@n5.nabble.com> I have a 2d vtkImageData with only two value, 0 and 255. I want to get a boundary of pixels valued 255. Currently I use vtkMarchingSquares to get the vtkPolyData but the order of points are wrong, therefore the result is shown below. How may I fix this ordering probem? Or is there any other way for me to get and draw the boundary on original image? -- View this message in context: http://vtk.1045678.n5.nabble.com/Ordering-wrong-when-convert-vtkImageData-to-vtkPolyData-tp5742492.html Sent from the VTK - Users mailing list archive at Nabble.com. From david.gobbi at gmail.com Thu Mar 16 09:32:10 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Thu, 16 Mar 2017 07:32:10 -0600 Subject: [vtkusers] Ordering wrong when convert vtkImageData to vtkPolyData In-Reply-To: <1489670598458-5742492.post@n5.nabble.com> References: <1489670598458-5742492.post@n5.nabble.com> Message-ID: Hi Summer, The output of vtkMarchingSquares is a set of line segments. If you call GetLines() on the output, you get a vtkCellArray that contains the line segments. However, the line segments are not in order. To put the line segments in order, try using vtkStripper. The vtkStripper takes line segments as input, and produces a polyline as output. So if you call GetLines() on the output of vtkStripper, then the vtkCellArray should index the points in the correct order. Cheers, - David On Thu, Mar 16, 2017 at 7:23 AM, Summer Sun wrote: > I have a 2d vtkImageData with only two value, 0 and 255. > > I want to get a boundary of pixels valued 255. > > Currently I use vtkMarchingSquares to get the vtkPolyData but the order of > points are wrong, therefore the result is shown below. > > > How may I fix this ordering probem? > Or is there any other way for me to get and draw the boundary on original > image? > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sean at rogue-research.com Thu Mar 16 12:01:14 2017 From: sean at rogue-research.com (Sean McBride) Date: Thu, 16 Mar 2017 12:01:14 -0400 Subject: [vtkusers] VTK deployment with static libraries on Mac (and in Qt Creator) In-Reply-To: References: <1489510232520-5742475.post@n5.nabble.com> <20170314172515.1710714704@mail.rogue-research.com> Message-ID: <20170316160114.1222247310@mail.rogue-research.com> On Wed, 15 Mar 2017 14:13:39 +0000, Richard Brown said: >So how do I go about linking against Cocoa.framework. With another >VTK_MODULE_INIT? You need to do that when building your application, as opposed to building VTK. Do you build your app with CMake? With Xcode? With something else? Presumably you're ultimately using clang, in which case something needs to pass "-framework Cocoa" to it. Cheers, -- ____________________________________________________________ Sean McBride, B. Eng sean at rogue-research.com Rogue Research www.rogue-research.com Mac Software Developer Montr?al, Qu?bec, Canada From richard.j.brown at live.co.uk Thu Mar 16 12:07:54 2017 From: richard.j.brown at live.co.uk (mbcx9rb9) Date: Thu, 16 Mar 2017 09:07:54 -0700 (MST) Subject: [vtkusers] VTK deployment with static libraries on Mac (and in Qt Creator) In-Reply-To: <20170316160114.1222247310@mail.rogue-research.com> References: <1489510232520-5742475.post@n5.nabble.com> <20170314172515.1710714704@mail.rogue-research.com> <20170316160114.1222247310@mail.rogue-research.com> Message-ID: Building in Qt Creator gives this error. Building with Cmake compiles without any problems (I assumed due to VTK_USE_FILE). Also I can compile the program in Qt Creator using dylibs without any problems (so I guess normally Qt links to Cocoa, it's just linking to cocoa when using static libs in Qt that causes the problem). Thanks On 16 Mar 2017 5:01 p.m., "Sean McBride [via VTK]" wrote: On Wed, 15 Mar 2017 14:13:39 +0000, Richard Brown said: >So how do I go about linking against Cocoa.framework. With another >VTK_MODULE_INIT? You need to do that when building your application, as opposed to building VTK. Do you build your app with CMake? With Xcode? With something else? Presumably you're ultimately using clang, in which case something needs to pass "-framework Cocoa" to it. Cheers, -- ____________________________________________________________ Sean McBride, B. Eng [hidden email] Rogue Research www.rogue-research.com Mac Software Developer Montr?al, Qu?bec, Canada _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ Search the list archives at: http://markmail.org/search/?q=vtkusers Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/vtkusers ________________________________ If you reply to this email, your message will be added to the discussion below: http://vtk.1045678.n5.nabble.com/VTK-deployment-with-static-libraries-on-Mac-and-in-Qt-Creator-tp5742475p5742496.html To unsubscribe from VTK deployment with static libraries on Mac (and in Qt Creator), click here. NAML -- View this message in context: http://vtk.1045678.n5.nabble.com/VTK-deployment-with-static-libraries-on-Mac-and-in-Qt-Creator-tp5742475p5742498.html Sent from the VTK - Users mailing list archive at Nabble.com. -------------- next part -------------- An HTML attachment was scrubbed... URL: From sunxiasx at foxmail.com Fri Mar 17 01:13:18 2017 From: sunxiasx at foxmail.com (Summer Sun) Date: Thu, 16 Mar 2017 22:13:18 -0700 (MST) Subject: [vtkusers] Ordering wrong when convert vtkImageData to vtkPolyData In-Reply-To: References: <1489670598458-5742492.post@n5.nabble.com> Message-ID: <1489727598723-5742502.post@n5.nabble.com> Thank you so much David, I have tried your method but the result I use vtkStripper is exactly the *same*... I saw the vtk documents below that might be help but I don't quite get it: --- *Warning* If triangle strips or poly-lines exist in the input data they *will be passed through to the output data*. This filter will only construct triangle strips if triangle polygons are available; and will only construct poly-lines if lines are available. --- *Here's my related code:* ... /// get marching squares of image data/ vtkSmartPointer segContour = vtkSmartPointer::New(); segContour->SetInputData(segmentation); /// segmentation is my image data/ segContour->SetValue(0, 255); segContour->Update(); /// use vtkStripper to process marching squares data/ vtkSmartPointer segPolyStripper = vtkSmartPointer::New(); segPolyStripper->SetInputData(segContour->GetOutput()); segPolyStripper->Update(); /// draw the contour/ contourWidget->Initialize(segPolyStripper->GetOutput()); ... Thanks for your help Summer -- View this message in context: http://vtk.1045678.n5.nabble.com/Ordering-wrong-when-convert-vtkImageData-to-vtkPolyData-tp5742492p5742502.html Sent from the VTK - Users mailing list archive at Nabble.com. From david.gobbi at gmail.com Fri Mar 17 02:25:11 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Fri, 17 Mar 2017 00:25:11 -0600 Subject: [vtkusers] Ordering wrong when convert vtkImageData to vtkPolyData In-Reply-To: <1489727598723-5742502.post@n5.nabble.com> References: <1489670598458-5742492.post@n5.nabble.com> <1489727598723-5742502.post@n5.nabble.com> Message-ID: Hi Summer, You need to call GetLines() on the output of the vtkStripper, because that will return the vtkCellArray that gives the correct ordering of the points. The vtkCellArray will provide the point Ids in the correct order. - David On Thu, Mar 16, 2017 at 11:13 PM, Summer Sun wrote: > Thank you so much David, > > I have tried your method but the result I use vtkStripper is exactly the > *same*... > I saw the vtk documents below that might be help but I don't quite get it: > --- > *Warning* > If triangle strips or poly-lines exist in the input data they *will be > passed through to the output data*. This filter will only construct > triangle > strips if triangle polygons are available; and will only construct > poly-lines if lines are available. > --- > > *Here's my related code:* > ... > /// get marching squares of image data/ > vtkSmartPointer segContour = > vtkSmartPointer::New(); > segContour->SetInputData(segmentation); /// segmentation is my image data/ > segContour->SetValue(0, 255); > segContour->Update(); > > /// use vtkStripper to process marching squares data/ > vtkSmartPointer segPolyStripper = > vtkSmartPointer::New(); > segPolyStripper->SetInputData(segContour->GetOutput()); > segPolyStripper->Update(); > > /// draw the contour/ > contourWidget->Initialize(segPolyStripper->GetOutput()); > ... > > Thanks for your help > Summer > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sunxiasx at foxmail.com Fri Mar 17 02:48:54 2017 From: sunxiasx at foxmail.com (Summer Sun) Date: Thu, 16 Mar 2017 23:48:54 -0700 (MST) Subject: [vtkusers] Ordering wrong when convert vtkImageData to vtkPolyData In-Reply-To: References: <1489670598458-5742492.post@n5.nabble.com> <1489727598723-5742502.post@n5.nabble.com> Message-ID: <1489733334392-5742504.post@n5.nabble.com> Thank you David, But I use code below, the render result still doesn't change. ... // get marching squares of image data vtkSmartPointer segContour = vtkSmartPointer::New(); segContour->SetInputData(segmentation); // segmentation is my image data segContour->SetValue(0, 255); segContour->Update(); // use vtkStripper to process marching squares data vtkSmartPointer segPolyStripper = vtkSmartPointer::New(); segPolyStripper->SetInputData(segContour->GetOutput()); segPolyStripper->Update(); *// set points and lines according to stripper output* vtkSmartPointer segPoly = vtkSmartPointer::New(); segPoly->SetPoints(segContour->GetOutput()->GetPoints()); segPoly->SetLines(segPolyStripper->GetOutput()->GetLines()); // draw the contour contourWidget->Initialize(segPoly); ... -- View this message in context: http://vtk.1045678.n5.nabble.com/Ordering-wrong-when-convert-vtkImageData-to-vtkPolyData-tp5742492p5742504.html Sent from the VTK - Users mailing list archive at Nabble.com. From david.gobbi at gmail.com Fri Mar 17 02:56:58 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Fri, 17 Mar 2017 00:56:58 -0600 Subject: [vtkusers] Ordering wrong when convert vtkImageData to vtkPolyData In-Reply-To: <1489733334392-5742504.post@n5.nabble.com> References: <1489670598458-5742492.post@n5.nabble.com> <1489727598723-5742502.post@n5.nabble.com> <1489733334392-5742504.post@n5.nabble.com> Message-ID: Hi Summer, For the contour widget, you will probably have to create a new vtkPoints object where the points have the ordering specified by the the cell array returned by stripper->GetLines(). The vtkStripper doesn't put the points in order, it just provides a cell array that specifies how to put the points in order. - David On Fri, Mar 17, 2017 at 12:48 AM, Summer Sun wrote: > Thank you David, > But I use code below, the render result still doesn't change. > > ... > // get marching squares of image data > vtkSmartPointer segContour = > vtkSmartPointer::New(); > segContour->SetInputData(segmentation); // segmentation is my image data > segContour->SetValue(0, 255); > segContour->Update(); > > // use vtkStripper to process marching squares data > vtkSmartPointer segPolyStripper = > vtkSmartPointer::New(); > segPolyStripper->SetInputData(segContour->GetOutput()); > segPolyStripper->Update(); > > *// set points and lines according to stripper output* > vtkSmartPointer segPoly = vtkSmartPointer:: > New(); > segPoly->SetPoints(segContour->GetOutput()->GetPoints()); > segPoly->SetLines(segPolyStripper->GetOutput()->GetLines()); > > // draw the contour > contourWidget->Initialize(segPoly); > ... > > > > -- > View this message in context: http://vtk.1045678.n5.nabble. > com/Ordering-wrong-when-convert-vtkImageData-to- > vtkPolyData-tp5742492p5742504.html > Sent from the VTK - Users mailing list archive at Nabble.com. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -------------- next part -------------- An HTML attachment was scrubbed... URL: From alvaro.sanchez at kitware.com Fri Mar 17 10:39:52 2017 From: alvaro.sanchez at kitware.com (Alvaro Sanchez) Date: Fri, 17 Mar 2017 10:39:52 -0400 Subject: [vtkusers] Requirements for multiple volumes in one render window In-Reply-To: References: Message-ID: Hi Elvis, I don't think it would make it to 8.0 but it is one of the next things on the list to add to the mapper, so most likely 8.x. I will ping you once there is a branch for testing. ?lvaro On Tue, Mar 14, 2017 at 12:09 PM, Elvis Stansvik < elvis.stansvik at orexplore.com> wrote: > 2016-04-20 15:04 GMT+02:00 Elvis Stansvik : > > 2016-03-04 12:00 GMT+01:00 Elvis Stansvik > : > >> > >> 2016-03-02 21:16 GMT+01:00 Aashish Chaudhary > >> : > >>> > >>> Elvis, > >>> > >>> thanks for the detailed information. I thought about a way of doing > >>> this. Basically, I think the mapper has to take multiple inputs and if > >>> multiple inputs are present, then we will construct a BBox around it > >>> and used that for traversing. Now, internally, we would have to > >>> transform the data position to each volume so that we can perform the > >>> lookup and set some rules on how to perform compositing (replace, > >>> modulate etc.). I will talk to the team here and will add in our todo > >>> but we would have check on the priority of it. > > > > > > Any news on how you chose to prioritize this? Is it possible there will > be > > something in a 7.x point release, or is it further off? > > I'm still interested in how/if you prioritized this, or if there's > even some work going on in some branch? > > Elvis > > > > > Elvis > > > >> > >> > >> Thanks a lot for looking into this and bringing it up with the team. It > >> would be a very welcome addition for us, and surely to some others as > well. > >> > >> The approach you outline seems sound to me, but I am a layman in > >> visualization :) > >> > >>> > >>> > >>> If you want to help us with this then I am more happy to guide you > >>> with the process. It won't be very difficult but will require some > >>> careful changes to the existing mapper. > >> > >> > >> I'm afraid we're in the middle of a product launch here at work, so I'm > >> quite swamped. This is only a small part of the application I'm > building. > >> I'm also completely new to VTK and visualization in general, so I'm also > >> afraid it would be more difficult and time consuming for me than you > might > >> think (as opposed to a seasoned VTK dev). > >> > >> I'm of course prepared to try out any changes you do on our data sets, > >> should you decide to work on this. > >> > >> Thanks again, > >> Elvis > >> > >>> > >>> Thanks, > >>> > >>> > >>> On Mon, Feb 29, 2016 at 11:46 AM, Elvis Stansvik > >>> wrote: > >>> > 2016-02-29 16:32 GMT+01:00 Aashish Chaudhary > >>> > : > >>> >> > >>> >> Hi Elvis, > >>> >> > >>> >> On Sat, Feb 27, 2016 at 12:06 PM, Elvis Stansvik > >>> >> wrote: > >>> >> > 2016-02-25 17:10 GMT+01:00 Elvis Stansvik > >>> >> > : > >>> >> >> > >>> >> >> Hi, > >>> >> >> > >>> >> >> From searching around, I think I've gathered that to render > >>> >> >> multiple > >>> >> >> volumes in a single window, each volume must have its own mapper > >>> >> >> and > >>> >> >> volume > >>> >> >> property. They can't share mapper or property. > >>> >> >> > >>> >> >> My question is whether I must use separate renderers for each > >>> >> >> volume as > >>> >> >> well, or if I can use the same renderer for them all? > >>> >> >> > >>> >> >> Also, I did read something in an old post about problems with > >>> >> >> rendering > >>> >> >> multiple volumes that intersect (share a voxel). Is this still a > >>> >> >> problem? > >>> >> >> I'm using VTK 6.2 and the vtkVolumeRayCastMapper. > >>> >> >> > >>> >> >> Thanks in advance! > >>> >> > > >>> >> > > >>> >> > Including Donny's answer here, to keep the thread intact: > >>> >> > > >>> >> >> See this thread: > >>> >> >> > >>> >> >> > >>> >> >> > >>> >> >> > >>> >> >> http://vtk.1045678.n5.nabble.com/Rendering-multiple- > volumes-td5734685.html#a5734971 > >>> >> > > >>> >> > Thanks, that clears some things up, and brings up some > workarounds. > >>> >> > That > >>> >> > thread was from oct/nov last year, so I guess it is still the case > >>> >> > that > >>> >> > proper rendering of multiple volumes that share voxels in 3D space > >>> >> > is > >>> >> > not > >>> >> > possible? (even with 7.0?). > >>> >> > >>> >> It depends what you define proper. If you have two volumes and they > >>> >> share the exact same space, you can combine them into one volume. > When > >>> >> they share the same space but do not overlap that's when things get > >>> >> tricky since then the outcome depends on how do you want to handle > >>> >> this disparity. There could be some other ways such as you combine > the > >>> >> volume into one. At the rendering level it could get tricky. > >>> >> > >>> >> What exactly you are trying to do. > >>> > > >>> > > >>> > I see, what I would expect I think is composite rendering of the > voxels > >>> > using some composite rendering function / blending mode (perhaps > >>> > configurable?). > >>> > > >>> > Sorry if my use case wasn't clear, I'm attaching a rough sketch I did > >>> > just > >>> > now which should explain it better. > >>> > > >>> > Each of our volumes is a piece of a drill core (see my photo > previously > >>> > in > >>> > this thread). The pieces were scanned stacked on top of each other > in a > >>> > plastic tube inside our machine. During scanning, they are not > >>> > necessarily > >>> > aligned properly (as shown in the sketch, and also in the photo). > >>> > > >>> > We will do some algorithmic alignment of the volumes, but we must > also > >>> > allow > >>> > the user to override / supplement the automatic alignment when it > >>> > fails. > >>> > This means the user should be able to rotate and move (along Z axis) > >>> > the > >>> > pieces until they align. It's like a pussle with pieces of a drill > core > >>> > :) > >>> > > >>> > While the user is doing this, the volumes may intersect (noone is > >>> > perfect on > >>> > the first try). This is why I'm asking about rendering multiple > volumes > >>> > that > >>> > partially intersect in 3D space. > >>> > > >>> > It's very desirable that the user can see inside the volumes while > >>> > doing > >>> > this manual alignment, since the features (cracks, density > variations, > >>> > ...) > >>> > inside the rocks may be what guides the user in aligning the pieces > >>> > properly. That's why I don't like the idea of letting the user work > >>> > with > >>> > extracted isosurfaces or similar instead. > >>> > > >>> > Hope this clears things up a little! > >>> > > >>> > Elvis > >>> > > >>> >> > >>> >> - Aashish > >>> >> > >>> >> > > >>> >> > Elvis > >>> >> > > >>> >> >> > >>> >> >> Elvis > >>> >> > > >>> >> > > >>> >> > > >>> >> > _______________________________________________ > >>> >> > Powered by www.kitware.com > >>> >> > > >>> >> > Visit other Kitware open-source projects at > >>> >> > http://www.kitware.com/opensource/opensource.html > >>> >> > > >>> >> > Please keep messages on-topic and check the VTK FAQ at: > >>> >> > http://www.vtk.org/Wiki/VTK_FAQ > >>> >> > > >>> >> > Search the list archives at: http://markmail.org/search/?q= > vtkusers > >>> >> > > >>> >> > Follow this link to subscribe/unsubscribe: > >>> >> > http://public.kitware.com/mailman/listinfo/vtkusers > >>> >> > > >>> >> > >>> >> > >>> >> > >>> >> -- > >>> >> | Aashish Chaudhary > >>> >> | Technical Leader > >>> >> | Kitware Inc. > >>> >> | http://www.kitware.com/company/team/chaudhary.html > >>> > > >>> > > >>> > >>> > >>> > >>> -- > >>> | Aashish Chaudhary > >>> | Technical Leader > >>> | Kitware Inc. > >>> | http://www.kitware.com/company/team/chaudhary.html > >> > >> > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -- Alvaro Sanchez Kitware, Inc. Senior R&D Engineer 21 Corporate Drive Clifton Park, NY 12065-8662 Phone: 518-881-4901 -------------- next part -------------- An HTML attachment was scrubbed... URL: From elvis.stansvik at orexplore.com Fri Mar 17 18:33:36 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Fri, 17 Mar 2017 23:33:36 +0100 Subject: [vtkusers] Requirements for multiple volumes in one render window In-Reply-To: References: Message-ID: Den 17 mars 2017 3:39 em skrev "Alvaro Sanchez" : > > Hi Elvis, > > I don't think it would make it to 8.0 but it is one of the next things on the list to add to > the mapper, so most likely 8.x. I will ping you once there is a branch for testing. Wow, that's great news! Elvis > > ?lvaro > > > On Tue, Mar 14, 2017 at 12:09 PM, Elvis Stansvik < elvis.stansvik at orexplore.com> wrote: >> >> 2016-04-20 15:04 GMT+02:00 Elvis Stansvik : >> > 2016-03-04 12:00 GMT+01:00 Elvis Stansvik : >> >> >> >> 2016-03-02 21:16 GMT+01:00 Aashish Chaudhary >> >> : >> >>> >> >>> Elvis, >> >>> >> >>> thanks for the detailed information. I thought about a way of doing >> >>> this. Basically, I think the mapper has to take multiple inputs and if >> >>> multiple inputs are present, then we will construct a BBox around it >> >>> and used that for traversing. Now, internally, we would have to >> >>> transform the data position to each volume so that we can perform the >> >>> lookup and set some rules on how to perform compositing (replace, >> >>> modulate etc.). I will talk to the team here and will add in our todo >> >>> but we would have check on the priority of it. >> > >> > >> > Any news on how you chose to prioritize this? Is it possible there will be >> > something in a 7.x point release, or is it further off? >> >> I'm still interested in how/if you prioritized this, or if there's >> even some work going on in some branch? >> >> Elvis >> >> > >> > Elvis >> > >> >> >> >> >> >> Thanks a lot for looking into this and bringing it up with the team. It >> >> would be a very welcome addition for us, and surely to some others as well. >> >> >> >> The approach you outline seems sound to me, but I am a layman in >> >> visualization :) >> >> >> >>> >> >>> >> >>> If you want to help us with this then I am more happy to guide you >> >>> with the process. It won't be very difficult but will require some >> >>> careful changes to the existing mapper. >> >> >> >> >> >> I'm afraid we're in the middle of a product launch here at work, so I'm >> >> quite swamped. This is only a small part of the application I'm building. >> >> I'm also completely new to VTK and visualization in general, so I'm also >> >> afraid it would be more difficult and time consuming for me than you might >> >> think (as opposed to a seasoned VTK dev). >> >> >> >> I'm of course prepared to try out any changes you do on our data sets, >> >> should you decide to work on this. >> >> >> >> Thanks again, >> >> Elvis >> >> >> >>> >> >>> Thanks, >> >>> >> >>> >> >>> On Mon, Feb 29, 2016 at 11:46 AM, Elvis Stansvik >> >>> wrote: >> >>> > 2016-02-29 16:32 GMT+01:00 Aashish Chaudhary >> >>> > : >> >>> >> >> >>> >> Hi Elvis, >> >>> >> >> >>> >> On Sat, Feb 27, 2016 at 12:06 PM, Elvis Stansvik >> >>> >> wrote: >> >>> >> > 2016-02-25 17:10 GMT+01:00 Elvis Stansvik >> >>> >> > : >> >>> >> >> >> >>> >> >> Hi, >> >>> >> >> >> >>> >> >> From searching around, I think I've gathered that to render >> >>> >> >> multiple >> >>> >> >> volumes in a single window, each volume must have its own mapper >> >>> >> >> and >> >>> >> >> volume >> >>> >> >> property. They can't share mapper or property. >> >>> >> >> >> >>> >> >> My question is whether I must use separate renderers for each >> >>> >> >> volume as >> >>> >> >> well, or if I can use the same renderer for them all? >> >>> >> >> >> >>> >> >> Also, I did read something in an old post about problems with >> >>> >> >> rendering >> >>> >> >> multiple volumes that intersect (share a voxel). Is this still a >> >>> >> >> problem? >> >>> >> >> I'm using VTK 6.2 and the vtkVolumeRayCastMapper. >> >>> >> >> >> >>> >> >> Thanks in advance! >> >>> >> > >> >>> >> > >> >>> >> > Including Donny's answer here, to keep the thread intact: >> >>> >> > >> >>> >> >> See this thread: >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> http://vtk.1045678.n5.nabble.com/Rendering-multiple-volumes-td5734685.html#a5734971 >> >>> >> > >> >>> >> > Thanks, that clears some things up, and brings up some workarounds. >> >>> >> > That >> >>> >> > thread was from oct/nov last year, so I guess it is still the case >> >>> >> > that >> >>> >> > proper rendering of multiple volumes that share voxels in 3D space >> >>> >> > is >> >>> >> > not >> >>> >> > possible? (even with 7.0?). >> >>> >> >> >>> >> It depends what you define proper. If you have two volumes and they >> >>> >> share the exact same space, you can combine them into one volume. When >> >>> >> they share the same space but do not overlap that's when things get >> >>> >> tricky since then the outcome depends on how do you want to handle >> >>> >> this disparity. There could be some other ways such as you combine the >> >>> >> volume into one. At the rendering level it could get tricky. >> >>> >> >> >>> >> What exactly you are trying to do. >> >>> > >> >>> > >> >>> > I see, what I would expect I think is composite rendering of the voxels >> >>> > using some composite rendering function / blending mode (perhaps >> >>> > configurable?). >> >>> > >> >>> > Sorry if my use case wasn't clear, I'm attaching a rough sketch I did >> >>> > just >> >>> > now which should explain it better. >> >>> > >> >>> > Each of our volumes is a piece of a drill core (see my photo previously >> >>> > in >> >>> > this thread). The pieces were scanned stacked on top of each other in a >> >>> > plastic tube inside our machine. During scanning, they are not >> >>> > necessarily >> >>> > aligned properly (as shown in the sketch, and also in the photo). >> >>> > >> >>> > We will do some algorithmic alignment of the volumes, but we must also >> >>> > allow >> >>> > the user to override / supplement the automatic alignment when it >> >>> > fails. >> >>> > This means the user should be able to rotate and move (along Z axis) >> >>> > the >> >>> > pieces until they align. It's like a pussle with pieces of a drill core >> >>> > :) >> >>> > >> >>> > While the user is doing this, the volumes may intersect (noone is >> >>> > perfect on >> >>> > the first try). This is why I'm asking about rendering multiple volumes >> >>> > that >> >>> > partially intersect in 3D space. >> >>> > >> >>> > It's very desirable that the user can see inside the volumes while >> >>> > doing >> >>> > this manual alignment, since the features (cracks, density variations, >> >>> > ...) >> >>> > inside the rocks may be what guides the user in aligning the pieces >> >>> > properly. That's why I don't like the idea of letting the user work >> >>> > with >> >>> > extracted isosurfaces or similar instead. >> >>> > >> >>> > Hope this clears things up a little! >> >>> > >> >>> > Elvis >> >>> > >> >>> >> >> >>> >> - Aashish >> >>> >> >> >>> >> > >> >>> >> > Elvis >> >>> >> > >> >>> >> >> >> >>> >> >> Elvis >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > _______________________________________________ >> >>> >> > Powered by www.kitware.com >> >>> >> > >> >>> >> > Visit other Kitware open-source projects at >> >>> >> > http://www.kitware.com/opensource/opensource.html >> >>> >> > >> >>> >> > Please keep messages on-topic and check the VTK FAQ at: >> >>> >> > http://www.vtk.org/Wiki/VTK_FAQ >> >>> >> > >> >>> >> > Search the list archives at: http://markmail.org/search/?q=vtkusers >> >>> >> > >> >>> >> > Follow this link to subscribe/unsubscribe: >> >>> >> > http://public.kitware.com/mailman/listinfo/vtkusers >> >>> >> > >> >>> >> >> >>> >> >> >>> >> >> >>> >> -- >> >>> >> | Aashish Chaudhary >> >>> >> | Technical Leader >> >>> >> | Kitware Inc. >> >>> >> | http://www.kitware.com/company/team/chaudhary.html >> >>> > >> >>> > >> >>> >> >>> >> >>> >> >>> -- >> >>> | Aashish Chaudhary >> >>> | Technical Leader >> >>> | Kitware Inc. >> >>> | http://www.kitware.com/company/team/chaudhary.html >> >> >> >> >> > >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers > > > > > -- > Alvaro Sanchez > Kitware, Inc. > Senior R&D Engineer > 21 Corporate Drive > Clifton Park, NY 12065-8662 > Phone: 518-881-4901 -------------- next part -------------- An HTML attachment was scrubbed... URL: From sunxiasx at foxmail.com Sat Mar 18 07:10:06 2017 From: sunxiasx at foxmail.com (Summer Sun) Date: Sat, 18 Mar 2017 04:10:06 -0700 (MST) Subject: [vtkusers] Ordering wrong when convert vtkImageData to vtkPolyData In-Reply-To: References: <1489670598458-5742492.post@n5.nabble.com> <1489727598723-5742502.post@n5.nabble.com> <1489733334392-5742504.post@n5.nabble.com> Message-ID: <1489835406771-5742512.post@n5.nabble.com> Thank you David, I have now reach my goal and I would like to paste my code here for others to reference. I have an *vtkImageData* with two pixel value: 0 and 255, I want to draw the boundary valued 255 using *vtkContourWidget*. 1. I use *vtkMarchingSquares*, and the output of marching squares is a *vtkPolyData* while the lines segments are not ordered; 2. I use *vtkStripper* to order the output of *vtkMarchingSquares*; 3. After process by *vtkStripper*, the line segments (*vtkCellArray*) of *vtkPolydata* is correctly ordered, and I use this to order *vtkPoints*. 4. Finally I use ordered points and lines to construct a new vtkPolyData and draw it. My code block is shown below: *// get marching squares of image data* vtkSmartPointer segContour = vtkSmartPointer::New(); segContour->SetInputData(segmentation); // segmentation is my image data segContour->SetValue(0, 255); segContour->Update(); *// use vtkStripper to order line segments in correct order* vtkSmartPointer segPolyStripper = vtkSmartPointer::New(); segPolyStripper->SetInputData(segContour->GetOutput()); segPolyStripper->Update(); *// order points according to ordered lines segments* vtkSmartPointer orderedLines = vtkSmartPointer::New(); vtkSmartPointer originPoints = vtkSmartPointer::New(); originPoints = segContour->GetOutput()->GetPoints(); orderedLines = segPolyStripper->GetOutput()->GetLines(); int numPts = originPoints->GetNumberOfPoints(); vtkSmartPointer orderedPoints = vtkSmartPointer::New(); *// access data of vtkCellArray as order /dictionary/* vtkIdType numCells = orderedLines->GetNumberOfCells(); vtkIdType cellLocation = 0; // the index into the cell array vtkIdType numIds; // to hold the size of the cell vtkIdType *pointIds; // to hold the ids in the cell for (vtkIdType i = 0; i < numCells; i++) { orderedLines->GetCell(cellLocation, numIds, pointIds); pointIds[0], pointIds[1], pointIds[2]; cellLocation += 1 + numIds; } *// order points according to /dictionary/ above* for (vtkIdType i = 0; i < numPts - 1; i++) { vtkIdType pointId = pointIds[i]; orderedPoints->InsertPoint(static_cast(i), originPoints->GetPoint(pointId)); } // construct a poly data with ordered points and lines vtkSmartPointer segPoly = vtkSmartPointer::New(); segPoly->SetPoints(orderedPoints); segPoly->SetLines(orderedLines); // draw the contour contourWidget->Initialize(segPoly); -- View this message in context: http://vtk.1045678.n5.nabble.com/Ordering-wrong-when-convert-vtkImageData-to-vtkPolyData-tp5742492p5742512.html Sent from the VTK - Users mailing list archive at Nabble.com. From jim at jslengineeringsoftware.com Sat Mar 18 14:40:56 2017 From: jim at jslengineeringsoftware.com (Jim Labiak) Date: Sat, 18 Mar 2017 14:40:56 -0400 Subject: [vtkusers] VTK JAVA 2D charts Message-ID: <6cdd07c3-2116-02e2-08e2-8c16f9590868@jslengineeringsoftware.com> Hello vtk users, I've been trying to use the JAVA VTK chart class to create 2D plots, but it is not working. The JRE crashes every time at the spot where the plot is added to the chart. During debugging, I trace the crash to the JAVA Vector.class at line 477 (method directly below), which is the return statement... I've extended vtkRenderWindowPanel and use that class to do my rendering as it seemed to be the most robust approach for my application. Only a portion of the code from that class is shown below. The JAVA wrapper is known to be difficult to learn, but 2D charts really must work for this (vtk) to be a viable JAVA program. I could create 3D charts and make them look 2D, but it seems like I must be missing something in the 2D charts... I don't see "test" programs in the documentation for this class (vtkChart) and related ones in JAVA - was this ever tested during development, and anyone know how extensively? Or, is the wrapper just kind of generated and then exists "as-is"? Some of the statements required and shown in other language examples are difficult to translate into JAVA accurately. Thanks for any suggestions, Jim Excerpt from Vector.class: /** * Returns the component at the specified index. * *

This method is identical in functionality to the {@link #get(int)} * method (which is part of the {@link List} interface). * * @param index an index into this vector * @return the component at the specified index * @throws ArrayIndexOutOfBoundsException if the index is out of range * ({@code index < 0 || index >= size()}) */ public synchronized E elementAt(int index) { if (index >= elementCount) { throw new ArrayIndexOutOfBoundsException(index + " >= " + elementCount); } return elementData(index); } -------------------------------------------------------------------------------------------------------------------------- public class RenderWindowPanel extends vtkRenderWindowPanel { // Only relevant part of the class is shown... public void updateRenderWindowPanelYPosData(Object[] aObject) { this.xData = (vtkFloatArray) this.objectArrayXData[3]; this.yData = (vtkFloatArray) this.objectArrayYData[4]; this.table = new vtkTable(); vtkDoubleArray arrX = new vtkDoubleArray(); arrX.SetName("ArrayX"); vtkDoubleArray arrY = new vtkDoubleArray(); arrY.SetName("ArrayY"); this.table.SetNumberOfRows(this.xData.GetNumberOfTuples()); double tempx = 0; double tempy = 0; // Column 0 for (int i = 0; i < this.xData.GetNumberOfTuples(); i++) { tempx = this.xData.GetValue(i); arrX.InsertNextTuple1(tempx); } this.table.AddColumn(arrX); // Column 1 for (int i = 0; i < this.yData.GetNumberOfTuples(); i++) { tempy = this.yData.GetValue(i); arrY.InsertNextTuple1(tempy); } this.table.AddColumn(arrY); this.chart = new vtkChart(); this.plot = new vtkPlot(); this.chart.AddPlot(this.plot); // Note: also tried this.plot = this.chart.AddPlot(0); this.plot.SetColor(0.0, 0.0, 255.0); this.plot.SetWidth(1.0); this.plot.SetInputData(this.table, "ArrayX", "ArrayY"); this.view = new vtkContextView(); this.view.SetRenderWindow(this.GetRenderWindow()); this.view.SetRenderer(this.renderer); this.view.GetRenderWindow().SetMultiSamples(0); this.view.GetScene().AddItem(this.chart); this.renderer.SetActiveCamera(this.camera); this.renderer.AddActor(this.textActor); this.renderer.SetBackground(255, 255, 255); // white this.renderer.ResetCamera(); this.renderWindowInteractor = this.view.GetInteractor(); this.view.GetInteractor().Initialize(); this.view.GetInteractor().Start(); try { this.Render(); System.out.println("Debug break after render"); } catch (Exception e) { e.printStackTrace(); } } } -------------- next part -------------- An HTML attachment was scrubbed... URL: From sunxiasx at foxmail.com Sun Mar 19 07:50:07 2017 From: sunxiasx at foxmail.com (Summer Sun) Date: Sun, 19 Mar 2017 04:50:07 -0700 (MST) Subject: [vtkusers] vtkContourWidget render position error Message-ID: <1489924207471-5742517.post@n5.nabble.com> Hello all, I have a problem render vtkContourWidget on a vtkImageViewer2. First I render a Dicom image on vtkImageViewer2, then when I render the vtkContourWidget with a initial poly data, it push the image to left... Any one could give me some ideas? before render vtkContourWidget, the vtkImageViewer is like this: After a *contourWidget->Initialize(segPoly);*, the vtkImageViewer is like this: Thank you guys. - Summer Sun -- View this message in context: http://vtk.1045678.n5.nabble.com/vtkContourWidget-render-position-error-tp5742517.html Sent from the VTK - Users mailing list archive at Nabble.com. From wangtao_ at sjtu.edu.cn Sun Mar 19 08:11:08 2017 From: wangtao_ at sjtu.edu.cn (wangtaoiz) Date: Sun, 19 Mar 2017 05:11:08 -0700 (MST) Subject: [vtkusers] Some problems come up when set opacity for polydata Message-ID: <1489925468300-5742518.post@n5.nabble.com> Dear all, I have recently encountered a problem that when I set opacity for the actor property of polydata, There is a strange phenomenon, the front surface and the back surface in 3D view would sometime exchanged unexpectedly, what should I do? Thanks a lot! Wang -- View this message in context: http://vtk.1045678.n5.nabble.com/Some-problems-come-up-when-set-opacity-for-polydata-tp5742518.html Sent from the VTK - Users mailing list archive at Nabble.com. From spir.robert at gmail.com Mon Mar 20 09:19:42 2017 From: spir.robert at gmail.com (RobertS) Date: Mon, 20 Mar 2017 06:19:42 -0700 (MST) Subject: [vtkusers] vtkParametricFunctionSource producing non-manifold edges Message-ID: <1490015982403-5742520.post@n5.nabble.com> I'm generating torus using vtkParametricTorus and vtkParametricFunctionSource. The problem is, that the vtkParametricFunctionSource is producing non-manifold edges in the resulting object, so I cannot use subdivision filters on it. Is there any filter that can be used to remove these non-manifold edges? This wasn't happening in VTK 5, here the torus doesn't have any non-manifold edges. -- View this message in context: http://vtk.1045678.n5.nabble.com/vtkParametricFunctionSource-producing-non-manifold-edges-tp5742520.html Sent from the VTK - Users mailing list archive at Nabble.com. From richard.j.brown at live.co.uk Mon Mar 20 10:11:33 2017 From: richard.j.brown at live.co.uk (Richard Brown) Date: Mon, 20 Mar 2017 14:11:33 +0000 Subject: [vtkusers] VTK deployment with static libraries on Mac (and in Qt Creator) In-Reply-To: References: <1489510232520-5742475.post@n5.nabble.com> <20170314172515.1710714704@mail.rogue-research.com> <20170316160114.1222247310@mail.rogue-research.com> Message-ID: Bump. Does anyone have any experience building a VTK application in Qt Creator with static libraries? Regards, Richard On 16 Mar 2017, at 17:07, mbcx9rb9 > wrote: Building in Qt Creator gives this error. Building with Cmake compiles without any problems (I assumed due to VTK_USE_FILE). Also I can compile the program in Qt Creator using dylibs without any problems (so I guess normally Qt links to Cocoa, it's just linking to cocoa when using static libs in Qt that causes the problem). Thanks On 16 Mar 2017 5:01 p.m., "Sean McBride [via VTK]" > wrote: On Wed, 15 Mar 2017 14:13:39 +0000, Richard Brown said: >So how do I go about linking against Cocoa.framework. With another >VTK_MODULE_INIT? You need to do that when building your application, as opposed to building VTK. Do you build your app with CMake? With Xcode? With something else? Presumably you're ultimately using clang, in which case something needs to pass "-framework Cocoa" to it. Cheers, -- ____________________________________________________________ Sean McBride, B. Eng [hidden email] Rogue Research www.rogue-research.com Mac Software Developer Montr?al, Qu?bec, Canada _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ Search the list archives at: http://markmail.org/search/?q=vtkusers Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/vtkusers ________________________________ If you reply to this email, your message will be added to the discussion below: http://vtk.1045678.n5.nabble.com/VTK-deployment-with-static-libraries-on-Mac-and-in-Qt-Creator-tp5742475p5742496.html To unsubscribe from VTK deployment with static libraries on Mac (and in Qt Creator), click here. NAML ________________________________ View this message in context: Re: VTK deployment with static libraries on Mac (and in Qt Creator) Sent from the VTK - Users mailing list archive at Nabble.com. _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ Search the list archives at: http://markmail.org/search/?q=vtkusers Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/vtkusers -------------- next part -------------- An HTML attachment was scrubbed... URL: From richard.j.brown at live.co.uk Mon Mar 20 10:12:02 2017 From: richard.j.brown at live.co.uk (mbcx9rb9) Date: Mon, 20 Mar 2017 07:12:02 -0700 (MST) Subject: [vtkusers] VTK deployment with static libraries on Mac (and in Qt Creator) In-Reply-To: <20170316160114.1222247310@mail.rogue-research.com> References: <1489510232520-5742475.post@n5.nabble.com> <20170314172515.1710714704@mail.rogue-research.com> <20170316160114.1222247310@mail.rogue-research.com> Message-ID: Bump. Does anyone have any experience building a VTK application in Qt Creator with static libraries? Regards, Richard On 16 Mar 2017, at 17:07, mbcx9rb9 > wrote: Building in Qt Creator gives this error. Building with Cmake compiles without any problems (I assumed due to VTK_USE_FILE). Also I can compile the program in Qt Creator using dylibs without any problems (so I guess normally Qt links to Cocoa, it's just linking to cocoa when using static libs in Qt that causes the problem). Thanks On 16 Mar 2017 5:01 p.m., "Sean McBride [via VTK]" > wrote: On Wed, 15 Mar 2017 14:13:39 +0000, Richard Brown said: >So how do I go about linking against Cocoa.framework. With another >VTK_MODULE_INIT? You need to do that when building your application, as opposed to building VTK. Do you build your app with CMake? With Xcode? With something else? Presumably you're ultimately using clang, in which case something needs to pass "-framework Cocoa" to it. Cheers, -- ____________________________________________________________ Sean McBride, B. Eng [hidden email] Rogue Research www.rogue-research.com Mac Software Developer Montr?al, Qu?bec, Canada _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ Search the list archives at: http://markmail.org/search/?q=vtkusers Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/vtkusers ________________________________ If you reply to this email, your message will be added to the discussion below: http://vtk.1045678.n5.nabble.com/VTK-deployment-with-static-libraries-on-Mac-and-in-Qt-Creator-tp5742475p5742496.html To unsubscribe from VTK deployment with static libraries on Mac (and in Qt Creator), click here. NAML ________________________________ View this message in context: Re: VTK deployment with static libraries on Mac (and in Qt Creator) Sent from the VTK - Users mailing list archive at Nabble.com. _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ Search the list archives at: http://markmail.org/search/?q=vtkusers Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/vtkusers -- View this message in context: http://vtk.1045678.n5.nabble.com/VTK-deployment-with-static-libraries-on-Mac-and-in-Qt-Creator-tp5742475p5742522.html Sent from the VTK - Users mailing list archive at Nabble.com. -------------- next part -------------- An HTML attachment was scrubbed... URL: From sean at rogue-research.com Mon Mar 20 11:20:04 2017 From: sean at rogue-research.com (Sean McBride) Date: Mon, 20 Mar 2017 11:20:04 -0400 Subject: [vtkusers] VTK deployment with static libraries on Mac (and in Qt Creator) In-Reply-To: References: <1489510232520-5742475.post@n5.nabble.com> <20170314172515.1710714704@mail.rogue-research.com> <20170316160114.1222247310@mail.rogue-research.com> Message-ID: <20170320152004.1480265567@mail.rogue-research.com> On Thu, 16 Mar 2017 09:07:54 -0700, mbcx9rb9 said: >Building in Qt Creator gives this error. Building with Cmake compiles >without any problems So sounds more like a Qt problem problem, to be asked on a Qt list... (I've never used Qt, so alas have no further suggestions.) Sean From bakkari.abdelkhalek at hotmail.fr Mon Mar 20 11:22:41 2017 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Mon, 20 Mar 2017 15:22:41 +0000 Subject: [vtkusers] vector to vtkpolydata Message-ID: Dear VTK users, How can I convert a vector to vtkpolydata please ? Kind regards, Abdelkhalek Bakkari -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.gobbi at gmail.com Mon Mar 20 12:44:28 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Mon, 20 Mar 2017 10:44:28 -0600 Subject: [vtkusers] VTK deployment with static libraries on Mac (and in Qt Creator) In-Reply-To: <20170320152004.1480265567@mail.rogue-research.com> References: <1489510232520-5742475.post@n5.nabble.com> <20170314172515.1710714704@mail.rogue-research.com> <20170316160114.1222247310@mail.rogue-research.com> <20170320152004.1480265567@mail.rogue-research.com> Message-ID: Hi Richard, It is possible to build dynamically-linked applications with Qt and VTK, and to share such applications. On the Mac, the Qt libraries become part of the app bundle. I do not know how to do this with Qt Creator, but there should definitely be Qt experts around who know how to do it. Maybe not on the VTK list, however, since I don't think that many of us here use Qt Creator. There are two strong reasons for using dynamic linking with Qt: 1) it allows you to use the Qt binaries from the Qt download site. 2) it allows you to use the Qt LGPL license without releasing your code Reason (2) is important. If you use static Qt libraries, then you must either pay for a Qt license or else release your own code as LGPL or a compatible open-source license. - David On Mon, Mar 20, 2017 at 9:20 AM, Sean McBride wrote: > On Thu, 16 Mar 2017 09:07:54 -0700, mbcx9rb9 said: > > >Building in Qt Creator gives this error. Building with Cmake compiles > >without any problems > > So sounds more like a Qt problem problem, to be asked on a Qt list... > > (I've never used Qt, so alas have no further suggestions.) > > Sean -------------- next part -------------- An HTML attachment was scrubbed... URL: From lgazoni at gmail.com Mon Mar 20 13:11:49 2017 From: lgazoni at gmail.com (Leandro Gazoni) Date: Mon, 20 Mar 2017 14:11:49 -0300 Subject: [vtkusers] Problemas with Zoom - VTK and QT Message-ID: Hello, I'm doing a test where I'd like to use class: vtkInteractorStyleRubberBandZoom. I have a Qt application that works the iteration with my model with no problems, but when I try to use vtkInteractorStyleRubberBandZoom I can not get back to iterating with my original template. I wish I could turn on and off a zoom function, could anyone help me? void GUIModelling::zoomSelectionStart() { vtkSmartPointer style = vtkSmartPointer::New(); style->SetInteractor(this->QVTKWidgetDefault->GetInteractor()); this->QVTKWidgetDefault->GetRenderWindow()->GetInteractor()->SetInteractorStyle(style); this->QVTKWidgetDefault->update(); this->QVTKWidgetDefault->GetRenderWindow()->Render(); this->QVTKWidgetDefault->GetRenderWindow()->Start(); } Atenciosamente, Leandro Gazoni <#m_-7921914138724889259_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> -------------- next part -------------- An HTML attachment was scrubbed... URL: From elvis.stansvik at orexplore.com Mon Mar 20 13:13:12 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Mon, 20 Mar 2017 18:13:12 +0100 Subject: [vtkusers] VTK deployment with static libraries on Mac (and in Qt Creator) In-Reply-To: References: <1489510232520-5742475.post@n5.nabble.com> <20170314172515.1710714704@mail.rogue-research.com> <20170316160114.1222247310@mail.rogue-research.com> Message-ID: Den 20 mars 2017 3:11 em skrev "Richard Brown" : > > Bump. Does anyone have any experience building a VTK application in Qt Creator with static libraries? I build our Qt + VTK almost daily from within Qt Creator, but never with static libraries, for the reasons David brought up. I would recommend going with dynamic linking unless you have a very strong reason not to. I've also recently dabbled with packaging as an AppImage on Linux (worked quite well). Elvis > > Regards, > Richard > >> On 16 Mar 2017, at 17:07, mbcx9rb9 wrote: >> >> Building in Qt Creator gives this error. Building with Cmake compiles without any problems (I assumed due to VTK_USE_FILE). Also I can compile the program in Qt Creator using dylibs without any problems (so I guess normally Qt links to Cocoa, it's just linking to cocoa when using static libs in Qt that causes the problem). >> >> Thanks >> >> On 16 Mar 2017 5:01 p.m., "Sean McBride [via VTK]" wrote: >>> >>> On Wed, 15 Mar 2017 14:13:39 +0000, Richard Brown said: >>> >>> >So how do I go about linking against Cocoa.framework. With another >>> >VTK_MODULE_INIT? >>> >>> You need to do that when building your application, as opposed to building VTK. Do you build your app with CMake? With Xcode? With something else? Presumably you're ultimately using clang, in which case something needs to pass "-framework Cocoa" to it. >>> >>> Cheers, >>> >>> -- >>> ____________________________________________________________ >>> Sean McBride, B. Eng [hidden email] >>> Rogue Research www.rogue-research.com >>> Mac Software Developer Montr?al, Qu?bec, Canada >>> >>> >>> _______________________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html >>> >>> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ >>> >>> Search the list archives at: http://markmail.org/search/?q=vtkusers >>> >>> Follow this link to subscribe/unsubscribe: >>> http://public.kitware.com/mailman/listinfo/vtkusers >>> >>> >>> ________________________________ >>> If you reply to this email, your message will be added to the discussion below: >>> http://vtk.1045678.n5.nabble.com/VTK-deployment-with-static-libraries-on-Mac-and-in-Qt-Creator-tp5742475p5742496.html >>> To unsubscribe from VTK deployment with static libraries on Mac (and in Qt Creator), click here. >>> NAML >> >> >> >> ________________________________ >> View this message in context: Re: VTK deployment with static libraries on Mac (and in Qt Creator) >> Sent from the VTK - Users mailing list archive at Nabble.com. >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers > > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dave.demarle at kitware.com Mon Mar 20 14:19:07 2017 From: dave.demarle at kitware.com (David E DeMarle) Date: Mon, 20 Mar 2017 14:19:07 -0400 Subject: [vtkusers] announce: vtk 7.1.1 Message-ID: Hi, Just a short note to point out that we've put out a patch release for VTK 7.1. This release is just a handful of fixes over last Fall's 7.1.0. The most impactful item is that our java wrappings were corrected . Other fixes went in for picking with antialiasing, volume masking, virtual reality device rendering, compilation of KIT aggregate libraries, and accessing hdf5 when using CMake versions older than 3.4. You can browse all of the changes here: https://gitlab.kitware.com/vtk/vtk/milestones/7 While I have your attention, be on the lookout for VTK 8.0. We will begin the release cycle for that soon. The new release bring vtk-m accelerated filters and at the same time an enforced requirement for C++11 compilers. You can get a taste of what you'll see in the current VTK master branch. David E DeMarle Kitware, Inc. R&D Engineer 21 Corporate Drive Clifton Park, NY 12065-8662 Phone: 518-881-4909 -------------- next part -------------- An HTML attachment was scrubbed... URL: From wilf.rosenbaum at gmail.com Mon Mar 20 14:36:03 2017 From: wilf.rosenbaum at gmail.com (Wilf Rosenbaum) Date: Mon, 20 Mar 2017 11:36:03 -0700 Subject: [vtkusers] How to get the pixels of a volume rendered image? Message-ID: Hi Guys, VTK noob here. Ignorant, but (hopefully) not stoopid. I am interested in creating a volume rendering (VR) of a volumetric medical (CT) dataset, and then getting access to the pixel values of that volume rendering image. I can follow along with the SmartVolumeMapper example from the VTK examples website, which creates the VR for my dataset but displays the result in a vtkRenderWindow. Right now I don't want to display the VR image, I just want to get the pixel values and do something with them - pass them to a 3rd party program for instance. I understand that I could use a vtkWindowToImageFilter to convert the data in my RenderWindow to an image, but intuitively this seems like a rather circuitous route to get what I want. I suspect that there is a more direct standard vtk workflow. I know that if I was interested in an orthogonal or an oblique slab through my volume I can create a pipeline like vtkDicomImageReader -> vtkImageReslice -> vtkImageMapToColors and then call GetOutput() -> GetScalarPointer() on the vtkImageMapToColors object to get the pixels of the slab - no RenderWindow is required. Is there something analogous for volume rendering? If the real answer to my question is "create a hidden render window, render the volume into that hidden render window and then use a Window to Image Filter to get the image" then I am fine with that but I feel like I don't know enough about VTK yet to know for sure. Finally, please free to suggest some terms to google. I am happy to do more research, but I feel like I need to be pointed in the right direction. I am already looking into "vtk render to frame buffer" , "vtk render to image", "vtk offscreen rendering", ... Thanks very much! Cheers, Wilf -------------- next part -------------- An HTML attachment was scrubbed... URL: From cory.quammen at kitware.com Mon Mar 20 16:08:06 2017 From: cory.quammen at kitware.com (Cory Quammen) Date: Mon, 20 Mar 2017 16:08:06 -0400 Subject: [vtkusers] place arrows equally spaced along streamlines In-Reply-To: References: Message-ID: Dan, Actually, I think I'm wrong. I think you would get different streamline results by changing the vector magnitudes. You'll definitely get evenly spaced glyphs by normalizing, though :-) Too bad the streamlines will be wrong. I can't think of any other tricks using existing tools in VTK to do this - you would need a scalar field along the streamline giving the distance from seed point. Cory On Wed, Mar 15, 2017 at 9:20 PM, Dan Lipsa wrote: > Thanks Cory! > This works very nice! > > Dan > > > On Wed, Mar 15, 2017 at 12:08 PM, Cory Quammen > wrote: >> >> Dan, >> >> Another way would be to normalize your vector field, run the stream >> tracer on it, and then contour by integration time. That should give >> you evenly spaced samples along the streamline when you run the >> contour filter on it. >> >> A quick test of this in ParaView looks like it should work. See >> attached images. The one with the normalized velocity field has even >> spacing, the one with the non-normalized velocity field does not. >> >> Cory >> >> On Wed, Mar 15, 2017 at 11:44 AM, Dan Lipsa wrote: >> > Hi all, >> > I would like to place arrow glyphs equally spaced along streamlines. I >> > am >> > using vtkStreamTracer. >> > The only way I see to do this is to add an option to vtkStreamTracer to >> > compute the distance from the seed and add this as a point data to the >> > the >> > streamline. Than, I can use contour to get the points where I need to >> > place >> > the arrows. >> > >> > Is there any other simpler way? Do you have any suggestions with this? >> > >> > Thanks, >> > Dan >> > >> > >> > _______________________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Please keep messages on-topic and check the VTK FAQ at: >> > http://www.vtk.org/Wiki/VTK_FAQ >> > >> > Search the list archives at: http://markmail.org/search/?q=vtkusers >> > >> > Follow this link to subscribe/unsubscribe: >> > http://public.kitware.com/mailman/listinfo/vtkusers >> > >> >> >> >> -- >> Cory Quammen >> Staff R&D Engineer >> Kitware, Inc. > > -- Cory Quammen Staff R&D Engineer Kitware, Inc. From andy.bauer at kitware.com Mon Mar 20 16:13:02 2017 From: andy.bauer at kitware.com (Andy Bauer) Date: Mon, 20 Mar 2017 16:13:02 -0400 Subject: [vtkusers] place arrows equally spaced along streamlines In-Reply-To: References: Message-ID: If exact math was done with integrating the streamlines you should get the same result, regardless of the vector magnitude. Since we are numerically integrating though it may be off a bit. On Mon, Mar 20, 2017 at 4:08 PM, Cory Quammen wrote: > Dan, > > Actually, I think I'm wrong. I think you would get different > streamline results by changing the vector magnitudes. You'll > definitely get evenly spaced glyphs by normalizing, though :-) Too bad > the streamlines will be wrong. > > I can't think of any other tricks using existing tools in VTK to do > this - you would need a scalar field along the streamline giving the > distance from seed point. > > Cory > > On Wed, Mar 15, 2017 at 9:20 PM, Dan Lipsa wrote: > > Thanks Cory! > > This works very nice! > > > > Dan > > > > > > On Wed, Mar 15, 2017 at 12:08 PM, Cory Quammen > > > wrote: > >> > >> Dan, > >> > >> Another way would be to normalize your vector field, run the stream > >> tracer on it, and then contour by integration time. That should give > >> you evenly spaced samples along the streamline when you run the > >> contour filter on it. > >> > >> A quick test of this in ParaView looks like it should work. See > >> attached images. The one with the normalized velocity field has even > >> spacing, the one with the non-normalized velocity field does not. > >> > >> Cory > >> > >> On Wed, Mar 15, 2017 at 11:44 AM, Dan Lipsa > wrote: > >> > Hi all, > >> > I would like to place arrow glyphs equally spaced along streamlines. I > >> > am > >> > using vtkStreamTracer. > >> > The only way I see to do this is to add an option to vtkStreamTracer > to > >> > compute the distance from the seed and add this as a point data to the > >> > the > >> > streamline. Than, I can use contour to get the points where I need to > >> > place > >> > the arrows. > >> > > >> > Is there any other simpler way? Do you have any suggestions with this? > >> > > >> > Thanks, > >> > Dan > >> > > >> > > >> > _______________________________________________ > >> > Powered by www.kitware.com > >> > > >> > Visit other Kitware open-source projects at > >> > http://www.kitware.com/opensource/opensource.html > >> > > >> > Please keep messages on-topic and check the VTK FAQ at: > >> > http://www.vtk.org/Wiki/VTK_FAQ > >> > > >> > Search the list archives at: http://markmail.org/search/?q=vtkusers > >> > > >> > Follow this link to subscribe/unsubscribe: > >> > http://public.kitware.com/mailman/listinfo/vtkusers > >> > > >> > >> > >> > >> -- > >> Cory Quammen > >> Staff R&D Engineer > >> Kitware, Inc. > > > > > > > > -- > Cory Quammen > Staff R&D Engineer > Kitware, Inc. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -------------- next part -------------- An HTML attachment was scrubbed... URL: From andy.bauer at kitware.com Mon Mar 20 16:22:20 2017 From: andy.bauer at kitware.com (Andy Bauer) Date: Mon, 20 Mar 2017 16:22:20 -0400 Subject: [vtkusers] place arrows equally spaced along streamlines In-Reply-To: References: Message-ID: For this you would have to normalize the vector after doing the interpolation instead of on the full velocity field. On Mon, Mar 20, 2017 at 4:13 PM, Andy Bauer wrote: > If exact math was done with integrating the streamlines you should get the > same result, regardless of the vector magnitude. Since we are numerically > integrating though it may be off a bit. > > On Mon, Mar 20, 2017 at 4:08 PM, Cory Quammen > wrote: > >> Dan, >> >> Actually, I think I'm wrong. I think you would get different >> streamline results by changing the vector magnitudes. You'll >> definitely get evenly spaced glyphs by normalizing, though :-) Too bad >> the streamlines will be wrong. >> >> I can't think of any other tricks using existing tools in VTK to do >> this - you would need a scalar field along the streamline giving the >> distance from seed point. >> >> Cory >> >> On Wed, Mar 15, 2017 at 9:20 PM, Dan Lipsa wrote: >> > Thanks Cory! >> > This works very nice! >> > >> > Dan >> > >> > >> > On Wed, Mar 15, 2017 at 12:08 PM, Cory Quammen < >> cory.quammen at kitware.com> >> > wrote: >> >> >> >> Dan, >> >> >> >> Another way would be to normalize your vector field, run the stream >> >> tracer on it, and then contour by integration time. That should give >> >> you evenly spaced samples along the streamline when you run the >> >> contour filter on it. >> >> >> >> A quick test of this in ParaView looks like it should work. See >> >> attached images. The one with the normalized velocity field has even >> >> spacing, the one with the non-normalized velocity field does not. >> >> >> >> Cory >> >> >> >> On Wed, Mar 15, 2017 at 11:44 AM, Dan Lipsa >> wrote: >> >> > Hi all, >> >> > I would like to place arrow glyphs equally spaced along streamlines. >> I >> >> > am >> >> > using vtkStreamTracer. >> >> > The only way I see to do this is to add an option to vtkStreamTracer >> to >> >> > compute the distance from the seed and add this as a point data to >> the >> >> > the >> >> > streamline. Than, I can use contour to get the points where I need to >> >> > place >> >> > the arrows. >> >> > >> >> > Is there any other simpler way? Do you have any suggestions with >> this? >> >> > >> >> > Thanks, >> >> > Dan >> >> > >> >> > >> >> > _______________________________________________ >> >> > Powered by www.kitware.com >> >> > >> >> > Visit other Kitware open-source projects at >> >> > http://www.kitware.com/opensource/opensource.html >> >> > >> >> > Please keep messages on-topic and check the VTK FAQ at: >> >> > http://www.vtk.org/Wiki/VTK_FAQ >> >> > >> >> > Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> > >> >> > Follow this link to subscribe/unsubscribe: >> >> > http://public.kitware.com/mailman/listinfo/vtkusers >> >> > >> >> >> >> >> >> >> >> -- >> >> Cory Quammen >> >> Staff R&D Engineer >> >> Kitware, Inc. >> > >> > >> >> >> >> -- >> Cory Quammen >> Staff R&D Engineer >> Kitware, Inc. >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: >> http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shawn.waldon at kitware.com Mon Mar 20 16:39:24 2017 From: shawn.waldon at kitware.com (Shawn Waldon) Date: Mon, 20 Mar 2017 16:39:24 -0400 Subject: [vtkusers] place arrows equally spaced along streamlines In-Reply-To: References: Message-ID: Not VTK, but ParaView has a vtkAppendArcLength filter [1] that you can use to append the distance along a polyline as a data array. Then could you use that to get your evenly spaced points? It could be moved down into VTK if someone needed it there. I'm not sure how it handles multiple lines in the input dataset though. Shawn [1]: http://www.paraview.org/ParaView/Doc/Nightly/www/cxx-doc/classvtkAppendArcLength.html On Mon, Mar 20, 2017 at 4:22 PM, Andy Bauer wrote: > For this you would have to normalize the vector after doing the > interpolation instead of on the full velocity field. > > On Mon, Mar 20, 2017 at 4:13 PM, Andy Bauer > wrote: > >> If exact math was done with integrating the streamlines you should get >> the same result, regardless of the vector magnitude. Since we are >> numerically integrating though it may be off a bit. >> >> On Mon, Mar 20, 2017 at 4:08 PM, Cory Quammen >> wrote: >> >>> Dan, >>> >>> Actually, I think I'm wrong. I think you would get different >>> streamline results by changing the vector magnitudes. You'll >>> definitely get evenly spaced glyphs by normalizing, though :-) Too bad >>> the streamlines will be wrong. >>> >>> I can't think of any other tricks using existing tools in VTK to do >>> this - you would need a scalar field along the streamline giving the >>> distance from seed point. >>> >>> Cory >>> >>> On Wed, Mar 15, 2017 at 9:20 PM, Dan Lipsa >>> wrote: >>> > Thanks Cory! >>> > This works very nice! >>> > >>> > Dan >>> > >>> > >>> > On Wed, Mar 15, 2017 at 12:08 PM, Cory Quammen < >>> cory.quammen at kitware.com> >>> > wrote: >>> >> >>> >> Dan, >>> >> >>> >> Another way would be to normalize your vector field, run the stream >>> >> tracer on it, and then contour by integration time. That should give >>> >> you evenly spaced samples along the streamline when you run the >>> >> contour filter on it. >>> >> >>> >> A quick test of this in ParaView looks like it should work. See >>> >> attached images. The one with the normalized velocity field has even >>> >> spacing, the one with the non-normalized velocity field does not. >>> >> >>> >> Cory >>> >> >>> >> On Wed, Mar 15, 2017 at 11:44 AM, Dan Lipsa >>> wrote: >>> >> > Hi all, >>> >> > I would like to place arrow glyphs equally spaced along >>> streamlines. I >>> >> > am >>> >> > using vtkStreamTracer. >>> >> > The only way I see to do this is to add an option to >>> vtkStreamTracer to >>> >> > compute the distance from the seed and add this as a point data to >>> the >>> >> > the >>> >> > streamline. Than, I can use contour to get the points where I need >>> to >>> >> > place >>> >> > the arrows. >>> >> > >>> >> > Is there any other simpler way? Do you have any suggestions with >>> this? >>> >> > >>> >> > Thanks, >>> >> > Dan >>> >> > >>> >> > >>> >> > _______________________________________________ >>> >> > Powered by www.kitware.com >>> >> > >>> >> > Visit other Kitware open-source projects at >>> >> > http://www.kitware.com/opensource/opensource.html >>> >> > >>> >> > Please keep messages on-topic and check the VTK FAQ at: >>> >> > http://www.vtk.org/Wiki/VTK_FAQ >>> >> > >>> >> > Search the list archives at: http://markmail.org/search/?q=vtkusers >>> >> > >>> >> > Follow this link to subscribe/unsubscribe: >>> >> > http://public.kitware.com/mailman/listinfo/vtkusers >>> >> > >>> >> >>> >> >>> >> >>> >> -- >>> >> Cory Quammen >>> >> Staff R&D Engineer >>> >> Kitware, Inc. >>> > >>> > >>> >>> >>> >>> -- >>> Cory Quammen >>> Staff R&D Engineer >>> Kitware, Inc. >>> _______________________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Please keep messages on-topic and check the VTK FAQ at: >>> http://www.vtk.org/Wiki/VTK_FAQ >>> >>> Search the list archives at: http://markmail.org/search/?q=vtkusers >>> >>> Follow this link to subscribe/unsubscribe: >>> http://public.kitware.com/mailman/listinfo/vtkusers >>> >> >> > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sankhesh.jhaveri at kitware.com Mon Mar 20 16:47:20 2017 From: sankhesh.jhaveri at kitware.com (Sankhesh Jhaveri) Date: Mon, 20 Mar 2017 20:47:20 +0000 Subject: [vtkusers] How to get the pixels of a volume rendered image? In-Reply-To: References: Message-ID: Hello Wilf, If you use the vtkGPUVolumeRayCastMapper, you can enable the RenderToImage mode that basically renders the volume to an OpenGL FrameBufferObject. It then has API like GetColorImage() and GetDepthImage() to get the color and depth data of the rendered result. Hope this helps. Thanks, Sankhesh ? On Mon, Mar 20, 2017 at 11:36 AM Wilf Rosenbaum wrote: > Hi Guys, > VTK noob here. Ignorant, but (hopefully) not stoopid. > > I am interested in creating a volume rendering (VR) of a volumetric > medical (CT) dataset, and then getting access to the pixel values of that > volume rendering image. I can follow along with the SmartVolumeMapper > example from the VTK examples website, which creates the VR for my dataset > but displays the result in a vtkRenderWindow. Right now I don't want to > display the VR image, I just want to get the pixel values and do something > with them - pass them to a 3rd party program for instance. I understand > that I could use a vtkWindowToImageFilter to convert the data in my > RenderWindow to an image, but intuitively this seems like a rather > circuitous route to get what I want. I suspect that there is a more direct > standard vtk workflow. > > I know that if I was interested in an orthogonal or an oblique slab > through my volume I can create a pipeline like > > vtkDicomImageReader -> vtkImageReslice -> vtkImageMapToColors > > and then call GetOutput() -> GetScalarPointer() on the vtkImageMapToColors > object to get the pixels of the slab - no RenderWindow is required. Is > there something analogous for volume rendering? > > If the real answer to my question is "create a hidden render window, > render the volume into that hidden render window and then use a Window to > Image Filter to get the image" then I am fine with that but I feel like I > don't know enough about VTK yet to know for sure. > > Finally, please free to suggest some terms to google. I am happy to do > more research, but I feel like I need to be pointed in the right direction. > I am already looking into "vtk render to frame buffer" , "vtk render to > image", "vtk offscreen rendering", ... > > Thanks very much! > Cheers, > Wilf > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -- Sankhesh Jhaveri *Sr. Research & Development Engineer* | Kitware | (518) 881-4417 ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From sankhesh.jhaveri at kitware.com Mon Mar 20 16:50:31 2017 From: sankhesh.jhaveri at kitware.com (Sankhesh Jhaveri) Date: Mon, 20 Mar 2017 20:50:31 +0000 Subject: [vtkusers] Some problems come up when set opacity for polydata In-Reply-To: <1489925468300-5742518.post@n5.nabble.com> References: <1489925468300-5742518.post@n5.nabble.com> Message-ID: Hi Wang, Look at the translucent geometry example to see how to enable depth peeling in VTK. Hope that helps. Thanks, Sankhesh ? On Sun, Mar 19, 2017 at 5:11 AM wangtaoiz wrote: > Dear all, > I have recently encountered a problem that when I set opacity for the > actor property of polydata, There is a strange phenomenon, the front > surface and the back surface in 3D view would sometime exchanged > unexpectedly, what should I do? > > > Thanks a lot! > Wang > > > > -- > View this message in context: > http://vtk.1045678.n5.nabble.com/Some-problems-come-up-when-set-opacity-for-polydata-tp5742518.html > Sent from the VTK - Users mailing list archive at Nabble.com. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -- Sankhesh Jhaveri *Sr. Research & Development Engineer* | Kitware | (518) 881-4417 ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From elvis.stansvik at orexplore.com Mon Mar 20 17:18:07 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Mon, 20 Mar 2017 22:18:07 +0100 Subject: [vtkusers] announce: vtk 7.1.1 In-Reply-To: References: Message-ID: 2017-03-20 19:19 GMT+01:00 David E DeMarle : > Hi, > > Just a short note to point out that we've put out a patch release for VTK > 7.1. > > This release is just a handful of fixes over last Fall's 7.1.0. The most > impactful item is that our java wrappings were corrected. Other fixes went > in for picking with antialiasing, volume masking, virtual reality device > rendering, compilation of KIT aggregate libraries, and accessing hdf5 when > using CMake versions older than 3.4. > > You can browse all of the changes here: > https://gitlab.kitware.com/vtk/vtk/milestones/7 Nice, I'll give it a go tomorrow! > > While I have your attention, be on the lookout for VTK 8.0. We will begin > the release cycle for that soon. The new release bring vtk-m accelerated > filters and at the same time an enforced requirement for C++11 compilers. > You can get a taste of what you'll see in the current VTK master branch. Aha, I didn't know 8.0 was around the corner. Does that mean there'll be no 7.2? Not that it matters to me if it's called 7.2 or 8, just curious :) Elvis > > David E DeMarle > Kitware, Inc. > R&D Engineer > 21 Corporate Drive > Clifton Park, NY 12065-8662 > Phone: 518-881-4909 > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > From dave.demarle at kitware.com Mon Mar 20 17:21:32 2017 From: dave.demarle at kitware.com (David E DeMarle) Date: Mon, 20 Mar 2017 17:21:32 -0400 Subject: [vtkusers] announce: vtk 7.1.1 In-Reply-To: References: Message-ID: On Mon, Mar 20, 2017 at 5:18 PM, Elvis Stansvik < elvis.stansvik at orexplore.com> wrote: > 2017-03-20 19:19 GMT+01:00 David E DeMarle : > > Hi, > > > > Just a short note to point out that we've put out a patch release for VTK > > 7.1. > > > > Nice, I'll give it a go tomorrow! > > thanks! > > > > While I have your attention, be on the lookout for VTK 8.0. We will begin > > the release cycle for that soon. The new release bring vtk-m accelerated > > filters and at the same time an enforced requirement for C++11 compilers. > > You can get a taste of what you'll see in the current VTK master branch. > > Aha, I didn't know 8.0 was around the corner. Does that mean there'll > be no 7.2? Not that it matters to me if it's called 7.2 or 8, just > curious :) > > Yes there won't be a 7.2. There could be a 7.1.2 if something bad turns up in 7.1.1. > Elvis > > > > > David E DeMarle > > Kitware, Inc. > > R&D Engineer > > 21 Corporate Drive > > Clifton Park, NY 12065-8662 > > Phone: 518-881-4909 > > > > _______________________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Please keep messages on-topic and check the VTK FAQ at: > > http://www.vtk.org/Wiki/VTK_FAQ > > > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > > > Follow this link to subscribe/unsubscribe: > > http://public.kitware.com/mailman/listinfo/vtkusers > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From elvis.stansvik at orexplore.com Mon Mar 20 17:23:18 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Mon, 20 Mar 2017 22:23:18 +0100 Subject: [vtkusers] announce: vtk 7.1.1 In-Reply-To: References: Message-ID: 2017-03-20 22:21 GMT+01:00 David E DeMarle : > > On Mon, Mar 20, 2017 at 5:18 PM, Elvis Stansvik > wrote: >> >> 2017-03-20 19:19 GMT+01:00 David E DeMarle : >> > Hi, >> > >> > Just a short note to point out that we've put out a patch release for >> > VTK >> > 7.1. >> > >> >> Nice, I'll give it a go tomorrow! >> > > thanks! > >> >> > >> > While I have your attention, be on the lookout for VTK 8.0. We will >> > begin >> > the release cycle for that soon. The new release bring vtk-m accelerated >> > filters and at the same time an enforced requirement for C++11 >> > compilers. >> > You can get a taste of what you'll see in the current VTK master branch. >> >> Aha, I didn't know 8.0 was around the corner. Does that mean there'll >> be no 7.2? Not that it matters to me if it's called 7.2 or 8, just >> curious :) >> > > Yes there won't be a 7.2. > > There could be a 7.1.2 if something bad turns up in 7.1.1. Alright, thanks for clarifying. Elvis > >> >> Elvis >> >> > >> > David E DeMarle >> > Kitware, Inc. >> > R&D Engineer >> > 21 Corporate Drive >> > Clifton Park, NY 12065-8662 >> > Phone: 518-881-4909 >> > >> > _______________________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Please keep messages on-topic and check the VTK FAQ at: >> > http://www.vtk.org/Wiki/VTK_FAQ >> > >> > Search the list archives at: http://markmail.org/search/?q=vtkusers >> > >> > Follow this link to subscribe/unsubscribe: >> > http://public.kitware.com/mailman/listinfo/vtkusers >> > > > From dan.lipsa at kitware.com Mon Mar 20 17:37:10 2017 From: dan.lipsa at kitware.com (Dan Lipsa) Date: Mon, 20 Mar 2017 17:37:10 -0400 Subject: [vtkusers] place arrows equally spaced along streamlines In-Reply-To: References: Message-ID: Cory, That's a pity! It worked beautifully! :-) I could not see any difference between streamlines generated from the normalized vector field and the streamlines generated from the original field. I could not understand why and still don't as the interpolated vectors will be different (and have different direction) if you normalize the original vectors. Maybe as Andy said, you'll still have the correct vectors in the points of the dataset and the differences in the interpolated vectors are small. On Mon, Mar 20, 2017 at 4:08 PM, Cory Quammen wrote: > Dan, > > Actually, I think I'm wrong. I think you would get different > streamline results by changing the vector magnitudes. You'll > definitely get evenly spaced glyphs by normalizing, though :-) Too bad > the streamlines will be wrong. > > I can't think of any other tricks using existing tools in VTK to do > this - you would need a scalar field along the streamline giving the > distance from seed point. > > Cory > > On Wed, Mar 15, 2017 at 9:20 PM, Dan Lipsa wrote: > > Thanks Cory! > > This works very nice! > > > > Dan > > > > > > On Wed, Mar 15, 2017 at 12:08 PM, Cory Quammen > > > wrote: > >> > >> Dan, > >> > >> Another way would be to normalize your vector field, run the stream > >> tracer on it, and then contour by integration time. That should give > >> you evenly spaced samples along the streamline when you run the > >> contour filter on it. > >> > >> A quick test of this in ParaView looks like it should work. See > >> attached images. The one with the normalized velocity field has even > >> spacing, the one with the non-normalized velocity field does not. > >> > >> Cory > >> > >> On Wed, Mar 15, 2017 at 11:44 AM, Dan Lipsa > wrote: > >> > Hi all, > >> > I would like to place arrow glyphs equally spaced along streamlines. I > >> > am > >> > using vtkStreamTracer. > >> > The only way I see to do this is to add an option to vtkStreamTracer > to > >> > compute the distance from the seed and add this as a point data to the > >> > the > >> > streamline. Than, I can use contour to get the points where I need to > >> > place > >> > the arrows. > >> > > >> > Is there any other simpler way? Do you have any suggestions with this? > >> > > >> > Thanks, > >> > Dan > >> > > >> > > >> > _______________________________________________ > >> > Powered by www.kitware.com > >> > > >> > Visit other Kitware open-source projects at > >> > http://www.kitware.com/opensource/opensource.html > >> > > >> > Please keep messages on-topic and check the VTK FAQ at: > >> > http://www.vtk.org/Wiki/VTK_FAQ > >> > > >> > Search the list archives at: http://markmail.org/search/?q=vtkusers > >> > > >> > Follow this link to subscribe/unsubscribe: > >> > http://public.kitware.com/mailman/listinfo/vtkusers > >> > > >> > >> > >> > >> -- > >> Cory Quammen > >> Staff R&D Engineer > >> Kitware, Inc. > > > > > > > > -- > Cory Quammen > Staff R&D Engineer > Kitware, Inc. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dan.lipsa at kitware.com Mon Mar 20 17:42:09 2017 From: dan.lipsa at kitware.com (Dan Lipsa) Date: Mon, 20 Mar 2017 17:42:09 -0400 Subject: [vtkusers] place arrows equally spaced along streamlines In-Reply-To: References: Message-ID: Shawn, I don't think this filter will work because you can interpolate in both directions from a seed which means that you'll have a jump between some points. Seems the easiest would be just to add an additional array in vtkStreamTracer. Dan On Mon, Mar 20, 2017 at 4:39 PM, Shawn Waldon wrote: > Not VTK, but ParaView has a vtkAppendArcLength filter [1] that you can use > to append the distance along a polyline as a data array. Then could you > use that to get your evenly spaced points? It could be moved down into VTK > if someone needed it there. I'm not sure how it handles multiple lines in > the input dataset though. > > Shawn > > [1]: http://www.paraview.org/ParaView/Doc/Nightly/www/cxx- > doc/classvtkAppendArcLength.html > > On Mon, Mar 20, 2017 at 4:22 PM, Andy Bauer > wrote: > >> For this you would have to normalize the vector after doing the >> interpolation instead of on the full velocity field. >> >> On Mon, Mar 20, 2017 at 4:13 PM, Andy Bauer >> wrote: >> >>> If exact math was done with integrating the streamlines you should get >>> the same result, regardless of the vector magnitude. Since we are >>> numerically integrating though it may be off a bit. >>> >>> On Mon, Mar 20, 2017 at 4:08 PM, Cory Quammen >>> wrote: >>> >>>> Dan, >>>> >>>> Actually, I think I'm wrong. I think you would get different >>>> streamline results by changing the vector magnitudes. You'll >>>> definitely get evenly spaced glyphs by normalizing, though :-) Too bad >>>> the streamlines will be wrong. >>>> >>>> I can't think of any other tricks using existing tools in VTK to do >>>> this - you would need a scalar field along the streamline giving the >>>> distance from seed point. >>>> >>>> Cory >>>> >>>> On Wed, Mar 15, 2017 at 9:20 PM, Dan Lipsa >>>> wrote: >>>> > Thanks Cory! >>>> > This works very nice! >>>> > >>>> > Dan >>>> > >>>> > >>>> > On Wed, Mar 15, 2017 at 12:08 PM, Cory Quammen < >>>> cory.quammen at kitware.com> >>>> > wrote: >>>> >> >>>> >> Dan, >>>> >> >>>> >> Another way would be to normalize your vector field, run the stream >>>> >> tracer on it, and then contour by integration time. That should give >>>> >> you evenly spaced samples along the streamline when you run the >>>> >> contour filter on it. >>>> >> >>>> >> A quick test of this in ParaView looks like it should work. See >>>> >> attached images. The one with the normalized velocity field has even >>>> >> spacing, the one with the non-normalized velocity field does not. >>>> >> >>>> >> Cory >>>> >> >>>> >> On Wed, Mar 15, 2017 at 11:44 AM, Dan Lipsa >>>> wrote: >>>> >> > Hi all, >>>> >> > I would like to place arrow glyphs equally spaced along >>>> streamlines. I >>>> >> > am >>>> >> > using vtkStreamTracer. >>>> >> > The only way I see to do this is to add an option to >>>> vtkStreamTracer to >>>> >> > compute the distance from the seed and add this as a point data to >>>> the >>>> >> > the >>>> >> > streamline. Than, I can use contour to get the points where I need >>>> to >>>> >> > place >>>> >> > the arrows. >>>> >> > >>>> >> > Is there any other simpler way? Do you have any suggestions with >>>> this? >>>> >> > >>>> >> > Thanks, >>>> >> > Dan >>>> >> > >>>> >> > >>>> >> > _______________________________________________ >>>> >> > Powered by www.kitware.com >>>> >> > >>>> >> > Visit other Kitware open-source projects at >>>> >> > http://www.kitware.com/opensource/opensource.html >>>> >> > >>>> >> > Please keep messages on-topic and check the VTK FAQ at: >>>> >> > http://www.vtk.org/Wiki/VTK_FAQ >>>> >> > >>>> >> > Search the list archives at: http://markmail.org/search/?q= >>>> vtkusers >>>> >> > >>>> >> > Follow this link to subscribe/unsubscribe: >>>> >> > http://public.kitware.com/mailman/listinfo/vtkusers >>>> >> > >>>> >> >>>> >> >>>> >> >>>> >> -- >>>> >> Cory Quammen >>>> >> Staff R&D Engineer >>>> >> Kitware, Inc. >>>> > >>>> > >>>> >>>> >>>> >>>> -- >>>> Cory Quammen >>>> Staff R&D Engineer >>>> Kitware, Inc. >>>> _______________________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Please keep messages on-topic and check the VTK FAQ at: >>>> http://www.vtk.org/Wiki/VTK_FAQ >>>> >>>> Search the list archives at: http://markmail.org/search/?q=vtkusers >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://public.kitware.com/mailman/listinfo/vtkusers >>>> >>> >>> >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: >> http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers >> >> > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rccm.kyoshimi at gmail.com Mon Mar 20 21:53:15 2017 From: rccm.kyoshimi at gmail.com (kenichiro yoshimi) Date: Tue, 21 Mar 2017 10:53:15 +0900 Subject: [vtkusers] vtkParametricFunctionSource producing non-manifold edges In-Reply-To: <1490015982403-5742520.post@n5.nabble.com> References: <1490015982403-5742520.post@n5.nabble.com> Message-ID: Hi Robert, I have the same problem with vtkParametricTorus and need to set the following options related to the triangle strips to solve this problem. vtkSmartPointer parametricObject = vtkSmartPointer::New(); parametricObject->JoinUOff(); parametricObject->JoinVOff(); parametricObject->JoinWOff(); Regards, yoshimi 2017-03-20 22:19 GMT+09:00 RobertS : > I'm generating torus using vtkParametricTorus and > vtkParametricFunctionSource. The problem is, that the > vtkParametricFunctionSource is producing non-manifold edges in the resulting > object, so I cannot use subdivision filters on it. > > Is there any filter that can be used to remove these non-manifold edges? > > This wasn't happening in VTK 5, here the torus doesn't have any non-manifold > edges. > > > > -- > View this message in context: http://vtk.1045678.n5.nabble.com/vtkParametricFunctionSource-producing-non-manifold-edges-tp5742520.html > Sent from the VTK - Users mailing list archive at Nabble.com. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers From prakeshofficial at gmail.com Mon Mar 20 22:49:34 2017 From: prakeshofficial at gmail.com (rakesh patil) Date: Tue, 21 Mar 2017 08:19:34 +0530 Subject: [vtkusers] How to orbit/rotate about any world coordinate? Message-ID: Hi, I would like to know how the orbit/rotate can be implemented to support orbiting about any given world coordinate. My understanding says that currently most of the interactor styles perform orbit/rotation with respect to the origin (0, 0, 0). Right? So my question is when I perform some zoom and pan operation, now I am far away from the origin. In such case, I want the orbit to happen with respect to the center of that view (initially, the center will be at (0, 0, 0). Is it possible to do that? Thanks in advance Regards -------------- next part -------------- An HTML attachment was scrubbed... URL: From prakeshofficial at gmail.com Mon Mar 20 23:16:21 2017 From: prakeshofficial at gmail.com (rakesh patil) Date: Tue, 21 Mar 2017 08:46:21 +0530 Subject: [vtkusers] Support for touchpad Message-ID: Hello, I would like to know whether there is any APIs to handle trackpad events. On MAC Book Pro (laptop) the trackpad produces flickering effect when we drag over it. So, is it possible to get the smooth flow using trackpad, the same way as we see using mouse scroll? I am not sure whether this is reproducible in paraview. Can someone give some update on this? Thanks in advance Regards -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrew.amaclean at gmail.com Tue Mar 21 00:35:38 2017 From: andrew.amaclean at gmail.com (Andrew Maclean) Date: Tue, 21 Mar 2017 15:35:38 +1100 Subject: [vtkusers] vtkParametricFunctionSource producing non-manifold edges Message-ID: I have a solution. If you set: torus = vtk.vtkParametricTorus() torus.JoinUOff() torus.JoinVOff() This will work. I tested using vtkButterflySubdivisionFilter and vtkLinearSubdivisionFilter You can also get away just using torus.JoinUOff() This also works for vtkParametricBoy and vtkParametricEllipsoid. Regards Andrew On Tue, Mar 21, 2017 at 7:29 AM, Bill Lorensen wrote: > I was able to verify the issue. > > > ---------- Forwarded message ---------- > From: RobertS > Date: Mon, Mar 20, 2017 at 9:19 AM > Subject: [vtkusers] vtkParametricFunctionSource producing non-manifold > edges > To: vtkusers at vtk.org > > > I'm generating torus using vtkParametricTorus and > vtkParametricFunctionSource. The problem is, that the > vtkParametricFunctionSource is producing non-manifold edges in the > resulting > object, so I cannot use subdivision filters on it. > > Is there any filter that can be used to remove these non-manifold edges? > > This wasn't happening in VTK 5, here the torus doesn't have any > non-manifold > edges. > > > > -- > View this message in context: > http://vtk.1045678.n5.nabble.com/vtkParametricFunctionSource- > producing-non-manifold-edges-tp5742520.html > Sent from the VTK - Users mailing list archive at Nabble.com. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > > > -- > Unpaid intern in BillsBasement at noware dot com > -- ___________________________________________ Andrew J. P. Maclean ___________________________________________ -------------- next part -------------- An HTML attachment was scrubbed... URL: From rccm.kyoshimi at gmail.com Tue Mar 21 02:28:24 2017 From: rccm.kyoshimi at gmail.com (kenichiro yoshimi) Date: Tue, 21 Mar 2017 15:28:24 +0900 Subject: [vtkusers] vector to vtkpolydata In-Reply-To: References: Message-ID: Hi, How about trying this example with loop operations for your vector? http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/NullPoint Regards, yoshimi 2017-03-21 0:22 GMT+09:00 Abdelkhalek Bakkari : > Dear VTK users, > > > How can I convert a vector to vtkpolydata please ? > > > Kind regards, > > > Abdelkhalek Bakkari > > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > From kevinrdixon at gmail.com Tue Mar 21 05:22:53 2017 From: kevinrdixon at gmail.com (Kevin Dixon) Date: Tue, 21 Mar 2017 09:22:53 +0000 Subject: [vtkusers] Issue list In-Reply-To: References: Message-ID: I've had no replies on this issue, so I'm assuming there is no way of extract a list of known issue by VTK version. The alternative for me is to export the issue list and go through issue by issue (or commit by commit) to understand if a particular issue is relevant to a version and my use of VTK. However, the gitlab issue list has no apparent way of exporting issues at all (e.g. to XML or CSV). Can anyone help with exporting a list of known issues - either all issue, or only those relevant to a particular version of VTK? On 13 March 2017 at 10:02, Kevin Dixon wrote: > Hi, > > I'm looking for a list of the current known issue in VTK, specifically > 7.0.0. The issues board https://gitlab.kitware. > com/vtk/vtk/issues?scope=all&state=all does not seem to have a coherent > way of listing issues by 'fix version'. > Can anyone suggest how I might generate a list of known issues in a > specific VTK version? > > Thanks > > Kevin > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bill.q.hdp at gmail.com Tue Mar 21 07:55:31 2017 From: bill.q.hdp at gmail.com (Bill Q) Date: Tue, 21 Mar 2017 19:55:31 +0800 Subject: [vtkusers] Image comparison slider implementation Message-ID: Hi All, Is there a way to implement a image comparison slider in vtk? We have two images, and the easiest way to visualize the difference might be using a slider window to move the image from left to right between these two layers of image. Something like this: https://stories.jotform.com/making-a-responsive-image-comparison-slider-in-css-and-javascript-f3a691a9dd71#.7ixpjcm6c Is there a way to do it? Many thanks. Bill -------------- next part -------------- An HTML attachment was scrubbed... URL: From m.nunes at fratoria.com Tue Mar 21 08:09:06 2017 From: m.nunes at fratoria.com (Shark) Date: Tue, 21 Mar 2017 05:09:06 -0700 (MST) Subject: [vtkusers] announce: vtk 7.1.1 In-Reply-To: References: Message-ID: <1490098146211-5742554.post@n5.nabble.com> Hi David, Thank you for the heads up! Question: is the vtkWindowLevelLookupTable and vtkLookupTable ForceBuild issue fixed in 7.1.1 or 8.0 ? I mentioned it here: http://vtk.1045678.n5.nabble.com/VTK-7-1-issue-with-Window-Level-rendered-values-tp5742316p5742349.html Best shark -- View this message in context: http://vtk.1045678.n5.nabble.com/announce-vtk-7-1-1-tp5742530p5742554.html Sent from the VTK - Users mailing list archive at Nabble.com. From m.nunes at fratoria.com Tue Mar 21 08:26:09 2017 From: m.nunes at fratoria.com (Shark) Date: Tue, 21 Mar 2017 05:26:09 -0700 (MST) Subject: [vtkusers] Molding an image slice Message-ID: <1490099169373-5742555.post@n5.nabble.com> Hello, I have been trying for some days to "mold" a 3D image slice. (imagine a towel in the wind) What I mean is that I have a 2D slice, extracted from a 3D vtkImageData, and one 3D vector for each pixel of the slice. I want to translate/transform/move each pixel from the 2D slice to a 3D position (and augmenting the extent of the 2D slice in x,y,z when necessary) while keeping these pixel stitched together. I believe my knowledge of all VTK filters is not that great, so I think something is already implemented for this, but I cannot find it. Currently, my line of thinking is: create an unstructured grid, apply the vectors transformation, create a new vtkImageData from this transformation and map the pixel values through ids (cell IDs? point IDs? ). In the end I would see a slice stretched, compressed and bent up, down and to the sides. Thank you! shark -- View this message in context: http://vtk.1045678.n5.nabble.com/Molding-an-image-slice-tp5742555.html Sent from the VTK - Users mailing list archive at Nabble.com. From david.gobbi at gmail.com Tue Mar 21 08:40:01 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Tue, 21 Mar 2017 06:40:01 -0600 Subject: [vtkusers] announce: vtk 7.1.1 In-Reply-To: <1490098146211-5742554.post@n5.nabble.com> References: <1490098146211-5742554.post@n5.nabble.com> Message-ID: Hi Shark, I'm partly responsible for that, because even though I submitted a bug report, I forgot to assign a milestone: https://gitlab.kitware.com/vtk/vtk/issues/16966 The fix is still "in progress". - David On Tue, Mar 21, 2017 at 6:09 AM, Shark wrote: > Hi David, > Thank you for the heads up! > > Question: is the vtkWindowLevelLookupTable and vtkLookupTable ForceBuild > issue fixed in 7.1.1 or 8.0 ? > > I mentioned it here: > http://vtk.1045678.n5.nabble.com/VTK-7-1-issue-with-Window-L > evel-rendered-values-tp5742316p5742349.html > > Best > shark > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From elvis.stansvik at orexplore.com Tue Mar 21 08:51:11 2017 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Tue, 21 Mar 2017 13:51:11 +0100 Subject: [vtkusers] announce: vtk 7.1.1 In-Reply-To: References: Message-ID: 2017-03-20 22:21 GMT+01:00 David E DeMarle : > > On Mon, Mar 20, 2017 at 5:18 PM, Elvis Stansvik > wrote: >> >> 2017-03-20 19:19 GMT+01:00 David E DeMarle : >> > Hi, >> > >> > Just a short note to point out that we've put out a patch release for >> > VTK >> > 7.1. >> > >> >> Nice, I'll give it a go tomorrow! >> > > thanks! The upgrade was smooth for our application, everything seems to work. Elvis > >> >> > >> > While I have your attention, be on the lookout for VTK 8.0. We will >> > begin >> > the release cycle for that soon. The new release bring vtk-m accelerated >> > filters and at the same time an enforced requirement for C++11 >> > compilers. >> > You can get a taste of what you'll see in the current VTK master branch. >> >> Aha, I didn't know 8.0 was around the corner. Does that mean there'll >> be no 7.2? Not that it matters to me if it's called 7.2 or 8, just >> curious :) >> > > Yes there won't be a 7.2. > > There could be a 7.1.2 if something bad turns up in 7.1.1. > >> >> Elvis >> >> > >> > David E DeMarle >> > Kitware, Inc. >> > R&D Engineer >> > 21 Corporate Drive >> > Clifton Park, NY 12065-8662 >> > Phone: 518-881-4909 >> > >> > _______________________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Please keep messages on-topic and check the VTK FAQ at: >> > http://www.vtk.org/Wiki/VTK_FAQ >> > >> > Search the list archives at: http://markmail.org/search/?q=vtkusers >> > >> > Follow this link to subscribe/unsubscribe: >> > http://public.kitware.com/mailman/listinfo/vtkusers >> > > > From david.gobbi at gmail.com Tue Mar 21 08:54:58 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Tue, 21 Mar 2017 06:54:58 -0600 Subject: [vtkusers] Molding an image slice In-Reply-To: <1490099169373-5742555.post@n5.nabble.com> References: <1490099169373-5742555.post@n5.nabble.com> Message-ID: Hi Shark, I think the most efficient option would be a vtkTexture on a vtkPolyData. You can use vtkPlaneSource to make a polydata that has as many points as your image has pixels. If necessary, you can use vtkTransformTextureCoords to tweak the texture coords. Then you can use e.g. vtkGridTransform or vtkBSplineTransform with vtkTransformPolyDataFilter to warp the plane, or perhaps vtkWarpVector. Regards, - David On Tue, Mar 21, 2017 at 6:26 AM, Shark wrote: > Hello, > > I have been trying for some days to "mold" a 3D image slice. (imagine a > towel in the wind) > > What I mean is that I have a 2D slice, extracted from a 3D vtkImageData, > and > one 3D vector for each pixel of the slice. I want to > translate/transform/move each pixel from the 2D slice to a 3D position (and > augmenting the extent of the 2D slice in x,y,z when necessary) while > keeping > these pixel stitched together. I believe my knowledge of all VTK filters is > not that great, so I think something is already implemented for this, but I > cannot find it. > > Currently, my line of thinking is: create an unstructured grid, apply the > vectors transformation, create a new vtkImageData from this transformation > and map the pixel values through ids (cell IDs? point IDs? ). > > In the end I would see a slice stretched, compressed and bent up, down and > to the sides. > > Thank you! > shark > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.gobbi at gmail.com Tue Mar 21 09:10:13 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Tue, 21 Mar 2017 07:10:13 -0600 Subject: [vtkusers] Molding an image slice In-Reply-To: References: <1490099169373-5742555.post@n5.nabble.com> Message-ID: Here is an example of applying a texture map to a plane (the warping step would have to be added). https://www.vtk.org/Wiki/VTK/Examples/Cxx/Visualization/TextureMapPlane To properly set up the vtkPlaneSource to match the image geometry, it would be necessary to use these methods: plane->SetResolution(xdivs, ydivs); plane->SetOrigin() plane->SetPoint1() plane->SetPoint2() On Tue, Mar 21, 2017 at 6:54 AM, David Gobbi wrote: > Hi Shark, > > I think the most efficient option would be a vtkTexture on a vtkPolyData. > You can use vtkPlaneSource to make a polydata that has as many points as > your image has pixels. If necessary, you can use vtkTransformTextureCoords > to tweak the texture coords. > > Then you can use e.g. vtkGridTransform or vtkBSplineTransform with > vtkTransformPolyDataFilter to warp the plane, or perhaps vtkWarpVector. > > Regards, > - David > > > On Tue, Mar 21, 2017 at 6:26 AM, Shark wrote: > >> Hello, >> >> I have been trying for some days to "mold" a 3D image slice. (imagine a >> towel in the wind) >> >> What I mean is that I have a 2D slice, extracted from a 3D vtkImageData, >> and >> one 3D vector for each pixel of the slice. I want to >> translate/transform/move each pixel from the 2D slice to a 3D position >> (and >> augmenting the extent of the 2D slice in x,y,z when necessary) while >> keeping >> these pixel stitched together. I believe my knowledge of all VTK filters >> is >> not that great, so I think something is already implemented for this, but >> I >> cannot find it. >> >> Currently, my line of thinking is: create an unstructured grid, apply the >> vectors transformation, create a new vtkImageData from this transformation >> and map the pixel values through ids (cell IDs? point IDs? ). >> >> In the end I would see a slice stretched, compressed and bent up, down and >> to the sides. >> >> Thank you! >> shark >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.gobbi at gmail.com Tue Mar 21 09:12:19 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Tue, 21 Mar 2017 07:12:19 -0600 Subject: [vtkusers] Molding an image slice In-Reply-To: References: <1490099169373-5742555.post@n5.nabble.com> Message-ID: Note: if you get a warning when you click the link to the example, try again without https: http://www.vtk.org/Wiki/VTK/Examples/Cxx/Visualization/TextureMapPlane On Tue, Mar 21, 2017 at 7:10 AM, David Gobbi wrote: > Here is an example of applying a texture map to a plane (the warping step > would have to be added). > https://www.vtk.org/Wiki/VTK/Examples/Cxx/Visualization/TextureMapPlane > > To properly set up the vtkPlaneSource to match the image geometry, it > would be necessary to use these methods: > plane->SetResolution(xdivs, ydivs); > plane->SetOrigin() > plane->SetPoint1() > plane->SetPoint2() > > On Tue, Mar 21, 2017 at 6:54 AM, David Gobbi > wrote: > >> Hi Shark, >> >> I think the most efficient option would be a vtkTexture on a >> vtkPolyData. You can use vtkPlaneSource to make a polydata that has as >> many points as your image has pixels. If necessary, you can >> use vtkTransformTextureCoords to tweak the texture coords. >> >> Then you can use e.g. vtkGridTransform or vtkBSplineTransform with >> vtkTransformPolyDataFilter to warp the plane, or perhaps vtkWarpVector. >> >> Regards, >> - David >> >> >> On Tue, Mar 21, 2017 at 6:26 AM, Shark wrote: >> >>> Hello, >>> >>> I have been trying for some days to "mold" a 3D image slice. (imagine a >>> towel in the wind) >>> >>> What I mean is that I have a 2D slice, extracted from a 3D vtkImageData, >>> and >>> one 3D vector for each pixel of the slice. I want to >>> translate/transform/move each pixel from the 2D slice to a 3D position >>> (and >>> augmenting the extent of the 2D slice in x,y,z when necessary) while >>> keeping >>> these pixel stitched together. I believe my knowledge of all VTK filters >>> is >>> not that great, so I think something is already implemented for this, >>> but I >>> cannot find it. >>> >>> Currently, my line of thinking is: create an unstructured grid, apply the >>> vectors transformation, create a new vtkImageData from this >>> transformation >>> and map the pixel values through ids (cell IDs? point IDs? ). >>> >>> In the end I would see a slice stretched, compressed and bent up, down >>> and >>> to the sides. >>> >>> Thank you! >>> shark >>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From inglis.dl at gmail.com Tue Mar 21 09:13:50 2017 From: inglis.dl at gmail.com (Dean Inglis) Date: Tue, 21 Mar 2017 09:13:50 -0400 Subject: [vtkusers] Image comparison slider implementation In-Reply-To: References: Message-ID: Hi Bill, this widget class might work for you: http://www.vtk.org/doc/release/7.1/html/classvtkRectilinearWipeWidget.html - Dean On Tue, Mar 21, 2017 at 7:55 AM, Bill Q wrote: > Hi All, > Is there a way to implement a image comparison slider in vtk? > > We have two images, and the easiest way to visualize the difference might > be using a slider window to move the image from left to right between these > two layers of image. > > Something like this: https://stories.jotform. > com/making-a-responsive-image-comparison-slider-in-css-and- > javascript-f3a691a9dd71#.7ixpjcm6c > > Is there a way to do it? > > Many thanks. > > > Bill > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From m.nunes at fratoria.com Tue Mar 21 09:18:49 2017 From: m.nunes at fratoria.com (Shark) Date: Tue, 21 Mar 2017 06:18:49 -0700 (MST) Subject: [vtkusers] Molding an image slice In-Reply-To: References: <1490099169373-5742555.post@n5.nabble.com> Message-ID: <1490102329877-5742562.post@n5.nabble.com> David Gobbi, thank you so much for the tips! I will explore them and let you know if it worked! Best Shark -- View this message in context: http://vtk.1045678.n5.nabble.com/Molding-an-image-slice-tp5742555p5742562.html Sent from the VTK - Users mailing list archive at Nabble.com. From bill.lorensen at gmail.com Tue Mar 21 09:58:54 2017 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Tue, 21 Mar 2017 09:58:54 -0400 Subject: [vtkusers] Image comparison slider implementation In-Reply-To: References: Message-ID: Take a look at this example http://www.vtk.org/Wiki/VTK/Examples/Cxx/Widgets/RectilinearWipeWidget On Mar 21, 2017 9:13 AM, "Dean Inglis" wrote: > Hi Bill, > > this widget class might work for you: > > http://www.vtk.org/doc/release/7.1/html/classvtkRectilinearWipeWidget.html > > - Dean > > > On Tue, Mar 21, 2017 at 7:55 AM, Bill Q wrote: > >> Hi All, >> Is there a way to implement a image comparison slider in vtk? >> >> We have two images, and the easiest way to visualize the difference might >> be using a slider window to move the image from left to right between these >> two layers of image. >> >> Something like this: https://stories.jotform. >> com/making-a-responsive-image-comparison-slider-in-css-and-j >> avascript-f3a691a9dd71#.7ixpjcm6c >> >> Is there a way to do it? >> >> Many thanks. >> >> >> Bill >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: >> http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers >> >> > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ben.boeckel at kitware.com Tue Mar 21 10:03:48 2017 From: ben.boeckel at kitware.com (Ben Boeckel) Date: Tue, 21 Mar 2017 10:03:48 -0400 Subject: [vtkusers] Issue list In-Reply-To: References: Message-ID: <20170321140348.GA18336@megas.kitware.com> On Tue, Mar 21, 2017 at 09:22:53 +0000, Kevin Dixon wrote: > I've had no replies on this issue, so I'm assuming there is no way of > extract a list of known issue by VTK version. > The alternative for me is to export the issue list and go through issue by > issue (or commit by commit) to understand if a particular issue is relevant > to a version and my use of VTK. However, the gitlab issue list has no > apparent way of exporting issues at all (e.g. to XML or CSV). > Can anyone help with exporting a list of known issues - either all issue, > or only those relevant to a particular version of VTK? You can use the Gitlab API to extract issue information in JSON format: https://gitlab.kitware.com/help/api/issues.md There are multiple Gitlab API libraries out there, but this is the one we've used the most: https://gitlab.kitware.com/utils/mantis-to-gitlab/blob/master/gitlab.py As for the information you're looking for, we haven't been the best about tagging issues and merge requests with milestones which they apply to. There is a task to get the Kitware Robot (@kwrobot) to put milestones on merged MRs and the issues they close, but I haven't gotten there yet. That issue is here: https://gitlab.kitware.com/utils/rust-ghostflow/issues/20 --Ben From richard.j.brown at live.co.uk Tue Mar 21 10:04:57 2017 From: richard.j.brown at live.co.uk (Richard Brown) Date: Tue, 21 Mar 2017 14:04:57 +0000 Subject: [vtkusers] VTK deployment with static libraries on Mac (and in Qt Creator) In-Reply-To: References: <1489510232520-5742475.post@n5.nabble.com> <20170314172515.1710714704@mail.rogue-research.com> <20170316160114.1222247310@mail.rogue-research.com> <20170320152004.1480265567@mail.rogue-research.com> Message-ID: Hi David, Elvis, I?ll stick to dynamic libraries in that case. After a bit of reading I think I need to copy the dynamic libraries into the app bundle then use install_name_tool to sort out all the paths. Thanks for the help, Richard On 20 Mar 2017, at 17:44, David Gobbi > wrote: Hi Richard, It is possible to build dynamically-linked applications with Qt and VTK, and to share such applications. On the Mac, the Qt libraries become part of the app bundle. I do not know how to do this with Qt Creator, but there should definitely be Qt experts around who know how to do it. Maybe not on the VTK list, however, since I don't think that many of us here use Qt Creator. There are two strong reasons for using dynamic linking with Qt: 1) it allows you to use the Qt binaries from the Qt download site. 2) it allows you to use the Qt LGPL license without releasing your code Reason (2) is important. If you use static Qt libraries, then you must either pay for a Qt license or else release your own code as LGPL or a compatible open-source license. - David On Mon, Mar 20, 2017 at 9:20 AM, Sean McBride > wrote: On Thu, 16 Mar 2017 09:07:54 -0700, mbcx9rb9 said: >Building in Qt Creator gives this error. Building with Cmake compiles >without any problems So sounds more like a Qt problem problem, to be asked on a Qt list... (I've never used Qt, so alas have no further suggestions.) Sean -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.gobbi at gmail.com Tue Mar 21 10:08:20 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Tue, 21 Mar 2017 08:08:20 -0600 Subject: [vtkusers] VTK deployment with static libraries on Mac (and in Qt Creator) In-Reply-To: References: <1489510232520-5742475.post@n5.nabble.com> <20170314172515.1710714704@mail.rogue-research.com> <20170316160114.1222247310@mail.rogue-research.com> <20170320152004.1480265567@mail.rogue-research.com> Message-ID: Hi Richard, CMake can take care of that for you, see the following web page: http://cmake.org/cmake/help/v3.0/module/BundleUtilities.html There's more information about this issue on the cmake mailing list. Cheers, - David On Tue, Mar 21, 2017 at 8:04 AM, Richard Brown wrote: > Hi David, Elvis, > > I?ll stick to dynamic libraries in that case. > > After a bit of reading I think I need to copy the dynamic libraries into > the app bundle then use install_name_tool to sort out all the paths. > > Thanks for the help, > Richard > > On 20 Mar 2017, at 17:44, David Gobbi wrote: > > Hi Richard, > > It is possible to build dynamically-linked applications with Qt and VTK, > and to share such applications. On the Mac, the Qt libraries become part > of the app bundle. I do not know how to do this with Qt Creator, but there > should definitely be Qt experts around who know how to do it. Maybe not on > the VTK list, however, since I don't think that many of us here use Qt > Creator. > > There are two strong reasons for using dynamic linking with Qt: > 1) it allows you to use the Qt binaries from the Qt download site. > 2) it allows you to use the Qt LGPL license without releasing your code > > Reason (2) is important. If you use static Qt libraries, then you must > either pay for a Qt license or else release your own code as LGPL or a > compatible open-source license. > > - David > > > > > On Mon, Mar 20, 2017 at 9:20 AM, Sean McBride > wrote: > >> On Thu, 16 Mar 2017 09:07:54 -0700, mbcx9rb9 said: >> >> >Building in Qt Creator gives this error. Building with Cmake compiles >> >without any problems >> >> So sounds more like a Qt problem problem, to be asked on a Qt list... >> >> (I've never used Qt, so alas have no further suggestions.) >> >> Sean > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From m.nunes at fratoria.com Tue Mar 21 12:35:58 2017 From: m.nunes at fratoria.com (Shark) Date: Tue, 21 Mar 2017 09:35:58 -0700 (MST) Subject: [vtkusers] Molding an image slice In-Reply-To: <1490102329877-5742562.post@n5.nabble.com> References: <1490099169373-5742555.post@n5.nabble.com> <1490102329877-5742562.post@n5.nabble.com> Message-ID: <1490114158649-5742574.post@n5.nabble.com> David, Unfortunately I haven't been able to figure it out. I do not have a jpg image. I have a 3D CT image, stored in a VTKImageData. I also have another vtkImageData with 3 scalars - vector(x,y,z) representing the displacement of each CT pixel. I am rendering the CT slice and the vectors as a glyph3D with arrow source. What I want is to "stretch" the CT slice to fit the arrows, hence the molding. It seams the following examples, combined with the one you provided, are something similar to what I want to achieve: http://www.paraview.org/Wiki/VTK/Examples/Cxx/PolyData/WarpSurface http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/WarpVector However I am having a hard time understanding how to put things together with the CT data's slice. Best, Shark -- View this message in context: http://vtk.1045678.n5.nabble.com/Molding-an-image-slice-tp5742555p5742574.html Sent from the VTK - Users mailing list archive at Nabble.com. From david.gobbi at gmail.com Tue Mar 21 12:45:26 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Tue, 21 Mar 2017 10:45:26 -0600 Subject: [vtkusers] Molding an image slice In-Reply-To: <1490114158649-5742574.post@n5.nabble.com> References: <1490099169373-5742555.post@n5.nabble.com> <1490102329877-5742562.post@n5.nabble.com> <1490114158649-5742574.post@n5.nabble.com> Message-ID: Hi Shark, The vtkTexture takes an arbitrary vtkImageData as input, the input (obviously) doesn't have to come from a jpeg file. However, you will have to convert your CT image data to RGB or RGBA before using it as a texture, e.g. with vtkImageMapToColors via a greyscale lookup table. - David On Tue, Mar 21, 2017 at 10:35 AM, Shark wrote: > David, > > Unfortunately I haven't been able to figure it out. > > I do not have a jpg image. I have a 3D CT image, stored in a VTKImageData. > I > also have another vtkImageData with 3 scalars - vector(x,y,z) representing > the displacement of each CT pixel. > > I am rendering the CT slice and the vectors as a glyph3D with arrow source. > > What I want is to "stretch" the CT slice to fit the arrows, hence the > molding. > > It seams the following examples, combined with the one you provided, are > something similar to what I want to achieve: > http://www.paraview.org/Wiki/VTK/Examples/Cxx/PolyData/WarpSurface > http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/WarpVector > > However I am having a hard time understanding how to put things together > with the CT data's slice. > Best, > Shark > > > > > -- > View this message in context: http://vtk.1045678.n5.nabble. > com/Molding-an-image-slice-tp5742555p5742574.html > Sent from the VTK - Users mailing list archive at Nabble.com. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jose.de.paula at live.com Tue Mar 21 14:45:19 2017 From: jose.de.paula at live.com (Jose Barreto) Date: Tue, 21 Mar 2017 11:45:19 -0700 (MST) Subject: [vtkusers] encode string for VtkVectorText Message-ID: <1490121919285-5742577.post@n5.nabble.com> How does vtk interpret strings? I have a vtkVectorText attached to a vtkFollower and am trying to pass a string in latin1 format (I tried with utf8 too) but this fails. VtkVectorText :: SafeDownCast (vtkPolyDataMapper :: SafeDownCast (Text-> GetMapper ()) -> GetInputAlgorithm ()) -> SetText ("????????); -- View this message in context: http://vtk.1045678.n5.nabble.com/encode-string-for-VtkVectorText-tp5742577.html Sent from the VTK - Users mailing list archive at Nabble.com. From dan.lipsa at kitware.com Tue Mar 21 15:59:23 2017 From: dan.lipsa at kitware.com (Dan Lipsa) Date: Tue, 21 Mar 2017 15:59:23 -0400 Subject: [vtkusers] place arrows equally spaced along streamlines In-Reply-To: References: Message-ID: It turns out that each direction for streamlines is in its own cell, so vtkAppendArcLength works very nice. I'll move that to VTK. Thanks Shawn! Dan On Mon, Mar 20, 2017 at 5:42 PM, Dan Lipsa wrote: > Shawn, > I don't think this filter will work because you can interpolate in both > directions from a seed which means that you'll have a jump between some > points. Seems the easiest would be just to add an additional array in > vtkStreamTracer. > > Dan > > > On Mon, Mar 20, 2017 at 4:39 PM, Shawn Waldon > wrote: > >> Not VTK, but ParaView has a vtkAppendArcLength filter [1] that you can >> use to append the distance along a polyline as a data array. Then could >> you use that to get your evenly spaced points? It could be moved down into >> VTK if someone needed it there. I'm not sure how it handles multiple lines >> in the input dataset though. >> >> Shawn >> >> [1]: http://www.paraview.org/ParaView/Doc/Nightly/www/cxx-doc/ >> classvtkAppendArcLength.html >> >> On Mon, Mar 20, 2017 at 4:22 PM, Andy Bauer >> wrote: >> >>> For this you would have to normalize the vector after doing the >>> interpolation instead of on the full velocity field. >>> >>> On Mon, Mar 20, 2017 at 4:13 PM, Andy Bauer >>> wrote: >>> >>>> If exact math was done with integrating the streamlines you should get >>>> the same result, regardless of the vector magnitude. Since we are >>>> numerically integrating though it may be off a bit. >>>> >>>> On Mon, Mar 20, 2017 at 4:08 PM, Cory Quammen >>> > wrote: >>>> >>>>> Dan, >>>>> >>>>> Actually, I think I'm wrong. I think you would get different >>>>> streamline results by changing the vector magnitudes. You'll >>>>> definitely get evenly spaced glyphs by normalizing, though :-) Too bad >>>>> the streamlines will be wrong. >>>>> >>>>> I can't think of any other tricks using existing tools in VTK to do >>>>> this - you would need a scalar field along the streamline giving the >>>>> distance from seed point. >>>>> >>>>> Cory >>>>> >>>>> On Wed, Mar 15, 2017 at 9:20 PM, Dan Lipsa >>>>> wrote: >>>>> > Thanks Cory! >>>>> > This works very nice! >>>>> > >>>>> > Dan >>>>> > >>>>> > >>>>> > On Wed, Mar 15, 2017 at 12:08 PM, Cory Quammen < >>>>> cory.quammen at kitware.com> >>>>> > wrote: >>>>> >> >>>>> >> Dan, >>>>> >> >>>>> >> Another way would be to normalize your vector field, run the stream >>>>> >> tracer on it, and then contour by integration time. That should give >>>>> >> you evenly spaced samples along the streamline when you run the >>>>> >> contour filter on it. >>>>> >> >>>>> >> A quick test of this in ParaView looks like it should work. See >>>>> >> attached images. The one with the normalized velocity field has even >>>>> >> spacing, the one with the non-normalized velocity field does not. >>>>> >> >>>>> >> Cory >>>>> >> >>>>> >> On Wed, Mar 15, 2017 at 11:44 AM, Dan Lipsa >>>>> wrote: >>>>> >> > Hi all, >>>>> >> > I would like to place arrow glyphs equally spaced along >>>>> streamlines. I >>>>> >> > am >>>>> >> > using vtkStreamTracer. >>>>> >> > The only way I see to do this is to add an option to >>>>> vtkStreamTracer to >>>>> >> > compute the distance from the seed and add this as a point data >>>>> to the >>>>> >> > the >>>>> >> > streamline. Than, I can use contour to get the points where I >>>>> need to >>>>> >> > place >>>>> >> > the arrows. >>>>> >> > >>>>> >> > Is there any other simpler way? Do you have any suggestions with >>>>> this? >>>>> >> > >>>>> >> > Thanks, >>>>> >> > Dan >>>>> >> > >>>>> >> > >>>>> >> > _______________________________________________ >>>>> >> > Powered by www.kitware.com >>>>> >> > >>>>> >> > Visit other Kitware open-source projects at >>>>> >> > http://www.kitware.com/opensource/opensource.html >>>>> >> > >>>>> >> > Please keep messages on-topic and check the VTK FAQ at: >>>>> >> > http://www.vtk.org/Wiki/VTK_FAQ >>>>> >> > >>>>> >> > Search the list archives at: http://markmail.org/search/?q= >>>>> vtkusers >>>>> >> > >>>>> >> > Follow this link to subscribe/unsubscribe: >>>>> >> > http://public.kitware.com/mailman/listinfo/vtkusers >>>>> >> > >>>>> >> >>>>> >> >>>>> >> >>>>> >> -- >>>>> >> Cory Quammen >>>>> >> Staff R&D Engineer >>>>> >> Kitware, Inc. >>>>> > >>>>> > >>>>> >>>>> >>>>> >>>>> -- >>>>> Cory Quammen >>>>> Staff R&D Engineer >>>>> Kitware, Inc. >>>>> _______________________________________________ >>>>> Powered by www.kitware.com >>>>> >>>>> Visit other Kitware open-source projects at >>>>> http://www.kitware.com/opensource/opensource.html >>>>> >>>>> Please keep messages on-topic and check the VTK FAQ at: >>>>> http://www.vtk.org/Wiki/VTK_FAQ >>>>> >>>>> Search the list archives at: http://markmail.org/search/?q=vtkusers >>>>> >>>>> Follow this link to subscribe/unsubscribe: >>>>> http://public.kitware.com/mailman/listinfo/vtkusers >>>>> >>>> >>>> >>> >>> _______________________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Please keep messages on-topic and check the VTK FAQ at: >>> http://www.vtk.org/Wiki/VTK_FAQ >>> >>> Search the list archives at: http://markmail.org/search/?q=vtkusers >>> >>> Follow this link to subscribe/unsubscribe: >>> http://public.kitware.com/mailman/listinfo/vtkusers >>> >>> >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: >> http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kevinrdixon at gmail.com Tue Mar 21 16:18:46 2017 From: kevinrdixon at gmail.com (Kevin Dixon) Date: Tue, 21 Mar 2017 20:18:46 +0000 Subject: [vtkusers] Issue list In-Reply-To: <20170321140348.GA18336@megas.kitware.com> References: <20170321140348.GA18336@megas.kitware.com> Message-ID: Ben, Thanks for the reply. I had already tried the API, but alas it fails with a 404 because I'm not a member of the VTK project.... I've an outstanding request on Gitlab for access to the project - perhaps you know who might expedite that so that I can access the issues via the API? On 21 March 2017 at 14:03, Ben Boeckel wrote: > On Tue, Mar 21, 2017 at 09:22:53 +0000, Kevin Dixon wrote: > > I've had no replies on this issue, so I'm assuming there is no way of > > extract a list of known issue by VTK version. > > The alternative for me is to export the issue list and go through issue > by > > issue (or commit by commit) to understand if a particular issue is > relevant > > to a version and my use of VTK. However, the gitlab issue list has no > > apparent way of exporting issues at all (e.g. to XML or CSV). > > Can anyone help with exporting a list of known issues - either all issue, > > or only those relevant to a particular version of VTK? > > You can use the Gitlab API to extract issue information in JSON format: > > https://gitlab.kitware.com/help/api/issues.md > > There are multiple Gitlab API libraries out there, but this is the one > we've used the most: > > https://gitlab.kitware.com/utils/mantis-to-gitlab/blob/ > master/gitlab.py > > As for the information you're looking for, we haven't been the best > about tagging issues and merge requests with milestones which they apply > to. There is a task to get the Kitware Robot (@kwrobot) to put > milestones on merged MRs and the issues they close, but I haven't gotten > there yet. That issue is here: > > https://gitlab.kitware.com/utils/rust-ghostflow/issues/20 > > --Ben > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kevinrdixon at gmail.com Tue Mar 21 16:29:58 2017 From: kevinrdixon at gmail.com (Kevin Dixon) Date: Tue, 21 Mar 2017 20:29:58 +0000 Subject: [vtkusers] Issue list In-Reply-To: References: <20170321140348.GA18336@megas.kitware.com> Message-ID: My mistake - I was mis-using API. With some more fiddling, I have access to at least some issue via API. Thanks Ben! On 21 March 2017 at 20:18, Kevin Dixon wrote: > Ben, > > Thanks for the reply. I had already tried the API, but alas it fails with > a 404 because I'm not a member of the VTK project.... I've an outstanding > request on Gitlab for access to the project - perhaps you know who might > expedite that so that I can access the issues via the API? > > On 21 March 2017 at 14:03, Ben Boeckel wrote: > >> On Tue, Mar 21, 2017 at 09:22:53 +0000, Kevin Dixon wrote: >> > I've had no replies on this issue, so I'm assuming there is no way of >> > extract a list of known issue by VTK version. >> > The alternative for me is to export the issue list and go through issue >> by >> > issue (or commit by commit) to understand if a particular issue is >> relevant >> > to a version and my use of VTK. However, the gitlab issue list has no >> > apparent way of exporting issues at all (e.g. to XML or CSV). >> > Can anyone help with exporting a list of known issues - either all >> issue, >> > or only those relevant to a particular version of VTK? >> >> You can use the Gitlab API to extract issue information in JSON format: >> >> https://gitlab.kitware.com/help/api/issues.md >> >> There are multiple Gitlab API libraries out there, but this is the one >> we've used the most: >> >> https://gitlab.kitware.com/utils/mantis-to-gitlab/blob/maste >> r/gitlab.py >> >> As for the information you're looking for, we haven't been the best >> about tagging issues and merge requests with milestones which they apply >> to. There is a task to get the Kitware Robot (@kwrobot) to put >> milestones on merged MRs and the issues they close, but I haven't gotten >> there yet. That issue is here: >> >> https://gitlab.kitware.com/utils/rust-ghostflow/issues/20 >> >> --Ben >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tachim at cs.stanford.edu Tue Mar 21 15:27:59 2017 From: tachim at cs.stanford.edu (Tudor Achim) Date: Tue, 21 Mar 2017 12:27:59 -0700 Subject: [vtkusers] render large point cloud with variable color and size Message-ID: Hi everyone, I have a quick basic usage question -- hope this is possible within VTK. Right now I've got a python module that can render a point cloud with 2.5m elements. What I'd like to do is add functionality to have per-point colors, per-point sizes, and a per-point selector so I can execute code based on which point is selected. I have searched the mailing list and the one thread about VTKPointCloud didn't seem to address the first two questions. Is it possible to do this in VTK? Thanks! Tudor -------------- next part -------------- An HTML attachment was scrubbed... URL: From bill.q.hdp at gmail.com Tue Mar 21 21:29:36 2017 From: bill.q.hdp at gmail.com (Bill Q) Date: Wed, 22 Mar 2017 09:29:36 +0800 Subject: [vtkusers] Image comparison slider implementation In-Reply-To: References: Message-ID: Awesome! Thank you, Bill and Dean. This is exactly what I was looking for. Many thanks. Bill On Tue, Mar 21, 2017 at 9:58 PM, Bill Lorensen wrote: > Take a look at this example > http://www.vtk.org/Wiki/VTK/Examples/Cxx/Widgets/RectilinearWipeWidget > > > On Mar 21, 2017 9:13 AM, "Dean Inglis" wrote: > >> Hi Bill, >> >> this widget class might work for you: >> >> http://www.vtk.org/doc/release/7.1/html/classvtkRectilinearW >> ipeWidget.html >> >> - Dean >> >> >> On Tue, Mar 21, 2017 at 7:55 AM, Bill Q wrote: >> >>> Hi All, >>> Is there a way to implement a image comparison slider in vtk? >>> >>> We have two images, and the easiest way to visualize the difference >>> might be using a slider window to move the image from left to right between >>> these two layers of image. >>> >>> Something like this: https://stories.jotform. >>> com/making-a-responsive-image-comparison-slider-in-css-and-j >>> avascript-f3a691a9dd71#.7ixpjcm6c >>> >>> Is there a way to do it? >>> >>> Many thanks. >>> >>> >>> Bill >>> >>> _______________________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Please keep messages on-topic and check the VTK FAQ at: >>> http://www.vtk.org/Wiki/VTK_FAQ >>> >>> Search the list archives at: http://markmail.org/search/?q=vtkusers >>> >>> Follow this link to subscribe/unsubscribe: >>> http://public.kitware.com/mailman/listinfo/vtkusers >>> >>> >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: >> http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From chenshaoqiang at buaa.edu.cn Tue Mar 21 22:44:52 2017 From: chenshaoqiang at buaa.edu.cn (chensq) Date: Wed, 22 Mar 2017 10:44:52 +0800 Subject: [vtkusers] vtk711 compile error Message-ID: <81DE6FFE2AF348388CA82C04C55E642D@chensqPC> When compiling vtk7.1.1 using vs2015, I encountered the problem as shown in the accessory. It always happen when the VTK_WRAP_TCL is ON. And it will have no problem when the VTK_WRAP_TCL is OFF. I have installed the ActiveTCL8.5. And everything work fine when I compile vtk7.0.0. Does anybody has any suggestion? Thanks. Sincerely chen -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: vtk711_compile_error.png Type: image/png Size: 27610 bytes Desc: not available URL: From rustem.khabetdinov at gmail.com Wed Mar 22 07:56:58 2017 From: rustem.khabetdinov at gmail.com (Rustem Khabetdinov) Date: Wed, 22 Mar 2017 14:56:58 +0300 Subject: [vtkusers] writing time-dependent data In-Reply-To: References: Message-ID: Hello, I know it is late but this might help you. The way I do it using python: import vtk > data_to_write = vtk.vtkUnstructuredGrid() > writer = vtk.vtkXMLUnstructuredGridWriter() > number_of_steps = 5 > writer.SetNumberOfTimeSteps(number_of_steps) > writer.SetInputData(data_to_write) > writer.SetFileName('path/to/file') > writer.Start() > for i in range(number_of_steps): > data_to_write.ShallowCopy(some_input_data) > writer.WriteNextTime(i) > writer.Stop() Hope this helps anyone 2017-02-17 18:42 GMT+03:00 Bill Greene : > I have been trying to write time-dependent data to > an XML file using vtkXMLUnstructuredGridWriter. > > I found an example, > http://www.vtk.org/Wiki/VTK/Examples/Cxx/Broken/IO/ExodusIIWriter, > that uses vtkTimeSourceExample to write time-dependent data to > an Exodus II file. Despite the word "Broken" in the URL, this appears > to work correctly. But when I modify it to use > vtkXMLUnstructuredGridWriter instead of vtkExodusIIWriter, only the > model data is written. > > Can someone tell me if vtkXMLUnstructuredGridWriter is supposed > to handle time-dependent data, or if not, > how to write an XML file with time-dependent data? > > I am using vtk 7.1.0. > > Thanks, > > Bill Greene > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.lonie at kitware.com Wed Mar 22 08:33:23 2017 From: david.lonie at kitware.com (David Lonie) Date: Wed, 22 Mar 2017 08:33:23 -0400 Subject: [vtkusers] encode string for VtkVectorText In-Reply-To: <1490121919285-5742577.post@n5.nabble.com> References: <1490121919285-5742577.post@n5.nabble.com> Message-ID: vtkVectorText is hardcoded to only support a very limited character set, since it manually draws the text as polydata. The other text rendering classes (vtkTextActor, vtkTextActor3D, vtkBillboardTextActor3D, vtkTextMapper) all support UTF-8 when a custom font file is loaded (see vtkTextProperty::SetFontFamily docs). On Tue, Mar 21, 2017 at 2:45 PM, Jose Barreto wrote: > How does vtk interpret strings? > > I have a vtkVectorText attached to a vtkFollower and am trying to pass a > string in latin1 format (I tried with utf8 too) but this fails. > > VtkVectorText :: SafeDownCast (vtkPolyDataMapper :: SafeDownCast (Text-> > GetMapper ()) -> GetInputAlgorithm ()) -> SetText ("????????); > > > > -- > View this message in context: http://vtk.1045678.n5.nabble.com/encode-string-for-VtkVectorText-tp5742577.html > Sent from the VTK - Users mailing list archive at Nabble.com. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers From andrew.slaughter at inl.gov Wed Mar 22 09:53:35 2017 From: andrew.slaughter at inl.gov (Slaughter, Andrew E) Date: Wed, 22 Mar 2017 07:53:35 -0600 Subject: [vtkusers] Temporal Interpolation Assistance with VTK7 in Python Message-ID: I am hoping someone could point me in the right direction for the following problem. I have two ExodusII files (read using vtkExodusIIReader) each file contains several timesteps from a complete simulation. I would like to utilize vtkTemporalInterpolator to allow for any timestep within the range of the timesteps in the files to be rendered. Is this possible using VTK python bindings? If so, I would appreciate being pointed in the correct direction for implementing this sort of tool. Thanks, Andrew -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.thompson at kitware.com Wed Mar 22 10:20:19 2017 From: david.thompson at kitware.com (David Thompson) Date: Wed, 22 Mar 2017 10:20:19 -0400 Subject: [vtkusers] Temporal Interpolation Assistance with VTK7 in Python In-Reply-To: References: Message-ID: <554ED38A-C809-4529-958A-CE7C017112FB@kitware.com> Hi Andrew, > I am hoping someone could point me in the right direction for the following problem. I have two ExodusII files (read using vtkExodusIIReader) each file contains several timesteps from a complete simulation. > > I would like to utilize vtkTemporalInterpolator to allow for any timestep within the range of the timesteps in the files to be rendered. > > Is this possible using VTK python bindings? If so, I would appreciate being pointed in the correct direction for implementing this sort of tool. I don't know whether the Exodus reader itself or the FileSeries reader does it, but one of the two should identify the files as a time-sequence. Note that usually Exodus time-series are broken into multiple files at steps where mesh adaptation occurs. Time *interpolation* (i.e., generating a mesh at a time between 2 saved steps) cannot take place at this boundary since there's no registration between the meshes. David From andrew.slaughter at inl.gov Wed Mar 22 11:18:36 2017 From: andrew.slaughter at inl.gov (Slaughter, Andrew E) Date: Wed, 22 Mar 2017 09:18:36 -0600 Subject: [vtkusers] Temporal Interpolation Assistance with VTK7 in Python In-Reply-To: <554ED38A-C809-4529-958A-CE7C017112FB@kitware.com> References: <554ED38A-C809-4529-958A-CE7C017112FB@kitware.com> Message-ID: On Wed, Mar 22, 2017 at 8:20 AM, David Thompson wrote: > Hi Andrew, > > > I am hoping someone could point me in the right direction for the > following problem. I have two ExodusII files (read using vtkExodusIIReader) > each file contains several timesteps from a complete simulation. > > > > I would like to utilize vtkTemporalInterpolator to allow for any > timestep within the range of the timesteps in the files to be rendered. > > > > Is this possible using VTK python bindings? If so, I would appreciate > being pointed in the correct direction for implementing this sort of tool. > > I don't know whether the Exodus reader itself or the FileSeries reader > does it, but one of the two should identify the files as a time-sequence. The ExodusReader does not do anything with time sequences. Paraview creates a FileSeries, but I need to do this without Paraview. Note that usually Exodus time-series are broken into multiple files at > steps where mesh adaptation occurs. Time *interpolation* (i.e., generating > a mesh at a time between 2 saved steps) cannot take place at this boundary > since there's no registration between the meshes. > This is good to know, you probably saved me a bunch of time trying to get that aspect to work. However, I would like to take advantage of vtkTemporalDataSetCache across the files, if possible. > > David -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.thompson at kitware.com Wed Mar 22 11:26:52 2017 From: david.thompson at kitware.com (David Thompson) Date: Wed, 22 Mar 2017 11:26:52 -0400 Subject: [vtkusers] Temporal Interpolation Assistance with VTK7 in Python In-Reply-To: References: <554ED38A-C809-4529-958A-CE7C017112FB@kitware.com> Message-ID: Hi Andrew, > ... > > Is this possible using VTK python bindings? If so, I would appreciate being pointed in the correct direction for implementing this sort of tool. > > I don't know whether the Exodus reader itself or the FileSeries reader does it, but one of the two should identify the files as a time-sequence. > > The ExodusReader does not do anything with time sequences. Paraview creates a FileSeries, but I need to do this without Paraview. It looks like vtkFileSeriesReader and vtkExodusFileSeriesReader are both part of ParaView, not VTK. Either 1. use pvpython instead of vtkpython; or 2. ask about moving those classes to VTK (I don't know a reason they couldn't be moved, but I haven't looked at them in detail); or 3. make an external VTK module that includes those classes (or classes like them) and gets python-wrapped -- which seems like a problem to maintain. David From bakkari.abdelkhalek at hotmail.fr Wed Mar 22 14:03:38 2017 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Wed, 22 Mar 2017 18:03:38 +0000 Subject: [vtkusers] std::vector to PolyData Message-ID: Dear VTK users, I take a look to http://www.vtk.org/doc/nightly/html/classvtkPolyData.html in order to understand where the vertices or points are stored. Could you tell me please, how can I create a new one and add my std::vector to it. Best regards, Abdelkhalek Bakkari -------------- next part -------------- An HTML attachment was scrubbed... URL: From dan.lipsa at kitware.com Wed Mar 22 16:20:08 2017 From: dan.lipsa at kitware.com (Dan Lipsa) Date: Wed, 22 Mar 2017 16:20:08 -0400 Subject: [vtkusers] std::vector to PolyData In-Reply-To: References: Message-ID: Abdelkhalek Bakkari, http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/ColoredPoints shows you how to create a polydata that contains points. Dan On Wed, Mar 22, 2017 at 2:03 PM, Abdelkhalek Bakkari < bakkari.abdelkhalek at hotmail.fr> wrote: > Dear VTK users, > > > I take a look to http://www.vtk.org/doc/nightly/html/classvtkPolyData. > html in order to understand where the vertices or points are stored. > > Could you tell me please, how can I create a new one and add my std::vector > to it. > > > > > Best regards, > > > > Abdelkhalek Bakkari > > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wilf.rosenbaum at gmail.com Wed Mar 22 23:14:45 2017 From: wilf.rosenbaum at gmail.com (Wilf Rosenbaum) Date: Wed, 22 Mar 2017 20:14:45 -0700 Subject: [vtkusers] How to get the pixels of a volume rendered image? In-Reply-To: References: Message-ID: Hi Sankhesh, Thanks so much! I tried your suggestion and it worked just fine. I really appreciate you taking the time to answer my question. Cheers, Wilf. On Mon, Mar 20, 2017 at 1:47 PM, Sankhesh Jhaveri < sankhesh.jhaveri at kitware.com> wrote: > Hello Wilf, > > If you use the vtkGPUVolumeRayCastMapper, you can enable the RenderToImage > mode that basically renders the volume to an OpenGL FrameBufferObject. It > then has API like GetColorImage() and GetDepthImage() to get the color > and depth data of the rendered result. > > Hope this helps. > > Thanks, > Sankhesh > ? > > On Mon, Mar 20, 2017 at 11:36 AM Wilf Rosenbaum > wrote: > >> Hi Guys, >> VTK noob here. Ignorant, but (hopefully) not stoopid. >> >> I am interested in creating a volume rendering (VR) of a volumetric >> medical (CT) dataset, and then getting access to the pixel values of that >> volume rendering image. I can follow along with the SmartVolumeMapper >> example from the VTK examples website, which creates the VR for my dataset >> but displays the result in a vtkRenderWindow. Right now I don't want to >> display the VR image, I just want to get the pixel values and do something >> with them - pass them to a 3rd party program for instance. I understand >> that I could use a vtkWindowToImageFilter to convert the data in my >> RenderWindow to an image, but intuitively this seems like a rather >> circuitous route to get what I want. I suspect that there is a more direct >> standard vtk workflow. >> >> I know that if I was interested in an orthogonal or an oblique slab >> through my volume I can create a pipeline like >> >> vtkDicomImageReader -> vtkImageReslice -> vtkImageMapToColors >> >> and then call GetOutput() -> GetScalarPointer() on the >> vtkImageMapToColors object to get the pixels of the slab - no RenderWindow >> is required. Is there something analogous for volume rendering? >> >> If the real answer to my question is "create a hidden render window, >> render the volume into that hidden render window and then use a Window to >> Image Filter to get the image" then I am fine with that but I feel like I >> don't know enough about VTK yet to know for sure. >> >> Finally, please free to suggest some terms to google. I am happy to do >> more research, but I feel like I need to be pointed in the right direction. >> I am already looking into "vtk render to frame buffer" , "vtk render to >> image", "vtk offscreen rendering", ... >> >> Thanks very much! >> Cheers, >> Wilf >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at http://www.kitware.com/ >> opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: >> http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers >> > -- > Sankhesh Jhaveri *Sr. Research & Development Engineer* | Kitware > | (518) 881-4417 > ? > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bill.q.hdp at gmail.com Thu Mar 23 05:27:27 2017 From: bill.q.hdp at gmail.com (Bill Q) Date: Thu, 23 Mar 2017 17:27:27 +0800 Subject: [vtkusers] PyQt with vtkRectilinearWipeWidget Message-ID: Hi All, I am trying to make vtkRectilinearWipeWidget to work with PyQt so the wipe window can appear inside a Qt application. However, I am have a hard time to do it. I found this example: http://www.vtk.org/Wiki/VTK/Examples/Cxx/Qt/BorderWidget. And my code is as following: self.vtkWidget = QVTKRenderWindowInteractor() wipe = vtk.vtkImageRectilinearWipe() wipe.SetInputConnection(0, img_reader1.GetOutputPort()) wipe.SetInputConnection(1, img_reader2.GetOutputPort()) img_center = get_image_center(img_reader1) wipe.SetPosition((int)(img_center[0]), (int)(img_center[1])) wipe.SetWipeToQuad() ren1 = vtk.vtkRenderer() style = vtk.vtkInteractorStyleImage() self.vtkWidget.SetInteractorStyle(style) self.vtkWidget.GetRenderWindow().AddRenderer(ren1) wipeActor = vtk.vtkImageActor() wipeActor.GetMapper().SetInputConnection(wipe.GetOutputPort()) wipeWidget = vtk.vtkRectilinearWipeWidget() wipeWidget.SetInteractor(self.vtkWidget) wipeWidgetRep = wipeWidget.GetRepresentation() wipeWidgetRep.SetImageActor(wipeActor) wipeWidgetRep.SetRectilinearWipe(wipe) wipeWidgetRep.GetProperty().SetLineWidth(1.0) wipeWidgetRep.GetProperty().SetOpacity(0.75) ren1.AddActor(wipeActor) ren1.SetBackground(0.1, 0.2, 0.4) self.vtkWidget.Initialize() wipeWidget.On() self.vtkWidget.Start() But the result is incorrect. Only image from img_reader1 showed up in the Qt application and the the wipe line didn't show up either. Can somebody offer any advices? Many thanks. Bill -------------- next part -------------- An HTML attachment was scrubbed... URL: From jim at jslengineeringsoftware.com Thu Mar 23 14:13:26 2017 From: jim at jslengineeringsoftware.com (Jim Labiak) Date: Thu, 23 Mar 2017 14:13:26 -0400 Subject: [vtkusers] VTK JAVA 2D charts In-Reply-To: <6cdd07c3-2116-02e2-08e2-8c16f9590868@jslengineeringsoftware.com> References: <6cdd07c3-2116-02e2-08e2-8c16f9590868@jslengineeringsoftware.com> Message-ID: Just sending again in case I catch a Java user... On 3/18/2017 2:40 PM, Jim Labiak wrote: > > Hello vtk users, > > I've been trying to use the JAVA VTK chart class to create 2D plots, > but it is not working. The JRE crashes every time at the spot where > the plot is added to the chart. During debugging, I trace the crash to > the JAVA Vector.class at line 477 (method directly below), which is > the return statement... I've extended vtkRenderWindowPanel and use > that class to do my rendering as it seemed to be the most robust > approach for my application. Only a portion of the code from that > class is shown below. > > The JAVA wrapper is known to be difficult to learn, but 2D charts > really must work for this (vtk) to be a viable JAVA program. I could > create 3D charts and make them look 2D, but it seems like I must be > missing something in the 2D charts... I don't see "test" programs in > the documentation for this class (vtkChart) and related ones in JAVA - > was this ever tested during development, and anyone know how > extensively? Or, is the wrapper just kind of generated and then exists > "as-is"? Some of the statements required and shown in other language > examples are difficult to translate into JAVA accurately. > > Thanks for any suggestions, > > Jim > > Excerpt from Vector.class: > > /** > * Returns the component at the specified index. > * > *

This method is identical in functionality to the {@link > #get(int)} > * method (which is part of the {@link List} interface). > * > * @param index an index into this vector > * @return the component at the specified index > * @throws ArrayIndexOutOfBoundsException if the index is out of range > * ({@code index < 0 || index >= size()}) > */ > public synchronized E elementAt(int index) { > if (index >= elementCount) { > throw new ArrayIndexOutOfBoundsException(index + " >= " + > elementCount); > } > > return elementData(index); > } > > -------------------------------------------------------------------------------------------------------------------------- > > public class RenderWindowPanel extends vtkRenderWindowPanel { > > // Only relevant part of the class is shown... > > public void updateRenderWindowPanelYPosData(Object[] aObject) { > this.xData = (vtkFloatArray) this.objectArrayXData[3]; > this.yData = (vtkFloatArray) this.objectArrayYData[4]; > > this.table = new vtkTable(); > vtkDoubleArray arrX = new vtkDoubleArray(); > arrX.SetName("ArrayX"); > vtkDoubleArray arrY = new vtkDoubleArray(); > arrY.SetName("ArrayY"); > > this.table.SetNumberOfRows(this.xData.GetNumberOfTuples()); > double tempx = 0; > double tempy = 0; > > // Column 0 > for (int i = 0; i < this.xData.GetNumberOfTuples(); i++) { > tempx = this.xData.GetValue(i); > arrX.InsertNextTuple1(tempx); > } > this.table.AddColumn(arrX); > > // Column 1 > for (int i = 0; i < this.yData.GetNumberOfTuples(); i++) { > tempy = this.yData.GetValue(i); > arrY.InsertNextTuple1(tempy); > } > this.table.AddColumn(arrY); > > this.chart = new vtkChart(); > this.plot = new vtkPlot(); > this.chart.AddPlot(this.plot); > // Note: also tried this.plot = this.chart.AddPlot(0); > this.plot.SetColor(0.0, 0.0, 255.0); > this.plot.SetWidth(1.0); > this.plot.SetInputData(this.table, "ArrayX", "ArrayY"); > > this.view = new vtkContextView(); > this.view.SetRenderWindow(this.GetRenderWindow()); > this.view.SetRenderer(this.renderer); > this.view.GetRenderWindow().SetMultiSamples(0); > this.view.GetScene().AddItem(this.chart); > > this.renderer.SetActiveCamera(this.camera); > this.renderer.AddActor(this.textActor); > this.renderer.SetBackground(255, 255, 255); // white > this.renderer.ResetCamera(); > this.renderWindowInteractor = this.view.GetInteractor(); > this.view.GetInteractor().Initialize(); > this.view.GetInteractor().Start(); > > try { > this.Render(); > System.out.println("Debug break after render"); > } catch (Exception e) { > e.printStackTrace(); > } > > } > > } > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From girish.lande at agiliad.com Fri Mar 24 01:18:37 2017 From: girish.lande at agiliad.com (Girish Lande) Date: Fri, 24 Mar 2017 10:48:37 +0530 Subject: [vtkusers] paint on QVTKWidget Message-ID: Hi All, I am trying to show painting effect on QVTKwidget using QT painting mechanism. As User press mouse button and move cursor I want to paint circular region under cursor. For this I have derived my widget class from QVTKwidget and am overriding its paintevent method. If I do same operation while overriding my class from QWidget it works fine, But wth QVTKWidget I am not having any luck. It doesn't show painting effect. Following is my source code . Could you please help me figure out problem in my source code ? header file ----------------------- #ifndef MYWIDGET_H #define MYWIDGET_H #include #include class MyWidget : public QVTKWidget { Q_OBJECT public: explicit MyWidget(QWidget *parent = 0); protected: // QPaintEngine * paintEngine() const; void paintEvent(QPaintEvent *event); void mousePressEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent* event); int x; int y; std::vector vec; bool m_pressed; signals: public slots: }; #endif // MYWIDGET_H Source file ------------------------ #include "mywidget.h" #include #include #include #include #include #include MyWidget::MyWidget(QWidget *parent) : QVTKWidget(parent) { x=100; y=100; m_pressed = false; } //QPaintEngine * MyWidget::paintEngine() const //{ // return QVTKWidget::paintEngine(); //} void MyWidget::paintEvent(QPaintEvent *event) { //create a QPainter and pass a pointer to the device. //A paint device can be a QWidget, a QPixmap or a QImage QPainter painter(this); //create a black pen that has solid line //and the width is 2. painter.setBrush(QBrush(Qt::red)); painter.setPen(QPen(Qt::red)); int radius = 20; bool point_Flag = false; if (!point_Flag) { qDebug() << "vector size:" <x(); y=event->y(); m_pressed = true; QVTKWidget::mousePressEvent(event); } void MyWidget::mouseReleaseEvent(QMouseEvent *event) { x=event->x(); y=event->y(); vec.clear(); update(); m_pressed = false; QVTKWidget::mouseReleaseEvent(event); } void MyWidget::mouseMoveEvent(QMouseEvent *event) { if (m_pressed) { x=event->x(); y=event->y(); vec.push_back(x); vec.push_back(y); update(); } QVTKWidget::mouseMoveEvent(event); } -- thanks & regards, Girish -- ------------------------------------------------------------ ------------------------------------------------------------- *Disclaimer:* This email message including any attachments is confidential, and may be privileged and proprietary to Agiliad. If you are not the intended recipient, please notify us immediately by replying to this message and destroy all copies of this message including any attachments. You are NOT authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. Thank you. ------------------------------------------------------------ ------------------------------------------------------------ -------------- next part -------------- An HTML attachment was scrubbed... URL: From ysa0829 at gmail.com Fri Mar 24 04:16:36 2017 From: ysa0829 at gmail.com (Ang) Date: Fri, 24 Mar 2017 01:16:36 -0700 (MST) Subject: [vtkusers] MultipleViewports problems Message-ID: <1490343396786-5742615.post@n5.nabble.com> Hi all, Bellow is my example code, you can set the viewports to N X M. When I set N to 2 and M to 2, it works well(pic1). When I set N to 4 and M to 2,my viewport camera is not looking at the center (pic2). Is it a bug? or I can do something to fix it. thanks for help. -- View this message in context: http://vtk.1045678.n5.nabble.com/MultipleViewports-problems-tp5742615.html Sent from the VTK - Users mailing list archive at Nabble.com. From ken.martin at kitware.com Fri Mar 24 10:57:23 2017 From: ken.martin at kitware.com (Ken Martin) Date: Fri, 24 Mar 2017 10:57:23 -0400 Subject: [vtkusers] render large point cloud with variable color and size In-Reply-To: References: Message-ID: Yes it is, probably your best starting point (assuming a recent 7.0 or later VTK with the new OpenGL backend) would be vtkPointGaussianMapper https://gitlab.kitware.com/vtk/vtk/blob/master/Rendering/Core/vtkPointGaussianMapper.h with examples (C++ sorry) here https://gitlab.kitware.com/vtk/vtk/blob/master/Rendering/OpenGL2/Testing/Cxx/TestPointGaussianMapper.cxx and here https://gitlab.kitware.com/vtk/vtk/blob/master/Rendering/OpenGL2/Testing/Cxx/TestPointGaussianMapperOpacity.cxx While it is called "Gaussian" it can do flat splats as well etc as you can specify shader code for the splat. On Tue, Mar 21, 2017 at 3:27 PM, Tudor Achim wrote: > Hi everyone, > I have a quick basic usage question -- hope this is possible within VTK. > Right now I've got a python module that can render a point cloud with 2.5m > elements. What I'd like to do is add functionality to have per-point > colors, per-point sizes, and a per-point selector so I can execute code > based on which point is selected. I have searched the mailing list and the > one thread about VTKPointCloud didn't seem to address the first two > questions. Is it possible to do this in VTK? > > Thanks! > Tudor > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > > -- Ken Martin PhD Chairman & CFO Kitware Inc. 28 Corporate Drive Clifton Park NY 12065 518 371 3971 This communication, including all attachments, contains confidential and legally privileged information, and it is intended only for the use of the addressee. Access to this email by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken in reliance on it is prohibited and may be unlawful. If you received this communication in error please notify us immediately and destroy the original message. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mdrahos at aurisrobotics.com Fri Mar 24 20:14:42 2017 From: mdrahos at aurisrobotics.com (Miroslav Drahos) Date: Sat, 25 Mar 2017 00:14:42 +0000 Subject: [vtkusers] face culling and edge visibility Message-ID: Hi VTK folks, I am rendering a surface with culling faces on and edge visibility on as well. When I used VTK 6.2, only the edges of faces that were visible (i.e. not culled) were shown, with VTK 7.1.0 all edges are visible, even for faces that are culled. My VTK 6.2 was compiled with rendering backend OPENGL, and 7.1.0 with OPENGL2, which is what most likely causes the difference in behavior. It does not matter whether front or back face culling is used, the edge visibility behavior is the same. What I am hoping to hear: Is there a way to get the "old" behavior with VTK7.1/OPENGL2? I would like to show the edges only for the faces that are not culled away. Thank you tons, Miro -------------- next part -------------- An HTML attachment was scrubbed... URL: From luis.vieira at vektore.com Sat Mar 25 12:27:22 2017 From: luis.vieira at vektore.com (Luis Vieira) Date: Sat, 25 Mar 2017 12:27:22 -0400 Subject: [vtkusers] vtkusers Digest, Vol 155, Issue 34 In-Reply-To: References: Message-ID: Just, don't waste your time with Vtk and OpenGL2. Keep the backend with OpenGL only. Sent from my iPhone > On Mar 25, 2017, at 12:00 PM, vtkusers-request at vtk.org wrote: > > Send vtkusers mailing list submissions to > vtkusers at vtk.org > > To subscribe or unsubscribe via the World Wide Web, visit > http://public.kitware.com/mailman/listinfo/vtkusers > or, via email, send a message with subject or body 'help' to > vtkusers-request at vtk.org > > You can reach the person managing the list at > vtkusers-owner at vtk.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of vtkusers digest..." > > > Today's Topics: > > 1. face culling and edge visibility (Miroslav Drahos) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Sat, 25 Mar 2017 00:14:42 +0000 > From: Miroslav Drahos > To: "vtkusers at vtk.org" > Subject: [vtkusers] face culling and edge visibility > Message-ID: > > > Content-Type: text/plain; charset="iso-8859-1" > > Hi VTK folks, > > I am rendering a surface with culling faces on and edge visibility on as well. When I used VTK 6.2, only the edges of faces that were visible (i.e. not culled) were shown, with VTK 7.1.0 all edges are visible, even for faces that are culled. My VTK 6.2 was compiled with rendering backend OPENGL, and 7.1.0 with OPENGL2, which is what most likely causes the difference in behavior. > > It does not matter whether front or back face culling is used, the edge visibility behavior is the same. > > > What I am hoping to hear: Is there a way to get the "old" behavior with VTK7.1/OPENGL2? > > I would like to show the edges only for the faces that are not culled away. > > > Thank you tons, > > Miro > > > > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > > ------------------------------ > > End of vtkusers Digest, Vol 155, Issue 34 > ***************************************** From ken.martin at kitware.com Sat Mar 25 17:18:52 2017 From: ken.martin at kitware.com (Ken Martin) Date: Sat, 25 Mar 2017 17:18:52 -0400 Subject: [vtkusers] face culling and edge visibility In-Reply-To: References: Message-ID: Unfortunately wireframe backface culling is not implemented. But maybe hidden line removal would do the job or maybe even better. See https://blog.kitware.com/hidden-line-removal-now-available-in-vtk-and-paraview/ On Fri, Mar 24, 2017 at 8:14 PM, Miroslav Drahos wrote: > Hi VTK folks, > > I am rendering a surface with culling faces on and edge visibility on as > well. When I used VTK 6.2, only the edges of faces that were visible (i.e. > not culled) were shown, with VTK 7.1.0 all edges are visible, even for > faces that are culled. My VTK 6.2 was compiled with rendering backend > OPENGL, and 7.1.0 with OPENGL2, which is what most likely causes the > difference in behavior. > > It does not matter whether front or back face culling is used, the edge > visibility behavior is the same. > > > What I am hoping to hear: Is there a way to get the "old" behavior with > VTK7.1/OPENGL2? > > I would like to show the edges only for the faces that are not culled > away. > > > Thank you tons, > > Miro > > > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > > -- Ken Martin PhD Distinguished Engineer Kitware Inc. 28 Corporate Drive Clifton Park NY 12065 This communication, including all attachments, contains confidential and legally privileged information, and it is intended only for the use of the addressee. Access to this email by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken in reliance on it is prohibited and may be unlawful. If you received this communication in error please notify us immediately and destroy the original message. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From op.cairncross at gmail.com Sun Mar 26 23:25:57 2017 From: op.cairncross at gmail.com (Oliver Cairncross) Date: Mon, 27 Mar 2017 13:25:57 +1000 Subject: [vtkusers] link error making 7.1.1 code Message-ID: I'm running a few VTK installs and cmake is having problems finding the libraries. I get this: /usr/bin/ld: cannot find -lvtkFiltersTopology I edited the cmake file to glob all the libs and included them and it works fine. Not using the standard target_link_libraries(testVTK ${VTK_LIBRARIES}. Just wondering if anyone is having issues? I switch to given vtk target install using this: set(VTK_DIR "/home/uqocairn/usr/local-old-vtk/lib/cmake/vtk-7.1" CACHE PATH "VTK directory override" FORCE) Cheers O. -------------- next part -------------- An HTML attachment was scrubbed... URL: From panagiotis.foteinos at gmail.com Mon Mar 27 08:37:11 2017 From: panagiotis.foteinos at gmail.com (Panagiotis Foteinos) Date: Mon, 27 Mar 2017 14:37:11 +0200 Subject: [vtkusers] Writing a sphere in a file Message-ID: Hi all. I am attempting to write a sphere in a vtk file. The following snippet: ************************************************* vtkSmartPointer sphereSource = vtkSmartPointer::New(); sphereSource->SetCenter(0.0, 0.0, 0.0); sphereSource->SetRadius(1.0); vtkSmartPointer writer = vtkSmartPointer::New(); writer->SetInputData(sphereSource->GetOutput()); writer->SetFileName(filename.c_str()); writer->Update(); ************************************************* creates an empty file. Any suggestions? Warm Regards, Panos -------------- next part -------------- An HTML attachment was scrubbed... URL: From mathieu.westphal at kitware.com Mon Mar 27 08:39:18 2017 From: mathieu.westphal at kitware.com (Mathieu Westphal) Date: Mon, 27 Mar 2017 14:39:18 +0200 Subject: [vtkusers] Writing a sphere in a file In-Reply-To: References: Message-ID: Hi - writer->SetInputData(sphereSource->GetOutput()); + writer->SetInputConnection(sphereSource->GetOutputPort(0)); Regards, Mathieu Westphal On Mon, Mar 27, 2017 at 2:37 PM, Panagiotis Foteinos < panagiotis.foteinos at gmail.com> wrote: > Hi all. > > I am attempting to write a sphere in a vtk file. The following snippet: > > ************************************************* > vtkSmartPointer sphereSource = vtkSmartPointer< > vtkSphereSource>::New(); > > sphereSource->SetCenter(0.0, 0.0, 0.0); > sphereSource->SetRadius(1.0); > > vtkSmartPointer writer = vtkSmartPointer< > vtkPolyDataWriter>::New(); > writer->SetInputData(sphereSource->GetOutput()); > writer->SetFileName(filename.c_str()); > writer->Update(); > ************************************************* > > creates an empty file. > > Any suggestions? > > Warm Regards, > Panos > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From panagiotis.foteinos at gmail.com Mon Mar 27 09:08:22 2017 From: panagiotis.foteinos at gmail.com (Panagiotis Foteinos) Date: Mon, 27 Mar 2017 15:08:22 +0200 Subject: [vtkusers] Writing a sphere in a file In-Reply-To: References: Message-ID: Thank you Mathieu. It works like a charm. Best, Panos On Mon, Mar 27, 2017 at 2:39 PM, Mathieu Westphal < mathieu.westphal at kitware.com> wrote: > Hi > > - writer->SetInputData(sphereSource->GetOutput()); > + writer->SetInputConnection(sphereSource->GetOutputPort(0)); > > Regards, > > Mathieu Westphal > > On Mon, Mar 27, 2017 at 2:37 PM, Panagiotis Foteinos < > panagiotis.foteinos at gmail.com> wrote: > >> Hi all. >> >> I am attempting to write a sphere in a vtk file. The following snippet: >> >> ************************************************* >> vtkSmartPointer sphereSource = >> vtkSmartPointer::New(); >> >> sphereSource->SetCenter(0.0, 0.0, 0.0); >> sphereSource->SetRadius(1.0); >> >> vtkSmartPointer writer = >> vtkSmartPointer::New(); >> writer->SetInputData(sphereSource->GetOutput()); >> writer->SetFileName(filename.c_str()); >> writer->Update(); >> ************************************************* >> >> creates an empty file. >> >> Any suggestions? >> >> Warm Regards, >> Panos >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: >> http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: circumSphere.PNG Type: image/png Size: 144842 bytes Desc: not available URL: From mdrahos at aurisrobotics.com Mon Mar 27 11:58:53 2017 From: mdrahos at aurisrobotics.com (Miroslav Drahos) Date: Mon, 27 Mar 2017 15:58:53 +0000 Subject: [vtkusers] face culling and edge visibility In-Reply-To: References: , Message-ID: Thank you for the response and the link; I looked at hidden line removal, it's a very cool feature. Unfortunately, it does not solve my problem, because I use front face culling: I render the mesh as fully opaque surface representation (not wireframe). Then I cull front faces away, so that I can see objects inside the mesh unobstructed; at the same time, the mesh is opaque, so it obstructs object behind it. Software is for medical application, visualizing navigation path inside anatomy -- I want to show path unobstructed, and hide everything behind the anatomy surface model. Attaching a couple images of what it looks like in 6.2 with OPENGL backend (i.e. what I want it to look like). ffCullDesired1 is the view user will get; in ffCullDesired2 I rotated camera to illustrate what's happening. With VTK7.1+OPENGL2 I get the edges obstructing the path. One obvious workaround for me would be to turn edge visibility off, and render polygons in color, but I the design has been finalized and I don't have much control over it, I'm just implementing it. Any other suggestions are most appreciated! Thank you, Miro ________________________________ From: Ken Martin Sent: Saturday, March 25, 2017 2:18:52 PM To: Miroslav Drahos Cc: vtkusers at vtk.org Subject: Re: [vtkusers] face culling and edge visibility Unfortunately wireframe backface culling is not implemented. But maybe hidden line removal would do the job or maybe even better. See https://blog.kitware.com/hidden-line-removal-now-available-in-vtk-and-paraview/ Hidden Line Removal now available in VTK and ParaView ... blog.kitware.com This is achieved using a technique called Hidden Line Removal, which uses the OpenGL depth buffer to hide lines that are behind the closest wireframe surface. On Fri, Mar 24, 2017 at 8:14 PM, Miroslav Drahos > wrote: Hi VTK folks, I am rendering a surface with culling faces on and edge visibility on as well. When I used VTK 6.2, only the edges of faces that were visible (i.e. not culled) were shown, with VTK 7.1.0 all edges are visible, even for faces that are culled. My VTK 6.2 was compiled with rendering backend OPENGL, and 7.1.0 with OPENGL2, which is what most likely causes the difference in behavior. It does not matter whether front or back face culling is used, the edge visibility behavior is the same. What I am hoping to hear: Is there a way to get the "old" behavior with VTK7.1/OPENGL2? I would like to show the edges only for the faces that are not culled away. Thank you tons, Miro _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ Search the list archives at: http://markmail.org/search/?q=vtkusers Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/vtkusers -- Ken Martin PhD Distinguished Engineer Kitware Inc. 28 Corporate Drive Clifton Park NY 12065 This communication, including all attachments, contains confidential and legally privileged information, and it is intended only for the use of the addressee. Access to this email by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken in reliance on it is prohibited and may be unlawful. If you received this communication in error please notify us immediately and destroy the original message. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ffCullDesired1.png Type: image/png Size: 400811 bytes Desc: ffCullDesired1.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ffCullDesired2.png Type: image/png Size: 519624 bytes Desc: ffCullDesired2.png URL: From robert.maynard at kitware.com Mon Mar 27 14:03:16 2017 From: robert.maynard at kitware.com (Robert Maynard) Date: Mon, 27 Mar 2017 14:03:16 -0400 Subject: [vtkusers] Allowable C++11 Features in VTK Message-ID: As everyone is aware over the past couple of months we have updated VTK to require a C++11 compiler, but have not explicitly stated what C++11 features are usable. We do not intend to incorporate all features of the language at this time because of incompatibilities with the structure of VTK and/or incomplete support for the features by all of the compilers that VTK aims to support. The current proposed C++11 features, and where they are allowed can be found at: https://docs.google.com/document/d/1h7wIq25d-qimQO8N9sE43fHXKKlHM2sW2ErohfHiuCg/edit?usp=sharing Over the next two weeks please provide feedback, either by commenting on the google document, or replying on the mailing list. Once the two weeks are over, we will integrate the result into the existing coding documentation, and then allow C++11 to be used. From baljci at hotmail.com Mon Mar 27 15:30:13 2017 From: baljci at hotmail.com (B B) Date: Mon, 27 Mar 2017 19:30:13 +0000 Subject: [vtkusers] Allowable C++11 Features in VTK In-Reply-To: References: Message-ID: I would suggest the following: - Prefer the use of alias declarations instead of typedef: they do the same but alias declarations are better because they can be templetized (see Scott Meyers, Effective Modern C++, 63-67) - Replace raw arrays with std::array when possible: they are copyable, easier to manipulate and have no extra performance costs compared to raw arrays. - For scoped enums, I would restrict their use to global enums, especially in case of possible name conflicts. For nested enums, I would suggest to maintain the use of unscoped enums for two reasons: first, you don't need to write MyEnum::MyEnumValue each time you use them inside the class implementation; second, from my own experience, their implicit conversion to int can be useful in many cases. Boris ________________________________ De : vtkusers de la part de Robert Maynard Envoy? : lundi 27 mars 2017 20:03 ? : VTK Developers; vtk vtk Objet : [vtkusers] Allowable C++11 Features in VTK As everyone is aware over the past couple of months we have updated VTK to require a C++11 compiler, but have not explicitly stated what C++11 features are usable. We do not intend to incorporate all features of the language at this time because of incompatibilities with the structure of VTK and/or incomplete support for the features by all of the compilers that VTK aims to support. The current proposed C++11 features, and where they are allowed can be found at: https://docs.google.com/document/d/1h7wIq25d-qimQO8N9sE43fHXKKlHM2sW2ErohfHiuCg/edit?usp=sharing Over the next two weeks please provide feedback, either by commenting on the google document, or replying on the mailing list. Once the two weeks are over, we will integrate the result into the existing coding documentation, and then allow C++11 to be used. _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ Search the list archives at: http://markmail.org/search/?q=vtkusers Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/vtkusers vtkusers Info Page - Kitware public.kitware.com To see the collection of prior postings to the list, visit the vtkusers Archives. Using vtkusers: To post a message to all the list members, send ... -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.levy at leddartech.com Mon Mar 27 16:03:59 2017 From: david.levy at leddartech.com (Mwoua) Date: Mon, 27 Mar 2017 13:03:59 -0700 (MST) Subject: [vtkusers] Background layer not displayed entirely Message-ID: <1490645039815-5742633.post@n5.nabble.com> Hello, I have two renderers in the same renderer window, I have synchronized the camera, but, when im moving the camera it only displays the area around the points from the front layer. I have a black border on top and bottom of the window (see image) If all my displayed items are in the same renderer everything is fine. Is there a way to force the clipping range to take into account the other renderer? (before I manually reset the clipping range) My (simplified code) : //Set up the QVTK window vtkSmartPointer lRend1 = vtkSmartPointer::New(); //background renderer mVTKWidget->GetRenderWindow()->AddRenderer( lRend1 ); vtkSmartPointer lRend2 = vtkSmartPointer::New(); lRend2->SetLayer(1); mVTKWidget->GetRenderWindow()->AddRenderer( lRend2 ); mVTKWidget->GetRenderWindow()->SetNumberOfLayers(2); lRend2->SetActiveCamera( lRend1->GetActiveCamera() ); mVTKWidget->update(); //Build my data and add actors to the corresponding renderer .... lBackGroundRenderer->ResetCameraClippingRange(); mVTKWidget->update(); -- View this message in context: http://vtk.1045678.n5.nabble.com/Background-layer-not-displayed-entirely-tp5742633.html Sent from the VTK - Users mailing list archive at Nabble.com. From robert.maynard at kitware.com Mon Mar 27 16:14:43 2017 From: robert.maynard at kitware.com (Robert Maynard) Date: Mon, 27 Mar 2017 16:14:43 -0400 Subject: [vtkusers] Allowable C++11 Features in VTK In-Reply-To: References: Message-ID: Hi, Thanks for the feedback. 1. I agree that when doing template metaprogramming, the alias keyword is significantly better than typedef. I will update the document to state that we prefer alias over typedef 2. I am going to update the std::array section to clarify that is preferred over raw fixed size 'C' arrays. 3. This is good information to have. I will add a comment to the scoped enums section while I wait for more feedback On Mon, Mar 27, 2017 at 3:30 PM, B B wrote: > I would suggest the following: > > > - Prefer the use of alias declarations instead of typedef: they do the > same but alias declarations are better because they can be templetized (see > Scott Meyers, Effective Modern C++, 63-67) > > - Replace raw arrays with std::array when possible: they are > copyable, easier to manipulate and have no extra performance costs compared > to raw arrays. > > - For scoped enums, I would restrict their use to global enums, > especially in case of possible name conflicts. For nested enums, I would > suggest to maintain the use of unscoped enums for two reasons: first, you > don't need to write MyEnum::MyEnumValue each time you use them inside > the class implementation; second, from my own experience, their implicit > conversion to int can be useful in many cases. > > Boris > > ------------------------------ > *De :* vtkusers de la part de Robert Maynard < > robert.maynard at kitware.com> > *Envoy? :* lundi 27 mars 2017 20:03 > *? :* VTK Developers; vtk vtk > *Objet :* [vtkusers] Allowable C++11 Features in VTK > > As everyone is aware over the past couple of months we have updated > VTK to require a C++11 compiler, but have not explicitly stated what > C++11 features are usable. > > We do not intend to incorporate all features of the language at this > time because of incompatibilities with the structure of VTK and/or > incomplete support for the features by all of the compilers that VTK > aims to support. > > The current proposed C++11 features, and where they are allowed can be > found at: > > https://docs.google.com/document/d/1h7wIq25d-qimQO8N9sE43fHX > KKlHM2sW2ErohfHiuCg/edit?usp=sharing > > Over the next two weeks please provide feedback, either by commenting > on the google document, or replying on the mailing list. Once the two > weeks are over, we will integrate the result into the existing coding > documentation, and then allow C++11 to be used. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensou > rce/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > vtkusers Info Page - Kitware > > public.kitware.com > To see the collection of prior postings to the list, visit the vtkusers > Archives. Using vtkusers: To post a message to all the list members, send > ... > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.gobbi at gmail.com Mon Mar 27 17:22:29 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Mon, 27 Mar 2017 15:22:29 -0600 Subject: [vtkusers] [vtk-developers] Allowable C++11 Features in VTK In-Reply-To: References: Message-ID: The fixed-type enums in C++11 could also be beneficial. Consider the following vtkLookupTable code, which declares a few constants in the header (shown below) and then provides the definition in the .cxx file (not shown): class vtkLookupTable { public: static const vtkIdType BELOW_RANGE_COLOR_INDEX; static const vtkIdType ABOVE_RANGE_COLOR_INDEX; static const vtkIdType NAN_COLOR_INDEX; static const vtkIdType NUMBER_OF_SPECIAL_COLORS; ... }; In C++11 these "static const" members can be defined more efficiently as a fixed-type enum: public: enum : vtkIdType { BELOW_RANGE_COLOR_INDEX = 0, ABOVE_RANGE_COLOR_INDEX = 1, NAN_COLOR_INDEX = 2, NUMBER_OF_SPECIAL_COLORS }; Of course VTK already uses enums for most constants (except for the ones that are still #define'd), so the benefit is for when you need a guarantee that the constant will be evaluated as a specific integral type. - David On Mon, Mar 27, 2017 at 2:14 PM, Robert Maynard wrote: > Hi, > > Thanks for the feedback. > > 1. I agree that when doing template metaprogramming, the alias keyword is > significantly better than typedef. I will update the document to state that > we prefer alias over typedef > > 2. I am going to update the std::array section to clarify that is > preferred over raw fixed size 'C' arrays. > > 3. This is good information to have. I will add a comment to the scoped > enums section while I wait for more feedback > > > On Mon, Mar 27, 2017 at 3:30 PM, B B wrote: > >> I would suggest the following: >> >> >> - Prefer the use of alias declarations instead of typedef: they do the >> same but alias declarations are better because they can be templetized (see >> Scott Meyers, Effective Modern C++, 63-67) >> >> - Replace raw arrays with std::array when possible: they are >> copyable, easier to manipulate and have no extra performance costs compared >> to raw arrays. >> >> - For scoped enums, I would restrict their use to global enums, >> especially in case of possible name conflicts. For nested enums, I would >> suggest to maintain the use of unscoped enums for two reasons: first, you >> don't need to write MyEnum::MyEnumValue each time you use them inside >> the class implementation; second, from my own experience, their implicit >> conversion to int can be useful in many cases. >> >> Boris >> >> ------------------------------ >> *De :* vtkusers de la part de Robert Maynard < >> robert.maynard at kitware.com> >> *Envoy? :* lundi 27 mars 2017 20:03 >> *? :* VTK Developers; vtk vtk >> *Objet :* [vtkusers] Allowable C++11 Features in VTK >> >> As everyone is aware over the past couple of months we have updated >> VTK to require a C++11 compiler, but have not explicitly stated what >> C++11 features are usable. >> >> We do not intend to incorporate all features of the language at this >> time because of incompatibilities with the structure of VTK and/or >> incomplete support for the features by all of the compilers that VTK >> aims to support. >> >> The current proposed C++11 features, and where they are allowed can be >> found at: >> >> https://docs.google.com/document/d/1h7wIq25d-qimQO8N9sE43fHX >> KKlHM2sW2ErohfHiuCg/edit?usp=sharing >> >> Over the next two weeks please provide feedback, either by commenting >> on the google document, or replying on the mailing list. Once the two >> weeks are over, we will integrate the result into the existing coding >> documentation, and then allow C++11 to be used. >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From felipebordeu at gmail.com Tue Mar 28 05:11:10 2017 From: felipebordeu at gmail.com (Felipe Bordeu) Date: Tue, 28 Mar 2017 11:11:10 +0200 Subject: [vtkusers] Negative Volume after Tetrahedralize/Tessellate Message-ID: Hi, I'm having trouble working with clip feature in ParaView ("vtkPVMetaClipDataset"), but I think is a VTK bug. My mesh if 100% tetrahedron mesh, then I clip the mesh, the resulting mesh has tets and wedge. Then I apply a tetrahedralize to convert the resulting mesh back to only tets but the connectivity (numbering) of the element is not correct. If I apply mesh quality I get negative volume for some elements. I have the same "wrong" result with the Tessellate Filter (with zero level of subdivisions). Can anyone confirm this bug. Attached a single wedge to demonstrate the bug. Using Paraview 5.2 in linux (home build) and Windows (binary from web) Thanks to all Felipe -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: wedge.vtk Type: application/octet-stream Size: 599 bytes Desc: not available URL: From heiland at iu.edu Tue Mar 28 05:31:25 2017 From: heiland at iu.edu (Heiland, Randy) Date: Tue, 28 Mar 2017 09:31:25 +0000 Subject: [vtkusers] simple polydata, glyph problem Message-ID: Hello, I?m probably doing something silly, but I cannot seem to display glyphs for a simple polydata file. If anyone is curious, I?ve put my Python scripts & data file here: http://pages.iu.edu/~heiland/vtk-play/ I?m using the standalone vtkpython-7.1.1 thanks, Randy -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4035 bytes Desc: not available URL: From fboli94 at gmail.com Tue Mar 28 06:58:29 2017 From: fboli94 at gmail.com (fblupi) Date: Tue, 28 Mar 2017 03:58:29 -0700 (MST) Subject: [vtkusers] Picking in vtkImagePlaneWidget and getting IJK volume point Message-ID: <1490698709880-5742643.post@n5.nabble.com> I'm trying to get the IJK coordinates of a voxel from a volume that I pick from the slice obtained with a vtkImagePlaneWidget (using GetResliceOutput method). I know I can get the coordinates of that slice using a cell Picker: vtkSmartPointer picker = vtkSmartPointer::New(); picker->SetTolerance(0.0005); int* pos = this->GetInteractor()->GetEventPosition(); picker->Pick(pos[0], pos[1], pos[2], this->GetDefaultRenderer()); int* ijk = picker->GetPointIJK(); But the IJK point obtained is in the slice coordinates so K is always 0. I would like to get the IJK coordinates of the point picked in the volume coordinates as I could make using the vtkVolumePicker in a 3D viewer. Thanks in advance. -- View this message in context: http://vtk.1045678.n5.nabble.com/Picking-in-vtkImagePlaneWidget-and-getting-IJK-volume-point-tp5742643.html Sent from the VTK - Users mailing list archive at Nabble.com. From bill.lorensen at gmail.com Tue Mar 28 06:58:54 2017 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Tue, 28 Mar 2017 06:58:54 -0400 Subject: [vtkusers] simple polydata, glyph problem In-Reply-To: References: Message-ID: You need reader.Update () before you access the output. On Mar 28, 2017 5:42 AM, "Heiland, Randy" wrote: Hello, I?m probably doing something silly, but I cannot seem to display glyphs for a simple polydata file. If anyone is curious, I?ve put my Python scripts & data file here: http://pages.iu.edu/~heiland/vtk-play/ I?m using the standalone vtkpython-7.1.1 thanks, Randy _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/ opensource/opensource.html Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ Search the list archives at: http://markmail.org/search/?q=vtkusers Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/vtkusers -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.levy at leddartech.com Tue Mar 28 09:40:26 2017 From: david.levy at leddartech.com (Mwoua) Date: Tue, 28 Mar 2017 06:40:26 -0700 (MST) Subject: [vtkusers] Background layer not displayed entirely In-Reply-To: <1490645039815-5742633.post@n5.nabble.com> References: <1490645039815-5742633.post@n5.nabble.com> Message-ID: <1490708426722-5742645.post@n5.nabble.com> I was looking at the wrong place, so if anyone is looking for that information the required function is AutoAdjustCameraClippingRangeOff () from the interactor style. -- View this message in context: http://vtk.1045678.n5.nabble.com/Background-layer-not-displayed-entirely-tp5742633p5742645.html Sent from the VTK - Users mailing list archive at Nabble.com. From chenshaoqiang at buaa.edu.cn Tue Mar 28 10:11:05 2017 From: chenshaoqiang at buaa.edu.cn (chensq) Date: Tue, 28 Mar 2017 22:11:05 +0800 Subject: [vtkusers] vtk7.1.1 compile error: Debug Assertion Failed! Message-ID: <13615BB4AC884572B22D1FA11AE73976@chensqPC> When compiling vtk7.1.1 using vs2015, I encountered the following problem: program: .........................vtkWrapTcl-7.1.exe File: minkernel\crts\ucrt\src\appcrt\convert\isctype.cpp Line: 36 Expression c >= =1 && c <= 255 For information on how your program can cause an assertion failure, see the Visual C++ documentation on asserts. It always happen when the VTK_WRAP_TCL is ON. And it will have no problem when the VTK_WRAP_TCL is OFF. I have installed the ActiveTCL8.5. And everything works fine when I compile vtk7.0.0. Does anybody have any suggestion? I really need your help! Thanks. Sincerely chen -------------- next part -------------- An HTML attachment was scrubbed... URL: From joachim.pouderoux at kitware.com Tue Mar 28 15:38:12 2017 From: joachim.pouderoux at kitware.com (Joachim Pouderoux) Date: Tue, 28 Mar 2017 15:38:12 -0400 Subject: [vtkusers] Fwd: Negative Volume after Tetrahedralize/Tessellate In-Reply-To: References: Message-ID: Hi Felipe, See documentation of vtkTetra class: * vtkTetra [...] The tetrahedron is defined by the four points * (0-3); where (0,1,2) is the base of the tetrahedron which, using the * right hand rule, forms a triangle whose normal points in the direction * of the fourth point. Which seems to mean that face formed with points 0, 1 and 2 describes the base face considering points are listed in clockwise order when seen from the exterior of the cell. In this case vtkTetra::ComputeVolume() returns a positive volume. Rule is the same with vtkWedge but it looks like the wedge you provide have point listed in incorrect order (CCW when seen from exterior). If you reverse them, tets are correct. If I am wrong with point ordering, then I guess there is a problem when constructing wedges in the Clip filter. Dou you agree? Best, Joachim *Joachim Pouderoux*, PhD *Technical Expert - Scientific Computing Team* *Kitware SAS * 2017-03-28 5:11 GMT-04:00 Felipe Bordeu : > Hi, > > > I'm having trouble working with clip feature in ParaView > ("vtkPVMetaClipDataset"), but I think is a VTK bug. My mesh if 100% > tetrahedron mesh, then I clip the mesh, the resulting mesh has tets and > wedge. Then I apply a tetrahedralize to convert the resulting mesh back to > only tets but the connectivity (numbering) of the element is not correct. > If I apply mesh quality I get negative volume for some elements. > I have the same "wrong" result with the Tessellate Filter (with zero level > of subdivisions). > > Can anyone confirm this bug. > > Attached a single wedge to demonstrate the bug. > > Using Paraview 5.2 in linux (home build) and Windows (binary from web) > > Thanks to all > Felipe > > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensou > rce/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rickfrank at me.com Tue Mar 28 17:09:29 2017 From: rickfrank at me.com (Richard Frank) Date: Tue, 28 Mar 2017 17:09:29 -0400 Subject: [vtkusers] VtkLineWidget2 Message-ID: Hi I'm having difficulty keeping 2 linewidget2 synchronized across to qtvtkViews Specially when moving one with the mouse and controlling the other, and then the reverse of that. The Display Coordinates seem to be out of sync with the world coordinates- perhaps the mouse movement resets the z position of the previously set world coordinate? Has anyone else run into this situation? Vtk 7.1 Thanks Rick Frank From andrew.amaclean at gmail.com Tue Mar 28 18:52:42 2017 From: andrew.amaclean at gmail.com (Andrew Maclean) Date: Wed, 29 Mar 2017 09:52:42 +1100 Subject: [vtkusers] Allowable C++11 Features in VTK Message-ID: I agree with David. I would argue for strongly typed enums to be allowed. In contrast to ordinary enums, they don't export their enumerators to the surrounding scope and they don't have implicit conversion to int. Implicit conversion to int can dangerous in that the code performs correctly but the results are unexpected. I don't think their use should be restricted to just global enumerations. I actually had the experience of converting old code to C++11 and when I converted the enums to strongly typed enums a whole lot of subtle faults were revealed where ints were used instead of enums. The important thing was that the old code ran perfectly but it was nearly impossible to account for the anomalous behaviour until strongly typed enums were used. Here is a contrived example that illustrates the problem. #include #include #include enum bg1 {r, g, b}; enum class bg2 { r, g, b }; void c0(int intensity) { std::cout << "Intensity: " << intensity << "\n"; } void c1(bg1 bg, int intensity) { std::cout << "Background: "; switch (bg) { case r: std::cout << "r\n"; break; case g: std::cout << "gr\n"; break; case b: std::cout << "b\n"; break; } std::cout << "Intensity: " << intensity << "\n"; } void c2(bg2 bg, int intensity) { std::cout << "Background: "; switch (bg) { case bg2::r: std::cout << "r\n"; break; case bg2::g: std::cout << "g\n"; break; case bg2::b: std::cout << "b\n"; break; } std::cout << "Intensity: " << intensity << "\n"; } int main() { int intensity = 7; c0(intensity); c0(bg1::r); // OK but surely an error! c1(bg1::r, intensity); // This call is Ok as bg is implicitly converted to int. // Is this what we really want? c1(bg1::r, bg1::g); // Strongly typed case. c2(bg2::r, intensity); // Because of strongly typed enums, // these will fail as bg2 is strongly typed. // c0(bg2::r); // c2(bg2::r, bg2::g); return EXIT_SUCCESS; } Regards Andrew ---------- Forwarded message ---------- > From: David Gobbi > To: Robert Maynard > Cc: VTK Developers , vtk vtk > Bcc: > Date: Mon, 27 Mar 2017 15:22:29 -0600 > Subject: Re: [vtk-developers] [vtkusers] Allowable C++11 Features in VTK > The fixed-type enums in C++11 could also be beneficial. Consider the > following vtkLookupTable code, which declares a few constants in the header > (shown below) and then provides the definition in the .cxx file (not shown): > > class vtkLookupTable > { > public: > static const vtkIdType BELOW_RANGE_COLOR_INDEX; > static const vtkIdType ABOVE_RANGE_COLOR_INDEX; > static const vtkIdType NAN_COLOR_INDEX; > static const vtkIdType NUMBER_OF_SPECIAL_COLORS; > ... > }; > > In C++11 these "static const" members can be defined more efficiently as a > fixed-type enum: > > public: > enum : vtkIdType { > BELOW_RANGE_COLOR_INDEX = 0, > ABOVE_RANGE_COLOR_INDEX = 1, > NAN_COLOR_INDEX = 2, > NUMBER_OF_SPECIAL_COLORS > }; > > Of course VTK already uses enums for most constants (except for the ones > that are still #define'd), so the benefit is for when you need a guarantee > that the constant will be evaluated as a specific integral type. > > - David > > > > On Mon, Mar 27, 2017 at 2:14 PM, Robert Maynard < > robert.maynard at kitware.com> wrote: > >> Hi, >> >> Thanks for the feedback. >> >> 1. I agree that when doing template metaprogramming, the alias keyword is >> significantly better than typedef. I will update the document to state that >> we prefer alias over typedef >> >> 2. I am going to update the std::array section to clarify that is >> preferred over raw fixed size 'C' arrays. >> >> 3. This is good information to have. I will add a comment to the scoped >> enums section while I wait for more feedback >> >> >> On Mon, Mar 27, 2017 at 3:30 PM, B B wrote: >> >>> I would suggest the following: >>> >>> >>> - Prefer the use of alias declarations instead of typedef: they do the >>> same but alias declarations are better because they can be templetized (see >>> Scott Meyers, Effective Modern C++, 63-67) >>> >>> - Replace raw arrays with std::array when possible: they are >>> copyable, easier to manipulate and have no extra performance costs compared >>> to raw arrays. >>> >>> - For scoped enums, I would restrict their use to global enums, >>> especially in case of possible name conflicts. For nested enums, I would >>> suggest to maintain the use of unscoped enums for two reasons: first, you >>> don't need to write MyEnum::MyEnumValue each time you use them inside >>> the class implementation; second, from my own experience, their implicit >>> conversion to int can be useful in many cases. >>> >>> Boris >>> >>> ------------------------------ >>> *De :* vtkusers de la part de Robert Maynard >>> >>> *Envoy? :* lundi 27 mars 2017 20:03 >>> *? :* VTK Developers; vtk vtk >>> *Objet :* [vtkusers] Allowable C++11 Features in VTK >>> >>> As everyone is aware over the past couple of months we have updated >>> VTK to require a C++11 compiler, but have not explicitly stated what >>> C++11 features are usable. >>> >>> We do not intend to incorporate all features of the language at this >>> time because of incompatibilities with the structure of VTK and/or >>> incomplete support for the features by all of the compilers that VTK >>> aims to support. >>> >>> The current proposed C++11 features, and where they are allowed can be >>> found at: >>> >>> https://docs.google.com/document/d/1h7wIq25d-qimQO8N9sE43fHX >>> KKlHM2sW2ErohfHiuCg/edit?usp=sharing >>> >>> Over the next two weeks please provide feedback, either by commenting >>> on the google document, or replying on the mailing list. Once the two >>> weeks are over, we will integrate the result into the existing coding >>> documentation, and then allow C++11 to be used. >>> >> > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensou > rce/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtk-developers > -- ___________________________________________ Andrew J. P. Maclean ___________________________________________ -------------- next part -------------- An HTML attachment was scrubbed... URL: From seb.an at icloud.com Tue Mar 28 20:03:33 2017 From: seb.an at icloud.com (Se An) Date: Wed, 29 Mar 2017 02:03:33 +0200 Subject: [vtkusers] Remeshing vtkPolyData with vtkMarchingCubes Message-ID: Hi everyone, I?m new with vtk and I?m trying to remesh a vtkPolyData with the vtkMarchingCubes-Algorithm. To do this I?m using the code described here: http://www.vtk.org/Wiki/VTK/Examples/Cxx/Modelling/MarchingCubes def marchingCubes(size): volume = vtk.vtkImageData() bounds = [0.0, 0.0, 0.0 , 0.0, 0.0, 0.0] data.GetBounds(bounds) iBounds = 0 while iBounds < 6: range = bounds[iBounds+1] - bounds[iBounds] bounds[iBounds] = bounds[iBounds] - .0001 * range bounds[iBounds+1] = bounds[iBounds+1] + .0001 * range iBounds = iBounds + 2 voxelModeller = vtk.vtkVoxelModeller() voxelModeller.SetSampleDimensions(size,size,size) #Set cube size voxelModeller.SetModelBounds(bounds) voxelModeller.SetScalarTypeToFloat() voxelModeller.SetMaximumDistance(.1) voxelModeller.SetInputData(data) voxelModeller.Update() isoValue = 0.01 #0.001 volume.DeepCopy(voxelModeller.GetOutput()) surface = vtk.vtkMarchingCubes() if vtk.VTK_MAJOR_VERSION <= 5: surface.SetInput(volume) else: surface.SetInputData(volume) surface.ComputeScalarsOff() surface.SetValue(0, isoValue) surface.Update() data = surface.GetOutput() Here my problem: My input has just one Surface/Layer, the output has two layers as you see at the screenshot attached. Is it possible to create an output with a remeshed polydata with just one layer? Thanks in advance, Sebastian -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Input.jpeg Type: image/jpeg Size: 174599 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Output.jpeg Type: image/jpeg Size: 235554 bytes Desc: not available URL: From rccm.kyoshimi at gmail.com Tue Mar 28 22:54:49 2017 From: rccm.kyoshimi at gmail.com (kenichiro yoshimi) Date: Wed, 29 Mar 2017 11:54:49 +0900 Subject: [vtkusers] vtk7.1.1 compile error: Debug Assertion Failed! In-Reply-To: <13615BB4AC884572B22D1FA11AE73976@chensqPC> References: <13615BB4AC884572B22D1FA11AE73976@chensqPC> Message-ID: Hi, chen VTK-7.1.1/Common/DataModel/vtkPolyhedron.h includes unicode characters in a comment and it causes the error. Please replace the lines /** * Determine whether or not a polyhedron is convex. This method is adapted * from Devillers et al., "Checking the Convexity of Polytopes and the * Planarity of Subdivisions", Computational Geometry, Volume 11, Issues * 3 ? 4, December 1998, Pages 187 ? 208. */ with /** * Determine whether or not a polyhedron is convex. This method is adapted * from Devillers et al., "Checking the Convexity of Polytopes and the * Planarity of Subdivisions", Computational Geometry, Volume 11, Issues * 3 - 4, December 1998, Pages 187 - 208. */ Thanks, yoshimi 2017-03-28 23:11 GMT+09:00 chensq : > When compiling vtk7.1.1 using vs2015, I encountered the following problem: > > program: > .........................vtkWrapTcl-7.1.exe > File: minkernel\crts\ucrt\src\appcrt\convert\isctype.cpp > Line: 36 > Expression c >= =1 && c <= 255 > For information on how your program can cause an assertion failure, see the > Visual C++ documentation on asserts. > > It always happen when the VTK_WRAP_TCL is ON. And it will have no problem > when the VTK_WRAP_TCL is OFF. > I have installed the ActiveTCL8.5. And everything works fine when I compile > vtk7.0.0. > Does anybody have any suggestion? > I really need your help! > Thanks. > Sincerely chen > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > From gabriel.meier at psi.ch Wed Mar 29 03:13:43 2017 From: gabriel.meier at psi.ch (Gabriel Meier) Date: Wed, 29 Mar 2017 09:13:43 +0200 Subject: [vtkusers] Rendering polydata in a SWT environment (Java) Message-ID: <1c8c7af8-f23b-62ce-5d2b-e07c8289b967@psi.ch> Dear all, I seem to have some problems rendering polydata using VTK in Java in an SWT environment. Using SWT 3.105.1 the result of the simple cylinder example looks like this: If I change the SWT version to 3.7.1 I get the correct result: Has anybody stumbled accross a similar problem? Best, Gabriel -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ieikjobmoalodgcg.png Type: image/png Size: 21015 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: mbejnlhaaiioajpg.png Type: image/png Size: 23282 bytes Desc: not available URL: From sendtomatteo at yahoo.it Wed Mar 29 05:24:32 2017 From: sendtomatteo at yahoo.it (Matteo) Date: Wed, 29 Mar 2017 11:24:32 +0200 Subject: [vtkusers] Point Visibility in Camera View In-Reply-To: References: Message-ID: <58DB7D50.3000103@yahoo.it> Hi I am looking for a way to know if a generic known point (xyz) is visible in the current view. I checked the object's functions but it seems there is nothing like: bool vtkCamera::IsInVisibleArea(double x, double y, double z); Am I wrong? I understand that probably the rightest way to solve this problem is to start from something like: vtkCamera::GetFrustumPlanes (double aspect, double planes[24]) and then compare the given point with the found planes to get if it is inside or outside. But, with my low knowledge of this part of geometry, it looks quite difficult to continue. Any already available function that can help me on this problem? Thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: From V.W.Koppejan at tudelft.nl Wed Mar 29 07:55:57 2017 From: V.W.Koppejan at tudelft.nl (Victor Koppejan - TNW) Date: Wed, 29 Mar 2017 11:55:57 +0000 Subject: [vtkusers] Importing lagrangian data from openfoam into numpy arrays Message-ID: Hi Everyone, I'd like to import data from openfoam lagrangian particle (saved as binary or ascii vtk files) in simulations into numpy-arrays. The data is either in scalar or vector format. I can't find what I want in the examples or other online tutorials. Does anyone have a suggestion can you refer me to online material? The data is stored as polydata, see a short version of the file (in this case ascii) contents below: # vtk DataFile Version 2.0 linkCG2-500cmh-run1 ASCII DATASET POLYDATA POINTS 187550 float POINT_DATA 187550 FIELD attributes 8 origId 1 187550 float lmpCpuId 1 187550 float etc., here origId and lmpCpuId are scalar variables, after this there's 8 more variables. I can read it all in in matlab but I've been trying to move all my computations to python. Thanks in advance for your help. Kind regards, Victor From cory.quammen at kitware.com Wed Mar 29 09:59:15 2017 From: cory.quammen at kitware.com (Cory Quammen) Date: Wed, 29 Mar 2017 09:59:15 -0400 Subject: [vtkusers] vtk7.1.1 compile error: Debug Assertion Failed! In-Reply-To: References: <13615BB4AC884572B22D1FA11AE73976@chensqPC> Message-ID: Yoshimi, Is this still a problem in VTK master? If so, I'll submit a patch to fix it. Thanks, Cory On Tue, Mar 28, 2017 at 10:54 PM, kenichiro yoshimi wrote: > Hi, chen > > VTK-7.1.1/Common/DataModel/vtkPolyhedron.h > includes unicode characters in a comment and it causes the error. > Please replace the lines > > /** > * Determine whether or not a polyhedron is convex. This method is adapted > * from Devillers et al., "Checking the Convexity of Polytopes and the > * Planarity of Subdivisions", Computational Geometry, Volume 11, Issues > * 3 ? 4, December 1998, Pages 187 ? 208. > */ > > with > > /** > * Determine whether or not a polyhedron is convex. This method is adapted > * from Devillers et al., "Checking the Convexity of Polytopes and the > * Planarity of Subdivisions", Computational Geometry, Volume 11, Issues > * 3 - 4, December 1998, Pages 187 - 208. > */ > > Thanks, > yoshimi > > 2017-03-28 23:11 GMT+09:00 chensq : >> When compiling vtk7.1.1 using vs2015, I encountered the following problem: >> >> program: >> .........................vtkWrapTcl-7.1.exe >> File: minkernel\crts\ucrt\src\appcrt\convert\isctype.cpp >> Line: 36 >> Expression c >= =1 && c <= 255 >> For information on how your program can cause an assertion failure, see the >> Visual C++ documentation on asserts. >> >> It always happen when the VTK_WRAP_TCL is ON. And it will have no problem >> when the VTK_WRAP_TCL is OFF. >> I have installed the ActiveTCL8.5. And everything works fine when I compile >> vtk7.0.0. >> Does anybody have any suggestion? >> I really need your help! >> Thanks. >> Sincerely chen >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: >> http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers >> > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers -- Cory Quammen Staff R&D Engineer Kitware, Inc. From david.gobbi at gmail.com Wed Mar 29 10:53:20 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Wed, 29 Mar 2017 08:53:20 -0600 Subject: [vtkusers] vtk7.1.1 compile error: Debug Assertion Failed! In-Reply-To: References: <13615BB4AC884572B22D1FA11AE73976@chensqPC> Message-ID: It's interesting that this is reported for vtkWrapTcl.exe but not for the other wrapping languages. Maybe it has something to do with the way that the docstrings are wrapped for tcl? Ah, I think I've found it. In vtkWrapTcl.c there is an "isprint()" call in the docstring processing. I'll add a guard so that it isn't called for non-ascii chars. - David On Wed, Mar 29, 2017 at 7:59 AM, Cory Quammen wrote: > Yoshimi, > > Is this still a problem in VTK master? If so, I'll submit a patch to fix > it. > > Thanks, > Cory > > On Tue, Mar 28, 2017 at 10:54 PM, kenichiro yoshimi > wrote: > > Hi, chen > > > > VTK-7.1.1/Common/DataModel/vtkPolyhedron.h > > includes unicode characters in a comment and it causes the error. > > Please replace the lines > > > > /** > > * Determine whether or not a polyhedron is convex. This method is > adapted > > * from Devillers et al., "Checking the Convexity of Polytopes and the > > * Planarity of Subdivisions", Computational Geometry, Volume 11, > Issues > > * 3 ? 4, December 1998, Pages 187 ? 208. > > */ > > > > with > > > > /** > > * Determine whether or not a polyhedron is convex. This method is > adapted > > * from Devillers et al., "Checking the Convexity of Polytopes and the > > * Planarity of Subdivisions", Computational Geometry, Volume 11, > Issues > > * 3 - 4, December 1998, Pages 187 - 208. > > */ > > > > Thanks, > > yoshimi > > > > 2017-03-28 23:11 GMT+09:00 chensq : > >> When compiling vtk7.1.1 using vs2015, I encountered the following > problem: > >> > >> program: > >> .........................vtkWrapTcl-7.1.exe > >> File: minkernel\crts\ucrt\src\appcrt\convert\isctype.cpp > >> Line: 36 > >> Expression c >= =1 && c <= 255 > >> For information on how your program can cause an assertion failure, see > the > >> Visual C++ documentation on asserts. > >> > >> It always happen when the VTK_WRAP_TCL is ON. And it will have no > problem > >> when the VTK_WRAP_TCL is OFF. > >> I have installed the ActiveTCL8.5. And everything works fine when I > compile > >> vtk7.0.0. > >> Does anybody have any suggestion? > >> I really need your help! > >> Thanks. > >> Sincerely chen > >> > >> _______________________________________________ > >> Powered by www.kitware.com > >> > >> Visit other Kitware open-source projects at > >> http://www.kitware.com/opensource/opensource.html > >> > >> Please keep messages on-topic and check the VTK FAQ at: > >> http://www.vtk.org/Wiki/VTK_FAQ > >> > >> Search the list archives at: http://markmail.org/search/?q=vtkusers > >> > >> Follow this link to subscribe/unsubscribe: > >> http://public.kitware.com/mailman/listinfo/vtkusers > >> > > _______________________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > > > Follow this link to subscribe/unsubscribe: > > http://public.kitware.com/mailman/listinfo/vtkusers > > > > -- > Cory Quammen > Staff R&D Engineer > Kitware, Inc. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -------------- next part -------------- An HTML attachment was scrubbed... URL: From saiya-jin at yandex.ru Wed Mar 29 18:42:55 2017 From: saiya-jin at yandex.ru (majinsaha) Date: Wed, 29 Mar 2017 15:42:55 -0700 (MST) Subject: [vtkusers] Extracting cells from vtkImageData Message-ID: <1490827375748-5742666.post@n5.nabble.com> Hello! I am trying to extract a certain number of cells from vtkImageData object and make them a separate actor. If I had vtkPolyData instead, that would be easy to do as follows: vtkSmartPointer ids = vtkSmartPointer::New(); ids->SetNumberOfComponents(1); // TODO: Filling ids with the cell indices of interest vtkSmartPointer selectionNode = vtkSmartPointer::New(); selectionNode->SetFieldType(vtkSelectionNode::CELL); selectionNode->SetContentType(vtkSelectionNode::INDICES); selectionNode->SetSelectionList(ids); vtkSmartPointer selection = vtkSmartPointer::New(); selection->AddNode(selectionNode); vtkSmartPointer extractSelection = vtkSmartPointer::New(); extractSelection->SetInputData(0, myPolyData); extractSelection->SetInputData(1, selection); extractSelection->Update(); vtkSmartPointer cellsMapper = vtkSmartPointer::New(); cellsMapper->SetInputData(extractSelection->GetOutput()); Is there a way to do it similarly for vtkImageData? If not, I assume I should then transform vtkImageData to vtkPolyData to use all the shown benefits, right? However, what is a nice and painless way to do this transformation? I know there is ImageDataGeometryFilter that's supposed to do it, but I've only seen how it works for sources such as here: vtkSmartPointer source1 = vtkSmartPointer::New(); // TODO: DO SOMETHING WITH SOURCE // Convert the image to a polydata vtkSmartPointer imageDataGeometryFilter = vtkSmartPointer::New(); imageDataGeometryFilter->SetInputConnection(source1->GetOutputPort()); imageDataGeometryFilter->Update(); Is there a way to attach vtkImageData itself to a pipeline like this instead of a source? It doesn't have GetOutputPort() method so I can't seem to be able to use this approach. The answers to both questions are greatly appreciated! P.S. I realize I can do this in brute-force way by remaking entire vtkImageData from the selected cells, but that would take a long time. Don't want to reinvent the wheel here. -- View this message in context: http://vtk.1045678.n5.nabble.com/Extracting-cells-from-vtkImageData-tp5742666.html Sent from the VTK - Users mailing list archive at Nabble.com. From bill.lorensen at gmail.com Wed Mar 29 19:10:08 2017 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Wed, 29 Mar 2017 19:10:08 -0400 Subject: [vtkusers] Extracting cells from vtkImageData In-Reply-To: <1490827375748-5742666.post@n5.nabble.com> References: <1490827375748-5742666.post@n5.nabble.com> Message-ID: Yes, use SetInputData On Mar 29, 2017 6:43 PM, "majinsaha" wrote: > Hello! > > I am trying to extract a certain number of cells from vtkImageData object > and make them a separate actor. If I had vtkPolyData instead, that would be > easy to do as follows: > > vtkSmartPointer ids = > vtkSmartPointer::New(); > ids->SetNumberOfComponents(1); > > // TODO: Filling ids with the cell indices of interest > > vtkSmartPointer selectionNode = > vtkSmartPointer::New(); > selectionNode->SetFieldType(vtkSelectionNode::CELL); > selectionNode->SetContentType(vtkSelectionNode::INDICES); > selectionNode->SetSelectionList(ids); > > vtkSmartPointer selection = > vtkSmartPointer::New(); > selection->AddNode(selectionNode); > > vtkSmartPointer extractSelection = > vtkSmartPointer::New(); > extractSelection->SetInputData(0, myPolyData); > extractSelection->SetInputData(1, selection); > extractSelection->Update(); > > vtkSmartPointer cellsMapper = > vtkSmartPointer::New(); > cellsMapper->SetInputData(extractSelection->GetOutput()); > > Is there a way to do it similarly for vtkImageData? > > If not, I assume I should then transform vtkImageData to vtkPolyData to use > all the shown benefits, right? However, what is a nice and painless way to > do this transformation? I know there is ImageDataGeometryFilter that's > supposed to do it, but I've only seen how it works for sources such as > here: > > > vtkSmartPointer source1 = > vtkSmartPointer::New(); > // TODO: DO SOMETHING WITH SOURCE > > // Convert the image to a polydata > vtkSmartPointer imageDataGeometryFilter = > vtkSmartPointer::New(); > imageDataGeometryFilter->SetInputConnection(source1->GetOutputPort()); > imageDataGeometryFilter->Update(); > > > Is there a way to attach vtkImageData itself to a pipeline like this > instead > of a source? It doesn't have GetOutputPort() method so I can't seem to be > able to use this approach. > > The answers to both questions are greatly appreciated! > > P.S. I realize I can do this in brute-force way by remaking entire > vtkImageData from the selected cells, but that would take a long time. > Don't > want to reinvent the wheel here. > > > > -- > View this message in context: http://vtk.1045678.n5.nabble. > com/Extracting-cells-from-vtkImageData-tp5742666.html > Sent from the VTK - Users mailing list archive at Nabble.com. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rccm.kyoshimi at gmail.com Wed Mar 29 20:49:15 2017 From: rccm.kyoshimi at gmail.com (kenichiro yoshimi) Date: Thu, 30 Mar 2017 09:49:15 +0900 Subject: [vtkusers] vtk7.1.1 compile error: Debug Assertion Failed! In-Reply-To: References: <13615BB4AC884572B22D1FA11AE73976@chensqPC> Message-ID: Hi, I can compile without any error in VTK master when the VTK_WRAP_TCL is ON. Thank you so much, yoshimi 2017-03-29 23:53 GMT+09:00 David Gobbi : > It's interesting that this is reported for vtkWrapTcl.exe but not for the > other wrapping languages. Maybe it has something to do with the way that > the docstrings are wrapped for tcl? > > Ah, I think I've found it. In vtkWrapTcl.c there is an "isprint()" call in > the docstring processing. I'll add a guard so that it isn't called for > non-ascii chars. > > - David > > > On Wed, Mar 29, 2017 at 7:59 AM, Cory Quammen > wrote: >> >> Yoshimi, >> >> Is this still a problem in VTK master? If so, I'll submit a patch to fix >> it. >> >> Thanks, >> Cory >> >> On Tue, Mar 28, 2017 at 10:54 PM, kenichiro yoshimi >> wrote: >> > Hi, chen >> > >> > VTK-7.1.1/Common/DataModel/vtkPolyhedron.h >> > includes unicode characters in a comment and it causes the error. >> > Please replace the lines >> > >> > /** >> > * Determine whether or not a polyhedron is convex. This method is >> > adapted >> > * from Devillers et al., "Checking the Convexity of Polytopes and the >> > * Planarity of Subdivisions", Computational Geometry, Volume 11, >> > Issues >> > * 3 ? 4, December 1998, Pages 187 ? 208. >> > */ >> > >> > with >> > >> > /** >> > * Determine whether or not a polyhedron is convex. This method is >> > adapted >> > * from Devillers et al., "Checking the Convexity of Polytopes and the >> > * Planarity of Subdivisions", Computational Geometry, Volume 11, >> > Issues >> > * 3 - 4, December 1998, Pages 187 - 208. >> > */ >> > >> > Thanks, >> > yoshimi >> > >> > 2017-03-28 23:11 GMT+09:00 chensq : >> >> When compiling vtk7.1.1 using vs2015, I encountered the following >> >> problem: >> >> >> >> program: >> >> .........................vtkWrapTcl-7.1.exe >> >> File: minkernel\crts\ucrt\src\appcrt\convert\isctype.cpp >> >> Line: 36 >> >> Expression c >= =1 && c <= 255 >> >> For information on how your program can cause an assertion failure, see >> >> the >> >> Visual C++ documentation on asserts. >> >> >> >> It always happen when the VTK_WRAP_TCL is ON. And it will have no >> >> problem >> >> when the VTK_WRAP_TCL is OFF. >> >> I have installed the ActiveTCL8.5. And everything works fine when I >> >> compile >> >> vtk7.0.0. >> >> Does anybody have any suggestion? >> >> I really need your help! >> >> Thanks. >> >> Sincerely chen >> >> >> >> _______________________________________________ >> >> Powered by www.kitware.com >> >> >> >> Visit other Kitware open-source projects at >> >> http://www.kitware.com/opensource/opensource.html >> >> >> >> Please keep messages on-topic and check the VTK FAQ at: >> >> http://www.vtk.org/Wiki/VTK_FAQ >> >> >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> >> >> Follow this link to subscribe/unsubscribe: >> >> http://public.kitware.com/mailman/listinfo/vtkusers >> >> >> > _______________________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Please keep messages on-topic and check the VTK FAQ at: >> > http://www.vtk.org/Wiki/VTK_FAQ >> > >> > Search the list archives at: http://markmail.org/search/?q=vtkusers >> > >> > Follow this link to subscribe/unsubscribe: >> > http://public.kitware.com/mailman/listinfo/vtkusers >> >> >> >> -- >> Cory Quammen >> Staff R&D Engineer >> Kitware, Inc. >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: >> http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers > > From david.gobbi at gmail.com Wed Mar 29 20:58:56 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Wed, 29 Mar 2017 18:58:56 -0600 Subject: [vtkusers] vtk7.1.1 compile error: Debug Assertion Failed! In-Reply-To: References: <13615BB4AC884572B22D1FA11AE73976@chensqPC> Message-ID: Thanks for testing so quickly, I just merged the fix a couple hours ago. On Wed, Mar 29, 2017 at 6:49 PM, kenichiro yoshimi wrote: > Hi, > > I can compile without any error in VTK master when the VTK_WRAP_TCL is ON. > > Thank you so much, > yoshimi > > 2017-03-29 23:53 GMT+09:00 David Gobbi : > > It's interesting that this is reported for vtkWrapTcl.exe but not for the > > other wrapping languages. Maybe it has something to do with the way that > > the docstrings are wrapped for tcl? > > > > Ah, I think I've found it. In vtkWrapTcl.c there is an "isprint()" call > in > > the docstring processing. I'll add a guard so that it isn't called for > > non-ascii chars. > > > > - David > > > > > > On Wed, Mar 29, 2017 at 7:59 AM, Cory Quammen > > wrote: > >> > >> Yoshimi, > >> > >> Is this still a problem in VTK master? If so, I'll submit a patch to fix > >> it. > >> > >> Thanks, > >> Cory > >> > >> On Tue, Mar 28, 2017 at 10:54 PM, kenichiro yoshimi > >> wrote: > >> > Hi, chen > >> > > >> > VTK-7.1.1/Common/DataModel/vtkPolyhedron.h > >> > includes unicode characters in a comment and it causes the error. > >> > Please replace the lines > >> > > >> > /** > >> > * Determine whether or not a polyhedron is convex. This method is > >> > adapted > >> > * from Devillers et al., "Checking the Convexity of Polytopes and > the > >> > * Planarity of Subdivisions", Computational Geometry, Volume 11, > >> > Issues > >> > * 3 ? 4, December 1998, Pages 187 ? 208. > >> > */ > >> > > >> > with > >> > > >> > /** > >> > * Determine whether or not a polyhedron is convex. This method is > >> > adapted > >> > * from Devillers et al., "Checking the Convexity of Polytopes and > the > >> > * Planarity of Subdivisions", Computational Geometry, Volume 11, > >> > Issues > >> > * 3 - 4, December 1998, Pages 187 - 208. > >> > */ > >> > > >> > Thanks, > >> > yoshimi > >> > > >> > 2017-03-28 23:11 GMT+09:00 chensq : > >> >> When compiling vtk7.1.1 using vs2015, I encountered the following > >> >> problem: > >> >> > >> >> program: > >> >> .........................vtkWrapTcl-7.1.exe > >> >> File: minkernel\crts\ucrt\src\appcrt\convert\isctype.cpp > >> >> Line: 36 > >> >> Expression c >= =1 && c <= 255 > >> >> For information on how your program can cause an assertion failure, > see > >> >> the > >> >> Visual C++ documentation on asserts. > >> >> > >> >> It always happen when the VTK_WRAP_TCL is ON. And it will have no > >> >> problem > >> >> when the VTK_WRAP_TCL is OFF. > >> >> I have installed the ActiveTCL8.5. And everything works fine when I > >> >> compile > >> >> vtk7.0.0. > >> >> Does anybody have any suggestion? > >> >> I really need your help! > >> >> Thanks. > >> >> Sincerely chen > >> >> > >> >> _______________________________________________ > >> >> Powered by www.kitware.com > >> >> > >> >> Visit other Kitware open-source projects at > >> >> http://www.kitware.com/opensource/opensource.html > >> >> > >> >> Please keep messages on-topic and check the VTK FAQ at: > >> >> http://www.vtk.org/Wiki/VTK_FAQ > >> >> > >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers > >> >> > >> >> Follow this link to subscribe/unsubscribe: > >> >> http://public.kitware.com/mailman/listinfo/vtkusers > >> >> > >> > _______________________________________________ > >> > Powered by www.kitware.com > >> > > >> > Visit other Kitware open-source projects at > >> > http://www.kitware.com/opensource/opensource.html > >> > > >> > Please keep messages on-topic and check the VTK FAQ at: > >> > http://www.vtk.org/Wiki/VTK_FAQ > >> > > >> > Search the list archives at: http://markmail.org/search/?q=vtkusers > >> > > >> > Follow this link to subscribe/unsubscribe: > >> > http://public.kitware.com/mailman/listinfo/vtkusers > >> > >> > >> > >> -- > >> Cory Quammen > >> Staff R&D Engineer > >> Kitware, Inc. > >> _______________________________________________ > >> Powered by www.kitware.com > >> > >> Visit other Kitware open-source projects at > >> http://www.kitware.com/opensource/opensource.html > >> > >> Please keep messages on-topic and check the VTK FAQ at: > >> http://www.vtk.org/Wiki/VTK_FAQ > >> > >> Search the list archives at: http://markmail.org/search/?q=vtkusers > >> > >> Follow this link to subscribe/unsubscribe: > >> http://public.kitware.com/mailman/listinfo/vtkusers > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chenshaoqiang at buaa.edu.cn Thu Mar 30 00:04:46 2017 From: chenshaoqiang at buaa.edu.cn (chensq) Date: Thu, 30 Mar 2017 12:04:46 +0800 Subject: [vtkusers] Thank you so much yoshimi! for Debug Assertion Failed! Message-ID: Great, that's it. But Ican?t respond to you, so I write this letter. Sincerely chen -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul.melis at surfsara.nl Thu Mar 30 04:13:39 2017 From: paul.melis at surfsara.nl (Paul Melis) Date: Thu, 30 Mar 2017 10:13:39 +0200 Subject: [vtkusers] Importing lagrangian data from openfoam into numpy arrays In-Reply-To: References: Message-ID: Hi Victor, Perhaps this series of blog posts on VTK+numpy integration can help you further? I haven't used that stuff too much myself, but I believe you should be able to use VTK's numpy adapters to get all your data as numpy arrays: https://blog.kitware.com/improved-vtk-numpy-integration/ Regards, Paul On 29-03-17 13:55, Victor Koppejan - TNW wrote: > Hi Everyone, > > I'd like to import data from openfoam lagrangian particle (saved as binary or ascii vtk files) in simulations into numpy-arrays. The data is either in scalar or vector format. I can't find what I want in the examples or other online tutorials. Does anyone have a suggestion can you refer me to online material? > > The data is stored as polydata, see a short version of the file (in this case ascii) contents below: > > # vtk DataFile Version 2.0 > linkCG2-500cmh-run1 > ASCII > DATASET POLYDATA > POINTS 187550 float > > POINT_DATA 187550 > FIELD attributes 8 > origId 1 187550 float > > lmpCpuId 1 187550 float > > > etc., here origId and lmpCpuId are scalar variables, after this there's 8 more variables. I can read it all in in matlab but I've been trying to move all my computations to python. > > Thanks in advance for your help. > > Kind regards, > > Victor > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -- Paul Melis | Visualization group leader & developer | SURFsara | | Science Park 140 | 1098 XG Amsterdam | | T 020 800 1312 | paul.melis at surfsara.nl | www.surfsara.nl | From ysa0829 at gmail.com Thu Mar 30 06:17:28 2017 From: ysa0829 at gmail.com (Ang) Date: Thu, 30 Mar 2017 03:17:28 -0700 (MST) Subject: [vtkusers] vtkDICOMReader read chinese character problem Message-ID: <1490869048082-5742672.post@n5.nabble.com> Hi all, My IDE is vs 2015 with QT 5.6 and vtk 7.1. My sorting dicom pipline is QFileDialog -> QStringlist -> vtkDICOMReader. When I set FileName with chinese character like "c://??/dicom.dcm", I can retrieve infomation in Dicom tag, but I can't retrieve raw data. I have tried to convert utf8 to ansi (it works well in VtkgdcmImageReader class),but vtkDICOMFile class will give me error message in Access function. Is there a way to read chinese character with vtkDICOMReader well? Thanks in advance for your help. -- View this message in context: http://vtk.1045678.n5.nabble.com/vtkDICOMReader-read-chinese-character-problem-tp5742672.html Sent from the VTK - Users mailing list archive at Nabble.com. From sunxiasx at foxmail.com Thu Mar 30 06:49:17 2017 From: sunxiasx at foxmail.com (Summer Sun) Date: Thu, 30 Mar 2017 03:49:17 -0700 (MST) Subject: [vtkusers] Why is my marching cubes result not a surface but some strange sticks? Message-ID: <1490870957648-5742673.post@n5.nabble.com> I read a dozen of bmp slices and try to use marching cubes to generate iso surface. But the result is some strange sticks like below. the image slices is as follow My code is here, I think there's no problem with my image data: string segResultDir = ".\\images\\seg_result"; DIR *dir; struct dirent *ent; vtkSmartPointer appender = vtkSmartPointer::New(); appender->SetAppendAxis(2); vtkSmartPointer segModel = vtkSmartPointer::New(); if ((dir = opendir(segResultDir.c_str())) != NULL) { // get all file under seg result directory while ((ent = readdir(dir)) != NULL) { string imageFileName = ent->d_name; // filter for file extension with .bmp if (imageFileName.substr(imageFileName.find_last_of(".") + 1) == "bmp") { //read the image vtkSmartPointer reader = vtkSmartPointer::New(); reader->SetFileName((segResultDir + "\\" + imageFileName).c_str()); reader->Update(); appender->AddInputData(reader->GetOutput()); appender->Update(); /*vtkSmartPointer segSlice = reader->GetOutput(); segModel->GetPointData()->AddArray(segSlice->GetPointData()->GetScalars());*/ } } closedir(dir); } segModel->DeepCopy(appender->GetOutput()); // marching cubes and render results vtkSmartPointer surface = vtkSmartPointer::New(); surface->SetInputData(segModel); surface->ComputeNormalsOn(); surface->SetValue(0, 0.5); surface->Update(); vtkSmartPointer modelRenderer = vtkSmartPointer::New(); modelRenderer->SetBackground(.1, .2, .3); vtkSmartPointer modelRenderWindow = vtkSmartPointer::New(); modelRenderWindow->AddRenderer(modelRenderer); vtkSmartPointer interactor = vtkSmartPointer::New(); interactor->SetRenderWindow(modelRenderWindow); vtkSmartPointer mapper = vtkSmartPointer::New(); mapper->SetInputConnection(surface->GetOutputPort()); mapper->ScalarVisibilityOff(); vtkSmartPointer actor = vtkSmartPointer::New(); actor->SetMapper(mapper); modelRenderer->AddActor(actor); modelRenderWindow->Render(); interactor->Start(); Thank you for your help! -- View this message in context: http://vtk.1045678.n5.nabble.com/Why-is-my-marching-cubes-result-not-a-surface-but-some-strange-sticks-tp5742673.html Sent from the VTK - Users mailing list archive at Nabble.com. From cory.quammen at kitware.com Thu Mar 30 07:55:02 2017 From: cory.quammen at kitware.com (Cory Quammen) Date: Thu, 30 Mar 2017 07:55:02 -0400 Subject: [vtkusers] Importing lagrangian data from openfoam into numpy arrays In-Reply-To: References: Message-ID: Victor, To read in your file with VTK+Python, use import vtk reader = vtk.vtkPolyDataReader() reader.SetFileName("myfile.vtk") reader.Update() Then, to convert your point data to numpy arrays, use from vtk.numpy_interface import dataset_adapter as dsa mydata = dsa.WrapDataObject(reader.GetOutput()) origId = mydata.PointData['origId'] ImpCpuId = mydata.PointData['lmpCpuId'] `oridId` and `ImpCpuId` are now NumPy-like arrays you can use like you would NumPy arrays. Paul's suggestion at looking at the blog posts for more comprehensive information is a good one. HTH, Cory On Thu, Mar 30, 2017 at 4:13 AM, Paul Melis wrote: > Hi Victor, > > Perhaps this series of blog posts on VTK+numpy integration can help you > further? I haven't used that stuff too much myself, but I believe you should > be able to use VTK's numpy adapters to get all your data as numpy arrays: > > https://blog.kitware.com/improved-vtk-numpy-integration/ > > Regards, > Paul > > > On 29-03-17 13:55, Victor Koppejan - TNW wrote: >> >> Hi Everyone, >> >> I'd like to import data from openfoam lagrangian particle (saved as binary >> or ascii vtk files) in simulations into numpy-arrays. The data is either in >> scalar or vector format. I can't find what I want in the examples or other >> online tutorials. Does anyone have a suggestion can you refer me to online >> material? >> >> The data is stored as polydata, see a short version of the file (in this >> case ascii) contents below: >> >> # vtk DataFile Version 2.0 >> linkCG2-500cmh-run1 >> ASCII >> DATASET POLYDATA >> POINTS 187550 float >> >> POINT_DATA 187550 >> FIELD attributes 8 >> origId 1 187550 float >> >> lmpCpuId 1 187550 float >> >> >> etc., here origId and lmpCpuId are scalar variables, after this there's 8 >> more variables. I can read it all in in matlab but I've been trying to move >> all my computations to python. >> >> Thanks in advance for your help. >> >> Kind regards, >> >> Victor >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: >> http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers >> > > > -- > > Paul Melis > | Visualization group leader & developer | SURFsara | > | Science Park 140 | 1098 XG Amsterdam | > | T 020 800 1312 | paul.melis at surfsara.nl | www.surfsara.nl | > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers -- Cory Quammen Staff R&D Engineer Kitware, Inc. From f.nellmeldin at open-engineering.com Thu Mar 30 07:56:40 2017 From: f.nellmeldin at open-engineering.com (Fernando Nellmeldin) Date: Thu, 30 Mar 2017 13:56:40 +0200 Subject: [vtkusers] Out of range colors in LookupTable in VTK 5.10 Message-ID: Hello. I have an unstructuredgrid with point data which I display as a color map in the model. Let's say the range of the values is [100, 500] and I map blue to 100 and red to 500. I create a lookuptable with the range of HSV values for the colors I want, and everything works as expected. Problem is, I would like to have a special color for values below 100 and values over 500 (gray, for example). I do know that this feature exist from VTK 6 as vtkLookupTable::setBelowRangeColor and vtkLookupTable::setAboveRangeColor. But, for compatibility reasons, we are stuck -for the moment- with VTK 5.10. Is there an easy way to accomplish this with VTK 5.10? I've seen the code inside vtkLookupTable but there were a lot of changes and I can't find the way to do it by myself without modifying my own version of VTK (by editing vtkLookupTable in VTK 5.10 with the code added in VTK 6). Thank you. -- *Fernando NELLMELDIN* Software Engineer *_______________________________________________________________* *Open Engineering s.a.* Rue Bois Saint-Jean 15/1 B-4102 Seraing (Belgium) Tel: +32.4.353.30.34 http://www.open-engineering.com https://www.linkedin.com/company/open-engineering?trk=biz-companies-cym *_________________________________________________________________________* -------------- next part -------------- An HTML attachment was scrubbed... URL: From cory.quammen at kitware.com Thu Mar 30 08:10:57 2017 From: cory.quammen at kitware.com (Cory Quammen) Date: Thu, 30 Mar 2017 08:10:57 -0400 Subject: [vtkusers] Out of range colors in LookupTable in VTK 5.10 In-Reply-To: References: Message-ID: Fernando, It should be possible with a little work. You will need to set the color table values yourself. For illustration, let's say you have 4 colors in your color table with data range [0, 8]. You'll need to add one color at the bottom of the table for the below range color and one at the top for the above range color for a total of 6 table colors. You'll need to adjust your range so that 0 still gets mapped to the previously lowest color and 8 to the previously highest color. In this example, your new range should be [-2, 10]. Now, anything below 0 should map to your below range color in the table and anything about 7 should map to your above range color. To set table values explicitly, you can use vtkLookupTable::SetTableValue (vtkIdType indx, double rgba[4]). The trick will be to maintain the lookup table generation of the colors via HSV range while setting table values explicitly - you can't do both in the same vtkLookupTable instance. You might want to use two vtkLookupTables in this case, one that generates the colors via the HSV range, and then use that to build a second vtkLookupTable in which you modify the range and add the above/below range colors. HTH, Cory On Thu, Mar 30, 2017 at 7:56 AM, Fernando Nellmeldin wrote: > Hello. > I have an unstructuredgrid with point data which I display as a color map in > the model. > Let's say the range of the values is [100, 500] and I map blue to 100 and > red to 500. I create a lookuptable with the range of HSV values for the > colors I want, and everything works as expected. > Problem is, I would like to have a special color for values below 100 and > values over 500 (gray, for example). > > I do know that this feature exist from VTK 6 as > vtkLookupTable::setBelowRangeColor and vtkLookupTable::setAboveRangeColor. > But, for compatibility reasons, we are stuck -for the moment- with VTK 5.10. > > Is there an easy way to accomplish this with VTK 5.10? I've seen the code > inside vtkLookupTable but there were a lot of changes and I can't find the > way to do it by myself without modifying my own version of VTK (by editing > vtkLookupTable in VTK 5.10 with the code added in VTK 6). > > Thank you. > > -- > Fernando NELLMELDIN > Software Engineer > _______________________________________________________________ > > Open Engineering s.a. > > Rue Bois Saint-Jean 15/1 > B-4102 Seraing (Belgium) > Tel: +32.4.353.30.34 > > http://www.open-engineering.com > https://www.linkedin.com/company/open-engineering?trk=biz-companies-cym > _________________________________________________________________________ > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -- Cory Quammen Staff R&D Engineer Kitware, Inc. From david.gobbi at gmail.com Thu Mar 30 08:12:35 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Thu, 30 Mar 2017 06:12:35 -0600 Subject: [vtkusers] vtkDICOMReader read chinese character problem In-Reply-To: <1490869048082-5742672.post@n5.nabble.com> References: <1490869048082-5742672.post@n5.nabble.com> Message-ID: Hi Ang, The vtkDICOMReader needs the filenames to be utf8. But I am guessing that you have already tried utf8? What is the Transfer Syntax UID for the dicom file? - David On Thu, Mar 30, 2017 at 4:17 AM, Ang wrote: > Hi all, > > My IDE is vs 2015 with QT 5.6 and vtk 7.1. > > My sorting dicom pipline is QFileDialog -> QStringlist -> vtkDICOMReader. > > When I set FileName with chinese character like "c://??/dicom.dcm", I can > retrieve infomation in Dicom tag, but I can't retrieve raw data. > > I have tried to convert utf8 to ansi (it works well in VtkgdcmImageReader > class),but vtkDICOMFile class will give me error message in Access > function. > > > Is there a way to read chinese character with vtkDICOMReader well? > > Thanks in advance for your help. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From felipebordeu at gmail.com Thu Mar 30 10:07:05 2017 From: felipebordeu at gmail.com (Felipe Bordeu) Date: Thu, 30 Mar 2017 16:07:05 +0200 Subject: [vtkusers] Negative Volume after Tetrahedralize/Tessellate In-Reply-To: References: Message-ID: I can confirm that the problem is in the tetrahedralize and not in the clip. To reproduce the bug. Generate a Wavelet source | Clip the data (the mesh has, hexas, tetras, and wedges, pyramids) the index of the Wedges are correct | | tetrahedralize | |- mesh quality with volume for tetras (negarive volume) | |Extract only one cell ( a wedge ) |tetrahedralize |mesh quality (negative volume for some tetras also you can filter the data from the clip filter by element type and apply tetrahedralize and mesh quality. I'm doing some investigation to try to understand the problem. Felipe 2017-03-28 21:38 GMT+02:00 Joachim Pouderoux : > Hi Felipe, > > See documentation of vtkTetra class: > > * vtkTetra [...] The tetrahedron is defined by the four points > * (0-3); where (0,1,2) is the base of the tetrahedron which, using the > * right hand rule, forms a triangle whose normal points in the direction > * of the fourth point. > > Which seems to mean that face formed with points 0, 1 and 2 describes the > base face considering points are listed > in clockwise order when seen from the exterior of the cell. > In this case vtkTetra::ComputeVolume() returns a positive volume. > > Rule is the same with vtkWedge but it looks like the wedge you provide > have point listed in incorrect order (CCW when seen from exterior). > If you reverse them, tets are correct. > > If I am wrong with point ordering, then I guess there is a problem when > constructing wedges in the Clip filter. > > Dou you agree? > > Best, > > Joachim > > *Joachim Pouderoux*, PhD > > *Technical Expert - Scientific Computing Team* > *Kitware SAS * > > > 2017-03-28 5:11 GMT-04:00 Felipe Bordeu : > >> Hi, >> >> >> I'm having trouble working with clip feature in ParaView >> ("vtkPVMetaClipDataset"), but I think is a VTK bug. My mesh if 100% >> tetrahedron mesh, then I clip the mesh, the resulting mesh has tets and >> wedge. Then I apply a tetrahedralize to convert the resulting mesh back to >> only tets but the connectivity (numbering) of the element is not correct. >> If I apply mesh quality I get negative volume for some elements. >> I have the same "wrong" result with the Tessellate Filter (with zero >> level of subdivisions). >> >> Can anyone confirm this bug. >> >> Attached a single wedge to demonstrate the bug. >> >> Using Paraview 5.2 in linux (home build) and Windows (binary from web) >> >> Thanks to all >> Felipe >> >> >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: >> http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers >> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sunxiasx at foxmail.com Thu Mar 30 10:25:42 2017 From: sunxiasx at foxmail.com (Summer Sun) Date: Thu, 30 Mar 2017 07:25:42 -0700 (MST) Subject: [vtkusers] Simple ray casting failed at vtkFixedPointVolumeRayCastMapper Message-ID: <1490883942547-5742679.post@n5.nabble.com> Hello vtk users, My sample code is very simple as this: When it runs, it throw an exception at line 706 of vtkFixedPointVolumeRayCastMapper.cxx "this->ImageDisplayHelper was nullptr." code here, very simple, Thank you for your help! --- vtkSmartPointer imageData = vtkSmartPointer::New(); vtkSmartPointer renderWindow1 = vtkSmartPointer::New(); vtkSmartPointer renderer = vtkSmartPointer::New(); vtkSmartPointer interactorStyle = vtkSmartPointer::New(); vtkSmartPointer renderWindowInteractor = vtkSmartPointer::New(); vtkSmartPointer volumeMapper = vtkSmartPointer::New(); vtkSmartPointer volumeProperty = vtkSmartPointer::New(); vtkSmartPointer gradientOpacity = vtkSmartPointer::New(); vtkSmartPointer scalarOpacity = vtkSmartPointer::New(); vtkSmartPointer color = vtkSmartPointer::New(); vtkSmartPointer volume = vtkSmartPointer::New(); imageData->ShallowCopy(dicomReader->GetOutput()); renderer->SetBackground(0.1, 0.2, 0.3); renderWindow1->AddRenderer(renderer); renderWindow1->SetSize(500, 500); renderWindowInteractor->SetInteractorStyle(interactorStyle); renderWindowInteractor->SetRenderWindow(renderWindow1); volumeMapper->SetBlendModeToComposite(); volumeMapper->SetRequestedRenderModeToGPU(); volumeMapper->SetInputData(imageData); volumeProperty->ShadeOn(); volumeProperty->SetInterpolationTypeToLinear(); volumeProperty->SetAmbient(0.1); volumeProperty->SetDiffuse(0.9); volumeProperty->SetSpecular(0.2); volumeProperty->SetSpecularPower(10.0); gradientOpacity->AddPoint(0.0, 0.0); gradientOpacity->AddPoint(2000.0, 1.0); volumeProperty->SetGradientOpacity(gradientOpacity); scalarOpacity->AddPoint(-800.0, 0.0); scalarOpacity->AddPoint(-750.0, 1.0); scalarOpacity->AddPoint(-350.0, 1.0); scalarOpacity->AddPoint(-300.0, 0.0); scalarOpacity->AddPoint(-200.0, 0.0); scalarOpacity->AddPoint(-100.0, 1.0); scalarOpacity->AddPoint(1000.0, 0.0); scalarOpacity->AddPoint(2750.0, 0.0); scalarOpacity->AddPoint(2976.0, 1.0); scalarOpacity->AddPoint(3000.0, 0.0); volumeProperty->SetScalarOpacity(scalarOpacity); color->AddRGBPoint(-750.0, 0.08, 0.05, 0.03); color->AddRGBPoint(-350.0, 0.39, 0.25, 0.16); color->AddRGBPoint(-200.0, 0.80, 0.80, 0.80); color->AddRGBPoint(2750.0, 0.70, 0.70, 0.70); color->AddRGBPoint(3000.0, 0.35, 0.35, 0.35); volumeProperty->SetColor(color); volume->SetMapper(volumeMapper); volume->SetProperty(volumeProperty); renderer->AddVolume(volume); renderer->ResetCamera(); renderWindow1->Render(); renderWindowInteractor->Start(); --- -- View this message in context: http://vtk.1045678.n5.nabble.com/Simple-ray-casting-failed-at-vtkFixedPointVolumeRayCastMapper-tp5742679.html Sent from the VTK - Users mailing list archive at Nabble.com. From Yordan.Kyosev at hs-niederrhein.de Thu Mar 30 15:41:54 2017 From: Yordan.Kyosev at hs-niederrhein.de (Kyosev, Yordan) Date: Thu, 30 Mar 2017 19:41:54 +0000 Subject: [vtkusers] vtkPoints and vector/matrix Operations like Eigen? Message-ID: <5f5e1c4c11634b22b44ca4c0b02b8587@exch-mbx-c01.zv.hs-niederrhein.local> Hi, Is there any way or type vtkObject, which can perform vector/matrix operations like addition/substraction, multiplication with scalar, vector/scalar products, In the same way as Eigen do it? Now I am using vtkPoints->GetPoint -> double[3] -> Eigen::Vector3D Actually enough will be to have vtkPoint (single point) for this case. The vtkMath classes seems to be not nice for following complex equations... Best regards Yordan -------------- next part -------------- An HTML attachment was scrubbed... URL: From cory.quammen at kitware.com Thu Mar 30 16:10:02 2017 From: cory.quammen at kitware.com (Cory Quammen) Date: Thu, 30 Mar 2017 16:10:02 -0400 Subject: [vtkusers] vtkPoints and vector/matrix Operations like Eigen? In-Reply-To: <5f5e1c4c11634b22b44ca4c0b02b8587@exch-mbx-c01.zv.hs-niederrhein.local> References: <5f5e1c4c11634b22b44ca4c0b02b8587@exch-mbx-c01.zv.hs-niederrhein.local> Message-ID: Yordan, I think the closest thing to that kind of functionality in VTK is the vtkArrayCalculator [1], but it is limited to vector-type operations, not matrix-vector multiply, for instance. If you like Python and NumPy, there is a Python adapter module that lets you go between VTK data objects and NumPy with relative ease. See [2] for details. HTH, Cory [1] http://www.vtk.org/doc/nightly/html/classvtkArrayCalculator.html [2] https://blog.kitware.com/improved-vtk-numpy-integration/ On Thu, Mar 30, 2017 at 3:41 PM, Kyosev, Yordan wrote: > Hi, > > > > Is there any way or type vtkObject, which can perform vector/matrix > operations like addition/substraction, multiplication with scalar, > vector/scalar products, > > In the same way as Eigen do it? > > > > Now I am using vtkPoints->GetPoint -> double[3] -> Eigen::Vector3D > > > > Actually enough will be to have vtkPoint (single point) for this case. > > The vtkMath classes seems to be not nice for following complex equations? > > > > Best regards > > > > Yordan > > > > > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > -- Cory Quammen Staff R&D Engineer Kitware, Inc. From jason.kimmel at albint.com Thu Mar 30 16:24:34 2017 From: jason.kimmel at albint.com (Kimmel, Jason) Date: Thu, 30 Mar 2017 20:24:34 +0000 Subject: [vtkusers] Out of range colors in LookupTable in VTK 5.10 In-Reply-To: References: Message-ID: Hi, We were able to do something in 5.10 similar to what Cory suggests, but using a single lookuptable. See the code sample below, it's been edited a bit for clarity as the actual code uses other objects: //setup lookup table m_lut = vtkLookupTable::New(); m_lut->SetRampToLinear(); m_lut->SetRange(0,1); m_lut->SetNumberOfTableValues(LUT_SIZE); m_lut->SetValueRange(1,1); m_lut->SetHueRange(0,2.0/3.0); m_lut->SetSaturationRange(1,1); m_lut->ForceBuild(); //reserve 10% for special values m_lut->SetRange(0,1.1); m_lut->SetNumberOfTableValues(LUT_SIZE*1.1); //set up special values m_lut->SetTableValue(LUT_SIZE,m_lut->GetTableValue(LUT_SIZE-1)); int idx = m_lut->GetIndex(1.01); m_lut->SetTableValue(idx,.85,.85,.85); I think the biggest trick is to make sure that the lookuptable is not updated (built) again after setting up the special values. Note the above only adds an extra color above the range, but it would be easy to extend to add a color below the original range as well. Hope that helps, Jason -----Original Message----- From: vtkusers [mailto:vtkusers-bounces at vtk.org] On Behalf Of Cory Quammen Sent: Thursday, March 30, 2017 8:11 AM To: Fernando Nellmeldin Cc: vtk-users Subject: Re: [vtkusers] Out of range colors in LookupTable in VTK 5.10 Fernando, It should be possible with a little work. You will need to set the color table values yourself. For illustration, let's say you have 4 colors in your color table with data range [0, 8]. You'll need to add one color at the bottom of the table for the below range color and one at the top for the above range color for a total of 6 table colors. You'll need to adjust your range so that 0 still gets mapped to the previously lowest color and 8 to the previously highest color. In this example, your new range should be [-2, 10]. Now, anything below 0 should map to your below range color in the table and anything about 7 should map to your above range color. To set table values explicitly, you can use vtkLookupTable::SetTableValue (vtkIdType indx, double rgba[4]). The trick will be to maintain the lookup table generation of the colors via HSV range while setting table values explicitly - you can't do both in the same vtkLookupTable instance. You might want to use two vtkLookupTables in this case, one that generates the colors via the HSV range, and then use that to build a second vtkLookupTable in which you modify the range and add the above/below range colors. HTH, Cory On Thu, Mar 30, 2017 at 7:56 AM, Fernando Nellmeldin wrote: > Hello. > I have an unstructuredgrid with point data which I display as a color > map in the model. > Let's say the range of the values is [100, 500] and I map blue to 100 > and red to 500. I create a lookuptable with the range of HSV values > for the colors I want, and everything works as expected. > Problem is, I would like to have a special color for values below 100 > and values over 500 (gray, for example). > > I do know that this feature exist from VTK 6 as > vtkLookupTable::setBelowRangeColor and vtkLookupTable::setAboveRangeColor. > But, for compatibility reasons, we are stuck -for the moment- with VTK 5.10. > > Is there an easy way to accomplish this with VTK 5.10? I've seen the > code inside vtkLookupTable but there were a lot of changes and I can't > find the way to do it by myself without modifying my own version of > VTK (by editing vtkLookupTable in VTK 5.10 with the code added in VTK 6). > > Thank you. > > -- > Fernando NELLMELDIN > Software Engineer > _______________________________________________________________ > > Open Engineering s.a. > > Rue Bois Saint-Jean 15/1 > B-4102 Seraing (Belgium) > Tel: +32.4.353.30.34 > > https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.op > en-engineering.com&data=01%7C01%7CJason.Kimmel%40albint.com%7C5ad9f51d > f86140fca50108d47765d6d4%7Cff3d33ae31364152812675e51f4a1404%7C0&sdata= > zI0EH%2FVLnc2TBtypv7qFz0C4JR2Cvs4qG465i4rVP3M%3D&reserved=0 > https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.l > inkedin.com%2Fcompany%2Fopen-engineering%3Ftrk%3Dbiz-companies-cym&dat > a=01%7C01%7CJason.Kimmel%40albint.com%7C5ad9f51df86140fca50108d47765d6 > d4%7Cff3d33ae31364152812675e51f4a1404%7C0&sdata=ldlzw0LT%2BMgFVnxEPmGV > ZARlta85na7LQiGdhZMBb%2B4%3D&reserved=0 > ______________________________________________________________________ > ___ > > _______________________________________________ > Powered by > https://na01.safelinks.protection.outlook.com/?url=www.kitware.com&dat > a=01%7C01%7CJason.Kimmel%40albint.com%7C5ad9f51df86140fca50108d47765d6 > d4%7Cff3d33ae31364152812675e51f4a1404%7C0&sdata=Qc1VRMLblcX3z7p9LzDrA8 > hS2PkPgyxcpC%2F0J40VZzQ%3D&reserved=0 > > Visit other Kitware open-source projects at > https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.ki > tware.com%2Fopensource%2Fopensource.html&data=01%7C01%7CJason.Kimmel%4 > 0albint.com%7C5ad9f51df86140fca50108d47765d6d4%7Cff3d33ae3136415281267 > 5e51f4a1404%7C0&sdata=JooMrwa5BojD%2Bpe78RcbyglmPQNWMTGEr5V18ySgIFw%3D > &reserved=0 > > Please keep messages on-topic and check the VTK FAQ at: > https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.vt > k.org%2FWiki%2FVTK_FAQ&data=01%7C01%7CJason.Kimmel%40albint.com%7C5ad9 > f51df86140fca50108d47765d6d4%7Cff3d33ae31364152812675e51f4a1404%7C0&sd > ata=IRTZ9qReZgvxlmLGnA1CFgSuz1S9QdmdowqVV%2FwBbfI%3D&reserved=0 > > Search the list archives at: > https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmarkma > il.org%2Fsearch%2F%3Fq%3Dvtkusers&data=01%7C01%7CJason.Kimmel%40albint > .com%7C5ad9f51df86140fca50108d47765d6d4%7Cff3d33ae31364152812675e51f4a > 1404%7C0&sdata=ai%2Fv3gOrF5vGV2bHn6bnJsNY5YQJfwzbtn%2BOu8crerg%3D&rese > rved=0 > > Follow this link to subscribe/unsubscribe: > https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpublic > .kitware.com%2Fmailman%2Flistinfo%2Fvtkusers&data=01%7C01%7CJason.Kimm > el%40albint.com%7C5ad9f51df86140fca50108d47765d6d4%7Cff3d33ae313641528 > 12675e51f4a1404%7C0&sdata=J05L%2FEc%2BbEXeIGHX%2FeJHpGbaXS8W0jXvNx40hu > 3%2Fxxc%3D&reserved=0 > -- Cory Quammen Staff R&D Engineer Kitware, Inc. _______________________________________________ Powered by https://na01.safelinks.protection.outlook.com/?url=www.kitware.com&data=01%7C01%7CJason.Kimmel%40albint.com%7C5ad9f51df86140fca50108d47765d6d4%7Cff3d33ae31364152812675e51f4a1404%7C0&sdata=Qc1VRMLblcX3z7p9LzDrA8hS2PkPgyxcpC%2F0J40VZzQ%3D&reserved=0 Visit other Kitware open-source projects at https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kitware.com%2Fopensource%2Fopensource.html&data=01%7C01%7CJason.Kimmel%40albint.com%7C5ad9f51df86140fca50108d47765d6d4%7Cff3d33ae31364152812675e51f4a1404%7C0&sdata=JooMrwa5BojD%2Bpe78RcbyglmPQNWMTGEr5V18ySgIFw%3D&reserved=0 Please keep messages on-topic and check the VTK FAQ at: https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.vtk.org%2FWiki%2FVTK_FAQ&data=01%7C01%7CJason.Kimmel%40albint.com%7C5ad9f51df86140fca50108d47765d6d4%7Cff3d33ae31364152812675e51f4a1404%7C0&sdata=IRTZ9qReZgvxlmLGnA1CFgSuz1S9QdmdowqVV%2FwBbfI%3D&reserved=0 Search the list archives at: https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmarkmail.org%2Fsearch%2F%3Fq%3Dvtkusers&data=01%7C01%7CJason.Kimmel%40albint.com%7C5ad9f51df86140fca50108d47765d6d4%7Cff3d33ae31364152812675e51f4a1404%7C0&sdata=ai%2Fv3gOrF5vGV2bHn6bnJsNY5YQJfwzbtn%2BOu8crerg%3D&reserved=0 Follow this link to subscribe/unsubscribe: https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpublic.kitware.com%2Fmailman%2Flistinfo%2Fvtkusers&data=01%7C01%7CJason.Kimmel%40albint.com%7C5ad9f51df86140fca50108d47765d6d4%7Cff3d33ae31364152812675e51f4a1404%7C0&sdata=J05L%2FEc%2BbEXeIGHX%2FeJHpGbaXS8W0jXvNx40hu3%2Fxxc%3D&reserved=0 From saiya-jin at yandex.ru Thu Mar 30 17:38:55 2017 From: saiya-jin at yandex.ru (majinsaha) Date: Thu, 30 Mar 2017 14:38:55 -0700 (MST) Subject: [vtkusers] Extracting cells from vtkImageData In-Reply-To: References: <1490827375748-5742666.post@n5.nabble.com> Message-ID: <1490909935495-5742683.post@n5.nabble.com> Thanks. The following seems to be producing no errors: vtkSmartPointer imageDataGeometryFilter = vtkSmartPointer::New(); imageDataGeometryFilter->SetInputData(myImageData); imageDataGeometryFilter->Update(); vtkSmartPointer extractSelection = vtkSmartPointer::New(); extractSelection->SetInputData(0, imageDataGeometryFilter->GetOutput()); extractSelection->SetInputData(1, selection); extractSelection->Update(); However, this only gives what I want if my vtkImageData is plane, i.e. has no third dimension. For a general 3D vtkImageData, the result of the geometry filter is just a bunch of vertices. I checked that with std::cout<< extractSelection->GetOutput()->GetNumberOfVerts()<GetOutput()->GetNumberOfLines()<GetOutput()->GetNumberOfPolys()<GetOutput()->GetNumberOfStrips()< and the output was that only the first out of four was non-zero. It just ignores everything except vertices while doing the conversion in 3D. Is there currently a working strategy in VTK to convert 3D vtkImageData to vtkPolyData by keeping track of quad cells, for example? -- View this message in context: http://vtk.1045678.n5.nabble.com/Extracting-cells-from-vtkImageData-tp5742666p5742683.html Sent from the VTK - Users mailing list archive at Nabble.com. From chenshaoqiang at buaa.edu.cn Thu Mar 30 22:16:32 2017 From: chenshaoqiang at buaa.edu.cn (chensq) Date: Fri, 31 Mar 2017 10:16:32 +0800 Subject: [vtkusers] [SPAM] Re: vtk7.1.1 compile error: Debug Assertion Failed! In-Reply-To: References: <13615BB4AC884572B22D1FA11AE73976@chensqPC> Message-ID: Thank you all for the replies, and that have solved my question. sincerely chen -----????----- From: Cory Quammen Sent: Wednesday, March 29, 2017 9:59 PM To: kenichiro yoshimi Cc: chensq ; vtkusers Subject: [SPAM] Re: [vtkusers] vtk7.1.1 compile error: Debug Assertion Failed! Yoshimi, Is this still a problem in VTK master? If so, I'll submit a patch to fix it.. Thanks, Cory On Tue, Mar 28, 2017 at 10:54 PM, kenichiro yoshimi wrote: > Hi, chen > > VTK-7.1.1/Common/DataModel/vtkPolyhedron.h > includes unicode characters in a comment and it causes the error. > Please replace the lines > > /** > * Determine whether or not a polyhedron is convex. This method is > adapted > * from Devillers et al., "Checking the Convexity of Polytopes and the > * Planarity of Subdivisions", Computational Geometry, Volume 11, Issues > * 3 ? 4, December 1998, Pages 187 ? 208. > */ > > with > > /** > * Determine whether or not a polyhedron is convex. This method is > adapted > * from Devillers et al., "Checking the Convexity of Polytopes and the > * Planarity of Subdivisions", Computational Geometry, Volume 11, Issues > * 3 - 4, December 1998, Pages 187 - 208. > */ > > Thanks, > yoshimi > > 2017-03-28 23:11 GMT+09:00 chensq : >> When compiling vtk7.1.1 using vs2015, I encountered the following >> problem: >> >> program: >> .........................vtkWrapTcl-7.1.exe >> File: minkernel\crts\ucrt\src\appcrt\convert\isctype.cpp >> Line: 36 >> Expression c >= =1 && c <= 255 >> For information on how your program can cause an assertion failure, see >> the >> Visual C++ documentation on asserts. >> >> It always happen when the VTK_WRAP_TCL is ON. And it will have no problem >> when the VTK_WRAP_TCL is OFF. >> I have installed the ActiveTCL8.5. And everything works fine when I >> compile >> vtk7.0.0. >> Does anybody have any suggestion? >> I really need your help! >> Thanks. >> Sincerely chen >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: >> http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers >> > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers -- Cory Quammen Staff R&D Engineer Kitware, Inc. From ysa0829 at gmail.com Thu Mar 30 22:52:34 2017 From: ysa0829 at gmail.com (Ang) Date: Thu, 30 Mar 2017 19:52:34 -0700 (MST) Subject: [vtkusers] vtkDICOMReader read chinese character problem In-Reply-To: References: <1490869048082-5742672.post@n5.nabble.com> Message-ID: <1490928754886-5742685.post@n5.nabble.com> Hi David, My character default setting is UTF-8 and the Transfer Syntax UID is "1.2.840.10008.1.2.4.91" . Finally, I found the solution that gdcmReader needs the filename to be ansi(I guess), I add below code in vtkDICOMReader at line 1460 to 1470. *********************************************** gdcm::ImageReader reader; int len = MultiByteToWideChar(CP_UTF8, 0, filename, -1, NULL, 0); wchar_t* wfilename = new wchar_t[len + 1]; memset(wfilename, 0, len * 2 + 2); MultiByteToWideChar(CP_UTF8, 0, filename, -1, wfilename, len); len = WideCharToMultiByte(CP_ACP, 0, wfilename, -1, NULL, 0, NULL, NULL); char* szfilename = new char[len + 1]; memset(szfilename, 0, len + 1); WideCharToMultiByte(CP_ACP, 0, wfilename, -1, szfilename, len, NULL, NULL); std::string strTemp(szfilename); if (wfilename) delete[] wfilename; if (szfilename) delete[] szfilename; reader.SetFileName(strTemp.c_str()); **************************************************** Is this solution better? -- View this message in context: http://vtk.1045678.n5.nabble.com/vtkDICOMReader-read-chinese-character-problem-tp5742672p5742685.html Sent from the VTK - Users mailing list archive at Nabble.com. From david.gobbi at gmail.com Thu Mar 30 23:41:32 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Thu, 30 Mar 2017 21:41:32 -0600 Subject: [vtkusers] vtkDICOMReader read chinese character problem In-Reply-To: <1490928754886-5742685.post@n5.nabble.com> References: <1490869048082-5742672.post@n5.nabble.com> <1490928754886-5742685.post@n5.nabble.com> Message-ID: On Thu, Mar 30, 2017 at 8:52 PM, Ang wrote: > Hi David, > > My character default setting is UTF-8 and the Transfer Syntax UID is > "1.2.840.10008.1.2.4.91" > . > > Finally, I found the solution that gdcmReader needs the filename to be > ansi(I guess), I add below code in vtkDICOMReader at line 1460 to 1470. > > *********************************************** > > gdcm::ImageReader reader; > > int len = MultiByteToWideChar(CP_UTF8, 0, filename, -1, NULL, 0); > wchar_t* wfilename = new wchar_t[len + 1]; > memset(wfilename, 0, len * 2 + 2); > MultiByteToWideChar(CP_UTF8, 0, filename, -1, wfilename, len); > len = WideCharToMultiByte(CP_ACP, 0, wfilename, -1, NULL, 0, NULL, NULL); > char* szfilename = new char[len + 1]; > memset(szfilename, 0, len + 1); > WideCharToMultiByte(CP_ACP, 0, wfilename, -1, szfilename, len, NULL, > NULL); > std::string strTemp(szfilename); > if (wfilename) delete[] wfilename; > if (szfilename) delete[] szfilename; > reader.SetFileName(strTemp.c_str()); > > **************************************************** > > Is this solution better? > Yes, that is the correct solution, since your ANSI character set is Chinese. Because vtkDICOMReader uses gdcm for decompression, it is necessary to do this conversion if you use any compressed transfer syntax. Most of the VTK readers use ANSI on Windows. Personally, I think that it would be better if they all used utf-8 (and if gdcm used utf-8, too). Especially since the the native character set on Windows and NTFS is Unicode. - David -------------- next part -------------- An HTML attachment was scrubbed... URL: From f.nellmeldin at open-engineering.com Fri Mar 31 04:07:27 2017 From: f.nellmeldin at open-engineering.com (Fernando Nellmeldin) Date: Fri, 31 Mar 2017 10:07:27 +0200 Subject: [vtkusers] Out of range colors in LookupTable in VTK 5.10 In-Reply-To: References: Message-ID: Hello and thank you for your answers. I implemented what Cory said and it is working as expected! I used two LUTs, one with the original range of colors, and one where I added two values for the out of range values. Finally, I attach the full LUT to the color vtkActor but the original LUT to the vtkScalarBarActor. Here's the relevant part of my code, with some comments. Hope this is useful for someone in the future. Thank you very much. // m_configuration has all the parameters to display the color field int numColors = static_cast(m_configuration.numOfColors); double rangeForTable[2]; // range of values in the Point Data rangeForTable[0] = m_configuration.currentRange[m_configuration.componentToUse*2]; rangeForTable[1] = m_configuration.currentRange[m_configuration.componentToUse*2+1]; // Generate a table only for the colors with our full range vtkSmartPointer tempLUT = vtkSmartPointer::New(); tempLUT->SetTableRange (rangeForTable); tempLUT->SetNumberOfTableValues(numColors); tempLUT->SetHueRange (m_configuration.rangeHue[0], m_configuration.rangeHue[1]); tempLUT->SetSaturationRange (m_configuration.rangeSaturation[0], m_configuration.rangeSaturation[1]); tempLUT->SetValueRange (m_configuration.rangeValue[0], m_configuration.rangeValue[1]); tempLUT->Build(); // Calculate the new range as the previous range plus the two new values. double newRange[2]; double deltaColor = (rangeForTable[1]-rangeForTable[0])/double(numColors+1); // Redefine the range to include below and above values. newRange[0] = rangeForTable[0]-deltaColor; newRange[1] = rangeForTable[1]+deltaColor; m_scalarBarLUT->SetTableRange(newRange); m_scalarBarLUT->SetNumberOfTableValues(numColors+2); // two more for the below and above range m_scalarBarLUT->SetTableValue(0, 0.3, 0.3, 0.3, 1.0); // below color, first // Copy the values from one LUT to the other (displaced one because I added one value at the beginning). for (int i = 0; i < numColors; ++i) { double colorRGBA[4]; tempLUT->GetTableValue(i, colorRGBA); m_scalarBarLUT->SetTableValue(i+1, colorRGBA); } m_scalarBarLUT->SetTableValue(numColors+1, 0.3, 0.3, 0.3, 1.0); //above color, last. m_scalarBarLUT->Build(); // Edit the number of different values on the scalar bar m_scalarBarActor->SetMaximumNumberOfColors(numColors); m_scalarBarActor->SetNumberOfLabels(numColors+1); // We have one more label to align the labels to the lines of separation between colors. // Important here: I attach the full LUT to the color actor (with the new range), but the incomplete (without the out of range values) to the scalar bar m_mapperForActor->SetScalarRange(newRange); // vtkMapper m_mapperForActor->SetLookupTable(m_scalarBarLUT); m_scalarBarActor->SetLookupTable(tempLUT); // vtkScalarBarActor On 30 March 2017 at 22:24, Kimmel, Jason wrote: > Hi, > > We were able to do something in 5.10 similar to what Cory suggests, but > using a single lookuptable. See the code sample below, it's been edited a > bit for clarity as the actual code uses other objects: > > //setup lookup table > m_lut = vtkLookupTable::New(); > m_lut->SetRampToLinear(); > m_lut->SetRange(0,1); > m_lut->SetNumberOfTableValues(LUT_SIZE); > m_lut->SetValueRange(1,1); > m_lut->SetHueRange(0,2.0/3.0); > m_lut->SetSaturationRange(1,1); > m_lut->ForceBuild(); > > //reserve 10% for special values > m_lut->SetRange(0,1.1); > m_lut->SetNumberOfTableValues(LUT_SIZE*1.1); > > //set up special values > m_lut->SetTableValue(LUT_SIZE,m_lut->GetTableValue(LUT_SIZE-1)); > int idx = m_lut->GetIndex(1.01); > m_lut->SetTableValue(idx,.85,.85,.85); > > I think the biggest trick is to make sure that the lookuptable is not > updated (built) again after setting up the special values. Note the above > only adds an extra color above the range, but it would be easy to extend to > add a color below the original range as well. > > Hope that helps, > Jason > > -----Original Message----- > From: vtkusers [mailto:vtkusers-bounces at vtk.org] On Behalf Of Cory Quammen > Sent: Thursday, March 30, 2017 8:11 AM > To: Fernando Nellmeldin > Cc: vtk-users > Subject: Re: [vtkusers] Out of range colors in LookupTable in VTK 5.10 > > Fernando, > > It should be possible with a little work. You will need to set the color > table values yourself. For illustration, let's say you have 4 colors in > your color table with data range [0, 8]. You'll need to add one color at > the bottom of the table for the below range color and one at the top for > the above range color for a total of 6 table colors. > You'll need to adjust your range so that 0 still gets mapped to the > previously lowest color and 8 to the previously highest color. In this > example, your new range should be [-2, 10]. Now, anything below 0 should > map to your below range color in the table and anything about 7 should map > to your above range color. > > To set table values explicitly, you can use vtkLookupTable::SetTableValue > (vtkIdType indx, double rgba[4]). The trick will be to maintain the lookup > table generation of the colors via HSV range while setting table values > explicitly - you can't do both in the same vtkLookupTable instance. You > might want to use two vtkLookupTables in this case, one that generates the > colors via the HSV range, and then use that to build a second > vtkLookupTable in which you modify the range and add the above/below range > colors. > > HTH, > Cory > > On Thu, Mar 30, 2017 at 7:56 AM, Fernando Nellmeldin engineering.com> wrote: > > Hello. > > I have an unstructuredgrid with point data which I display as a color > > map in the model. > > Let's say the range of the values is [100, 500] and I map blue to 100 > > and red to 500. I create a lookuptable with the range of HSV values > > for the colors I want, and everything works as expected. > > Problem is, I would like to have a special color for values below 100 > > and values over 500 (gray, for example). > > > > I do know that this feature exist from VTK 6 as > > vtkLookupTable::setBelowRangeColor and vtkLookupTable:: > setAboveRangeColor. > > But, for compatibility reasons, we are stuck -for the moment- with VTK > 5.10. > > > > Is there an easy way to accomplish this with VTK 5.10? I've seen the > > code inside vtkLookupTable but there were a lot of changes and I can't > > find the way to do it by myself without modifying my own version of > > VTK (by editing vtkLookupTable in VTK 5.10 with the code added in VTK 6). > > > > Thank you. > > > > -- > > Fernando NELLMELDIN > > Software Engineer > > _______________________________________________________________ > > > > Open Engineering s.a. > > > > Rue Bois Saint-Jean 15/1 > > B-4102 Seraing (Belgium) > > Tel: +32.4.353.30.34 > > > > https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.op > > en-engineering.com&data=01%7C01%7CJason.Kimmel%40albint.com%7C5ad9f51d > > f86140fca50108d47765d6d4%7Cff3d33ae31364152812675e51f4a1404%7C0&sdata= > > zI0EH%2FVLnc2TBtypv7qFz0C4JR2Cvs4qG465i4rVP3M%3D&reserved=0 > > https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.l > > inkedin.com%2Fcompany%2Fopen-engineering%3Ftrk%3Dbiz-companies-cym&dat > > a=01%7C01%7CJason.Kimmel%40albint.com%7C5ad9f51df86140fca50108d47765d6 > > d4%7Cff3d33ae31364152812675e51f4a1404%7C0&sdata=ldlzw0LT%2BMgFVnxEPmGV > > ZARlta85na7LQiGdhZMBb%2B4%3D&reserved=0 > > ______________________________________________________________________ > > ___ > > > > _______________________________________________ > > Powered by > > https://na01.safelinks.protection.outlook.com/?url=www.kitware.com&dat > > a=01%7C01%7CJason.Kimmel%40albint.com%7C5ad9f51df86140fca50108d47765d6 > > d4%7Cff3d33ae31364152812675e51f4a1404%7C0&sdata=Qc1VRMLblcX3z7p9LzDrA8 > > hS2PkPgyxcpC%2F0J40VZzQ%3D&reserved=0 > > > > Visit other Kitware open-source projects at > > https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.ki > > tware.com%2Fopensource%2Fopensource.html&data=01%7C01%7CJason.Kimmel%4 > > 0albint.com%7C5ad9f51df86140fca50108d47765d6d4%7Cff3d33ae3136415281267 > > 5e51f4a1404%7C0&sdata=JooMrwa5BojD%2Bpe78RcbyglmPQNWMTGEr5V18ySgIFw%3D > > &reserved=0 > > > > Please keep messages on-topic and check the VTK FAQ at: > > https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.vt > > k.org%2FWiki%2FVTK_FAQ&data=01%7C01%7CJason.Kimmel%40albint.com%7C5ad9 > > f51df86140fca50108d47765d6d4%7Cff3d33ae31364152812675e51f4a1404%7C0&sd > > ata=IRTZ9qReZgvxlmLGnA1CFgSuz1S9QdmdowqVV%2FwBbfI%3D&reserved=0 > > > > Search the list archives at: > > https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmarkma > > il.org%2Fsearch%2F%3Fq%3Dvtkusers&data=01%7C01%7CJason.Kimmel%40albint > > .com%7C5ad9f51df86140fca50108d47765d6d4%7Cff3d33ae31364152812675e51f4a > > 1404%7C0&sdata=ai%2Fv3gOrF5vGV2bHn6bnJsNY5YQJfwzbtn%2BOu8crerg%3D&rese > > rved=0 > > > > Follow this link to subscribe/unsubscribe: > > https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpublic > > .kitware.com%2Fmailman%2Flistinfo%2Fvtkusers&data=01%7C01%7CJason.Kimm > > el%40albint.com%7C5ad9f51df86140fca50108d47765d6d4%7Cff3d33ae313641528 > > 12675e51f4a1404%7C0&sdata=J05L%2FEc%2BbEXeIGHX%2FeJHpGbaXS8W0jXvNx40hu > > 3%2Fxxc%3D&reserved=0 > > > > > > -- > Cory Quammen > Staff R&D Engineer > Kitware, Inc. > _______________________________________________ > Powered by https://na01.safelinks.protection.outlook.com/?url= > www.kitware.com&data=01%7C01%7CJason.Kimmel%40albint.com% > 7C5ad9f51df86140fca50108d47765d6d4%7Cff3d33ae31364152812675e51f4a > 1404%7C0&sdata=Qc1VRMLblcX3z7p9LzDrA8hS2PkPgyxcpC%2F0J40VZzQ%3D&reserved=0 > > Visit other Kitware open-source projects at https://na01.safelinks. > protection.outlook.com/?url=http%3A%2F%2Fwww.kitware.com% > 2Fopensource%2Fopensource.html&data=01%7C01%7CJason.Kimmel%40albint.com% > 7C5ad9f51df86140fca50108d47765d6d4%7Cff3d33ae31364152812675e51f4a > 1404%7C0&sdata=JooMrwa5BojD%2Bpe78RcbyglmPQNWMTGEr5V18ySgIFw%3D&reserved=0 > > Please keep messages on-topic and check the VTK FAQ at: > https://na01.safelinks.protection.outlook.com/?url= > http%3A%2F%2Fwww.vtk.org%2FWiki%2FVTK_FAQ&data=01%7C01% > 7CJason.Kimmel%40albint.com%7C5ad9f51df86140fca50108d47765d6d4% > 7Cff3d33ae31364152812675e51f4a1404%7C0&sdata= > IRTZ9qReZgvxlmLGnA1CFgSuz1S9QdmdowqVV%2FwBbfI%3D&reserved=0 > > Search the list archives at: https://na01.safelinks. > protection.outlook.com/?url=http%3A%2F%2Fmarkmail.org% > 2Fsearch%2F%3Fq%3Dvtkusers&data=01%7C01%7CJason.Kimmel%40albint.com% > 7C5ad9f51df86140fca50108d47765d6d4%7Cff3d33ae31364152812675e51f4a > 1404%7C0&sdata=ai%2Fv3gOrF5vGV2bHn6bnJsNY5YQJfwz > btn%2BOu8crerg%3D&reserved=0 > > Follow this link to subscribe/unsubscribe: > https://na01.safelinks.protection.outlook.com/?url= > http%3A%2F%2Fpublic.kitware.com%2Fmailman%2Flistinfo% > 2Fvtkusers&data=01%7C01%7CJason.Kimmel%40albint.com% > 7C5ad9f51df86140fca50108d47765d6d4%7Cff3d33ae31364152812675e51f4a > 1404%7C0&sdata=J05L%2FEc%2BbEXeIGHX%2FeJHpGbaXS8W0jXvNx40hu3% > 2Fxxc%3D&reserved=0 > -- *Fernando NELLMELDIN* Software Engineer *_______________________________________________________________* *Open Engineering s.a.* Rue Bois Saint-Jean 15/1 B-4102 Seraing (Belgium) Tel: +32.4.353.30.34 http://www.open-engineering.com https://www.linkedin.com/company/open-engineering?trk=biz-companies-cym *_________________________________________________________________________* -------------- next part -------------- An HTML attachment was scrubbed... URL: From b.schober at stemmer-imaging.de Fri Mar 31 07:14:50 2017 From: b.schober at stemmer-imaging.de (Schober Beatrix [STEMMER IMAGING GmbH]) Date: Fri, 31 Mar 2017 11:14:50 +0000 Subject: [vtkusers] vtkDelaunay2D too slow Message-ID: <4e2ef1475c834b1e9b735d1e7d077e3d@SIMAIL13.stemmer.local> Hi all, I have a laser point cloud (txt file with xyz values) of which I generate a vtkPolyData with points. I am running Delaunay2D on it to get a surface. For 360.000 points vtkDelaunay2D takes around 2 minutes. As this number of points is a small point cloud, this is too long for a customer application. Any hints, how to increase computation speed? Thank you very much in advance! Bea Beatrix Schober Image Acquisition Development STEMMER IMAGING | Telefon: +49 89 80902-750 b.schober at stemmer-imaging.de | www.stemmer-imaging.de [cid:stemmer-imaging-logo_a2683554-0e33-44e9-800c-5f58a623f38a.gif] STEMMER IMAGING GmbH | Gutenbergstr. 9-13 | 82178 Puchheim, Deutschland Registergericht M?nchen HR B 82026 | Gesch?ftsf?hrer: Wilhelm Stemmer, Christof Zollitsch -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: stemmer-imaging-logo_a2683554-0e33-44e9-800c-5f58a623f38a.gif Type: image/gif Size: 2320 bytes Desc: stemmer-imaging-logo_a2683554-0e33-44e9-800c-5f58a623f38a.gif URL: From vtk12af6bc42 at kant.sophonet.de Fri Mar 31 08:11:25 2017 From: vtk12af6bc42 at kant.sophonet.de (Sophonet) Date: Fri, 31 Mar 2017 14:11:25 +0200 Subject: [vtkusers] Modified() on PolyData if PolyDataReader started in a different thread Message-ID: Hi list, in an application, I am reading vtkPolyData from file (using vtkPolyDataReader), but I am doing this in a separate thread (started with C++11 std::async()) such that loading the data does not block the UI. The rest of the rendering pipeline is set up in the main thread, only reading takes place in a worker thread. Strangely, when I modify Points in that mesh (in the main thread) via SetPoint() later and call Modify(), the changes are not mapped to the renderwindow after calling Render(). If I read the data in the main thread, the problem does not occur, i.e. the Modify() call indeed leads to mapping the changes to the window. What do I need to call in the main thread, after retrieving the data from the future<> with get() such that the Modify() mechanism works? Thanks, Sophonet From david.lonie at kitware.com Fri Mar 31 09:20:11 2017 From: david.lonie at kitware.com (David Lonie) Date: Fri, 31 Mar 2017 09:20:11 -0400 Subject: [vtkusers] vtkPoints and vector/matrix Operations like Eigen? In-Reply-To: References: <5f5e1c4c11634b22b44ca4c0b02b8587@exch-mbx-c01.zv.hs-niederrhein.local> Message-ID: See vtkVector. It's quite similar to Eigen's vectors, though not as optimized. Note that you'll need to include both vtkVector.h and vtkVectorOperators.h to get the multiplication etc operators. You can use them with vtkPoints like: vtkPoints *points = ...; assert(points->GetData()->GetNumberOfComponents() == 3); vtkVector3d point; for (...) { points->GetPoint(id, point.GetData()); // Do work with point } HTH, Dave On Thu, Mar 30, 2017 at 4:10 PM, Cory Quammen wrote: > Yordan, > > I think the closest thing to that kind of functionality in VTK is the > vtkArrayCalculator [1], but it is limited to vector-type operations, > not matrix-vector multiply, for instance. > > If you like Python and NumPy, there is a Python adapter module that > lets you go between VTK data objects and NumPy with relative ease. See > [2] for details. > > HTH, > Cory > > [1] http://www.vtk.org/doc/nightly/html/classvtkArrayCalculator.html > [2] https://blog.kitware.com/improved-vtk-numpy-integration/ > > On Thu, Mar 30, 2017 at 3:41 PM, Kyosev, Yordan > wrote: >> Hi, >> >> >> >> Is there any way or type vtkObject, which can perform vector/matrix >> operations like addition/substraction, multiplication with scalar, >> vector/scalar products, >> >> In the same way as Eigen do it? >> >> >> >> Now I am using vtkPoints->GetPoint -> double[3] -> Eigen::Vector3D >> >> >> >> Actually enough will be to have vtkPoint (single point) for this case. >> >> The vtkMath classes seems to be not nice for following complex equations? >> >> >> >> Best regards >> >> >> >> Yordan >> >> >> >> >> >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Please keep messages on-topic and check the VTK FAQ at: >> http://www.vtk.org/Wiki/VTK_FAQ >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/vtkusers >> > > > > -- > Cory Quammen > Staff R&D Engineer > Kitware, Inc. > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers From bill.lorensen at gmail.com Fri Mar 31 09:53:25 2017 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Fri, 31 Mar 2017 09:53:25 -0400 Subject: [vtkusers] vtkDelaunay2D too slow In-Reply-To: <4e2ef1475c834b1e9b735d1e7d077e3d@SIMAIL13.stemmer.local> References: <4e2ef1475c834b1e9b735d1e7d077e3d@SIMAIL13.stemmer.local> Message-ID: Vtk7.1 has some new point cloud filters. For Example See http://www.vtk.org/Wiki/VTK/Examples/Cxx/Points/ExtractSurface On Mar 31, 2017 7:15 AM, "Schober Beatrix [STEMMER IMAGING GmbH]" < b.schober at stemmer-imaging.de> wrote: > Hi all, > > > > I have a laser point cloud (txt file with xyz values) of which I generate > a vtkPolyData with points. I am running Delaunay2D on it to get a surface. > > > > For 360.000 points vtkDelaunay2D takes around 2 minutes. As this number of > points is a small point cloud, this is too long for a customer application. > > > > Any hints, how to increase computation speed? > > > > Thank you very much in advance! > > > > Bea > > *Beatrix Schober* > Image Acquisition Development > > *STEMMER IMAGING* | Telefon: +49 89 80902-750 <+49%2089%2080902750> > b.schober at stemmer-imaging.de | www.stemmer-imaging.de > > > STEMMER IMAGING GmbH | Gutenbergstr. 9-13 | 82178 Puchheim, Deutschland > Registergericht M?nchen HR B 82026 | Gesch?ftsf?hrer: Wilhelm Stemmer, > Christof Zollitsch > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: > http://www.vtk.org/Wiki/VTK_FAQ > > Search the list archives at: http://markmail.org/search/?q=vtkusers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtkusers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: stemmer-imaging-logo_a2683554-0e33-44e9-800c-5f58a623f38a.gif Type: image/gif Size: 2320 bytes Desc: not available URL: From rakesh.p at tataelxsi.co.in Fri Mar 31 10:47:27 2017 From: rakesh.p at tataelxsi.co.in (Rakesh Patil) Date: Fri, 31 Mar 2017 14:47:27 +0000 Subject: [vtkusers] How to eliminate light and dark shades? Message-ID: Hi, I am trying to perform boolean operation of two cuboids. Before performing boolean operation, the surface representation of the cuboids are shown correct. After boolean operation, I am seeing light and dark shades on the output object of boolean operation. Earlier I was using VTK 6.3. To check the boolean operation functionality (whether vtkBooleanOperationPolyDataFilter still produces holes) I was trying with VTK 7.1. I would like to know how can I eliminate those light and dark shades? I have disabled scalar visibility and shading. Thanks & Regards Rakesh Patil -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: boolFilter_vtk7_1.png Type: image/png Size: 64290 bytes Desc: boolFilter_vtk7_1.png URL: From rakesh.p at tataelxsi.co.in Fri Mar 31 10:49:41 2017 From: rakesh.p at tataelxsi.co.in (Rakesh Patil) Date: Fri, 31 Mar 2017 14:49:41 +0000 Subject: [vtkusers] How to eliminate light and dark shades? In-Reply-To: References: Message-ID: Hi, Forgot to mention in my previous message, please see the attachment for the reference. Thanks & Regards Rakesh Patil ________________________________ From: vtkusers on behalf of Rakesh Patil Sent: Friday, March 31, 2017 8:17:27 PM To: vtkusers at vtk.org Subject: [vtkusers] How to eliminate light and dark shades? Hi, I am trying to perform boolean operation of two cuboids. Before performing boolean operation, the surface representation of the cuboids are shown correct. After boolean operation, I am seeing light and dark shades on the output object of boolean operation. Earlier I was using VTK 6.3. To check the boolean operation functionality (whether vtkBooleanOperationPolyDataFilter still produces holes) I was trying with VTK 7.1. I would like to know how can I eliminate those light and dark shades? I have disabled scalar visibility and shading. Thanks & Regards Rakesh Patil -------------- next part -------------- An HTML attachment was scrubbed... URL: From alvaro.sanchez at kitware.com Fri Mar 31 12:34:59 2017 From: alvaro.sanchez at kitware.com (Alvaro Sanchez) Date: Fri, 31 Mar 2017 12:34:59 -0400 Subject: [vtkusers] vtkVolumeTextureMapper3D in VTK 7.1? In-Reply-To: References: <1488814239807-5742368.post@n5.nabble.com> Message-ID: Here is the merge request: https://gitlab.kitware.com/vtk/vtk/merge_requests/2641 On Wed, Mar 8, 2017 at 11:08 AM, Alvaro Sanchez wrote: > Thanks for the interest. There is no branch yet but I will ping you once > you can try it out. > > > Also in that case would it be possible to add a final "gaussian smoothing > > pass" or equivalent only on the 2D generated image (maybe only as an > option) > > The first version will most likely only support linear interpolation, but > will keep this in mind. > > > On Wed, Mar 8, 2017 at 8:04 AM, Elvis Stansvik < > elvis.stansvik at orexplore.com> wrote: > >> 2017-03-08 11:16 GMT+01:00 Simon ESNEAULT : >> > Hello Alvaro, >> > >> > That's real good news to hear (about the down-sampling in X and Y), I >> find >> > it really difficult to tweak volume rendering only with sample distance, >> > especially during interaction. >> > Has the development began already ? Is there some branche where we can >> test >> > that feature ? >> > >> > Also in that case would it be possible to add a final "gaussian >> smoothing >> > pass" or equivalent only on the 2D generated image (maybe only as an >> option) >> > ? I look like it is the case with FixedPointVolumeraycastMapper, the >> image >> > looks a bit blurred but sometimes it helps to see the structures >> >> I'm also very interested in this. I'm using vtkGPUVolumeRayCastMapper, >> and I'm currently turning off the automatic adjustment of sample >> distance during interaction and resorted to doing my own simpler >> adjustment. I'm simply quadrupling the sample distance during >> interaction (for still rendering I use >> (spacingX+spacingY+spacingZ)/6). I'd love to have another quality >> controlling knob to turn. >> >> Is there a MR up for it already? Will it be in 7.2? >> >> Elvis >> >> > >> > Thanks >> > Simon >> > >> > >> > 2017-03-06 18:17 GMT+01:00 Alvaro Sanchez : >> >> >> >> Hi Shark, >> >> >> >> unfortunately there is no current plan of porting >> vtkVolumeTextureMapper3D >> >> to OpenGL2 >> >> , as far as I know. We will soon however support image down sampling >> in X >> >> and Y which >> >> should serve as additional knobs to tweak the performance of >> >> GPURayCastMapper in >> >> OpenGL2 (only sample distance can be currently adjusted). >> >> >> >> Could you provide more detail on the size of the dataset you are >> rendering >> >> and your GPU >> >> specs? >> >> >> >> Thanks, >> >> ?lvaro >> >> >> >> On Mon, Mar 6, 2017 at 10:30 AM, Shark wrote: >> >>> >> >>> Hello, >> >>> >> >>> I have been having some issues with vtkVolumeTextureMapper3D. I see it >> >>> has >> >>> been deprecated, however it is still available if I use the old >> openGL. >> >>> >> >>> Since for software rendering with texture mapping is much faster than >> ray >> >>> casting, I would like to know if you are planning to have a Volume >> >>> Texture >> >>> Mapper for openGL 2, or if there is actually a new one that I am not >> able >> >>> to >> >>> find. >> >>> >> >>> Best regards, >> >>> Shark >> >>> >> >>> >> >>> >> >>> >> >>> -- >> >>> View this message in context: >> >>> http://vtk.1045678.n5.nabble.com/vtkVolumeTextureMapper3D-in >> -VTK-7-1-tp5742368.html >> >>> Sent from the VTK - Users mailing list archive at Nabble.com. >> >>> _______________________________________________ >> >>> Powered by www.kitware.com >> >>> >> >>> Visit other Kitware open-source projects at >> >>> http://www.kitware.com/opensource/opensource.html >> >>> >> >>> Please keep messages on-topic and check the VTK FAQ at: >> >>> http://www.vtk.org/Wiki/VTK_FAQ >> >>> >> >>> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >>> >> >>> Follow this link to subscribe/unsubscribe: >> >>> http://public.kitware.com/mailman/listinfo/vtkusers >> >> >> >> >> >> >> >> >> >> -- >> >> Alvaro Sanchez >> >> Kitware, Inc. >> >> Senior R&D Engineer >> >> 21 Corporate Drive >> >> Clifton Park, NY 12065-8662 >> >> Phone: 518-881-4901 >> >> >> >> _______________________________________________ >> >> Powered by www.kitware.com >> >> >> >> Visit other Kitware open-source projects at >> >> http://www.kitware.com/opensource/opensource.html >> >> >> >> Please keep messages on-topic and check the VTK FAQ at: >> >> http://www.vtk.org/Wiki/VTK_FAQ >> >> >> >> Search the list archives at: http://markmail.org/search/?q=vtkusers >> >> >> >> Follow this link to subscribe/unsubscribe: >> >> http://public.kitware.com/mailman/listinfo/vtkusers >> >> >> > >> > >> > >> > -- >> > ------------------------------------------------------------------ >> > Simon Esneault >> > Rennes, France >> > ------------------------------------------------------------------ >> > >> > _______________________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Please keep messages on-topic and check the VTK FAQ at: >> > http://www.vtk.org/Wiki/VTK_FAQ >> > >> > Search the list archives at: http://markmail.org/search/?q=vtkusers >> > >> > Follow this link to subscribe/unsubscribe: >> > http://public.kitware.com/mailman/listinfo/vtkusers >> > >> > > > > -- > Alvaro Sanchez > Kitware, Inc. > Senior R&D Engineer > 21 Corporate Drive > Clifton Park, NY 12065-8662 > Phone: 518-881-4901 <(518)%20881-4901> > -- Alvaro Sanchez Kitware, Inc. Senior R&D Engineer 21 Corporate Drive Clifton Park, NY 12065-8662 Phone: 518-881-4901 -------------- next part -------------- An HTML attachment was scrubbed... URL: From seb.an at icloud.com Fri Mar 31 15:56:43 2017 From: seb.an at icloud.com (Sebastian) Date: Fri, 31 Mar 2017 21:56:43 +0200 Subject: [vtkusers] Remeshing vtkPolyData with vtkMarchingCubes In-Reply-To: References: Message-ID: <777F02F5-4D74-4F50-B284-BF3BB900283F@icloud.com> I worked it out, here my solution: data is the input as vtkPolyData, for example a sphere. def marchingCubes(size): whiteImage = vtk.vtkImageData() bounds = [0]*6 data.GetBounds(bounds) spacing = [0]*3 # desired volume spacing spacing[0] = size spacing[1] = size spacing[2] = size whiteImage.SetSpacing(spacing) dim = [0]*3 for i in range(3): dim[i] = int(math.ceil((bounds[i * 2 + 1] - bounds[i * 2]) / spacing[i])) + 1 if (dim[i] < 1): dim[i] = 1 whiteImage.SetDimensions(dim) whiteImage.SetExtent(0, dim[0] - 1, 0, dim[1] - 1, 0, dim[2] - 1) origin = [0]*3 origin[0] = bounds[0] origin[1] = bounds[2] origin[2] = bounds[4] whiteImage.SetOrigin(origin) whiteImage.AllocateScalars(vtk.VTK_UNSIGNED_CHAR,1) inval = 255 outval = 0 count = whiteImage.GetNumberOfPoints() i = 0 while i < count: whiteImage.GetPointData().GetScalars().SetTuple1(i, inval) i = i + 1 pol2stenc = vtk.vtkPolyDataToImageStencil() pol2stenc.SetInputData(data) pol2stenc.SetOutputOrigin(origin) pol2stenc.SetOutputSpacing(spacing) pol2stenc.SetOutputWholeExtent(whiteImage.GetExtent()) pol2stenc.Update() imgstenc = vtk.vtkImageStencil() imgstenc.SetInputData(whiteImage) imgstenc.SetStencilConnection(pol2stenc.GetOutputPort()) imgstenc.ReverseStencilOff() imgstenc.SetBackgroundValue(outval) imgstenc.Update() cf = vtk.vtkMarchingCubes() cf.SetInputData(imgstenc.GetOutput()) cf.GenerateValues(1,10,10) cf.Update() reverse = vtk.vtkReverseSense() reverse.SetInputConnection(cf.GetOutputPort()) reverse.ReverseCellsOn() reverse.ReverseNormalsOn() reverse.Update() data = reverse.GetOutput() Hope it helps anyone. Cheers! Am 29.03.2017 um 02:03 schrieb Se An : Hi everyone, I?m new with vtk and I?m trying to remesh a vtkPolyData with the vtkMarchingCubes-Algorithm. To do this I?m using the code described here: http://www.vtk.org/Wiki/VTK/Examples/Cxx/Modelling/MarchingCubes def marchingCubes(size): volume = vtk.vtkImageData() bounds = [0.0, 0.0, 0.0 , 0.0, 0.0, 0.0] data.GetBounds(bounds) iBounds = 0 while iBounds < 6: range = bounds[iBounds+1] - bounds[iBounds] bounds[iBounds] = bounds[iBounds] - .0001 * range bounds[iBounds+1] = bounds[iBounds+1] + .0001 * range iBounds = iBounds + 2 voxelModeller = vtk.vtkVoxelModeller() voxelModeller.SetSampleDimensions(size,size,size) #Set cube size voxelModeller.SetModelBounds(bounds) voxelModeller.SetScalarTypeToFloat() voxelModeller.SetMaximumDistance(.1) voxelModeller.SetInputData(data) voxelModeller.Update() isoValue = 0.01 #0.001 volume.DeepCopy(voxelModeller.GetOutput()) surface = vtk.vtkMarchingCubes() if vtk.VTK_MAJOR_VERSION <= 5: surface.SetInput(volume) else: surface.SetInputData(volume) surface.ComputeScalarsOff() surface.SetValue(0, isoValue) surface.Update() data = surface.GetOutput() Here my problem: My input has just one Surface/Layer, the output has two layers as you see at the screenshot attached. Is it possible to create an output with a remeshed polydata with just one layer? Thanks in advance, Sebastian _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ Search the list archives at: http://markmail.org/search/?q=vtkusers Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/vtkusers -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.gobbi at gmail.com Fri Mar 31 21:50:17 2017 From: david.gobbi at gmail.com (David Gobbi) Date: Fri, 31 Mar 2017 19:50:17 -0600 Subject: [vtkusers] vtkDICOMReader read chinese character problem In-Reply-To: References: <1490869048082-5742672.post@n5.nabble.com> <1490928754886-5742685.post@n5.nabble.com> Message-ID: I've added a similar utf8-to-ansi fix to vtk-dicom on github: https://github.com/dgobbi/vtk-dicom/commit/3cecbae1 - David On Thu, Mar 30, 2017 at 9:41 PM, David Gobbi wrote: > On Thu, Mar 30, 2017 at 8:52 PM, Ang wrote: > >> Hi David, >> >> My character default setting is UTF-8 and the Transfer Syntax UID is >> "1.2.840.10008.1.2.4.91" >> . >> >> Finally, I found the solution that gdcmReader needs the filename to be >> ansi(I guess), I add below code in vtkDICOMReader at line 1460 to 1470. >> >> *********************************************** >> >> gdcm::ImageReader reader; >> >> int len = MultiByteToWideChar(CP_UTF8, 0, filename, -1, NULL, 0); >> wchar_t* wfilename = new wchar_t[len + 1]; >> memset(wfilename, 0, len * 2 + 2); >> MultiByteToWideChar(CP_UTF8, 0, filename, -1, wfilename, len); >> len = WideCharToMultiByte(CP_ACP, 0, wfilename, -1, NULL, 0, NULL, >> NULL); >> char* szfilename = new char[len + 1]; >> memset(szfilename, 0, len + 1); >> WideCharToMultiByte(CP_ACP, 0, wfilename, -1, szfilename, len, NULL, >> NULL); >> std::string strTemp(szfilename); >> if (wfilename) delete[] wfilename; >> if (szfilename) delete[] szfilename; >> reader.SetFileName(strTemp.c_str()); >> >> **************************************************** >> >> Is this solution better? >> > > > Yes, that is the correct solution, since your ANSI character set is > Chinese. > Because vtkDICOMReader uses gdcm for decompression, it is necessary > to do this conversion if you use any compressed transfer syntax. > > Most of the VTK readers use ANSI on Windows. Personally, I think that it > would be better if they all used utf-8 (and if gdcm used utf-8, too). > Especially > since the the native character set on Windows and NTFS is Unicode. > > - David > > -------------- next part -------------- An HTML attachment was scrubbed... URL: